{"openapi":"3.1.0","info":{"title":"StartupBuilder API","version":"1","description":"Every Verb on every Noun of a Startup, one route per operation. The operationId equals the SDK method, the CLI command, and the MCP name."},"servers":[{"url":"https://api.sb/{namespace}","variables":{"namespace":{"default":"acme.com","description":"The Startup namespace: its domain."}}}],"security":[{"bearer":[]}],"tags":[{"name":"AccessLevel","description":"An Access Level is a named preset of Permissions a Worker holds in a namespace, such as owner or viewer; it is never a Role."},{"name":"Account","description":"An Account is a ledger account in a Startup’s chart of accounts; a cash Account is held at one place, such as Treasury."},{"name":"Acquisition","description":"An Acquisition is how a Visitor or Prospect first arrived, recorded on its first Event: the referrer kind, the Play, the campaign, and the medium."},{"name":"Action","description":"An Action is one Verb performed by a Worker on a Thing, recorded with its status and every Event it emits."},{"name":"Ad","description":"An Ad is one paid or house placement promoting an Offer to an Audience, in a format such as search, display, or video."},{"name":"Agent","description":"An Agent is a digital worker with instructions, tools, and a model that performs Verbs for a Startup."},{"name":"Agreement","description":"An Agreement is a contract between two or more Parties, with its term, liability, and economics, that travels with the Startup."},{"name":"APIKey","description":"An API Key is a secret a Startup issues to one Customer, which signs that Customer’s calls to its API, SDK, CLI and MCP server."},{"name":"App","description":"An App is an Interface where people work with a Product’s Nouns and Verbs through screens, backed by its API."},{"name":"Approval","description":"An Approval is a Task to allow or refuse one pending Action that exceeds a Limit or a Mandate."},{"name":"Attestation","description":"An Attestation is the signed, frozen act by which a credentialed Worker performs or declines a Reserved Act."},{"name":"Audience","description":"An Audience is a saved query over Visitors, Leads, Prospects, or Customers, used to target Ads and Messages."},{"name":"Audit","description":"An Audit is one engagement with an outside firm: the namespaces in scope, the Criteria, the report period, and the firm’s Attestation."},{"name":"Bill","description":"A Bill is an amount a Startup owes an outside Organization, coded to an account, approved within a Mandate, and paid by its due date."},{"name":"Brand","description":"A Brand is a name, a voice, a logo, and a style under which a Startup makes Offers."},{"name":"Budget","description":"A Budget is the amount a Startup plans to spend or earn on one account in one Period, read against actual Entries."},{"name":"Builder","description":"A Builder is a named part of api.sb that builds one side of a Startup; StartupBuilder directs SiteBuilder, SoftwareBuilder, ServiceBuilder, and SalesBuilder."},{"name":"Campaign","description":"A Campaign is a bounded effort toward a Goal, with a budget, a window, and the Ads or Messages it sends to Audiences."},{"name":"Candidate","description":"A Candidate is a Person under consideration for an Opening, with the graded Evidence for and against them."},{"name":"Capability","description":"A Capability is a named set of Verbs on one Noun family that every Startup reaches through api.sb with one key, metered, limited, and logged."},{"name":"CapitalCall","description":"A Capital Call is a Fund’s notice drawing part of every Capital Commitment pro rata, due by a date."},{"name":"CapitalCommitment","description":"A Capital Commitment is an investor’s signed promise to fund a Fund up to an amount, drawn down by Capital Calls."},{"name":"Card","description":"A Card is a payment credential a Startup issues to one Worker under one Mandate, with controls compiled from that Mandate."},{"name":"Change","description":"A Change is a proposed set of writes to definitions, previewed on its own branch, checked, approved, and merged as one unit."},{"name":"Channel","description":"A Channel is a place Messages flow, such as a chat channel, a Mailbox, or an SMS number."},{"name":"Cohort","description":"A Cohort is a set of Startups that receives one Version of a shared definition, or one step of a Play, at the same time."},{"name":"Collection","description":"A Collection is a Thing with members, either listed one by one or defined by a saved query."},{"name":"Comment","description":"A Comment is an internal note by a Worker about a Thing, never sent to a Contact."},{"name":"Commission","description":"A Commission is what a Partner earns on the collected revenue its Referral brings, at a rate over a term, paid after a clawback window."},{"name":"Company","description":"A Company is a legal entity that holds Startups, signs Agreements, and owns equity, authority, and profit rights."},{"name":"Component","description":"A Component is a named block of a Page, such as a hero, a pricing table, or a form, filled from records through typed props."},{"name":"Consent","description":"A Consent is a person’s grant for one Purpose, with its basis, region, notice, evidence, and expiry."},{"name":"Contact","description":"A Contact is a person or Agent a Startup knows by at least one address, where Consent to message them is recorded."},{"name":"Content","description":"Content is authored material with a draft and a published state, such as a post, an article, or a changelog entry."},{"name":"Control","description":"A Control is a rule the platform enforces on every write it covers, with a test that runs over the whole population."},{"name":"Conversation","description":"A Conversation is a Thread with one or more Contacts that a Worker must answer, such as a support request."},{"name":"Cost","description":"A Cost is an Entry against a cost account that an Action causes, posted to the Startup the Action ran in."},{"name":"Coupon","description":"A Coupon is a discount on Offers, by amount or percent, for one charge, several months or every charge, limited by date and redemptions."},{"name":"Credential","description":"A Credential is a standing authority a regulator grants a person or entity to perform certain acts in a jurisdiction."},{"name":"CreditGrant","description":"A Credit Grant is a prepaid or promotional balance a Customer spends on a Startup’s metered Offers, checked before each call."},{"name":"Criterion","description":"A Criterion is one requirement of an outside framework, such as SOC 2 or GDPR, that one or more Controls satisfy."},{"name":"Customer","description":"A Customer is a party that has accepted an Offer from a Startup at any price, including zero."},{"name":"Dashboard","description":"A Dashboard is one unified view of a scope, rendered as Markdown for Agents, screens for Humans, and JSON for native clients."},{"name":"Dataset","description":"A Dataset is a Product of curated Things of one Noun, with a promise that they are true."},{"name":"Deal","description":"A Deal is a Startup’s pursuit of one buyer’s acceptance of one or more Offers, ending won or lost."},{"name":"Decision","description":"A Decision is the immutable record of a choice: its options, the choice, the reason, who decided, and the stakes."},{"name":"DemandBudget","description":"A Demand Budget is the money a founder commits each month to demand Plays, recorded as a Decision with a target and a stop rule."},{"name":"Dispute","description":"A Dispute is a contested payment or delivery, such as a chargeback, a rejected Service outcome, or a buyer’s claim against a Supplier."},{"name":"DNSRecord","description":"A DNS Record is one DNS answer of a Domain: its type, name and value, who owns it, and what the world last answered."},{"name":"Document","description":"A Document is structured, versioned material in one of three forms, a document, a deck, or a sheet, rendered to any format."},{"name":"Domain","description":"A Domain is a hostname that points at a Thing, with a role, a status, and a lifecycle tracked as data."},{"name":"Enrollment","description":"An Enrollment is one person’s run through one Sequence: the current step, when the next fires, the branches taken, and why it ended."},{"name":"Entitlement","description":"An Entitlement is what a Customer gets from an accepted Offer: a Verb on a Noun in its Tenant, optionally bounded by a Limit."},{"name":"Entry","description":"An Entry is one line of a double-entry posting: an amount to one account in the chart of accounts, caused by one Event."},{"name":"Evaluator","description":"An Evaluator is a versioned Function that grades an output against a rubric and returns a verdict."},{"name":"Event","description":"An Event is the immutable record of something that happened to a Thing, named by its Noun and past-tense Verb."},{"name":"Evidence","description":"Evidence is a recorded quote, reading, or artifact that supports or refutes a claim, graded as behavior, commitment, or opinion."},{"name":"Experiment","description":"An Experiment is a test of a Hypothesis that varies copy or behavior through Flags and judges the variants by a primary Metric."},{"name":"Exposure","description":"An Exposure is the moment one unit meets the Variant its Flag assigned, logged with every option and its propensity."},{"name":"File","description":"A File is the stored bytes of an upload or a rendering."},{"name":"Flag","description":"A Flag is a switch, evaluated per Visitor, Customer, or request, that selects which copy or behavior they get."},{"name":"Flow","description":"A Flow is an ordered path through an App’s Dashboards that takes one Persona from first run to an Offer’s activation Event."},{"name":"Forecast","description":"A Forecast is a dated week-by-week projection of a Startup’s cash, revenue and Cost, computed from its records, that sets its spend state."},{"name":"Form","description":"A Form is a set of fields someone fills in on a Site or in a Message, producing a Lead, Evidence, or a Thing."},{"name":"Function","description":"A Function is how a Verb executes, as code, a generative model, an Agent, or a Human, invisible to the caller."},{"name":"Fund","description":"A Fund is a pool of investor capital that a Studio manages and invests in its Companies, with commitments, capital calls, and distributions."},{"name":"FundDistribution","description":"A Fund Distribution is cash or Shares a Fund returns to its investors, split by the waterfall in its Agreement."},{"name":"Funnel","description":"A Funnel is a designed path to an Offer: a landing Page, an opt-in that makes a Lead, a Sequence, then the Offer."},{"name":"Gathering","description":"A Gathering is a scheduled session many people attend at once, such as a webinar, a workshop, or a launch call, hosted by a Startup."},{"name":"Goal","description":"A Goal is what a Thing is trying to achieve: an objective with one or more Key Results."},{"name":"Guard","description":"A Guard is a check every outbound Message and publish passes, from code rules to model review to a Human for high stakes."},{"name":"Handle","description":"A Handle is an account or name a Startup or Brand holds on an outside platform, bound to an Integration credential."},{"name":"Holder","description":"A Holder is the Party that holds a Share or an Instrument on a Company’s cap table."},{"name":"Human","description":"A Human is a Worker who is a person, acting on Tasks through Apps, Mailboxes, and Channels."},{"name":"Hypothesis","description":"A Hypothesis is a belief about a Startup stated so it can be proved wrong, with the Metric and threshold that settle it."},{"name":"ICP","description":"An ICP is the ideal customer profile a Startup is built to win: who they are and what they do."},{"name":"Idea","description":"An Idea is a business concept that exists apart from any Startup that pursues it and outlives each one."},{"name":"Implementation","description":"An Implementation is how an Interface, System, or Verb of a Product runs: managed by the platform, custom code on it, or external."},{"name":"Incident","description":"An Incident is an Issue where an Interface or Site fails Customers in production, tracked from detection to postmortem."},{"name":"Instrument","description":"An Instrument is a right to future ownership in a Company: a SAFE, a note, an option or a warrant."},{"name":"Integration","description":"An Integration is an outside Source connected to a System with credentials, at Studio, Startup, or Customer scope."},{"name":"Interface","description":"An Interface is how a person or an Agent reaches a Product: an API, MCP server, CLI, SDK, Site, or App."},{"name":"Interview","description":"An Interview is one person’s pass through a question script, led by an Agent, whose answers become Evidence."},{"name":"Invoice","description":"An Invoice is what a Customer owes for one or more Offers over one billing period."},{"name":"Issue","description":"An Issue is a Task reporting a problem or request, such as a bug or a feature request, with a reporter and a triage step."},{"name":"KeyResult","description":"A Key Result is one measurable target inside a Goal: a Metric, a baseline, a target, and a deadline."},{"name":"Keyword","description":"A Keyword is a search phrase or AI prompt that Pages target, with its rank and citations observed over time."},{"name":"Lead","description":"A Lead is a Contact who raised a hand, by joining a Waitlist, filling a Form, or replying, without accepting an Offer."},{"name":"Lifecycle","description":"A Lifecycle is the states a Thing of one Noun moves through and the Verbs that move it between them."},{"name":"Limit","description":"A Limit is a bound on a Permission, Entitlement, or Mandate, checked before every call; exceeding it creates an Approval."},{"name":"Mailbox","description":"A Mailbox is an email Channel at a Domain, held by a Startup, a Role, or a Worker, so every Agent has its own."},{"name":"Mandate","description":"A Mandate is a standing authorization for an Agent to act for a Party, within Permissions and Limits, until it expires."},{"name":"Mapping","description":"A Mapping translates one Source’s shape into the registry’s: its fields to a Noun’s fields, or an outside endpoint’s inputs and outputs to a Verb’s."},{"name":"Market","description":"A Market is a region where a Startup sells, hires, or keeps books, with its currency, locales, and the floor rows that wake there."},{"name":"Meeting","description":"A Meeting is a scheduled time when Workers and Contacts meet about one or more Things, producing notes, Decisions, and Tasks."},{"name":"MemberDirectory","description":"A Member Directory is a Customer’s own list of people and groups, pushed into its Tenant so access follows employment."},{"name":"Memory","description":"A Memory is a Worker’s own Collection of what it has learned and kept, read by its Functions."},{"name":"Message","description":"A Message is one communication from any party over one medium, such as email, SMS, or chat, inbound or outbound."},{"name":"Meter","description":"A Meter is a billable measure of usage that turns usage Events into Entries exactly once."},{"name":"Metric","description":"A Metric is a named measure computed from Events or Entries, always derived and never typed in."},{"name":"MinimumSuccessCriteria","description":"Minimum Success Criteria is the one number a Startup must reach by a date to stay worth running: a Goal the Founder sets once."},{"name":"Mode","description":"A Mode is how a caller invokes a Verb: try waits and stores nothing, send returns a pending Action, do waits for the result."},{"name":"Monitor","description":"A Monitor is a scheduled check on something outside a Startup’s control, such as uptime, a Keyword’s rank or an AI answer, recording Events."},{"name":"Motion","description":"A Motion is the shape of a sale: who buys an Offer and who acts for them, such as b2b, b2c, b2d, b2a, or b2a2b."},{"name":"Noun","description":"A Noun is a type of record, with its properties, its relationships, and the Verbs that act on it."},{"name":"Offer","description":"An Offer is a Product, under a Brand, at a price, on terms, made by a Startup."},{"name":"Opening","description":"An Opening is a Startup’s computed need for a Human in a Role: its kind, its reason, and the Hypothesis a hire must prove."},{"name":"Order","description":"An Order is a Customer’s commitment to buy one or more Offers once, moving from placed to paid, fulfilled, and closed."},{"name":"Organization","description":"An Organization is an outside party as one Startup knows it, keyed by its domain, such as an employer or a vendor."},{"name":"OutcomeContract","description":"An Outcome Contract is the terms on an Offer that warrant a Service’s result: done, acceptance, assurance, remedy, and earnings."},{"name":"Page","description":"A Page is an addressable page of a Site, of a named type such as pricing, about one Thing or each member of a Collection."},{"name":"Partner","description":"A Partner is an outside Organization that is party to an Agreement with a Startup, supplying it, distributing its Offers, or both."},{"name":"Party","description":"A Party is a person or legal entity that can be a side of an Agreement or an Order, or hold rights."},{"name":"PayRun","description":"A Pay Run is one pay period’s payroll for a Company: each employee’s gross pay, withholding, deductions and net pay, approved and paid together."},{"name":"PaymentSource","description":"A Payment Source is a card, bank debit or wallet a Customer saves with a Startup, held at Stripe and charged for Orders and Invoices."},{"name":"Period","description":"A Period is one month of a Startup’s books, open until every Transaction reconciles, then closed and locked."},{"name":"Permission","description":"A Permission is what a Role may do: a Verb on a Noun within a scope, optionally bounded by a Limit."},{"name":"Person","description":"A Person is a human with one identity across every Startup; each Startup’s Contact is its own view of that Person."},{"name":"Persona","description":"A Persona is a named type of person with a job to do, such as a buyer, a seller, or an admin of an App."},{"name":"Play","description":"A Play is a named, repeatable strategy with the Metric it moves and its cost, run by a Startup as a Process."},{"name":"PlayMix","description":"A Play Mix is the set of Plays a Startup runs this week, each with its state, budget and stop rule, compiled weekly and versioned."},{"name":"Policy","description":"A Policy is a ruling a Startup declares on how its numbers are computed or its choices made, such as revenue recognition."},{"name":"Portal","description":"A Portal is the signed-in part of a Site where each Customer orders, tracks delivery, accepts work, and pays, seeing only their own records."},{"name":"Portfolio","description":"A Portfolio is a managed set a Thing allocates attention and money across, by membership: a Studio’s Startups, a Startup’s child Startups, or its Products."},{"name":"Post","description":"A Post is something a Handle publishes, such as a thread or a short video, with the reach and replies it earns."},{"name":"Price","description":"A Price is the amount, currency, unit, and tiers of an Offer, embedded in it; zero is a Price."},{"name":"Problem","description":"A Problem is what an ICP struggles with, in their own words: how they solve it today and what it costs them."},{"name":"Process","description":"A Process is a named, repeatable piece of business work, owned by a Team and run by one or more Workflows."},{"name":"Product","description":"A Product is what a Customer gets from a Startup, with a promise the Customer can rely on."},{"name":"ProductTemplate","description":"A Product Template is a reusable definition of one kind of Product: what it sells, who supplies the work, who buys, and how it earns."},{"name":"Project","description":"A Project is a body of work toward a Goal: its Tasks and Issues, a start, and a target date."},{"name":"Proof","description":"A Proof is the sealed result of one Control test: the Events it read, the root it checked them against, and every exception."},{"name":"Prospect","description":"A Prospect is a person or Organization a Startup found but who has never engaged, held with the legal basis for contact."},{"name":"Publication","description":"A Publication is the branded package a Startup’s Customers use: Domain, Interfaces, packages, docs and Portal, compiled from its Brand and a Version."},{"name":"Purpose","description":"A Purpose is a named reason personal data is processed, with a lawful basis per jurisdiction."},{"name":"Question","description":"A Question is what a pending Action asks a Party, a Role, or a Worker before it resumes, kept on the Action with its answer."},{"name":"Quote","description":"A Quote is a priced proposal of one or more Offers to one buyer, valid until a date, accepted into an Order."},{"name":"Readout","description":"A Readout is an Experiment’s result per Variant on its Metric, with the sample size, the interval, and how far the number can be trusted."},{"name":"Recording","description":"A Recording is the replay of one Visit or one agent browser session, masked at capture."},{"name":"RecoveryObjective","description":"A Recovery Objective sets how much data one Capability may lose and how fast it returns, proven by a restore drill on a cadence."},{"name":"Referral","description":"A Referral is a Contact, Customer, or Partner sending a Lead to a Startup, with any reward it earns."},{"name":"Registration","description":"A Registration is one person’s place at a Gathering: invited, requested, or waitlisted, then registered, then attended or no-show."},{"name":"Relationship","description":"A Relationship is a standing Action between two Things, read in the present tense and typed by a Verb whose forms give its reverse."},{"name":"Renewal","description":"A Renewal is the Deal for a term Subscription’s next term, opened before the term ends and closed renewed, expanded, contracted, or churned."},{"name":"ReservedAct","description":"A Reserved Act is a Verb the law reserves to the holder of a named Credential, so its Function is always human."},{"name":"Review","description":"A Review is one person’s rated evaluation of a Product, Offer or Brand, shown on a Site or an outside venue and mirrored from there."},{"name":"Risk","description":"A Risk is something that could harm a Startup or a Portfolio, scored by likelihood and impact, and treated, accepted, or closed."},{"name":"Role","description":"A Role is a seat that owns a set of work and holds the Permissions to do it, filled by a Human or an Agent."},{"name":"RoleReview","description":"A Role Review is a dated check of one Role against its contract: its results, its standards and its autonomy rung."},{"name":"Screening","description":"A Screening is one check of a Party against official registers and restricted-party lists, with each list’s version, any matches and the outcome."},{"name":"Secret","description":"A Secret is a named credential stored write-only per environment and filled into a call at run time, never read back by a Worker."},{"name":"Sequence","description":"A Sequence is a timed series of steps run for one Contact at a time: send a Message, wait, branch, or stop."},{"name":"Service","description":"A Service is a Product that warrants an outcome, delivered by Agents and Humans under an Outcome Contract."},{"name":"Setting","description":"A Setting is a configurable value a Thing inherits from its nearest holder, Studio to Startup to Product, unless it sets its own."},{"name":"Share","description":"A Share is a unit of ownership in a Company, of one class, held by one Holder."},{"name":"Site","description":"A Site is a website as a Thing: its Pages, navigation, and Brand, served on one or more Domains."},{"name":"Skill","description":"A Skill is a capacity a Worker has at a level, such as negotiation or programming, that Roles require."},{"name":"Software","description":"Software is a Product a Customer uses through Interfaces, from a headless API to a full App."},{"name":"Source","description":"A Source is something a Product draws on to keep its promise but did not build: owned, wrapped, or recruited."},{"name":"SSOConnection","description":"An SSO Connection links a Customer’s own identity system to its Tenant, so the Customer’s people sign in through it."},{"name":"Standard","description":"A Standard is a spec an Interface conforms to, so a Startup may publish its Product’s Verbs in a shape outside callers already use."},{"name":"Startup","description":"A Startup is the smallest business that can be moved, promoted, or sold on its own, with its own Products, Offers, Customers, and P&L."},{"name":"StartupTemplate","description":"A Startup Template is an operating model, one or more Product Templates, and the Motions they sell through, which a new Startup starts from."},{"name":"Statement","description":"A Statement is a report computed from Entries for one Period under a Policy, such as a P&L, a balance sheet or a payout statement."},{"name":"Story","description":"A Story is the customer narrative for one ICP, compiled from its Founding Hypothesis and Interview quotes, never written by hand."},{"name":"Studio","description":"A Studio is an organization that builds Startups, holds them through Companies, and runs Plays across its Portfolio."},{"name":"Subscription","description":"A Subscription is a Customer’s standing acceptance of an Offer, billed each Period until canceled."},{"name":"Supplier","description":"A Supplier is a Person or Company that delivers work through a Startup’s human supply: recruited, credentialed, and paid out."},{"name":"Suppression","description":"A Suppression is an address a Company never sends commercial Messages to, read before every send from any of its Startups."},{"name":"Survey","description":"A Survey is a Form sent to measure, such as NPS or CSAT, whose answers become Metrics and Evidence."},{"name":"System","description":"A System is the headless software for one job, such as CRM or billing, that every Startup runs on shared data."},{"name":"Task","description":"A Task is an Action waiting on a Worker, with an assignee, a due time, and a place in that Worker’s inbox."},{"name":"Team","description":"A Team is a named group of Roles under one owner; every Startup starts with eleven default Teams."},{"name":"Template","description":"A Template is reusable Content with variables, filled from Things in the graph and authored as MDX, rendering a Message, Document, or Page."},{"name":"Tenant","description":"A Tenant is the partition of a Startup’s data that belongs to one Customer."},{"name":"Theme","description":"A Theme is the design tokens of a Brand, its color, type, spacing, radius, and motion, that every Component reads when it renders."},{"name":"Thing","description":"A Thing is an instance of one or more Nouns, with an identity, a current state, and the union of their properties."},{"name":"Thread","description":"A Thread is a set of Messages replying to one another inside a Channel."},{"name":"Tool","description":"A Tool is a Verb as a Worker reaches it through an Interface, under one name on every Interface."},{"name":"Transaction","description":"A Transaction is money moving on a payment rail, such as a charge, a payout, or a transfer, reconciled to Entries."},{"name":"Trigger","description":"A Trigger is what starts a Workflow: an Event, a schedule, or a Thing entering a state."},{"name":"Variant","description":"A Variant is one value an Experiment can assign, such as a revision, a Price on a sibling Offer, or a prompt, with its lineage."},{"name":"Verb","description":"A Verb is an action an Agent or a person performs on a Noun, emitting one event when it completes."},{"name":"Version","description":"A Version is an immutable build of a definition at a fingerprint; an Order keeps the Offer Version it bought."},{"name":"Video","description":"A Video is a timed composition held as data: a timeline of scenes and spoken lines, drafted from records and rendered per format."},{"name":"Visit","description":"A Visit is one span of a Visitor’s Events on a Startup’s Sites and Apps."},{"name":"Visitor","description":"A Visitor is someone a Startup cannot name, known by an id scoped to that Startup."},{"name":"Voice","description":"A Voice is a reusable synthetic speaking voice, cloned from a consenting speaker or designed from a description, that speech Files are rendered in."},{"name":"Waitlist","description":"A Waitlist is the Leads waiting for an Offer that is not open to them, invited in the order a Setting chooses."},{"name":"Watch","description":"A Watch is an outbound subscription that delivers the Events a selector matches to a URL, signed, retried, and replayable."},{"name":"Worker","description":"A Worker is a Human or an Agent that fills a Role and acts on Tasks."},{"name":"Workflow","description":"A Workflow is the durable, executable body of one Action: its steps, the Functions that run them, retries, and waits."}],"paths":{"/access-levels/{id}":{"get":{"operationId":"AccessLevel.get","summary":"AccessLevel.get","description":"Returns one Access Level by id.","tags":["AccessLevel"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Access Level."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"accessLevel":{"$ref":"#/components/schemas/AccessLevel","description":"The Access Level."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","accessLevel","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"AccessLevel","$id":"https://api.sb/kilnbakery.com/access-levels/access_level_1","accessLevel":{"$id":"https://api.sb/kilnbakery.com/access-levels/access_level_1","$type":"AccessLevel","name":"owner","grants":["permission_1"]},"links":{"self":"https://api.sb/kilnbakery.com/access-levels/access_level_1","up":"https://api.sb/kilnbakery.com/access-levels"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/access-levels":{"get":{"operationId":"AccessLevel.list","summary":"AccessLevel.list","description":"Returns Access Levels, newest first, one page at a time.","tags":["AccessLevel"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"accessLevels":{"type":"array","items":{"$ref":"#/components/schemas/AccessLevel","description":"One page of Access Levels."},"description":"One page of Access Levels."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","accessLevels","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"AccessLevel","accessLevels":[{"$id":"https://api.sb/quietcopy.com/access-levels/access_level_1","$type":"AccessLevel","name":"owner","grants":["permission_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/access-levels?limit=20","next":"https://api.sb/quietcopy.com/access-levels?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/accounts/{id}":{"get":{"operationId":"Account.get","summary":"Account.get","description":"Returns one Account by id.","tags":["Account"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Account."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"account":{"$ref":"#/components/schemas/Account","description":"The Account."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","account","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Account","$id":"https://api.sb/ledgerlark.com/accounts/account_1","account":{"$id":"https://api.sb/ledgerlark.com/accounts/account_1","$type":"Account","class":"cash"},"links":{"self":"https://api.sb/ledgerlark.com/accounts/account_1","up":"https://api.sb/ledgerlark.com/accounts"},"actions":{"payout":"https://api.sb/ledgerlark.com/accounts/account_1/payout","sweep":"https://api.sb/ledgerlark.com/accounts/account_1/sweep"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/accounts":{"get":{"operationId":"Account.list","summary":"Account.list","description":"Returns Accounts, newest first, one page at a time.","tags":["Account"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"accounts":{"type":"array","items":{"$ref":"#/components/schemas/Account","description":"One page of Accounts."},"description":"One page of Accounts."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","accounts","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Account","accounts":[{"$id":"https://api.sb/ledgerlark.com/accounts/account_1","$type":"Account","class":"cash"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/accounts?limit=20","next":"https://api.sb/ledgerlark.com/accounts?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/accounts/{account}/payout":{"post":{"operationId":"Account.payout","summary":"Account.payout","description":"Payout sends available cash from the payments balance to the owner’s bank and lists every Transaction the payout carries.","tags":["Account"],"parameters":[{"name":"account","in":"path","required":true,"schema":{"type":"string"},"description":"The payments balance: the cash Account held at `payments`."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"How much to send. Defaults to everything available."},"instant":{"type":"boolean","description":"True to send it within minutes to an eligible debit card or bank, for Stripe’s instant payout cost."},"schedule":{"type":"string","description":"Sets the Account’s `payoutSchedule` from now on, in place of sending a payout now.","enum":["daily","weekly","monthly","manual"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"account":{"$ref":"#/components/schemas/Account","description":"The payments balance after the payout."},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The payout, a Transaction of kind `payout`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","account","transaction","links"]},"example":{"api":"https://api.sb/routewise.dev","account":{"$id":"https://api.sb/routewise.dev/accounts/account_1","$type":"Account","class":"cash"},"transaction":{"$id":"https://api.sb/routewise.dev/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":25,"currency":"USD"}},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Account.payout","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Account.paidOut"}},"/accounts/{from}/sweep":{"post":{"operationId":"Account.sweep","summary":"Account.sweep","description":"Sweep moves cash between two cash Accounts of the same owner, once or on a standing rule, within the Treasurer’s Limit.","tags":["Account"],"parameters":[{"name":"from","in":"path","required":true,"schema":{"type":"string"},"description":"The cash Account the money leaves."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"The cash Account it lands in. The Account id."},"amount":{"$ref":"#/components/schemas/Money","description":"How much to move. Leave it out and set `keep` to move everything above a floor."},"keep":{"$ref":"#/components/schemas/Money","description":"Leave this much in `from` and move the rest."},"repeat":{"type":"string","description":"Turns the move into a standing rule that sweeps on this schedule.","enum":["daily","weekly","monthly"]}},"required":["to"],"additionalProperties":false},"example":{"to":"account_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"account":{"$ref":"#/components/schemas/Account","description":"The `to` Account, with the money landed."},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The move, reconciled on both Accounts."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","account","transaction","links"]},"example":{"api":"https://api.sb/ledgerlark.com","account":{"$id":"https://api.sb/ledgerlark.com/accounts/account_1","$type":"Account","class":"cash"},"transaction":{"$id":"https://api.sb/ledgerlark.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":400,"currency":"USD"}},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Account.sweep","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Account.swept"}},"/acquisitions/{id}":{"get":{"operationId":"Acquisition.get","summary":"Acquisition.get","description":"Returns one Acquisition by id.","tags":["Acquisition"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Acquisition."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"acquisition":{"$ref":"#/components/schemas/Acquisition","description":"The Acquisition."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","acquisition","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Acquisition","$id":"https://api.sb/ledgerlark.com/acquisitions/acquisition_1","acquisition":{"$id":"https://api.sb/ledgerlark.com/acquisitions/acquisition_1","$type":"Acquisition","kind":"search","at":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/ledgerlark.com/acquisitions/acquisition_1","up":"https://api.sb/ledgerlark.com/acquisitions"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/acquisitions":{"get":{"operationId":"Acquisition.list","summary":"Acquisition.list","description":"Returns Acquisitions, newest first, one page at a time.","tags":["Acquisition"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"acquisitions":{"type":"array","items":{"$ref":"#/components/schemas/Acquisition","description":"One page of Acquisitions."},"description":"One page of Acquisitions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","acquisitions","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Acquisition","acquisitions":[{"$id":"https://api.sb/ledgerlark.com/acquisitions/acquisition_1","$type":"Acquisition","kind":"search","at":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/acquisitions?limit=20","next":"https://api.sb/ledgerlark.com/acquisitions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/actions":{"post":{"operationId":"Action.create","summary":"Action.create","description":"Creates an Action.","tags":["Action"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"verb":{"type":"string","description":"Each Action performs one Verb, which fixes its inputs, the Event it emits and its delay window. The Verb id."}},"additionalProperties":false},"example":{"by":"worker_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The Action."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","action","links"]},"example":{"api":"https://api.sb/tutorloop.com","action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.create"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.created"},"get":{"operationId":"Action.list","summary":"Action.list","description":"Returns Actions, newest first, one page at a time.","tags":["Action"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"actions":{"type":"array","items":{"$ref":"#/components/schemas/Action","description":"One page of Actions."},"description":"One page of Actions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","actions","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Action","actions":[{"$id":"https://api.sb/tutorloop.com/actions/action_1","$type":"Action","status":"pending","mode":"try"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/actions?limit=20","next":"https://api.sb/tutorloop.com/actions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/actions/{id}":{"get":{"operationId":"Action.get","summary":"Action.get","description":"Returns one Action by id.","tags":["Action"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Action."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The Action."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","action","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Action","$id":"https://api.sb/petpantry.shop/actions/action_1","action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","$type":"Action","status":"pending","mode":"try"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1","up":"https://api.sb/petpantry.shop/actions"},"actions":{"answer":"https://api.sb/petpantry.shop/actions/action_1/answer","ask":"https://api.sb/petpantry.shop/actions/action_1/ask","attest":"https://api.sb/petpantry.shop/actions/action_1/attest"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/actions/{action}/answer":{"post":{"operationId":"Action.answer","summary":"Action.answer","description":"Answer gives the reply to an Action’s open Question, through any Interface, and the Action resumes.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The Action waiting on the Question."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"question":{"type":"string","description":"The Question answered. The Question id."},"payload":{"description":"The answer, matching the Question’s choices or schema."}},"required":["question","payload"],"additionalProperties":false},"example":{"question":"question_1","payload":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The resumed Action."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","action","links"]},"example":{"api":"https://api.sb/petpantry.shop","action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.answer"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.answered"}},"/actions/{action}/ask":{"post":{"operationId":"Action.ask","summary":"Action.ask","description":"Ask puts a Question to a Party, a Role, or a Worker and holds the Action `pending` with reason `awaitingInput`.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The Action that needs an answer to go on."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"Who is asked: a Party, a Role, or a Worker. The Thing id."},"text":{"type":"string","description":"The question, in one message."},"choices":{"type":"array","items":{"type":"string","description":"The answers offered."},"description":"The answers offered."},"schema":{"description":"The typed answer’s shape."},"answerBy":{"type":"string","format":"date-time","description":"When the Action’s timeout rule applies."}},"required":["to","text"],"additionalProperties":false},"example":{"to":"thing_1","text":"Example text"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The Action, now pending with reason `awaitingInput`."},"question":{"$ref":"#/components/schemas/Question","description":"The Question, posted in the record’s Thread."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","question","action","links"]},"example":{"api":"https://api.sb/routewise.dev","question":{"$id":"https://api.sb/routewise.dev/questions/question_1","$type":"Question","to":"thing_1","text":"Example text"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.ask"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.asked"}},"/actions/{action}/attest":{"post":{"operationId":"Action.attest","summary":"Action.attest","description":"Attest records a credentialed Human’s signed performance of a Reserved Act that an Action needs to finish.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The Action that waits on the Reserved Act."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"credential":{"type":"string","description":"The Credential that authorizes it. The Credential id."}},"required":["credential"],"additionalProperties":false},"example":{"credential":"credential_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The Action, free to finish."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","action","links"]},"example":{"api":"https://api.sb/shiftnote.app","action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.attest"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.attested"}},"/actions/{action}/cancel":{"post":{"operationId":"Action.cancel","summary":"Action.cancel","description":"Cancel stops a pending Action, sets its status to `canceled`, and runs its compensation.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The pending Action."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it stops."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The canceled Action."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","action","links"]},"example":{"api":"https://api.sb/petpantry.shop","action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.cancel"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.canceled"}},"/actions/{action}/evaluate":{"post":{"operationId":"Action.evaluate","summary":"Action.evaluate","description":"Evaluate grades an Action’s output against a rubric and records the verdict as an Event.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The Action whose output is graded."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"evaluator":{"type":"string","description":"The Evaluator to run."}},"required":["evaluator"],"additionalProperties":false},"example":{"evaluator":"Example evaluator"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The Action graded, with the verdict attached."},"verdict":{"description":"The score and the reasons for it."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","verdict","action","links"]},"example":{"api":"https://api.sb/routewise.dev","verdict":{},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.evaluate"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.evaluated"}},"/actions/{action}/pause":{"post":{"operationId":"Action.pause","summary":"Action.pause","description":"Pause holds a pending Action past the close of its delay window until a watcher resumes, redirects, or cancels it.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The pending Action."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it must wait."},"until":{"type":"string","format":"date-time","description":"When the pause escalates to the Role above if nobody resolves it; defaults to one business day."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The paused Action, still `pending`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","action","links"]},"example":{"api":"https://api.sb/tutorloop.com","action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.pause"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.paused"}},"/actions/{action}/redirect":{"post":{"operationId":"Action.redirect","summary":"Action.redirect","description":"Redirect changes a pending Action’s inputs or target inside its delay window, before it runs.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The pending Action."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"changes":{"description":"The inputs to replace."}},"required":["changes"],"additionalProperties":false},"example":{"changes":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The redirected Action."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","action","links"]},"example":{"api":"https://api.sb/tutorloop.com","action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.redirect"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.redirected"}},"/actions/{action}/resume":{"post":{"operationId":"Action.resume","summary":"Action.resume","description":"Resume ends a pause and lets the Action run as reviewed, or reopen what remained of its delay window.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The paused Action."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it may proceed."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action","description":"The resumed Action."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","action","links"]},"example":{"api":"https://api.sb/patentpad.com","action":{"$id":"https://api.sb/patentpad.com/actions/action_1","$type":"Action","status":"done","mode":"try","operation":"Action.resume"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.resumed"}},"/actions/{action}/retry":{"post":{"operationId":"Action.retry","summary":"Action.retry","description":"Retry runs a failed Action again as a new Action linked to the one that failed.","tags":["Action"],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"},"description":"The failed Action."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"retry":{"$ref":"#/components/schemas/Action","description":"The new Action."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","retry","links"]},"example":{"api":"https://api.sb/tutorloop.com","retry":{"$id":"https://api.sb/tutorloop.com/actions/action_1","$type":"Action","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Action.retry","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Action.retried"}},"/ads":{"post":{"operationId":"Ad.create","summary":"Ad.create","description":"Creates an Ad.","tags":["Ad"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"type":"string","description":"One of `search`, `display`, `image`, or `video`.","enum":["search","display","image","video"]},"spend":{"$ref":"#/components/schemas/Money","description":"What it has cost so far."},"campaign":{"type":"string","description":"A Campaign places Ads that share its budget and window. The Campaign id."},"offer":{"type":"string","description":"Each Ad sells one Offer. The Offer id."}},"required":["format"],"additionalProperties":false},"example":{"format":"search"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"ad":{"$ref":"#/components/schemas/Ad","description":"The Ad."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ad","links"]},"example":{"api":"https://api.sb/shiftnote.app","ad":{"$id":"https://api.sb/shiftnote.app/ads/ad_1","$type":"Ad","format":"search"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Ad.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Ad.created"},"get":{"operationId":"Ad.list","summary":"Ad.list","description":"Returns Ads, newest first, one page at a time.","tags":["Ad"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"ads":{"type":"array","items":{"$ref":"#/components/schemas/Ad","description":"One page of Ads."},"description":"One page of Ads."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ads","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Ad","ads":[{"$id":"https://api.sb/shiftnote.app/ads/ad_1","$type":"Ad","format":"search"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/ads?limit=20","next":"https://api.sb/shiftnote.app/ads?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/ads/{id}":{"get":{"operationId":"Ad.get","summary":"Ad.get","description":"Returns one Ad by id.","tags":["Ad"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Ad."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"ad":{"$ref":"#/components/schemas/Ad","description":"The Ad."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ad","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Ad","$id":"https://api.sb/shiftnote.app/ads/ad_1","ad":{"$id":"https://api.sb/shiftnote.app/ads/ad_1","$type":"Ad","format":"search"},"links":{"self":"https://api.sb/shiftnote.app/ads/ad_1","up":"https://api.sb/shiftnote.app/ads"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Ad.update","summary":"Ad.update","description":"Changes the given properties of an Ad.","tags":["Ad"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Ad."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"type":"string","description":"One of `search`, `display`, `image`, or `video`.","enum":["search","display","image","video"]},"spend":{"$ref":"#/components/schemas/Money","description":"What it has cost so far."}},"additionalProperties":false},"example":{"format":"search"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"ad":{"$ref":"#/components/schemas/Ad","description":"The Ad."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ad","links"]},"example":{"api":"https://api.sb/tutorloop.com","ad":{"$id":"https://api.sb/tutorloop.com/ads/ad_1","$type":"Ad","format":"search"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Ad.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Ad.updated"},"delete":{"operationId":"Ad.delete","summary":"Ad.delete","description":"Deletes an Ad; its history is kept.","tags":["Ad"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Ad."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"ad":{"$ref":"#/components/schemas/Ad","description":"The Ad."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ad","links"]},"example":{"api":"https://api.sb/petpantry.shop","ad":{"$id":"https://api.sb/petpantry.shop/ads/ad_1","$type":"Ad","format":"search"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Ad.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Ad.deleted"}},"/agents":{"post":{"operationId":"Agent.create","summary":"Agent.create","description":"Creates an Agent.","tags":["Agent"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"instructions":{"type":"string","description":"What the Agent does and how."},"model":{"type":"string","description":"The model the Agent runs on."},"tools":{"type":"array","items":{"type":"string","description":"The tools the Agent may call."},"description":"The tools the Agent may call."},"skills":{"type":"array","items":{"type":"string","description":"The Skills it loads. The Skill id."},"description":"The Skills it loads."},"memory":{"type":"string","description":"One of `tenant` (one Memory per Customer Tenant) or `startup` (one Memory for the Startup).","enum":["tenant","startup"]},"maxSteps":{"type":"integer","description":"The most steps one Task may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Task may spend; the Mandate’s Limits apply as well."},"handoffs":{"type":"array","items":{"type":"string","description":"The Roles it hands work to. The Role id."},"description":"The Roles it hands work to."}},"required":["instructions","model"],"additionalProperties":false},"example":{"instructions":"Example instructions","model":"Example model"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agent":{"$ref":"#/components/schemas/Agent","description":"The Agent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agent","links"]},"example":{"api":"https://api.sb/routewise.dev","agent":{"$id":"https://api.sb/routewise.dev/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Agent.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agent.created"},"get":{"operationId":"Agent.list","summary":"Agent.list","description":"Returns Agents, newest first, one page at a time.","tags":["Agent"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"agents":{"type":"array","items":{"$ref":"#/components/schemas/Agent","description":"One page of Agents."},"description":"One page of Agents."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agents","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Agent","agents":[{"$id":"https://api.sb/patentpad.com/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/agents?limit=20","next":"https://api.sb/patentpad.com/agents?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/agents/{id}":{"get":{"operationId":"Agent.get","summary":"Agent.get","description":"Returns one Agent by id.","tags":["Agent"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Agent."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"agent":{"$ref":"#/components/schemas/Agent","description":"The Agent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agent","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Agent","$id":"https://api.sb/routewise.dev/agents/agent_1","agent":{"$id":"https://api.sb/routewise.dev/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"},"links":{"self":"https://api.sb/routewise.dev/agents/agent_1","up":"https://api.sb/routewise.dev/agents"},"actions":{"resume":"https://api.sb/routewise.dev/agents/agent_1/resume","retire":"https://api.sb/routewise.dev/agents/agent_1/retire"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Agent.update","summary":"Agent.update","description":"Changes the given properties of an Agent.","tags":["Agent"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Agent."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"instructions":{"type":"string","description":"What the Agent does and how."},"model":{"type":"string","description":"The model the Agent runs on."},"tools":{"type":"array","items":{"type":"string","description":"The tools the Agent may call."},"description":"The tools the Agent may call."},"skills":{"type":"array","items":{"type":"string","description":"The Skills it loads. The Skill id."},"description":"The Skills it loads."},"memory":{"type":"string","description":"One of `tenant` (one Memory per Customer Tenant) or `startup` (one Memory for the Startup).","enum":["tenant","startup"]},"maxSteps":{"type":"integer","description":"The most steps one Task may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Task may spend; the Mandate’s Limits apply as well."},"handoffs":{"type":"array","items":{"type":"string","description":"The Roles it hands work to. The Role id."},"description":"The Roles it hands work to."}},"additionalProperties":false},"example":{"skills":["skill_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agent":{"$ref":"#/components/schemas/Agent","description":"The Agent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agent","links"]},"example":{"api":"https://api.sb/kilnbakery.com","agent":{"$id":"https://api.sb/kilnbakery.com/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Agent.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agent.updated"},"delete":{"operationId":"Agent.delete","summary":"Agent.delete","description":"Deletes an Agent; its history is kept.","tags":["Agent"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Agent."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agent":{"$ref":"#/components/schemas/Agent","description":"The Agent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agent","links"]},"example":{"api":"https://api.sb/tutorloop.com","agent":{"$id":"https://api.sb/tutorloop.com/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Agent.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agent.deleted"}},"/agents/mint":{"post":{"operationId":"Agent.mint","summary":"Agent.mint","description":"Mint creates an Agent in a Customer’s Tenant from an Agent Product the Customer bought.","tags":["Agent"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tenant":{"type":"string","description":"The Customer’s Tenant. The Tenant id."},"product":{"type":"string","description":"The Agent Product. The Product id."}},"required":["tenant","product"],"additionalProperties":false},"example":{"tenant":"tenant_1","product":"product_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agent":{"$ref":"#/components/schemas/Agent","description":"The Customer’s own Agent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agent","links"]},"example":{"api":"https://api.sb/patentpad.com","agent":{"$id":"https://api.sb/patentpad.com/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Agent.mint","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agent.minted"}},"/agents/pause":{"post":{"operationId":"Agent.pause","summary":"Agent.pause","description":"Pause stops one Agent, every Agent on a Team, or every customer-facing Agent from starting new Actions in a Startup.","tags":["Agent"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agents":{"type":"array","items":{"type":"string","description":"The Agents to pause. Name one of `agents`, `team` or `customerFacing`. The Agent id."},"description":"The Agents to pause. Name one of `agents`, `team` or `customerFacing`."},"team":{"type":"string","description":"Pause every Agent seated on this Team. The Team id."},"customerFacing":{"type":"boolean","description":"True pauses every Agent seated in a Role that answers a customer Channel."},"reason":{"type":"string","description":"Why the Agents stop, shown to every watcher."}},"required":["reason"],"additionalProperties":false,"oneOf":[{"required":["agents"]},{"required":["team"]},{"required":["customerFacing"]}]},"example":{"agents":["agent_1"],"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agents":{"type":"array","items":{"$ref":"#/components/schemas/Agent","description":"Every Agent it paused; each emits its own `Agent.paused`."},"description":"Every Agent it paused; each emits its own `Agent.paused`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agents","links"]},"example":{"api":"https://api.sb/ledgerlark.com","agents":[{"$id":"https://api.sb/ledgerlark.com/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"}],"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Agent.pause","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agent.paused"}},"/agents/{agent}/resume":{"post":{"operationId":"Agent.resume","summary":"Agent.resume","description":"Resume restarts a paused Agent in every seat it holds, with its Memory, Mandates and Limits unchanged.","tags":["Agent"],"parameters":[{"name":"agent","in":"path","required":true,"schema":{"type":"string"},"description":"The paused Agent."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agent":{"$ref":"#/components/schemas/Agent","description":"The working Agent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agent","links"]},"example":{"api":"https://api.sb/tutorloop.com","agent":{"$id":"https://api.sb/tutorloop.com/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Agent.resume","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agent.resumed"}},"/agents/{agent}/retire":{"post":{"operationId":"Agent.retire","summary":"Agent.retire","description":"Retire removes an Agent from every seat in a Startup for good and keeps its Actions, Memory and Mailbox history on the record.","tags":["Agent"],"parameters":[{"name":"agent","in":"path","required":true,"schema":{"type":"string"},"description":"The Agent to retire."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it leaves."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agent":{"$ref":"#/components/schemas/Agent","description":"The retired Agent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agent","links"]},"example":{"api":"https://api.sb/quietcopy.com","agent":{"$id":"https://api.sb/quietcopy.com/agents/agent_1","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"retired"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Agent.retire","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agent.retired"}},"/agreements":{"post":{"operationId":"Agreement.create","summary":"Agreement.create","description":"Creates an Agreement.","tags":["Agreement"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"term":{"type":"string","description":"How long it runs and how it ends."},"signedAt":{"type":"string","format":"date-time","description":"When the last Party signed."},"terminatedAt":{"type":"string","format":"date-time","description":"When it ended under its term; it stays on record."},"payoutSchedule":{"type":"string","description":"For a Supplier’s Agreement: how often the released earned balance pays out.","enum":["daily","weekly","monthly"]},"clearanceDays":{"type":"integer","description":"For a Supplier’s Agreement: days an Order’s earnings wait after confirmation before they can pay out."}},"additionalProperties":false},"example":{"term":"Example term"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agreement":{"$ref":"#/components/schemas/Agreement","description":"The Agreement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agreement","links"]},"example":{"api":"https://api.sb/tutorloop.com","agreement":{"$id":"https://api.sb/tutorloop.com/agreements/agreement_1","$type":"Agreement","status":"draft"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Agreement.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agreement.created"},"get":{"operationId":"Agreement.list","summary":"Agreement.list","description":"Returns Agreements, newest first, one page at a time.","tags":["Agreement"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"agreements":{"type":"array","items":{"$ref":"#/components/schemas/Agreement","description":"One page of Agreements."},"description":"One page of Agreements."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agreements","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Agreement","agreements":[{"$id":"https://api.sb/tutorloop.com/agreements/agreement_1","$type":"Agreement","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/agreements?limit=20","next":"https://api.sb/tutorloop.com/agreements?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/agreements/{id}":{"get":{"operationId":"Agreement.get","summary":"Agreement.get","description":"Returns one Agreement by id.","tags":["Agreement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Agreement."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"agreement":{"$ref":"#/components/schemas/Agreement","description":"The Agreement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agreement","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Agreement","$id":"https://api.sb/petpantry.shop/agreements/agreement_1","agreement":{"$id":"https://api.sb/petpantry.shop/agreements/agreement_1","$type":"Agreement","status":"draft"},"links":{"self":"https://api.sb/petpantry.shop/agreements/agreement_1","up":"https://api.sb/petpantry.shop/agreements"},"actions":{"sign":"https://api.sb/petpantry.shop/agreements/agreement_1/sign","terminate":"https://api.sb/petpantry.shop/agreements/agreement_1/terminate"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Agreement.update","summary":"Agreement.update","description":"Changes the given properties of an Agreement.","tags":["Agreement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Agreement."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"term":{"type":"string","description":"How long it runs and how it ends."},"signedAt":{"type":"string","format":"date-time","description":"When the last Party signed."},"terminatedAt":{"type":"string","format":"date-time","description":"When it ended under its term; it stays on record."},"payoutSchedule":{"type":"string","description":"For a Supplier’s Agreement: how often the released earned balance pays out.","enum":["daily","weekly","monthly"]},"clearanceDays":{"type":"integer","description":"For a Supplier’s Agreement: days an Order’s earnings wait after confirmation before they can pay out."}},"additionalProperties":false},"example":{"signedAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agreement":{"$ref":"#/components/schemas/Agreement","description":"The Agreement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agreement","links"]},"example":{"api":"https://api.sb/ledgerlark.com","agreement":{"$id":"https://api.sb/ledgerlark.com/agreements/agreement_1","$type":"Agreement","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Agreement.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agreement.updated"}},"/agreements/{agreement}/sign":{"post":{"operationId":"Agreement.sign","summary":"Agreement.sign","description":"Sign executes an Agreement for one Party and records the signature, the signer and the time.","tags":["Agreement"],"parameters":[{"name":"agreement","in":"path","required":true,"schema":{"type":"string"},"description":"The Agreement to sign."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agreement":{"$ref":"#/components/schemas/Agreement","description":"The Agreement, in force once every party signs."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agreement","links"]},"example":{"api":"https://api.sb/shiftnote.app","agreement":{"$id":"https://api.sb/shiftnote.app/agreements/agreement_1","$type":"Agreement","status":"signed"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Agreement.sign","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agreement.signed"}},"/agreements/{agreement}/terminate":{"post":{"operationId":"Agreement.terminate","summary":"Agreement.terminate","description":"Terminate ends an Agreement under its own term, records the reason and the date, and keeps the signed record.","tags":["Agreement"],"parameters":[{"name":"agreement","in":"path","required":true,"schema":{"type":"string"},"description":"The Agreement in force."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"The term it ends under and why."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"agreement":{"$ref":"#/components/schemas/Agreement","description":"The terminated Agreement, kept forever."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","agreement","links"]},"example":{"api":"https://api.sb/shiftnote.app","agreement":{"$id":"https://api.sb/shiftnote.app/agreements/agreement_1","$type":"Agreement","status":"terminated"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Agreement.terminate","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Agreement.terminated"}},"/api-keys/{id}":{"get":{"operationId":"APIKey.get","summary":"APIKey.get","description":"Returns one API Key by id.","tags":["APIKey"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the API Key."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"apiKey":{"$ref":"#/components/schemas/APIKey","description":"The API Key."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","apiKey","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"APIKey","$id":"https://api.sb/routewise.dev/api-keys/api_key_1","apiKey":{"$id":"https://api.sb/routewise.dev/api-keys/api_key_1","$type":"APIKey","name":"Nightly sync","environment":"test"},"links":{"self":"https://api.sb/routewise.dev/api-keys/api_key_1","up":"https://api.sb/routewise.dev/api-keys"},"actions":{"revoke":"https://api.sb/routewise.dev/api-keys/api_key_1/revoke","roll":"https://api.sb/routewise.dev/api-keys/api_key_1/roll"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/api-keys":{"get":{"operationId":"APIKey.list","summary":"APIKey.list","description":"Returns API Keys, newest first, one page at a time.","tags":["APIKey"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"apiKeys":{"type":"array","items":{"$ref":"#/components/schemas/APIKey","description":"One page of API Keys."},"description":"One page of API Keys."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","apiKeys","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"APIKey","apiKeys":[{"$id":"https://api.sb/patentpad.com/api-keys/api_key_1","$type":"APIKey","name":"Nightly sync","environment":"test"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/api-keys?limit=20","next":"https://api.sb/patentpad.com/api-keys?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/api-keys/issue":{"post":{"operationId":"APIKey.issue","summary":"APIKey.issue","description":"Issue creates an API Key for one Customer and returns its secret once; afterwards only the prefix shows.","tags":["APIKey"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"type":"string","description":"The Customer whose calls it signs. The Customer id."},"name":{"type":"string","description":"What the key is for."},"environment":{"type":"string","description":"One of `test` or `live`.","enum":["test","live"]},"verbs":{"type":"array","items":{"type":"string","description":"The Verbs it may call; unset reaches every Verb the Customer’s Entitlements grant. The Verb id."},"description":"The Verbs it may call; unset reaches every Verb the Customer’s Entitlements grant."},"expiresAt":{"type":"string","format":"date-time","description":"When it stops working on its own."}},"required":["customer","name","environment"],"additionalProperties":false},"example":{"customer":"customer_1","name":"Nightly sync","environment":"test"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"apiKey":{"$ref":"#/components/schemas/APIKey","description":"The API Key, with its prefix."},"secret":{"type":"string","description":"The full secret. It is returned here once and never again."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","apiKey","secret","links"]},"example":{"api":"https://api.sb/tutorloop.com","apiKey":{"$id":"https://api.sb/tutorloop.com/api-keys/api_key_1","$type":"APIKey","name":"Nightly sync","environment":"test"},"secret":"sk_live_4f2a…","action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"APIKey.issue","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"APIKey.issued"}},"/api-keys/{apiKey}/revoke":{"post":{"operationId":"APIKey.revoke","summary":"APIKey.revoke","description":"Revoke stops an API Key at once: its next call fails with 401, and the record and its history stay.","tags":["APIKey"],"parameters":[{"name":"apiKey","in":"path","required":true,"schema":{"type":"string"},"description":"The API Key to stop."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why, shown to the Customer’s admins."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"apiKey":{"$ref":"#/components/schemas/APIKey","description":"The API Key, with `revokedAt` set."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","apiKey","links"]},"example":{"api":"https://api.sb/shiftnote.app","apiKey":{"$id":"https://api.sb/shiftnote.app/api-keys/api_key_1","$type":"APIKey","name":"Nightly sync","environment":"test"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"APIKey.revoke","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"APIKey.revoked"}},"/api-keys/{apiKey}/roll":{"post":{"operationId":"APIKey.roll","summary":"APIKey.roll","description":"Roll issues a replacement API Key with the same scope and keeps the old one working until a set time.","tags":["APIKey"],"parameters":[{"name":"apiKey","in":"path","required":true,"schema":{"type":"string"},"description":"The API Key to replace."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"expireIn":{"type":"string","description":"How long the old key keeps working, from `0h` to `7d`. Defaults to `24h`."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"apiKey":{"$ref":"#/components/schemas/APIKey","description":"The replacement API Key."},"secret":{"type":"string","description":"The replacement’s full secret, returned once."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","apiKey","secret","links"]},"example":{"api":"https://api.sb/tutorloop.com","apiKey":{"$id":"https://api.sb/tutorloop.com/api-keys/api_key_1","$type":"APIKey","name":"Nightly sync","environment":"test"},"secret":"sk_live_9c1e…","action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"APIKey.roll","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"APIKey.rolled"}},"/apps/{app}/publish":{"post":{"operationId":"App.publish","summary":"App.publish","description":"Publish releases an App to its Customers, so each Tenant runs its newest build.","tags":["App"],"parameters":[{"name":"app","in":"path","required":true,"schema":{"type":"string"},"description":"The App to release."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"app":{"$ref":"#/components/schemas/App","description":"The App, now released."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","app","links"]},"example":{"api":"https://api.sb/petpantry.shop","app":{"$id":"https://api.sb/petpantry.shop/apps/app_1","$type":"App","kind":"api"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"App.publish","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"App.published"}},"/approvals":{"post":{"operationId":"Approval.create","summary":"Approval.create","description":"Creates an Approval.","tags":["Approval"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"verdict":{"type":"string","description":"One of `allowed` or `refused`.","enum":["allowed","refused"]},"deadline":{"type":"string","format":"date-time","description":"When an unanswered Approval cancels the Action."},"action":{"type":"string","description":"An Approval holds one pending Action that exceeds a Limit or Mandate until someone allows or refuses it. The Action id."}},"additionalProperties":false},"example":{"by":"worker_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"approval":{"$ref":"#/components/schemas/Approval","description":"The Approval."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","approval","links"]},"example":{"api":"https://api.sb/routewise.dev","approval":{"$id":"https://api.sb/routewise.dev/approvals/approval_1","$type":"Approval","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Approval.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Approval.created"},"get":{"operationId":"Approval.list","summary":"Approval.list","description":"Returns Approvals, newest first, one page at a time.","tags":["Approval"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"approvals":{"type":"array","items":{"$ref":"#/components/schemas/Approval","description":"One page of Approvals."},"description":"One page of Approvals."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","approvals","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Approval","approvals":[{"$id":"https://api.sb/patentpad.com/approvals/approval_1","$type":"Approval","status":"pending","mode":"try"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/approvals?limit=20","next":"https://api.sb/patentpad.com/approvals?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/approvals/{id}":{"get":{"operationId":"Approval.get","summary":"Approval.get","description":"Returns one Approval by id.","tags":["Approval"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Approval."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"approval":{"$ref":"#/components/schemas/Approval","description":"The Approval."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","approval","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Approval","$id":"https://api.sb/routewise.dev/approvals/approval_1","approval":{"$id":"https://api.sb/routewise.dev/approvals/approval_1","$type":"Approval","status":"pending","mode":"try"},"links":{"self":"https://api.sb/routewise.dev/approvals/approval_1","up":"https://api.sb/routewise.dev/approvals"},"actions":{"approve":"https://api.sb/routewise.dev/approvals/approval_1/approve","refuse":"https://api.sb/routewise.dev/approvals/approval_1/refuse"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Approval.update","summary":"Approval.update","description":"Changes the given properties of an Approval.","tags":["Approval"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Approval."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"verdict":{"type":"string","description":"One of `allowed` or `refused`.","enum":["allowed","refused"]},"deadline":{"type":"string","format":"date-time","description":"When an unanswered Approval cancels the Action."}},"additionalProperties":false},"example":{"verdict":"allowed"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"approval":{"$ref":"#/components/schemas/Approval","description":"The Approval."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","approval","links"]},"example":{"api":"https://api.sb/kilnbakery.com","approval":{"$id":"https://api.sb/kilnbakery.com/approvals/approval_1","$type":"Approval","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Approval.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Approval.updated"},"delete":{"operationId":"Approval.delete","summary":"Approval.delete","description":"Deletes an Approval; its history is kept.","tags":["Approval"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Approval."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"approval":{"$ref":"#/components/schemas/Approval","description":"The Approval."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","approval","links"]},"example":{"api":"https://api.sb/tutorloop.com","approval":{"$id":"https://api.sb/tutorloop.com/approvals/approval_1","$type":"Approval","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Approval.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Approval.deleted"}},"/approvals/{approval}/approve":{"post":{"operationId":"Approval.approve","summary":"Approval.approve","description":"Approve allows the pending Action an Approval holds, and that Action runs.","tags":["Approval"],"parameters":[{"name":"approval","in":"path","required":true,"schema":{"type":"string"},"description":"The open Approval."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"note":{"type":"string","description":"Why it is approved."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"approval":{"$ref":"#/components/schemas/Approval","description":"The approved Approval."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","approval","links"]},"example":{"api":"https://api.sb/kilnbakery.com","approval":{"$id":"https://api.sb/kilnbakery.com/approvals/approval_1","$type":"Approval","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Approval.approve","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Approval.approved"}},"/approvals/{approval}/refuse":{"post":{"operationId":"Approval.refuse","summary":"Approval.refuse","description":"Refuse declines an Approval, which sets the Action it holds to `refused` with the reason given.","tags":["Approval"],"parameters":[{"name":"approval","in":"path","required":true,"schema":{"type":"string"},"description":"The open Approval."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it is refused."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"approval":{"$ref":"#/components/schemas/Approval","description":"The refused Approval."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","approval","links"]},"example":{"api":"https://api.sb/routewise.dev","approval":{"$id":"https://api.sb/routewise.dev/approvals/approval_1","$type":"Approval","status":"refused","mode":"try"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Approval.refuse","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Approval.refused"}},"/attestations":{"post":{"operationId":"Attestation.create","summary":"Attestation.create","description":"Creates an Attestation.","tags":["Attestation"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"outcome":{"type":"string","description":"One of `performed` or `declined`.","enum":["performed","declined"]},"signedAt":{"type":"string","format":"date-time","description":"When the Worker signed it."},"reservedAct":{"type":"string","description":"The Reserved Act the Attestation records as performed or declined. The Reserved Act id."},"credential":{"type":"string","description":"The Credential the signing Worker held when it signed. The Credential id."}},"required":["outcome","signedAt"],"additionalProperties":false},"example":{"outcome":"performed","signedAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"attestation":{"$ref":"#/components/schemas/Attestation","description":"The Attestation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","attestation","links"]},"example":{"api":"https://api.sb/petpantry.shop","attestation":{"$id":"https://api.sb/petpantry.shop/attestations/attestation_1","$type":"Attestation","outcome":"performed","signedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Attestation.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Attestation.created"},"get":{"operationId":"Attestation.list","summary":"Attestation.list","description":"Returns Attestations, newest first, one page at a time.","tags":["Attestation"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"attestations":{"type":"array","items":{"$ref":"#/components/schemas/Attestation","description":"One page of Attestations."},"description":"One page of Attestations."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","attestations","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Attestation","attestations":[{"$id":"https://api.sb/kilnbakery.com/attestations/attestation_1","$type":"Attestation","outcome":"performed","signedAt":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/attestations?limit=20","next":"https://api.sb/kilnbakery.com/attestations?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/attestations/{id}":{"get":{"operationId":"Attestation.get","summary":"Attestation.get","description":"Returns one Attestation by id.","tags":["Attestation"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Attestation."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"attestation":{"$ref":"#/components/schemas/Attestation","description":"The Attestation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","attestation","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Attestation","$id":"https://api.sb/quietcopy.com/attestations/attestation_1","attestation":{"$id":"https://api.sb/quietcopy.com/attestations/attestation_1","$type":"Attestation","outcome":"performed","signedAt":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/quietcopy.com/attestations/attestation_1","up":"https://api.sb/quietcopy.com/attestations"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/audiences":{"post":{"operationId":"Audience.create","summary":"Audience.create","description":"Creates an Audience.","tags":["Audience"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."},"size":{"type":"integer","description":"How many people match."}},"required":["id","type"],"additionalProperties":false},"example":{"id":"audience_1","type":["noun_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"audience":{"$ref":"#/components/schemas/Audience","description":"The Audience."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","audience","links"]},"example":{"api":"https://api.sb/quietcopy.com","audience":{"$id":"https://api.sb/quietcopy.com/audiences/audience_1","$type":"Audience","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Audience.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Audience.created"},"get":{"operationId":"Audience.list","summary":"Audience.list","description":"Returns Audiences, newest first, one page at a time.","tags":["Audience"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"audiences":{"type":"array","items":{"$ref":"#/components/schemas/Audience","description":"One page of Audiences."},"description":"One page of Audiences."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","audiences","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Audience","audiences":[{"$id":"https://api.sb/quietcopy.com/audiences/audience_1","$type":"Audience","id":"Example id","type":["noun_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/audiences?limit=20","next":"https://api.sb/quietcopy.com/audiences?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/audiences/{id}":{"get":{"operationId":"Audience.get","summary":"Audience.get","description":"Returns one Audience by id.","tags":["Audience"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Audience."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"audience":{"$ref":"#/components/schemas/Audience","description":"The Audience."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","audience","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Audience","$id":"https://api.sb/kilnbakery.com/audiences/audience_1","audience":{"$id":"https://api.sb/kilnbakery.com/audiences/audience_1","$type":"Audience","id":"Example id","type":["noun_1"]},"links":{"self":"https://api.sb/kilnbakery.com/audiences/audience_1","up":"https://api.sb/kilnbakery.com/audiences"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Audience.update","summary":"Audience.update","description":"Changes the given properties of an Audience.","tags":["Audience"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Audience."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."},"size":{"type":"integer","description":"How many people match."}},"additionalProperties":false},"example":{"size":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"audience":{"$ref":"#/components/schemas/Audience","description":"The Audience."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","audience","links"]},"example":{"api":"https://api.sb/shiftnote.app","audience":{"$id":"https://api.sb/shiftnote.app/audiences/audience_1","$type":"Audience","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Audience.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Audience.updated"},"delete":{"operationId":"Audience.delete","summary":"Audience.delete","description":"Deletes an Audience; its history is kept.","tags":["Audience"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Audience."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"audience":{"$ref":"#/components/schemas/Audience","description":"The Audience."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","audience","links"]},"example":{"api":"https://api.sb/routewise.dev","audience":{"$id":"https://api.sb/routewise.dev/audiences/audience_1","$type":"Audience","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Audience.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Audience.deleted"}},"/audits/{id}":{"get":{"operationId":"Audit.get","summary":"Audit.get","description":"Returns one Audit by id.","tags":["Audit"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Audit."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"audit":{"$ref":"#/components/schemas/Audit","description":"The Audit."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","audit","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Audit","$id":"https://api.sb/shiftnote.app/audits/audit_1","audit":{"$id":"https://api.sb/shiftnote.app/audits/audit_1","$type":"Audit","firm":"organization_1","criteria":["criterion_1"],"type":"Example type","from":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/shiftnote.app/audits/audit_1","up":"https://api.sb/shiftnote.app/audits"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/audits":{"get":{"operationId":"Audit.list","summary":"Audit.list","description":"Returns Audits, newest first, one page at a time.","tags":["Audit"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"audits":{"type":"array","items":{"$ref":"#/components/schemas/Audit","description":"One page of Audits."},"description":"One page of Audits."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","audits","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Audit","audits":[{"$id":"https://api.sb/shiftnote.app/audits/audit_1","$type":"Audit","firm":"organization_1","criteria":["criterion_1"],"type":"Example type","from":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/audits?limit=20","next":"https://api.sb/shiftnote.app/audits?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/bills":{"post":{"operationId":"Bill.create","summary":"Bill.create","description":"Creates a Bill.","tags":["Bill"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"string","description":"The Organization the Startup owes. The Organization id."},"amount":{"$ref":"#/components/schemas/Money","description":"What the Bill asks for, in its currency."},"dueOn":{"type":"string","format":"date","description":"The date payment is due; an approved Bill is paid on it."},"account":{"type":"string","description":"The chart-of-accounts code it is coded to, such as `expense.hosting`."},"file":{"type":"string","description":"The File the Bill arrived as: an email attachment or an upload. The File id."}},"required":["organization","amount","dueOn"],"additionalProperties":false},"example":{"organization":"organization_1","amount":{"amount":400,"currency":"USD"},"dueOn":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"bill":{"$ref":"#/components/schemas/Bill","description":"The Bill."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","bill","links"]},"example":{"api":"https://api.sb/ledgerlark.com","bill":{"$id":"https://api.sb/ledgerlark.com/bills/bill_1","$type":"Bill","organization":"organization_1","amount":{"amount":400,"currency":"USD"},"dueOn":"2026-10-22","status":"received"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Bill.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Bill.created"},"get":{"operationId":"Bill.list","summary":"Bill.list","description":"Returns Bills, newest first, one page at a time.","tags":["Bill"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"bills":{"type":"array","items":{"$ref":"#/components/schemas/Bill","description":"One page of Bills."},"description":"One page of Bills."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","bills","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Bill","bills":[{"$id":"https://api.sb/ledgerlark.com/bills/bill_1","$type":"Bill","organization":"organization_1","amount":{"amount":400,"currency":"USD"},"dueOn":"2026-10-22","status":"received"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/bills?limit=20","next":"https://api.sb/ledgerlark.com/bills?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/bills/{id}":{"get":{"operationId":"Bill.get","summary":"Bill.get","description":"Returns one Bill by id.","tags":["Bill"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Bill."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"bill":{"$ref":"#/components/schemas/Bill","description":"The Bill."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","bill","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Bill","$id":"https://api.sb/ledgerlark.com/bills/bill_1","bill":{"$id":"https://api.sb/ledgerlark.com/bills/bill_1","$type":"Bill","organization":"organization_1","amount":{"amount":400,"currency":"USD"},"dueOn":"2026-10-22","status":"received"},"links":{"self":"https://api.sb/ledgerlark.com/bills/bill_1","up":"https://api.sb/ledgerlark.com/bills"},"actions":{"approve":"https://api.sb/ledgerlark.com/bills/bill_1/approve","pay":"https://api.sb/ledgerlark.com/bills/bill_1/pay"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Bill.update","summary":"Bill.update","description":"Changes the given properties of a Bill.","tags":["Bill"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Bill."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"string","description":"The Organization the Startup owes. The Organization id."},"amount":{"$ref":"#/components/schemas/Money","description":"What the Bill asks for, in its currency."},"dueOn":{"type":"string","format":"date","description":"The date payment is due; an approved Bill is paid on it."},"account":{"type":"string","description":"The chart-of-accounts code it is coded to, such as `expense.hosting`."},"file":{"type":"string","description":"The File the Bill arrived as: an email attachment or an upload. The File id."}},"additionalProperties":false},"example":{"organization":"organization_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"bill":{"$ref":"#/components/schemas/Bill","description":"The Bill."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","bill","links"]},"example":{"api":"https://api.sb/quietcopy.com","bill":{"$id":"https://api.sb/quietcopy.com/bills/bill_1","$type":"Bill","organization":"organization_1","amount":{"amount":39,"currency":"USD"},"dueOn":"2026-10-22","status":"received"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Bill.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Bill.updated"}},"/bills/{bill}/approve":{"post":{"operationId":"Bill.approve","summary":"Bill.approve","description":"Approve accepts a coded Bill for payment within the approver’s Mandate and schedules it for its due date.","tags":["Bill"],"parameters":[{"name":"bill","in":"path","required":true,"schema":{"type":"string"},"description":"The coded Bill."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"bill":{"$ref":"#/components/schemas/Bill","description":"The approved Bill, scheduled for its due date."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","bill","links"]},"example":{"api":"https://api.sb/quietcopy.com","bill":{"$id":"https://api.sb/quietcopy.com/bills/bill_1","$type":"Bill","organization":"organization_1","amount":{"amount":39,"currency":"USD"},"dueOn":"2026-10-22","status":"received"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Bill.approve","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Bill.approved"}},"/bills/{bill}/pay":{"post":{"operationId":"Bill.pay","summary":"Bill.pay","description":"Pay sends an approved Bill’s amount to its Organization on the due date and reconciles the payment to Entries.","tags":["Bill"],"parameters":[{"name":"bill","in":"path","required":true,"schema":{"type":"string"},"description":"The approved Bill."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The payment Transaction."},"bill":{"$ref":"#/components/schemas/Bill","description":"The Bill, now paid."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transaction","bill","links"]},"example":{"api":"https://api.sb/patentpad.com","transaction":{"$id":"https://api.sb/patentpad.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":499,"currency":"USD"}},"bill":{"$id":"https://api.sb/patentpad.com/bills/bill_1","$type":"Bill","organization":"organization_1","amount":{"amount":499,"currency":"USD"},"dueOn":"2026-10-22","status":"received"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Bill.pay","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Bill.paid"}},"/brands":{"post":{"operationId":"Brand.create","summary":"Brand.create","description":"Creates a Brand.","tags":["Brand"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name customers see."},"voice":{"type":"string","description":"How the Brand writes and speaks."},"logo":{"type":"string","format":"uri","description":"The logo image."},"theme":{"type":"string","description":"A Theme sets a Brand’s color, type, spacing and motion. The Theme id."}},"required":["name"],"additionalProperties":false},"example":{"name":"RouteWise"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","brand","links"]},"example":{"api":"https://api.sb/routewise.dev","brand":{"$id":"https://api.sb/routewise.dev/brands/brand_1","$type":"Brand","name":"RouteWise"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Brand.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Brand.created"},"get":{"operationId":"Brand.list","summary":"Brand.list","description":"Returns Brands, newest first, one page at a time.","tags":["Brand"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"brands":{"type":"array","items":{"$ref":"#/components/schemas/Brand","description":"One page of Brands."},"description":"One page of Brands."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","brands","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Brand","brands":[{"$id":"https://api.sb/patentpad.com/brands/brand_1","$type":"Brand","name":"PatentPad"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/brands?limit=20","next":"https://api.sb/patentpad.com/brands?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/brands/{id}":{"get":{"operationId":"Brand.get","summary":"Brand.get","description":"Returns one Brand by id.","tags":["Brand"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Brand."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","brand","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Brand","$id":"https://api.sb/routewise.dev/brands/brand_1","brand":{"$id":"https://api.sb/routewise.dev/brands/brand_1","$type":"Brand","name":"RouteWise"},"links":{"self":"https://api.sb/routewise.dev/brands/brand_1","up":"https://api.sb/routewise.dev/brands"},"actions":{"clear":"https://api.sb/routewise.dev/brands/brand_1/clear"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Brand.update","summary":"Brand.update","description":"Changes the given properties of a Brand.","tags":["Brand"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Brand."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name customers see."},"voice":{"type":"string","description":"How the Brand writes and speaks."},"logo":{"type":"string","format":"uri","description":"The logo image."}},"additionalProperties":false},"example":{"name":"Kiln Bakery"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","brand","links"]},"example":{"api":"https://api.sb/kilnbakery.com","brand":{"$id":"https://api.sb/kilnbakery.com/brands/brand_1","$type":"Brand","name":"Kiln Bakery"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Brand.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Brand.updated"},"delete":{"operationId":"Brand.delete","summary":"Brand.delete","description":"Deletes a Brand; its history is kept.","tags":["Brand"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Brand."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","brand","links"]},"example":{"api":"https://api.sb/tutorloop.com","brand":{"$id":"https://api.sb/tutorloop.com/brands/brand_1","$type":"Brand","name":"TutorLoop"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Brand.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Brand.deleted"}},"/brands/{brand}/clear":{"post":{"operationId":"Brand.clear","summary":"Brand.clear","description":"Clear checks a proposed Brand name against trademark registers, Domain availability and the Startup’s handles on outside platforms in one call.","tags":["Brand"],"parameters":[{"name":"brand","in":"path","required":true,"schema":{"type":"string"},"description":"The Brand whose name to check."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"markets":{"type":"array","items":{"type":"string","description":"The Markets whose registers to search. Defaults to the Startup’s Markets. The Market id."},"description":"The Markets whose registers to search. Defaults to the Startup’s Markets."},"classes":{"type":"array","items":{"type":"integer","description":"Trademark classes. Defaults to the classes of the Startup’s Products."},"description":"Trademark classes. Defaults to the classes of the Startup’s Products."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"verdict":{"type":"string","description":"`clear` lets the name ship, `conflict` blocks it, `review` waits for the Legal Lead.","enum":["clear","conflict","review"]},"findings":{"description":"Each similar mark, taken Domain or taken handle, with the register or platform it was found on."},"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand whose name was checked."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","verdict","findings","brand","links"]},"example":{"api":"https://api.sb/petpantry.shop","verdict":"clear","findings":{},"brand":{"$id":"https://api.sb/petpantry.shop/brands/brand_1","$type":"Brand","name":"PetPantry"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Brand.clear","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Brand.cleared"}},"/budgets":{"post":{"operationId":"Budget.create","summary":"Budget.create","description":"Creates a Budget.","tags":["Budget"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"account":{"type":"string","description":"The chart-of-accounts code it plans, such as `expense.ads`."},"period":{"type":"string","description":"The Period it plans. The Period id."},"amount":{"$ref":"#/components/schemas/Money","description":"The amount set for the account in the Period."}},"required":["account","period","amount"],"additionalProperties":false},"example":{"account":"expense.ads","period":"period_1","amount":{"amount":79,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"budget":{"$ref":"#/components/schemas/Budget","description":"The Budget."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","budget","links"]},"example":{"api":"https://api.sb/shiftnote.app","budget":{"$id":"https://api.sb/shiftnote.app/budgets/budget_1","$type":"Budget","account":"expense.ads","period":"period_1","amount":{"amount":79,"currency":"USD"}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Budget.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Budget.created"},"get":{"operationId":"Budget.list","summary":"Budget.list","description":"Returns Budgets, newest first, one page at a time.","tags":["Budget"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"budgets":{"type":"array","items":{"$ref":"#/components/schemas/Budget","description":"One page of Budgets."},"description":"One page of Budgets."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","budgets","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Budget","budgets":[{"$id":"https://api.sb/shiftnote.app/budgets/budget_1","$type":"Budget","account":"expense.ads","period":"period_1","amount":{"amount":79,"currency":"USD"}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/budgets?limit=20","next":"https://api.sb/shiftnote.app/budgets?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/budgets/{id}":{"get":{"operationId":"Budget.get","summary":"Budget.get","description":"Returns one Budget by id.","tags":["Budget"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Budget."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"budget":{"$ref":"#/components/schemas/Budget","description":"The Budget."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","budget","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Budget","$id":"https://api.sb/shiftnote.app/budgets/budget_1","budget":{"$id":"https://api.sb/shiftnote.app/budgets/budget_1","$type":"Budget","account":"expense.ads","period":"period_1","amount":{"amount":79,"currency":"USD"}},"links":{"self":"https://api.sb/shiftnote.app/budgets/budget_1","up":"https://api.sb/shiftnote.app/budgets"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Budget.update","summary":"Budget.update","description":"Changes the given properties of a Budget.","tags":["Budget"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Budget."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"account":{"type":"string","description":"The chart-of-accounts code it plans, such as `expense.ads`."},"period":{"type":"string","description":"The Period it plans. The Period id."},"amount":{"$ref":"#/components/schemas/Money","description":"The amount set for the account in the Period."}},"additionalProperties":false},"example":{"account":"expense.ads"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"budget":{"$ref":"#/components/schemas/Budget","description":"The Budget."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","budget","links"]},"example":{"api":"https://api.sb/tutorloop.com","budget":{"$id":"https://api.sb/tutorloop.com/budgets/budget_1","$type":"Budget","account":"expense.ads","period":"period_1","amount":{"amount":60,"currency":"USD"}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Budget.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Budget.updated"},"delete":{"operationId":"Budget.delete","summary":"Budget.delete","description":"Deletes a Budget; its history is kept.","tags":["Budget"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Budget."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"budget":{"$ref":"#/components/schemas/Budget","description":"The Budget."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","budget","links"]},"example":{"api":"https://api.sb/petpantry.shop","budget":{"$id":"https://api.sb/petpantry.shop/budgets/budget_1","$type":"Budget","account":"expense.ads","period":"period_1","amount":{"amount":54,"currency":"USD"}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Budget.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Budget.deleted"}},"/builders/{id}":{"get":{"operationId":"Builder.get","summary":"Builder.get","description":"Returns one Builder by id.","tags":["Builder"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Builder."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"builder":{"$ref":"#/components/schemas/Builder","description":"The Builder."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","builder","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Builder","$id":"https://api.sb/shiftnote.app/builders/builder_1","builder":{"$id":"https://api.sb/shiftnote.app/builders/builder_1","$type":"Builder","name":"StartupBuilder"},"links":{"self":"https://api.sb/shiftnote.app/builders/builder_1","up":"https://api.sb/shiftnote.app/builders"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/builders":{"get":{"operationId":"Builder.list","summary":"Builder.list","description":"Returns Builders, newest first, one page at a time.","tags":["Builder"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"builders":{"type":"array","items":{"$ref":"#/components/schemas/Builder","description":"One page of Builders."},"description":"One page of Builders."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","builders","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Builder","builders":[{"$id":"https://api.sb/shiftnote.app/builders/builder_1","$type":"Builder","name":"StartupBuilder"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/builders?limit=20","next":"https://api.sb/shiftnote.app/builders?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/campaigns":{"post":{"operationId":"Campaign.create","summary":"Campaign.create","description":"Creates a Campaign.","tags":["Campaign"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"budget":{"$ref":"#/components/schemas/Money","description":"What it may spend."},"startsAt":{"type":"string","format":"date-time","description":"When it starts."},"endsAt":{"type":"string","format":"date-time","description":"When it ends."},"goal":{"type":"string","description":"A Campaign spends its budget and window toward one Goal. The Goal id."}},"additionalProperties":false},"example":{"budget":{"amount":39,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"campaign":{"$ref":"#/components/schemas/Campaign","description":"The Campaign."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","campaign","links"]},"example":{"api":"https://api.sb/quietcopy.com","campaign":{"$id":"https://api.sb/quietcopy.com/campaigns/campaign_1","$type":"Campaign","budget":{"amount":39,"currency":"USD"},"startsAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Campaign.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Campaign.created"},"get":{"operationId":"Campaign.list","summary":"Campaign.list","description":"Returns Campaigns, newest first, one page at a time.","tags":["Campaign"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"campaigns":{"type":"array","items":{"$ref":"#/components/schemas/Campaign","description":"One page of Campaigns."},"description":"One page of Campaigns."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","campaigns","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Campaign","campaigns":[{"$id":"https://api.sb/quietcopy.com/campaigns/campaign_1","$type":"Campaign","budget":{"amount":39,"currency":"USD"},"startsAt":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/campaigns?limit=20","next":"https://api.sb/quietcopy.com/campaigns?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/campaigns/{id}":{"get":{"operationId":"Campaign.get","summary":"Campaign.get","description":"Returns one Campaign by id.","tags":["Campaign"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Campaign."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"campaign":{"$ref":"#/components/schemas/Campaign","description":"The Campaign."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","campaign","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Campaign","$id":"https://api.sb/kilnbakery.com/campaigns/campaign_1","campaign":{"$id":"https://api.sb/kilnbakery.com/campaigns/campaign_1","$type":"Campaign","budget":{"amount":9,"currency":"USD"},"startsAt":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/kilnbakery.com/campaigns/campaign_1","up":"https://api.sb/kilnbakery.com/campaigns"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Campaign.update","summary":"Campaign.update","description":"Changes the given properties of a Campaign.","tags":["Campaign"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Campaign."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"budget":{"$ref":"#/components/schemas/Money","description":"What it may spend."},"startsAt":{"type":"string","format":"date-time","description":"When it starts."},"endsAt":{"type":"string","format":"date-time","description":"When it ends."}},"additionalProperties":false},"example":{"budget":{"amount":79,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"campaign":{"$ref":"#/components/schemas/Campaign","description":"The Campaign."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","campaign","links"]},"example":{"api":"https://api.sb/shiftnote.app","campaign":{"$id":"https://api.sb/shiftnote.app/campaigns/campaign_1","$type":"Campaign","budget":{"amount":79,"currency":"USD"},"startsAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Campaign.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Campaign.updated"},"delete":{"operationId":"Campaign.delete","summary":"Campaign.delete","description":"Deletes a Campaign; its history is kept.","tags":["Campaign"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Campaign."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"campaign":{"$ref":"#/components/schemas/Campaign","description":"The Campaign."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","campaign","links"]},"example":{"api":"https://api.sb/routewise.dev","campaign":{"$id":"https://api.sb/routewise.dev/campaigns/campaign_1","$type":"Campaign","budget":{"amount":25,"currency":"USD"},"startsAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Campaign.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Campaign.deleted"}},"/candidates":{"post":{"operationId":"Candidate.create","summary":"Candidate.create","description":"Creates a Candidate.","tags":["Candidate"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"opening":{"type":"string","description":"The Opening the Person is considered for. The Opening id."},"person":{"type":"string","description":"The Person, whose record crosses Startups only with Consent. The Person id."},"source":{"type":"string","description":"One of `pool`, `prospecting`, `listing`, or `referral`.","enum":["pool","prospecting","listing","referral"]},"delta":{"description":"The per-Verb difference between the Candidate and the incumbent Agent in the tryout."}},"required":["opening","person","source"],"additionalProperties":false},"example":{"opening":"opening_1","person":"person_1","source":"pool"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","candidate","links"]},"example":{"api":"https://api.sb/patentpad.com","candidate":{"$id":"https://api.sb/patentpad.com/candidates/candidate_1","$type":"Candidate","opening":"opening_1","person":"person_1","source":"pool","state":"screening"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Candidate.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Candidate.created"},"get":{"operationId":"Candidate.list","summary":"Candidate.list","description":"Returns Candidates, newest first, one page at a time.","tags":["Candidate"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/Candidate","description":"One page of Candidates."},"description":"One page of Candidates."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","candidates","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Candidate","candidates":[{"$id":"https://api.sb/routewise.dev/candidates/candidate_1","$type":"Candidate","opening":"opening_1","person":"person_1","source":"pool","state":"screening"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/candidates?limit=20","next":"https://api.sb/routewise.dev/candidates?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/candidates/{id}":{"get":{"operationId":"Candidate.get","summary":"Candidate.get","description":"Returns one Candidate by id.","tags":["Candidate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Candidate."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","candidate","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Candidate","$id":"https://api.sb/patentpad.com/candidates/candidate_1","candidate":{"$id":"https://api.sb/patentpad.com/candidates/candidate_1","$type":"Candidate","opening":"opening_1","person":"person_1","source":"pool","state":"screening"},"links":{"self":"https://api.sb/patentpad.com/candidates/candidate_1","up":"https://api.sb/patentpad.com/candidates"},"actions":{"screen":"https://api.sb/patentpad.com/candidates/candidate_1/screen"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Candidate.update","summary":"Candidate.update","description":"Changes the given properties of a Candidate.","tags":["Candidate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Candidate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"opening":{"type":"string","description":"The Opening the Person is considered for. The Opening id."},"person":{"type":"string","description":"The Person, whose record crosses Startups only with Consent. The Person id."},"source":{"type":"string","description":"One of `pool`, `prospecting`, `listing`, or `referral`.","enum":["pool","prospecting","listing","referral"]},"delta":{"description":"The per-Verb difference between the Candidate and the incumbent Agent in the tryout."}},"additionalProperties":false},"example":{"opening":"opening_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","candidate","links"]},"example":{"api":"https://api.sb/petpantry.shop","candidate":{"$id":"https://api.sb/petpantry.shop/candidates/candidate_1","$type":"Candidate","opening":"opening_1","person":"person_1","source":"pool","state":"screening"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Candidate.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Candidate.updated"},"delete":{"operationId":"Candidate.delete","summary":"Candidate.delete","description":"Deletes a Candidate; its history is kept.","tags":["Candidate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Candidate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","candidate","links"]},"example":{"api":"https://api.sb/quietcopy.com","candidate":{"$id":"https://api.sb/quietcopy.com/candidates/candidate_1","$type":"Candidate","opening":"opening_1","person":"person_1","source":"pool","state":"screening"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Candidate.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Candidate.deleted"}},"/candidates/{candidate}/screen":{"post":{"operationId":"Candidate.screen","summary":"Candidate.screen","description":"Screen asks a Candidate only what the Opening’s Hypothesis still lacks, in writing, and grades each answer as Evidence.","tags":["Candidate"],"parameters":[{"name":"candidate","in":"path","required":true,"schema":{"type":"string"},"description":"The Candidate to screen."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate, with graded Evidence attached."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","candidate","links"]},"example":{"api":"https://api.sb/patentpad.com","candidate":{"$id":"https://api.sb/patentpad.com/candidates/candidate_1","$type":"Candidate","opening":"opening_1","person":"person_1","source":"pool","state":"screening"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Candidate.screen","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Candidate.screened"}},"/capabilities/{id}":{"get":{"operationId":"Capability.get","summary":"Capability.get","description":"Returns one Capability by id.","tags":["Capability"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Capability."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"capability":{"$ref":"#/components/schemas/Capability","description":"The Capability."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","capability","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Capability","$id":"https://api.sb/petpantry.shop/capabilities/capability_1","capability":{"$id":"https://api.sb/petpantry.shop/capabilities/capability_1","$type":"Capability","name":"PetPantry","nouns":["noun_1"]},"links":{"self":"https://api.sb/petpantry.shop/capabilities/capability_1","up":"https://api.sb/petpantry.shop/capabilities"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/capabilities":{"get":{"operationId":"Capability.list","summary":"Capability.list","description":"Returns Capabilities, newest first, one page at a time.","tags":["Capability"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/Capability","description":"One page of Capabilities."},"description":"One page of Capabilities."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","capabilities","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Capability","capabilities":[{"$id":"https://api.sb/tutorloop.com/capabilities/capability_1","$type":"Capability","name":"TutorLoop","nouns":["noun_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/capabilities?limit=20","next":"https://api.sb/tutorloop.com/capabilities?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/capital-calls/{id}":{"get":{"operationId":"CapitalCall.get","summary":"CapitalCall.get","description":"Returns one Capital Call by id.","tags":["CapitalCall"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Capital Call."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"capitalCall":{"$ref":"#/components/schemas/CapitalCall","description":"The Capital Call."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","capitalCall","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"CapitalCall","$id":"https://api.sb/kilnbakery.com/capital-calls/capital_call_1","capitalCall":{"$id":"https://api.sb/kilnbakery.com/capital-calls/capital_call_1","$type":"CapitalCall","amount":{"amount":9,"currency":"USD"},"dueOn":"2026-10-22"},"links":{"self":"https://api.sb/kilnbakery.com/capital-calls/capital_call_1","up":"https://api.sb/kilnbakery.com/capital-calls"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/capital-calls":{"get":{"operationId":"CapitalCall.list","summary":"CapitalCall.list","description":"Returns Capital Calls, newest first, one page at a time.","tags":["CapitalCall"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"capitalCalls":{"type":"array","items":{"$ref":"#/components/schemas/CapitalCall","description":"One page of Capital Calls."},"description":"One page of Capital Calls."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","capitalCalls","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"CapitalCall","capitalCalls":[{"$id":"https://api.sb/quietcopy.com/capital-calls/capital_call_1","$type":"CapitalCall","amount":{"amount":39,"currency":"USD"},"dueOn":"2026-10-22"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/capital-calls?limit=20","next":"https://api.sb/quietcopy.com/capital-calls?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/capital-commitments":{"post":{"operationId":"CapitalCommitment.create","summary":"CapitalCommitment.create","description":"Creates a Capital Commitment.","tags":["CapitalCommitment"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"investor":{"type":"string","description":"The investor who commits. The Party id."},"amount":{"$ref":"#/components/schemas/Money","description":"The most the investor funds."},"acceptedAt":{"type":"string","format":"date-time","description":"When the Studio countersigned it."},"fund":{"type":"string","description":"A Capital Commitment funds one Fund; the Fund’s committed total is the sum of its accepted commitments. The Fund id."}},"required":["investor","amount"],"additionalProperties":false},"example":{"investor":"party_1","amount":{"amount":499,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"capitalCommitment":{"$ref":"#/components/schemas/CapitalCommitment","description":"The Capital Commitment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","capitalCommitment","links"]},"example":{"api":"https://api.sb/patentpad.com","capitalCommitment":{"$id":"https://api.sb/patentpad.com/capital-commitments/capital_commitment_1","$type":"CapitalCommitment","investor":"party_1","amount":{"amount":499,"currency":"USD"}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"CapitalCommitment.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"CapitalCommitment.created"},"get":{"operationId":"CapitalCommitment.list","summary":"CapitalCommitment.list","description":"Returns Capital Commitments, newest first, one page at a time.","tags":["CapitalCommitment"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"capitalCommitments":{"type":"array","items":{"$ref":"#/components/schemas/CapitalCommitment","description":"One page of Capital Commitments."},"description":"One page of Capital Commitments."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","capitalCommitments","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"CapitalCommitment","capitalCommitments":[{"$id":"https://api.sb/routewise.dev/capital-commitments/capital_commitment_1","$type":"CapitalCommitment","investor":"party_1","amount":{"amount":25,"currency":"USD"}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/capital-commitments?limit=20","next":"https://api.sb/routewise.dev/capital-commitments?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/capital-commitments/{id}":{"get":{"operationId":"CapitalCommitment.get","summary":"CapitalCommitment.get","description":"Returns one Capital Commitment by id.","tags":["CapitalCommitment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Capital Commitment."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"capitalCommitment":{"$ref":"#/components/schemas/CapitalCommitment","description":"The Capital Commitment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","capitalCommitment","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"CapitalCommitment","$id":"https://api.sb/patentpad.com/capital-commitments/capital_commitment_1","capitalCommitment":{"$id":"https://api.sb/patentpad.com/capital-commitments/capital_commitment_1","$type":"CapitalCommitment","investor":"party_1","amount":{"amount":499,"currency":"USD"}},"links":{"self":"https://api.sb/patentpad.com/capital-commitments/capital_commitment_1","up":"https://api.sb/patentpad.com/capital-commitments"},"actions":{"countersign":"https://api.sb/patentpad.com/capital-commitments/capital_commitment_1/countersign"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"CapitalCommitment.update","summary":"CapitalCommitment.update","description":"Changes the given properties of a Capital Commitment.","tags":["CapitalCommitment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Capital Commitment."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"investor":{"type":"string","description":"The investor who commits. The Party id."},"amount":{"$ref":"#/components/schemas/Money","description":"The most the investor funds."},"acceptedAt":{"type":"string","format":"date-time","description":"When the Studio countersigned it."}},"additionalProperties":false},"example":{"investor":"party_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"capitalCommitment":{"$ref":"#/components/schemas/CapitalCommitment","description":"The Capital Commitment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","capitalCommitment","links"]},"example":{"api":"https://api.sb/petpantry.shop","capitalCommitment":{"$id":"https://api.sb/petpantry.shop/capital-commitments/capital_commitment_1","$type":"CapitalCommitment","investor":"party_1","amount":{"amount":54,"currency":"USD"}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"CapitalCommitment.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"CapitalCommitment.updated"}},"/capital-commitments/{commitment}/countersign":{"post":{"operationId":"CapitalCommitment.countersign","summary":"CapitalCommitment.countersign","description":"Countersign accepts an investor’s Capital Commitment once their subscription Agreement and accreditation check pass.","tags":["CapitalCommitment"],"parameters":[{"name":"commitment","in":"path","required":true,"schema":{"type":"string"},"description":"The signed Capital Commitment."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agreement":{"type":"string","description":"The investor’s subscription Agreement. The Agreement id."}},"required":["agreement"],"additionalProperties":false},"example":{"agreement":"agreement_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"commitment":{"$ref":"#/components/schemas/CapitalCommitment","description":"The accepted Capital Commitment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","commitment","links"]},"example":{"api":"https://api.sb/kilnbakery.com","commitment":{"$id":"https://api.sb/kilnbakery.com/capital-commitments/capital_commitment_1","$type":"CapitalCommitment","investor":"party_1","amount":{"amount":9,"currency":"USD"}},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"CapitalCommitment.countersign","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"CapitalCommitment.countersigned"}},"/cards/{id}":{"get":{"operationId":"Card.get","summary":"Card.get","description":"Returns one Card by id.","tags":["Card"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Card."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"card":{"$ref":"#/components/schemas/Card","description":"The Card."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","card","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Card","$id":"https://api.sb/petpantry.shop/cards/card_1","card":{"$id":"https://api.sb/petpantry.shop/cards/card_1","$type":"Card","form":"singleUse","status":"active","limit":"limit_1"},"links":{"self":"https://api.sb/petpantry.shop/cards/card_1","up":"https://api.sb/petpantry.shop/cards"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/cards":{"get":{"operationId":"Card.list","summary":"Card.list","description":"Returns Cards, newest first, one page at a time.","tags":["Card"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"cards":{"type":"array","items":{"$ref":"#/components/schemas/Card","description":"One page of Cards."},"description":"One page of Cards."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","cards","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Card","cards":[{"$id":"https://api.sb/tutorloop.com/cards/card_1","$type":"Card","form":"singleUse","status":"active","limit":"limit_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/cards?limit=20","next":"https://api.sb/tutorloop.com/cards?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/cards/issue":{"post":{"operationId":"Card.issue","summary":"Card.issue","description":"Issue creates a Card under a Mandate once the Mandate check passes, with explicit limits on every interval.","tags":["Card"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mandate":{"type":"string","description":"The Mandate the Card spends under. The Mandate id."},"form":{"type":"string","description":"Which kind of Card to issue.","enum":["singleUse","merchant","physical"]},"task":{"type":"string","description":"For a `singleUse` Card: the Task it pays for. The Task id."},"merchant":{"type":"string","description":"For a `merchant` Card: the one merchant it may pay."}},"required":["mandate","form"],"additionalProperties":false},"example":{"mandate":"mandate_1","form":"singleUse"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"card":{"$ref":"#/components/schemas/Card","description":"The active Card, with its last four digits and limits."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","card","links"]},"example":{"api":"https://api.sb/ledgerlark.com","card":{"$id":"https://api.sb/ledgerlark.com/cards/card_1","$type":"Card","form":"singleUse","status":"active","limit":"limit_1"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Card.issue","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Card.issued"}},"/changes":{"post":{"operationId":"Change.create","summary":"Change.create","description":"Creates a Change.","tags":["Change"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"base":{"type":"string","description":"The Version it was drafted against. The Version id."},"decision":{"type":"string","description":"Every merged Change traces back to the Decision that authorized it. The Decision id."}},"required":["base"],"additionalProperties":false},"example":{"base":"version_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"change":{"$ref":"#/components/schemas/Change","description":"The Change."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","change","links"]},"example":{"api":"https://api.sb/kilnbakery.com","change":{"$id":"https://api.sb/kilnbakery.com/changes/change_1","$type":"Change","status":"Open","base":"version_1"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Change.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Change.created"},"get":{"operationId":"Change.list","summary":"Change.list","description":"Returns Changes, newest first, one page at a time.","tags":["Change"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"changes":{"type":"array","items":{"$ref":"#/components/schemas/Change","description":"One page of Changes."},"description":"One page of Changes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","changes","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Change","changes":[{"$id":"https://api.sb/petpantry.shop/changes/change_1","$type":"Change","status":"Open","base":"version_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/changes?limit=20","next":"https://api.sb/petpantry.shop/changes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/changes/{id}":{"get":{"operationId":"Change.get","summary":"Change.get","description":"Returns one Change by id.","tags":["Change"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Change."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"change":{"$ref":"#/components/schemas/Change","description":"The Change."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","change","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Change","$id":"https://api.sb/tutorloop.com/changes/change_1","change":{"$id":"https://api.sb/tutorloop.com/changes/change_1","$type":"Change","status":"Open","base":"version_1"},"links":{"self":"https://api.sb/tutorloop.com/changes/change_1","up":"https://api.sb/tutorloop.com/changes"},"actions":{"merge":"https://api.sb/tutorloop.com/changes/change_1/merge","revert":"https://api.sb/tutorloop.com/changes/change_1/revert","review":"https://api.sb/tutorloop.com/changes/change_1/review"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/changes/{change}/merge":{"post":{"operationId":"Change.merge","summary":"Change.merge","description":"Merge applies a Change to live data with a three-way, field-level merge against its base Version.","tags":["Change"],"parameters":[{"name":"change","in":"path","required":true,"schema":{"type":"string"},"description":"The reviewed Change."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"version":{"$ref":"#/components/schemas/Version","description":"The new Version."},"change":{"$ref":"#/components/schemas/Change","description":"The Change, now merged into live data."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","version","change","links"]},"example":{"api":"https://api.sb/tutorloop.com","version":{"$id":"https://api.sb/tutorloop.com/versions/version_1","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"},"change":{"$id":"https://api.sb/tutorloop.com/changes/change_1","$type":"Change","status":"Merged","base":"version_1"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Change.merge","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Change.merged"}},"/changes/{change}/revert":{"post":{"operationId":"Change.revert","summary":"Change.revert","description":"Revert undoes a merged Change with a new Change and a superseding Decision, deleting nothing.","tags":["Change"],"parameters":[{"name":"change","in":"path","required":true,"schema":{"type":"string"},"description":"The merged Change to undo."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it is undone."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"revert":{"$ref":"#/components/schemas/Change","description":"The Change that undoes it."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","revert","links"]},"example":{"api":"https://api.sb/quietcopy.com","revert":{"$id":"https://api.sb/quietcopy.com/changes/change_1","$type":"Change","status":"Open","base":"version_1"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Change.revert","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Change.reverted"}},"/changes/{change}/review":{"post":{"operationId":"Change.review","summary":"Change.review","description":"Review runs every Evaluator on a Change’s preview and records each verdict on the Change.","tags":["Change"],"parameters":[{"name":"change","in":"path","required":true,"schema":{"type":"string"},"description":"The open Change."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"change":{"$ref":"#/components/schemas/Change","description":"The Change with its verdicts."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","change","links"]},"example":{"api":"https://api.sb/petpantry.shop","change":{"$id":"https://api.sb/petpantry.shop/changes/change_1","$type":"Change","status":"Open","base":"version_1"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Change.review","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Change.reviewed"}},"/channels":{"post":{"operationId":"Channel.create","summary":"Channel.create","description":"Creates a Channel.","tags":["Channel"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"medium":{"type":"string","description":"The platform type, such as `email`, `sms`, or `chat`.","enum":["email","sms","chat"]},"organization":{"type":"string","description":"The outside Organization the Channel is shared with; its new Messages open Conversations for that Customer. The Organization id."},"external":{"type":"boolean","description":"True when people from another Organization post in it, as in a channel two companies share."},"areaCode":{"type":"string","description":"For an `sms` Channel, the phone area code its number is drawn from, such as `512`."},"number":{"type":"string","description":"For an `sms` Channel, its phone number in international form, assigned when it is created."}},"required":["medium"],"additionalProperties":false},"example":{"medium":"email"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"channel":{"$ref":"#/components/schemas/Channel","description":"The Channel."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","channel","links"]},"example":{"api":"https://api.sb/ledgerlark.com","channel":{"$id":"https://api.sb/ledgerlark.com/channels/channel_1","$type":"Channel","medium":"email"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Channel.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Channel.created"},"get":{"operationId":"Channel.list","summary":"Channel.list","description":"Returns Channels, newest first, one page at a time.","tags":["Channel"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"channels":{"type":"array","items":{"$ref":"#/components/schemas/Channel","description":"One page of Channels."},"description":"One page of Channels."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","channels","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Channel","channels":[{"$id":"https://api.sb/ledgerlark.com/channels/channel_1","$type":"Channel","medium":"email"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/channels?limit=20","next":"https://api.sb/ledgerlark.com/channels?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/channels/{id}":{"get":{"operationId":"Channel.get","summary":"Channel.get","description":"Returns one Channel by id.","tags":["Channel"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Channel."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"channel":{"$ref":"#/components/schemas/Channel","description":"The Channel."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","channel","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Channel","$id":"https://api.sb/ledgerlark.com/channels/channel_1","channel":{"$id":"https://api.sb/ledgerlark.com/channels/channel_1","$type":"Channel","medium":"email"},"links":{"self":"https://api.sb/ledgerlark.com/channels/channel_1","up":"https://api.sb/ledgerlark.com/channels"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Channel.update","summary":"Channel.update","description":"Changes the given properties of a Channel.","tags":["Channel"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Channel."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"medium":{"type":"string","description":"The platform type, such as `email`, `sms`, or `chat`.","enum":["email","sms","chat"]},"organization":{"type":"string","description":"The outside Organization the Channel is shared with; its new Messages open Conversations for that Customer. The Organization id."},"external":{"type":"boolean","description":"True when people from another Organization post in it, as in a channel two companies share."},"areaCode":{"type":"string","description":"For an `sms` Channel, the phone area code its number is drawn from, such as `512`."},"number":{"type":"string","description":"For an `sms` Channel, its phone number in international form, assigned when it is created."}},"additionalProperties":false},"example":{"medium":"email"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"channel":{"$ref":"#/components/schemas/Channel","description":"The Channel."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","channel","links"]},"example":{"api":"https://api.sb/quietcopy.com","channel":{"$id":"https://api.sb/quietcopy.com/channels/channel_1","$type":"Channel","medium":"email"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Channel.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Channel.updated"},"delete":{"operationId":"Channel.delete","summary":"Channel.delete","description":"Deletes a Channel; its history is kept.","tags":["Channel"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Channel."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"channel":{"$ref":"#/components/schemas/Channel","description":"The Channel."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","channel","links"]},"example":{"api":"https://api.sb/kilnbakery.com","channel":{"$id":"https://api.sb/kilnbakery.com/channels/channel_1","$type":"Channel","medium":"email"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Channel.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Channel.deleted"}},"/cohorts":{"post":{"operationId":"Cohort.create","summary":"Cohort.create","description":"Creates a Cohort.","tags":["Cohort"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"description":"The Portfolio query that selects its Startups."},"control":{"type":"boolean","description":"True when the Cohort stays on the prior Version as the control."},"portfolio":{"type":"string","description":"A Cohort selects its Startups from one Portfolio by a saved query. The Portfolio id."},"version":{"type":"string","description":"Every Startup in a Cohort runs the same Version of a shared definition; a control Cohort keeps the prior one. The Version id."}},"required":["query"],"additionalProperties":false},"example":{"query":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"cohort":{"$ref":"#/components/schemas/Cohort","description":"The Cohort."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","cohort","links"]},"example":{"api":"https://api.sb/shiftnote.app","cohort":{"$id":"https://api.sb/shiftnote.app/cohorts/cohort_1","$type":"Cohort","query":{}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Cohort.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Cohort.created"},"get":{"operationId":"Cohort.list","summary":"Cohort.list","description":"Returns Cohorts, newest first, one page at a time.","tags":["Cohort"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"cohorts":{"type":"array","items":{"$ref":"#/components/schemas/Cohort","description":"One page of Cohorts."},"description":"One page of Cohorts."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","cohorts","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Cohort","cohorts":[{"$id":"https://api.sb/shiftnote.app/cohorts/cohort_1","$type":"Cohort","query":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/cohorts?limit=20","next":"https://api.sb/shiftnote.app/cohorts?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/cohorts/{id}":{"get":{"operationId":"Cohort.get","summary":"Cohort.get","description":"Returns one Cohort by id.","tags":["Cohort"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Cohort."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"cohort":{"$ref":"#/components/schemas/Cohort","description":"The Cohort."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","cohort","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Cohort","$id":"https://api.sb/shiftnote.app/cohorts/cohort_1","cohort":{"$id":"https://api.sb/shiftnote.app/cohorts/cohort_1","$type":"Cohort","query":{}},"links":{"self":"https://api.sb/shiftnote.app/cohorts/cohort_1","up":"https://api.sb/shiftnote.app/cohorts"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Cohort.update","summary":"Cohort.update","description":"Changes the given properties of a Cohort.","tags":["Cohort"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Cohort."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"description":"The Portfolio query that selects its Startups."},"control":{"type":"boolean","description":"True when the Cohort stays on the prior Version as the control."}},"additionalProperties":false},"example":{"query":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"cohort":{"$ref":"#/components/schemas/Cohort","description":"The Cohort."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","cohort","links"]},"example":{"api":"https://api.sb/tutorloop.com","cohort":{"$id":"https://api.sb/tutorloop.com/cohorts/cohort_1","$type":"Cohort","query":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Cohort.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Cohort.updated"},"delete":{"operationId":"Cohort.delete","summary":"Cohort.delete","description":"Deletes a Cohort; its history is kept.","tags":["Cohort"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Cohort."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"cohort":{"$ref":"#/components/schemas/Cohort","description":"The Cohort."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","cohort","links"]},"example":{"api":"https://api.sb/petpantry.shop","cohort":{"$id":"https://api.sb/petpantry.shop/cohorts/cohort_1","$type":"Cohort","query":{}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Cohort.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Cohort.deleted"}},"/collections":{"post":{"operationId":"Collection.create","summary":"Collection.create","description":"Creates a Collection.","tags":["Collection"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."}},"required":["id","type"],"additionalProperties":false},"example":{"id":"collection_1","type":["noun_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","collection","links"]},"example":{"api":"https://api.sb/petpantry.shop","collection":{"$id":"https://api.sb/petpantry.shop/collections/collection_1","$type":"Collection","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Collection.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Collection.created"},"get":{"operationId":"Collection.list","summary":"Collection.list","description":"Returns Collections, newest first, one page at a time.","tags":["Collection"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"collections":{"type":"array","items":{"$ref":"#/components/schemas/Collection","description":"One page of Collections."},"description":"One page of Collections."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","collections","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Collection","collections":[{"$id":"https://api.sb/kilnbakery.com/collections/collection_1","$type":"Collection","id":"Example id","type":["noun_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/collections?limit=20","next":"https://api.sb/kilnbakery.com/collections?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/collections/{id}":{"get":{"operationId":"Collection.get","summary":"Collection.get","description":"Returns one Collection by id.","tags":["Collection"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Collection."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","collection","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Collection","$id":"https://api.sb/quietcopy.com/collections/collection_1","collection":{"$id":"https://api.sb/quietcopy.com/collections/collection_1","$type":"Collection","id":"Example id","type":["noun_1"]},"links":{"self":"https://api.sb/quietcopy.com/collections/collection_1","up":"https://api.sb/quietcopy.com/collections"},"actions":{"export":"https://api.sb/quietcopy.com/collections/collection_1/export"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Collection.update","summary":"Collection.update","description":"Changes the given properties of a Collection.","tags":["Collection"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Collection."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."}},"additionalProperties":false},"example":{"query":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","collection","links"]},"example":{"api":"https://api.sb/routewise.dev","collection":{"$id":"https://api.sb/routewise.dev/collections/collection_1","$type":"Collection","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Collection.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Collection.updated"},"delete":{"operationId":"Collection.delete","summary":"Collection.delete","description":"Deletes a Collection; its history is kept.","tags":["Collection"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Collection."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","collection","links"]},"example":{"api":"https://api.sb/ledgerlark.com","collection":{"$id":"https://api.sb/ledgerlark.com/collections/collection_1","$type":"Collection","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Collection.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Collection.deleted"}},"/collections/{collection}/export":{"post":{"operationId":"Collection.export","summary":"Collection.export","description":"Export writes a Collection’s records to a file or the Startup’s warehouse, once or on a schedule.","tags":["Collection"],"parameters":[{"name":"collection","in":"path","required":true,"schema":{"type":"string"},"description":"The Collection to export."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"A file format, or the warehouse Integration that receives it."},"cadence":{"type":"string","description":"How often it repeats; omitted, it runs once.","enum":["daily","weekly","monthly"]}},"required":["to"],"additionalProperties":false},"example":{"to":"Example to"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"file":{"$ref":"#/components/schemas/File","description":"The exported File, for a one-time export."},"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection exported."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","collection","links"]},"example":{"api":"https://api.sb/tutorloop.com","file":{"$id":"https://api.sb/tutorloop.com/files/file_1","$type":"File","contentType":"Example content type","size":1},"collection":{"$id":"https://api.sb/tutorloop.com/collections/collection_1","$type":"Collection","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Collection.export","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Collection.exported"}},"/collections/query":{"post":{"operationId":"Collection.query","summary":"Collection.query","description":"Query reads any Nouns the caller’s Permissions allow, by SQL or a Relationship path, across every System in one call.","tags":["Collection"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"SQL, or a Relationship path such as `customer.subscriptions.invoices`."},"save":{"type":"boolean","description":"True saves it as a Collection defined by the query."}},"required":["query"],"additionalProperties":false},"example":{"query":"Example query"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"rows":{"description":"The matching records."},"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection the query read."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","rows","collection","links"]},"example":{"api":"https://api.sb/tutorloop.com","rows":{},"collection":{"$id":"https://api.sb/tutorloop.com/collections/collection_1","$type":"Collection","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Collection.query","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Collection.queried"}},"/comments":{"post":{"operationId":"Comment.create","summary":"Comment.create","description":"Creates a Comment.","tags":["Comment"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"What it says."},"thing":{"type":"string","description":"A Comment is an internal note on one Thing, never sent to a Contact. The Thing id."},"worker":{"type":"string","description":"Every Comment names the Worker, human or agent, who wrote it. The Worker id."}},"required":["body"],"additionalProperties":false},"example":{"body":"Example body"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"comment":{"$ref":"#/components/schemas/Comment","description":"The Comment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","comment","links"]},"example":{"api":"https://api.sb/routewise.dev","comment":{"$id":"https://api.sb/routewise.dev/comments/comment_1","$type":"Comment","body":"Example body"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Comment.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Comment.created"},"get":{"operationId":"Comment.list","summary":"Comment.list","description":"Returns Comments, newest first, one page at a time.","tags":["Comment"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"comments":{"type":"array","items":{"$ref":"#/components/schemas/Comment","description":"One page of Comments."},"description":"One page of Comments."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","comments","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Comment","comments":[{"$id":"https://api.sb/patentpad.com/comments/comment_1","$type":"Comment","body":"Example body"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/comments?limit=20","next":"https://api.sb/patentpad.com/comments?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/comments/{id}":{"get":{"operationId":"Comment.get","summary":"Comment.get","description":"Returns one Comment by id.","tags":["Comment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Comment."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"comment":{"$ref":"#/components/schemas/Comment","description":"The Comment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","comment","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Comment","$id":"https://api.sb/routewise.dev/comments/comment_1","comment":{"$id":"https://api.sb/routewise.dev/comments/comment_1","$type":"Comment","body":"Example body"},"links":{"self":"https://api.sb/routewise.dev/comments/comment_1","up":"https://api.sb/routewise.dev/comments"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Comment.update","summary":"Comment.update","description":"Changes the given properties of a Comment.","tags":["Comment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Comment."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"What it says."}},"additionalProperties":false},"example":{"body":"Example body"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"comment":{"$ref":"#/components/schemas/Comment","description":"The Comment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","comment","links"]},"example":{"api":"https://api.sb/kilnbakery.com","comment":{"$id":"https://api.sb/kilnbakery.com/comments/comment_1","$type":"Comment","body":"Example body"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Comment.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Comment.updated"},"delete":{"operationId":"Comment.delete","summary":"Comment.delete","description":"Deletes a Comment; its history is kept.","tags":["Comment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Comment."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"comment":{"$ref":"#/components/schemas/Comment","description":"The Comment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","comment","links"]},"example":{"api":"https://api.sb/tutorloop.com","comment":{"$id":"https://api.sb/tutorloop.com/comments/comment_1","$type":"Comment","body":"Example body"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Comment.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Comment.deleted"}},"/commissions":{"post":{"operationId":"Commission.create","summary":"Commission.create","description":"Creates a Commission.","tags":["Commission"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"rate":{"type":"number","description":"The share of collected revenue earned, as a percent, such as 20."},"term":{"type":"integer","description":"Months after the first payment over which revenue earns the rate, such as 12."},"clawbackDays":{"type":"integer","description":"Days a payment waits before it earns, so a refund inside the window earns nothing."}},"required":["rate","term","clawbackDays"],"additionalProperties":false},"example":{"rate":1,"term":1,"clawbackDays":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"commission":{"$ref":"#/components/schemas/Commission","description":"The Commission."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","commission","links"]},"example":{"api":"https://api.sb/shiftnote.app","commission":{"$id":"https://api.sb/shiftnote.app/commissions/commission_1","$type":"Commission","rate":1,"term":1,"clawbackDays":1},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Commission.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Commission.created"},"get":{"operationId":"Commission.list","summary":"Commission.list","description":"Returns Commissions, newest first, one page at a time.","tags":["Commission"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"commissions":{"type":"array","items":{"$ref":"#/components/schemas/Commission","description":"One page of Commissions."},"description":"One page of Commissions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","commissions","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Commission","commissions":[{"$id":"https://api.sb/shiftnote.app/commissions/commission_1","$type":"Commission","rate":1,"term":1,"clawbackDays":1}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/commissions?limit=20","next":"https://api.sb/shiftnote.app/commissions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/commissions/{id}":{"get":{"operationId":"Commission.get","summary":"Commission.get","description":"Returns one Commission by id.","tags":["Commission"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Commission."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"commission":{"$ref":"#/components/schemas/Commission","description":"The Commission."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","commission","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Commission","$id":"https://api.sb/shiftnote.app/commissions/commission_1","commission":{"$id":"https://api.sb/shiftnote.app/commissions/commission_1","$type":"Commission","rate":1,"term":1,"clawbackDays":1},"links":{"self":"https://api.sb/shiftnote.app/commissions/commission_1","up":"https://api.sb/shiftnote.app/commissions"},"actions":{"pay":"https://api.sb/shiftnote.app/commissions/commission_1/pay"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Commission.update","summary":"Commission.update","description":"Changes the given properties of a Commission.","tags":["Commission"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Commission."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"rate":{"type":"number","description":"The share of collected revenue earned, as a percent, such as 20."},"term":{"type":"integer","description":"Months after the first payment over which revenue earns the rate, such as 12."},"clawbackDays":{"type":"integer","description":"Days a payment waits before it earns, so a refund inside the window earns nothing."}},"additionalProperties":false},"example":{"rate":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"commission":{"$ref":"#/components/schemas/Commission","description":"The Commission."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","commission","links"]},"example":{"api":"https://api.sb/tutorloop.com","commission":{"$id":"https://api.sb/tutorloop.com/commissions/commission_1","$type":"Commission","rate":1,"term":1,"clawbackDays":1},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Commission.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Commission.updated"}},"/commissions/{commission}/pay":{"post":{"operationId":"Commission.pay","summary":"Commission.pay","description":"Pay transfers a Commission’s earned, unpaid amount to the Partner’s connected account through Stripe.","tags":["Commission"],"parameters":[{"name":"commission","in":"path","required":true,"schema":{"type":"string"},"description":"The Commission with an amount past its clawback window."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"commission":{"$ref":"#/components/schemas/Commission","description":"The Commission, its `paid` raised by the transfer."},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The transfer as the rail reports it."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","commission","transaction","links"]},"example":{"api":"https://api.sb/routewise.dev","commission":{"$id":"https://api.sb/routewise.dev/commissions/commission_1","$type":"Commission","rate":1,"term":1,"clawbackDays":1},"transaction":{"$id":"https://api.sb/routewise.dev/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":25,"currency":"USD"}},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Commission.pay","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Commission.paid"}},"/companies":{"post":{"operationId":"Company.create","summary":"Company.create","description":"Creates a Company.","tags":["Company"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The legal or personal name."},"legalName":{"type":"string","description":"The registered name."},"jurisdiction":{"type":"string","description":"Where it is incorporated."},"studio":{"type":"string","description":"A Studio controls the holding Companies that are owner of record for its Startups. The Studio id."}},"required":["name","legalName","jurisdiction"],"additionalProperties":false},"example":{"name":"LedgerLark","legalName":"LedgerLark Inc.","jurisdiction":"US-DE"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"company":{"$ref":"#/components/schemas/Company","description":"The Company."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","company","links"]},"example":{"api":"https://api.sb/ledgerlark.com","company":{"$id":"https://api.sb/ledgerlark.com/companies/company_1","$type":"Company","name":"LedgerLark","legalName":"LedgerLark Inc.","jurisdiction":"US-DE","status":"forming"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Company.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Company.created"},"get":{"operationId":"Company.list","summary":"Company.list","description":"Returns Companies, newest first, one page at a time.","tags":["Company"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"companies":{"type":"array","items":{"$ref":"#/components/schemas/Company","description":"One page of Companies."},"description":"One page of Companies."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","companies","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Company","companies":[{"$id":"https://api.sb/ledgerlark.com/companies/company_1","$type":"Company","name":"LedgerLark","legalName":"LedgerLark Inc.","jurisdiction":"US-DE","status":"forming"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/companies?limit=20","next":"https://api.sb/ledgerlark.com/companies?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/companies/{id}":{"get":{"operationId":"Company.get","summary":"Company.get","description":"Returns one Company by id.","tags":["Company"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Company."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"company":{"$ref":"#/components/schemas/Company","description":"The Company."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","company","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Company","$id":"https://api.sb/ledgerlark.com/companies/company_1","company":{"$id":"https://api.sb/ledgerlark.com/companies/company_1","$type":"Company","name":"LedgerLark","legalName":"LedgerLark Inc.","jurisdiction":"US-DE","status":"forming"},"links":{"self":"https://api.sb/ledgerlark.com/companies/company_1","up":"https://api.sb/ledgerlark.com/companies"},"actions":{"dissolve":"https://api.sb/ledgerlark.com/companies/company_1/dissolve"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Company.update","summary":"Company.update","description":"Changes the given properties of a Company.","tags":["Company"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Company."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The legal or personal name."},"legalName":{"type":"string","description":"The registered name."},"jurisdiction":{"type":"string","description":"Where it is incorporated."}},"additionalProperties":false},"example":{"legalName":"QuietCopy Inc."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"company":{"$ref":"#/components/schemas/Company","description":"The Company."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","company","links"]},"example":{"api":"https://api.sb/quietcopy.com","company":{"$id":"https://api.sb/quietcopy.com/companies/company_1","$type":"Company","name":"QuietCopy","legalName":"QuietCopy Inc.","jurisdiction":"US-DE","status":"forming"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Company.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Company.updated"}},"/companies/{company}/dissolve":{"post":{"operationId":"Company.dissolve","summary":"Company.dissolve","description":"Dissolve winds up a Company that holds no business: it files final returns and the certificate, and keeps every record.","tags":["Company"],"parameters":[{"name":"company","in":"path","required":true,"schema":{"type":"string"},"description":"The Company to wind up."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it ends, recorded as a Decision."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"company":{"$ref":"#/components/schemas/Company","description":"The dissolved Company, kept forever."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","company","links"]},"example":{"api":"https://api.sb/petpantry.shop","company":{"$id":"https://api.sb/petpantry.shop/companies/company_1","$type":"Company","name":"PetPantry","legalName":"PetPantry Inc.","jurisdiction":"US-DE","status":"dissolved"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Company.dissolve","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Company.dissolved"}},"/companies/incorporate":{"post":{"operationId":"Company.incorporate","summary":"Company.incorporate","description":"Incorporate forms a Company in a chosen jurisdiction, with its founders, shares and registered agent on record.","tags":["Company"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"legalName":{"type":"string","description":"The registered name."},"jurisdiction":{"type":"string","description":"Where the Company forms."}},"required":["legalName","jurisdiction"],"additionalProperties":false},"example":{"legalName":"PatentPad Inc.","jurisdiction":"US-DE"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"company":{"$ref":"#/components/schemas/Company","description":"The new Company."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","company","links"]},"example":{"api":"https://api.sb/patentpad.com","company":{"$id":"https://api.sb/patentpad.com/companies/company_1","$type":"Company","name":"PatentPad","legalName":"PatentPad Inc.","jurisdiction":"US-DE","status":"incorporated"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Company.incorporate","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Company.incorporated"}},"/companies/register":{"post":{"operationId":"Company.register","summary":"Company.register","description":"Register applies for a sales tax, VAT or GST registration in one jurisdiction and records the grant as a Credential.","tags":["Company"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jurisdiction":{"type":"string","description":"Where to register, such as `US-TX` or `EU-DE`."},"kind":{"type":"string","description":"Which tax the registration collects.","enum":["salesTax","vat","gst"]}},"required":["jurisdiction","kind"],"additionalProperties":false},"example":{"jurisdiction":"US-TX","kind":"salesTax"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"credential":{"$ref":"#/components/schemas/Credential","description":"The registration, with its number and filing frequency once granted."},"company":{"$ref":"#/components/schemas/Company","description":"The Company now registered in the jurisdiction."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","credential","company","links"]},"example":{"api":"https://api.sb/quietcopy.com","credential":{"$id":"https://api.sb/quietcopy.com/credentials/credential_1","$type":"Credential","issuer":"Example issuer","jurisdiction":"US-DE"},"company":{"$id":"https://api.sb/quietcopy.com/companies/company_1","$type":"Company","name":"QuietCopy","legalName":"QuietCopy Inc.","jurisdiction":"US-DE","status":"forming"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Company.register","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Company.registered"}},"/companies/submit":{"post":{"operationId":"Company.submit","summary":"Company.submit","description":"Submit files one tax return for a jurisdiction and its Periods, pays the tax due, and keeps the return as a Document.","tags":["Company"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jurisdiction":{"type":"string","description":"Where the return is filed, such as `US-TX`."},"kind":{"type":"string","description":"What the return reports: sales tax, VAT, GST, income, franchise tax, or an information return.","enum":["salesTax","vat","gst","income","franchise","information"]},"periods":{"type":"array","items":{"type":"string","description":"The locked Periods the return covers: one month, a quarter or a year. The Period id."},"description":"The locked Periods the return covers: one month, a quarter or a year."}},"required":["jurisdiction","kind","periods"],"additionalProperties":false},"example":{"jurisdiction":"US-TX","kind":"salesTax","periods":["period_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"taxReturn":{"$ref":"#/components/schemas/Document","description":"The return as submitted, with the authority’s confirmation."},"payment":{"$ref":"#/components/schemas/Transaction","description":"The payment of the tax due; none for an information return."},"company":{"$ref":"#/components/schemas/Company","description":"The Company that filed the return."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","taxReturn","company","links"]},"example":{"api":"https://api.sb/shiftnote.app","taxReturn":{"$id":"https://api.sb/shiftnote.app/documents/document_1","$type":"Document","form":"document"},"payment":{"$id":"https://api.sb/shiftnote.app/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":79,"currency":"USD"}},"company":{"$id":"https://api.sb/shiftnote.app/companies/company_1","$type":"Company","name":"ShiftNote","legalName":"ShiftNote Inc.","jurisdiction":"US-DE","status":"forming"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Company.submit","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Company.submitted"}},"/components":{"post":{"operationId":"Component.create","summary":"Component.create","description":"Creates a Component.","tags":["Component"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name a Template places it by, such as `Pricing`."},"props":{"description":"The schema of the props it accepts."},"region":{"type":"string","description":"Where it sits: `header`, `section`, `footer`, or `notice`.","enum":["header","section","footer","notice"]},"interactive":{"type":"boolean","description":"True when it runs code in the browser; it still renders a static still without it."}},"required":["name","props"],"additionalProperties":false},"example":{"name":"ShiftNote","props":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"component":{"$ref":"#/components/schemas/Component","description":"The Component."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","component","links"]},"example":{"api":"https://api.sb/shiftnote.app","component":{"$id":"https://api.sb/shiftnote.app/components/component_1","$type":"Component","name":"ShiftNote","props":{}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Component.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Component.created"},"get":{"operationId":"Component.list","summary":"Component.list","description":"Returns Components, newest first, one page at a time.","tags":["Component"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"components":{"type":"array","items":{"$ref":"#/components/schemas/Component","description":"One page of Components."},"description":"One page of Components."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","components","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Component","components":[{"$id":"https://api.sb/shiftnote.app/components/component_1","$type":"Component","name":"ShiftNote","props":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/components?limit=20","next":"https://api.sb/shiftnote.app/components?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/components/{id}":{"get":{"operationId":"Component.get","summary":"Component.get","description":"Returns one Component by id.","tags":["Component"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Component."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"component":{"$ref":"#/components/schemas/Component","description":"The Component."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","component","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Component","$id":"https://api.sb/shiftnote.app/components/component_1","component":{"$id":"https://api.sb/shiftnote.app/components/component_1","$type":"Component","name":"ShiftNote","props":{}},"links":{"self":"https://api.sb/shiftnote.app/components/component_1","up":"https://api.sb/shiftnote.app/components"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Component.update","summary":"Component.update","description":"Changes the given properties of a Component.","tags":["Component"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Component."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name a Template places it by, such as `Pricing`."},"props":{"description":"The schema of the props it accepts."},"region":{"type":"string","description":"Where it sits: `header`, `section`, `footer`, or `notice`.","enum":["header","section","footer","notice"]},"interactive":{"type":"boolean","description":"True when it runs code in the browser; it still renders a static still without it."}},"additionalProperties":false},"example":{"name":"TutorLoop"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"component":{"$ref":"#/components/schemas/Component","description":"The Component."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","component","links"]},"example":{"api":"https://api.sb/tutorloop.com","component":{"$id":"https://api.sb/tutorloop.com/components/component_1","$type":"Component","name":"TutorLoop","props":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Component.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Component.updated"},"delete":{"operationId":"Component.delete","summary":"Component.delete","description":"Deletes a Component; its history is kept.","tags":["Component"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Component."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"component":{"$ref":"#/components/schemas/Component","description":"The Component."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","component","links"]},"example":{"api":"https://api.sb/petpantry.shop","component":{"$id":"https://api.sb/petpantry.shop/components/component_1","$type":"Component","name":"PetPantry","props":{}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Component.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Component.deleted"}},"/consents":{"post":{"operationId":"Consent.create","summary":"Consent.create","description":"Creates a Consent.","tags":["Consent"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"basis":{"type":"string","description":"The lawful basis, such as consent or contract."},"region":{"type":"string","description":"The jurisdiction whose rules apply."},"withdrawnAt":{"type":"string","format":"date-time","description":"When the person withdrew it."},"contact":{"type":"string","description":"A Contact grants Consents, each for one Purpose, with its basis and expiry. The Contact id."},"purpose":{"type":"string","description":"The Purpose the Consent permits processing for, and nothing beyond it. The Purpose id."}},"required":["basis"],"additionalProperties":false},"example":{"basis":"Example basis"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"consent":{"$ref":"#/components/schemas/Consent","description":"The Consent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","consent","links"]},"example":{"api":"https://api.sb/kilnbakery.com","consent":{"$id":"https://api.sb/kilnbakery.com/consents/consent_1","$type":"Consent","basis":"Example basis"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Consent.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Consent.created"},"get":{"operationId":"Consent.list","summary":"Consent.list","description":"Returns Consents, newest first, one page at a time.","tags":["Consent"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"consents":{"type":"array","items":{"$ref":"#/components/schemas/Consent","description":"One page of Consents."},"description":"One page of Consents."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","consents","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Consent","consents":[{"$id":"https://api.sb/petpantry.shop/consents/consent_1","$type":"Consent","basis":"Example basis"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/consents?limit=20","next":"https://api.sb/petpantry.shop/consents?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/consents/{id}":{"get":{"operationId":"Consent.get","summary":"Consent.get","description":"Returns one Consent by id.","tags":["Consent"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Consent."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"consent":{"$ref":"#/components/schemas/Consent","description":"The Consent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","consent","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Consent","$id":"https://api.sb/tutorloop.com/consents/consent_1","consent":{"$id":"https://api.sb/tutorloop.com/consents/consent_1","$type":"Consent","basis":"Example basis"},"links":{"self":"https://api.sb/tutorloop.com/consents/consent_1","up":"https://api.sb/tutorloop.com/consents"},"actions":{"withdraw":"https://api.sb/tutorloop.com/consents/consent_1/withdraw"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Consent.update","summary":"Consent.update","description":"Changes the given properties of a Consent.","tags":["Consent"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Consent."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"basis":{"type":"string","description":"The lawful basis, such as consent or contract."},"region":{"type":"string","description":"The jurisdiction whose rules apply."},"withdrawnAt":{"type":"string","format":"date-time","description":"When the person withdrew it."}},"additionalProperties":false},"example":{"withdrawnAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"consent":{"$ref":"#/components/schemas/Consent","description":"The Consent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","consent","links"]},"example":{"api":"https://api.sb/patentpad.com","consent":{"$id":"https://api.sb/patentpad.com/consents/consent_1","$type":"Consent","basis":"Example basis"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Consent.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Consent.updated"}},"/consents/{consent}/withdraw":{"post":{"operationId":"Consent.withdraw","summary":"Consent.withdraw","description":"Withdraw ends a Consent at once: processing for its Purpose stops, and the record is kept.","tags":["Consent"],"parameters":[{"name":"consent","in":"path","required":true,"schema":{"type":"string"},"description":"The Consent to end."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"consent":{"$ref":"#/components/schemas/Consent","description":"The withdrawn Consent."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","consent","links"]},"example":{"api":"https://api.sb/tutorloop.com","consent":{"$id":"https://api.sb/tutorloop.com/consents/consent_1","$type":"Consent","basis":"Example basis"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Consent.withdraw","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Consent.withdrawn"}},"/contacts":{"post":{"operationId":"Contact.create","summary":"Contact.create","description":"Creates a Contact.","tags":["Contact"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The primary email address."},"phone":{"type":"string","description":"The primary phone number."},"name":{"type":"string","description":"The name the Contact goes by."},"organization":{"type":"string","description":"A Contact works for one Organization, as this Startup knows it. The Organization id."},"person":{"type":"string","description":"Each Contact is one Startup’s view of a Person shared across every Startup that knows them. The Person id."}},"additionalProperties":false},"example":{"email":"mei@quietcopy.com"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/quietcopy.com","contact":{"$id":"https://api.sb/quietcopy.com/contacts/contact_1","$type":"Contact","email":"mei@quietcopy.com","phone":"Example phone"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Contact.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.created"},"get":{"operationId":"Contact.list","summary":"Contact.list","description":"Returns Contacts, newest first, one page at a time.","tags":["Contact"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/Contact","description":"One page of Contacts."},"description":"One page of Contacts."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contacts","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Contact","contacts":[{"$id":"https://api.sb/quietcopy.com/contacts/contact_1","$type":"Contact","email":"mei@quietcopy.com","phone":"Example phone"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/contacts?limit=20","next":"https://api.sb/quietcopy.com/contacts?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/contacts/{id}":{"get":{"operationId":"Contact.get","summary":"Contact.get","description":"Returns one Contact by id.","tags":["Contact"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Contact."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Contact","$id":"https://api.sb/kilnbakery.com/contacts/contact_1","contact":{"$id":"https://api.sb/kilnbakery.com/contacts/contact_1","$type":"Contact","email":"tomas@kilnbakery.com","phone":"Example phone"},"links":{"self":"https://api.sb/kilnbakery.com/contacts/contact_1","up":"https://api.sb/kilnbakery.com/contacts"},"actions":{"enrich":"https://api.sb/kilnbakery.com/contacts/contact_1/enrich","enroll":"https://api.sb/kilnbakery.com/contacts/contact_1/enroll","merge":"https://api.sb/kilnbakery.com/contacts/contact_1/merge"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Contact.update","summary":"Contact.update","description":"Changes the given properties of a Contact.","tags":["Contact"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Contact."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The primary email address."},"phone":{"type":"string","description":"The primary phone number."},"name":{"type":"string","description":"The name the Contact goes by."}},"additionalProperties":false},"example":{"email":"daniel@shiftnote.app"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/shiftnote.app","contact":{"$id":"https://api.sb/shiftnote.app/contacts/contact_1","$type":"Contact","email":"daniel@shiftnote.app","phone":"Example phone"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Contact.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.updated"},"delete":{"operationId":"Contact.delete","summary":"Contact.delete","description":"Deletes a Contact; its history is kept.","tags":["Contact"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Contact."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/routewise.dev","contact":{"$id":"https://api.sb/routewise.dev/contacts/contact_1","$type":"Contact","email":"hana@routewise.dev","phone":"Example phone"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Contact.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.deleted"}},"/contacts/{contact}/enrich":{"post":{"operationId":"Contact.enrich","summary":"Contact.enrich","description":"Enrich fills a Contact’s missing fields from outside sources and marks each value with where it came from.","tags":["Contact"],"parameters":[{"name":"contact","in":"path","required":true,"schema":{"type":"string"},"description":"The Contact to enrich."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The enriched Contact."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/shiftnote.app","contact":{"$id":"https://api.sb/shiftnote.app/contacts/contact_1","$type":"Contact","email":"daniel@shiftnote.app","phone":"Example phone"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Contact.enrich","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.enriched"}},"/contacts/{contact}/enroll":{"post":{"operationId":"Contact.enroll","summary":"Contact.enroll","description":"Enroll adds a Contact to a Sequence, which sends its steps until the Contact replies or exits.","tags":["Contact"],"parameters":[{"name":"contact","in":"path","required":true,"schema":{"type":"string"},"description":"The Contact to enroll."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sequence":{"type":"string","description":"The Sequence to run. The Sequence id."}},"required":["sequence"],"additionalProperties":false},"example":{"sequence":"sequence_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The enrolled Contact."},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment that records this Contact’s run through the Sequence."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","enrollment","links"]},"example":{"api":"https://api.sb/tutorloop.com","contact":{"$id":"https://api.sb/tutorloop.com/contacts/contact_1","$type":"Contact","email":"malik@tutorloop.com","phone":"Example phone"},"enrollment":{"$id":"https://api.sb/tutorloop.com/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Contact.enroll","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.enrolled"}},"/contacts/{contact}/merge":{"post":{"operationId":"Contact.merge","summary":"Contact.merge","description":"Merge joins a duplicate Contact into another, keeping every link, Message and Event on the one that remains.","tags":["Contact"],"parameters":[{"name":"contact","in":"path","required":true,"schema":{"type":"string"},"description":"The duplicate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"into":{"type":"string","description":"The Contact that remains. The Contact id."}},"required":["into"],"additionalProperties":false},"example":{"into":"contact_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The remaining Contact."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/petpantry.shop","contact":{"$id":"https://api.sb/petpantry.shop/contacts/contact_1","$type":"Contact","email":"lena@petpantry.shop","phone":"Example phone"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Contact.merge","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.merged"}},"/contacts/{contact}/subscribe":{"post":{"operationId":"Contact.subscribe","summary":"Contact.subscribe","description":"Subscribe records a Contact’s chosen topics and frequency from the hosted preference page, with Consent for each topic.","tags":["Contact"],"parameters":[{"name":"contact","in":"path","required":true,"schema":{"type":"string"},"description":"The Contact."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"topics":{"type":"array","items":{"type":"string","description":"The topics the Contact chose."},"description":"The topics the Contact chose."}},"required":["topics"],"additionalProperties":false},"example":{"topics":["Example topics"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact, with their topics."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/kilnbakery.com","contact":{"$id":"https://api.sb/kilnbakery.com/contacts/contact_1","$type":"Contact","email":"tomas@kilnbakery.com","phone":"Example phone"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Contact.subscribe","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.subscribed"}},"/contacts/{contact}/suppress":{"post":{"operationId":"Contact.suppress","summary":"Contact.suppress","description":"Suppress records a Suppression for a Contact’s address, which every Startup honors forever.","tags":["Contact"],"parameters":[{"name":"contact","in":"path","required":true,"schema":{"type":"string"},"description":"The Contact who opts out."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The suppressed Contact."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/patentpad.com","contact":{"$id":"https://api.sb/patentpad.com/contacts/contact_1","$type":"Contact","email":"rosa@patentpad.com","phone":"Example phone"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Contact.suppress","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.suppressed"}},"/contacts/{contact}/unsubscribe":{"post":{"operationId":"Contact.unsubscribe","summary":"Contact.unsubscribe","description":"Unsubscribe stops commercial Messages to a Contact in one click, for one topic or all, honored at once.","tags":["Contact"],"parameters":[{"name":"contact","in":"path","required":true,"schema":{"type":"string"},"description":"The Contact."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string","description":"One topic; omitted, every commercial topic."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact, unsubscribed."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","links"]},"example":{"api":"https://api.sb/patentpad.com","contact":{"$id":"https://api.sb/patentpad.com/contacts/contact_1","$type":"Contact","email":"rosa@patentpad.com","phone":"Example phone"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Contact.unsubscribe","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Contact.unsubscribed"}},"/content":{"post":{"operationId":"Content.create","summary":"Content.create","description":"Creates a Content.","tags":["Content"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"The headline."},"publishedAt":{"type":"string","format":"date-time","description":"When it went live."},"kind":{"type":"string","description":"What the Content is, so each System reads its own kind.","enum":["article","doc","changelogEntry","reply","newsletter","legal"]}},"required":["title"],"additionalProperties":false},"example":{"title":"Provisional patent draft"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"content":{"$ref":"#/components/schemas/Content","description":"The Content."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","content","links"]},"example":{"api":"https://api.sb/patentpad.com","content":{"$id":"https://api.sb/patentpad.com/content/content_1","$type":"Content","title":"Provisional patent draft"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Content.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Content.created"},"get":{"operationId":"Content.list","summary":"Content.list","description":"Returns Content, newest first, one page at a time.","tags":["Content"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Content","description":"One page of Content."},"description":"One page of Content."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","content","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Content","content":[{"$id":"https://api.sb/routewise.dev/content/content_1","$type":"Content","title":"RouteWise API"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/content?limit=20","next":"https://api.sb/routewise.dev/content?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/content/{id}":{"get":{"operationId":"Content.get","summary":"Content.get","description":"Returns one Content by id.","tags":["Content"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Content."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"content":{"$ref":"#/components/schemas/Content","description":"The Content."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","content","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Content","$id":"https://api.sb/patentpad.com/content/content_1","content":{"$id":"https://api.sb/patentpad.com/content/content_1","$type":"Content","title":"Provisional patent draft"},"links":{"self":"https://api.sb/patentpad.com/content/content_1","up":"https://api.sb/patentpad.com/content"},"actions":{"publish":"https://api.sb/patentpad.com/content/content_1/publish"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Content.update","summary":"Content.update","description":"Changes the given properties of a Content.","tags":["Content"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Content."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"The headline."},"publishedAt":{"type":"string","format":"date-time","description":"When it went live."},"kind":{"type":"string","description":"What the Content is, so each System reads its own kind.","enum":["article","doc","changelogEntry","reply","newsletter","legal"]}},"additionalProperties":false},"example":{"title":"Grain-free kibble, 12 lb"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"content":{"$ref":"#/components/schemas/Content","description":"The Content."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","content","links"]},"example":{"api":"https://api.sb/petpantry.shop","content":{"$id":"https://api.sb/petpantry.shop/content/content_1","$type":"Content","title":"Grain-free kibble, 12 lb"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Content.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Content.updated"},"delete":{"operationId":"Content.delete","summary":"Content.delete","description":"Deletes a Content; its history is kept.","tags":["Content"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Content."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"content":{"$ref":"#/components/schemas/Content","description":"The Content."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","content","links"]},"example":{"api":"https://api.sb/quietcopy.com","content":{"$id":"https://api.sb/quietcopy.com/content/content_1","$type":"Content","title":"Résumé review"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Content.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Content.deleted"}},"/content/draft":{"post":{"operationId":"Content.draft","summary":"Content.draft","description":"Draft writes Content of one kind from a brief, such as an article for a question the help center could not answer.","tags":["Content"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"What to write.","enum":["article","doc","changelogEntry","reply","newsletter"]},"brief":{"type":"string","description":"The question or brief it answers."}},"required":["kind","brief"],"additionalProperties":false},"example":{"kind":"article","brief":"Example brief"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"content":{"$ref":"#/components/schemas/Content","description":"The draft."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","content","links"]},"example":{"api":"https://api.sb/quietcopy.com","content":{"$id":"https://api.sb/quietcopy.com/content/content_1","$type":"Content","title":"Résumé review"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Content.draft","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Content.drafted"}},"/content/{content}/publish":{"post":{"operationId":"Content.publish","summary":"Content.publish","description":"Publish puts a Content draft live on its Site and every Interface, once it passes the Evals for its kind.","tags":["Content"],"parameters":[{"name":"content","in":"path","required":true,"schema":{"type":"string"},"description":"The draft to publish."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"content":{"$ref":"#/components/schemas/Content","description":"The published Content."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","content","links"]},"example":{"api":"https://api.sb/quietcopy.com","content":{"$id":"https://api.sb/quietcopy.com/content/content_1","$type":"Content","title":"Résumé review"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Content.publish","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Content.published"}},"/controls/{id}":{"get":{"operationId":"Control.get","summary":"Control.get","description":"Returns one Control by id.","tags":["Control"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Control."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"control":{"$ref":"#/components/schemas/Control","description":"The Control."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","control","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Control","$id":"https://api.sb/routewise.dev/controls/control_1","control":{"$id":"https://api.sb/routewise.dev/controls/control_1","$type":"Control","objective":"Example objective","kind":"Example kind","inheritance":"inherited","criteria":["criterion_1"]},"links":{"self":"https://api.sb/routewise.dev/controls/control_1","up":"https://api.sb/routewise.dev/controls"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/controls":{"get":{"operationId":"Control.list","summary":"Control.list","description":"Returns Controls, newest first, one page at a time.","tags":["Control"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"controls":{"type":"array","items":{"$ref":"#/components/schemas/Control","description":"One page of Controls."},"description":"One page of Controls."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","controls","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Control","controls":[{"$id":"https://api.sb/patentpad.com/controls/control_1","$type":"Control","objective":"Example objective","kind":"Example kind","inheritance":"inherited","criteria":["criterion_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/controls?limit=20","next":"https://api.sb/patentpad.com/controls?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/conversations":{"post":{"operationId":"Conversation.create","summary":"Conversation.create","description":"Creates a Conversation.","tags":["Conversation"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string","description":"What the Thread is about."},"answeredAt":{"type":"string","format":"date-time","description":"When a Worker last answered."},"resolution":{"type":"string","description":"How it was resolved: the Customer said so, or 72 hours passed after an answer with no reply.","enum":["confirmed","assumed"]},"worker":{"type":"string","description":"One Worker owes each Conversation its next answer. The Worker id."},"customer":{"type":"string","description":"The Customer a Conversation serves, so every answer reads that Customer’s records. The Customer id."},"issue":{"type":"string","description":"The Issue or Incident a Conversation reports; resolving it answers every linked Conversation. The Issue id."}},"additionalProperties":false},"example":{"subject":"Example subject"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/routewise.dev","conversation":{"$id":"https://api.sb/routewise.dev/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Conversation.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Conversation.created"},"get":{"operationId":"Conversation.list","summary":"Conversation.list","description":"Returns Conversations, newest first, one page at a time.","tags":["Conversation"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"conversations":{"type":"array","items":{"$ref":"#/components/schemas/Conversation","description":"One page of Conversations."},"description":"One page of Conversations."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversations","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Conversation","conversations":[{"$id":"https://api.sb/patentpad.com/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/conversations?limit=20","next":"https://api.sb/patentpad.com/conversations?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/conversations/{id}":{"get":{"operationId":"Conversation.get","summary":"Conversation.get","description":"Returns one Conversation by id.","tags":["Conversation"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Conversation."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Conversation","$id":"https://api.sb/routewise.dev/conversations/conversation_1","conversation":{"$id":"https://api.sb/routewise.dev/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/routewise.dev/conversations/conversation_1","up":"https://api.sb/routewise.dev/conversations"},"actions":{"answer":"https://api.sb/routewise.dev/conversations/conversation_1/answer","assign":"https://api.sb/routewise.dev/conversations/conversation_1/assign","close":"https://api.sb/routewise.dev/conversations/conversation_1/close"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Conversation.update","summary":"Conversation.update","description":"Changes the given properties of a Conversation.","tags":["Conversation"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Conversation."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string","description":"What the Thread is about."},"answeredAt":{"type":"string","format":"date-time","description":"When a Worker last answered."},"resolution":{"type":"string","description":"How it was resolved: the Customer said so, or 72 hours passed after an answer with no reply.","enum":["confirmed","assumed"]}},"additionalProperties":false},"example":{"answeredAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/kilnbakery.com","conversation":{"$id":"https://api.sb/kilnbakery.com/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Conversation.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Conversation.updated"},"delete":{"operationId":"Conversation.delete","summary":"Conversation.delete","description":"Deletes a Conversation; its history is kept.","tags":["Conversation"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Conversation."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/tutorloop.com","conversation":{"$id":"https://api.sb/tutorloop.com/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Conversation.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Conversation.deleted"}},"/conversations/{conversation}/answer":{"post":{"operationId":"Conversation.answer","summary":"Conversation.answer","description":"Answer replies in a Conversation through the Channel it arrived on and closes the reply Task it opened.","tags":["Conversation"],"parameters":[{"name":"conversation","in":"path","required":true,"schema":{"type":"string"},"description":"The Conversation that waits."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"The reply."}},"required":["body"],"additionalProperties":false},"example":{"body":"Example body"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The answered Conversation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/ledgerlark.com","conversation":{"$id":"https://api.sb/ledgerlark.com/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Conversation.answer","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Conversation.answered"}},"/conversations/{conversation}/assign":{"post":{"operationId":"Conversation.assign","summary":"Conversation.assign","description":"Assign routes a Conversation to the Worker holding the right Role, by topic, Customer tier and language.","tags":["Conversation"],"parameters":[{"name":"conversation","in":"path","required":true,"schema":{"type":"string"},"description":"The Conversation to route."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"worker":{"type":"string","description":"The Worker to take it; omitted, the routing Policy picks. The Worker id."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation, with its Worker."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/kilnbakery.com","conversation":{"$id":"https://api.sb/kilnbakery.com/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Conversation.assign","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Conversation.assigned"}},"/conversations/{conversation}/close":{"post":{"operationId":"Conversation.close","summary":"Conversation.close","description":"Close marks a Conversation resolved, confirmed by the Customer or assumed after 72 hours with no reply.","tags":["Conversation"],"parameters":[{"name":"conversation","in":"path","required":true,"schema":{"type":"string"},"description":"The answered Conversation."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"resolution":{"type":"string","description":"How it ended: the Customer said so, or 72 hours passed after an answer with no reply.","enum":["confirmed","assumed"]}},"required":["resolution"],"additionalProperties":false},"example":{"resolution":"confirmed"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation, resolved."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/routewise.dev","conversation":{"$id":"https://api.sb/routewise.dev/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Conversation.close","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Conversation.closed"}},"/conversations/{conversation}/escalate":{"post":{"operationId":"Conversation.escalate","summary":"Conversation.escalate","description":"Escalate hands a Conversation and its summary to the Worker in the Role above, a Human only where one holds it.","tags":["Conversation"],"parameters":[{"name":"conversation","in":"path","required":true,"schema":{"type":"string"},"description":"The Conversation to hand off."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it moves up.","enum":["lowConfidence","askedForPerson","outOfScope"]}},"required":["reason"],"additionalProperties":false},"example":{"reason":"lowConfidence"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation, with its new Worker."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/patentpad.com","conversation":{"$id":"https://api.sb/patentpad.com/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Conversation.escalate","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Conversation.escalated"}},"/conversations/{conversation}/reopen":{"post":{"operationId":"Conversation.reopen","summary":"Conversation.reopen","description":"Reopen reverses a Conversation’s resolution when a reversal signal arrives within 7 days, and grades the resolution a failure.","tags":["Conversation"],"parameters":[{"name":"conversation","in":"path","required":true,"schema":{"type":"string"},"description":"The resolved Conversation."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"signal":{"type":"string","description":"What reversed it: a new Message on the subject, a request for a person, a rating of 2 or lower, or a Dispute.","enum":["wroteAgain","askedForPerson","ratedLow","disputed"]}},"required":["signal"],"additionalProperties":false},"example":{"signal":"askedForPerson"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation, open again."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","conversation","links"]},"example":{"api":"https://api.sb/petpantry.shop","conversation":{"$id":"https://api.sb/petpantry.shop/conversations/conversation_1","$type":"Conversation","subject":"Example subject","answeredAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Conversation.reopen","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Conversation.reopened"}},"/costs/{id}":{"get":{"operationId":"Cost.get","summary":"Cost.get","description":"Returns one Cost by id.","tags":["Cost"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Cost."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"cost":{"$ref":"#/components/schemas/Cost","description":"The Cost."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","cost","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Cost","$id":"https://api.sb/shiftnote.app/costs/cost_1","cost":{"$id":"https://api.sb/shiftnote.app/costs/cost_1","$type":"Cost","account":"cash","amount":{"amount":79,"currency":"USD"},"direction":"debit","action":"action_1"},"links":{"self":"https://api.sb/shiftnote.app/costs/cost_1","up":"https://api.sb/shiftnote.app/costs"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/costs":{"get":{"operationId":"Cost.list","summary":"Cost.list","description":"Returns Costs, newest first, one page at a time.","tags":["Cost"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"costs":{"type":"array","items":{"$ref":"#/components/schemas/Cost","description":"One page of Costs."},"description":"One page of Costs."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","costs","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Cost","costs":[{"$id":"https://api.sb/shiftnote.app/costs/cost_1","$type":"Cost","account":"cash","amount":{"amount":79,"currency":"USD"},"direction":"debit","action":"action_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/costs?limit=20","next":"https://api.sb/shiftnote.app/costs?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/coupons":{"post":{"operationId":"Coupon.create","summary":"Coupon.create","description":"Creates a Coupon.","tags":["Coupon"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"percentOff":{"type":"number","description":"The percent taken off each charge it applies to; set this or `amountOff`."},"amountOff":{"$ref":"#/components/schemas/Money","description":"The fixed amount taken off each charge it applies to."},"duration":{"type":"string","description":"How long it applies: `once`, `repeating` for `months`, or `forever`.","enum":["once","repeating","forever"]},"months":{"type":"integer","description":"How many months a `repeating` Coupon applies."},"code":{"type":"string","description":"The promotion code a buyer types at checkout, when the Coupon has one."},"redeemBy":{"type":"string","format":"date-time","description":"The last moment it can be redeemed."},"maxRedemptions":{"type":"integer","description":"How many times it can be redeemed across all Customers."}},"required":["duration"],"additionalProperties":false},"example":{"duration":"once"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"coupon":{"$ref":"#/components/schemas/Coupon","description":"The Coupon."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","coupon","links"]},"example":{"api":"https://api.sb/quietcopy.com","coupon":{"$id":"https://api.sb/quietcopy.com/coupons/coupon_1","$type":"Coupon","duration":"once"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Coupon.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Coupon.created"},"get":{"operationId":"Coupon.list","summary":"Coupon.list","description":"Returns Coupons, newest first, one page at a time.","tags":["Coupon"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"coupons":{"type":"array","items":{"$ref":"#/components/schemas/Coupon","description":"One page of Coupons."},"description":"One page of Coupons."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","coupons","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Coupon","coupons":[{"$id":"https://api.sb/quietcopy.com/coupons/coupon_1","$type":"Coupon","duration":"once"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/coupons?limit=20","next":"https://api.sb/quietcopy.com/coupons?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/coupons/{id}":{"get":{"operationId":"Coupon.get","summary":"Coupon.get","description":"Returns one Coupon by id.","tags":["Coupon"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Coupon."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"coupon":{"$ref":"#/components/schemas/Coupon","description":"The Coupon."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","coupon","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Coupon","$id":"https://api.sb/kilnbakery.com/coupons/coupon_1","coupon":{"$id":"https://api.sb/kilnbakery.com/coupons/coupon_1","$type":"Coupon","duration":"once"},"links":{"self":"https://api.sb/kilnbakery.com/coupons/coupon_1","up":"https://api.sb/kilnbakery.com/coupons"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Coupon.update","summary":"Coupon.update","description":"Changes the given properties of a Coupon.","tags":["Coupon"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Coupon."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"percentOff":{"type":"number","description":"The percent taken off each charge it applies to; set this or `amountOff`."},"amountOff":{"$ref":"#/components/schemas/Money","description":"The fixed amount taken off each charge it applies to."},"duration":{"type":"string","description":"How long it applies: `once`, `repeating` for `months`, or `forever`.","enum":["once","repeating","forever"]},"months":{"type":"integer","description":"How many months a `repeating` Coupon applies."},"code":{"type":"string","description":"The promotion code a buyer types at checkout, when the Coupon has one."},"redeemBy":{"type":"string","format":"date-time","description":"The last moment it can be redeemed."},"maxRedemptions":{"type":"integer","description":"How many times it can be redeemed across all Customers."}},"additionalProperties":false},"example":{"percentOff":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"coupon":{"$ref":"#/components/schemas/Coupon","description":"The Coupon."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","coupon","links"]},"example":{"api":"https://api.sb/shiftnote.app","coupon":{"$id":"https://api.sb/shiftnote.app/coupons/coupon_1","$type":"Coupon","duration":"once"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Coupon.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Coupon.updated"}},"/credentials":{"post":{"operationId":"Credential.create","summary":"Credential.create","description":"Creates a Credential.","tags":["Credential"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"issuer":{"type":"string","description":"The regulator or registry that grants it."},"jurisdiction":{"type":"string","description":"Where it applies."},"standing":{"type":"string","description":"Whether it is in good standing, read fresh on every use."},"supplier":{"type":"string","description":"The Credentials a Supplier holds decide which Reserved Acts it may perform; standing is read fresh on every use. The Supplier id."},"worker":{"type":"string","description":"A Worker performs a Reserved Act only while it holds the Credential that authorizes it, in good standing. The Worker id."}},"required":["issuer","jurisdiction"],"additionalProperties":false},"example":{"issuer":"Example issuer","jurisdiction":"US-DE"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"credential":{"$ref":"#/components/schemas/Credential","description":"The Credential."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","credential","links"]},"example":{"api":"https://api.sb/shiftnote.app","credential":{"$id":"https://api.sb/shiftnote.app/credentials/credential_1","$type":"Credential","issuer":"Example issuer","jurisdiction":"US-DE"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Credential.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Credential.created"},"get":{"operationId":"Credential.list","summary":"Credential.list","description":"Returns Credentials, newest first, one page at a time.","tags":["Credential"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential","description":"One page of Credentials."},"description":"One page of Credentials."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","credentials","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Credential","credentials":[{"$id":"https://api.sb/shiftnote.app/credentials/credential_1","$type":"Credential","issuer":"Example issuer","jurisdiction":"US-DE"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/credentials?limit=20","next":"https://api.sb/shiftnote.app/credentials?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/credentials/{id}":{"get":{"operationId":"Credential.get","summary":"Credential.get","description":"Returns one Credential by id.","tags":["Credential"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Credential."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"credential":{"$ref":"#/components/schemas/Credential","description":"The Credential."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","credential","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Credential","$id":"https://api.sb/shiftnote.app/credentials/credential_1","credential":{"$id":"https://api.sb/shiftnote.app/credentials/credential_1","$type":"Credential","issuer":"Example issuer","jurisdiction":"US-DE"},"links":{"self":"https://api.sb/shiftnote.app/credentials/credential_1","up":"https://api.sb/shiftnote.app/credentials"},"actions":{"verify":"https://api.sb/shiftnote.app/credentials/credential_1/verify"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Credential.update","summary":"Credential.update","description":"Changes the given properties of a Credential.","tags":["Credential"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Credential."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"issuer":{"type":"string","description":"The regulator or registry that grants it."},"jurisdiction":{"type":"string","description":"Where it applies."},"standing":{"type":"string","description":"Whether it is in good standing, read fresh on every use."}},"additionalProperties":false},"example":{"jurisdiction":"US-DE"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"credential":{"$ref":"#/components/schemas/Credential","description":"The Credential."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","credential","links"]},"example":{"api":"https://api.sb/tutorloop.com","credential":{"$id":"https://api.sb/tutorloop.com/credentials/credential_1","$type":"Credential","issuer":"Example issuer","jurisdiction":"US-DE"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Credential.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Credential.updated"},"delete":{"operationId":"Credential.delete","summary":"Credential.delete","description":"Deletes a Credential; its history is kept.","tags":["Credential"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Credential."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"credential":{"$ref":"#/components/schemas/Credential","description":"The Credential."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","credential","links"]},"example":{"api":"https://api.sb/petpantry.shop","credential":{"$id":"https://api.sb/petpantry.shop/credentials/credential_1","$type":"Credential","issuer":"Example issuer","jurisdiction":"US-DE"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Credential.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Credential.deleted"}},"/credentials/{credential}/verify":{"post":{"operationId":"Credential.verify","summary":"Credential.verify","description":"Verify confirms a Credential with the authority that issued it and records when it expires.","tags":["Credential"],"parameters":[{"name":"credential","in":"path","required":true,"schema":{"type":"string"},"description":"The Credential to check."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"credential":{"$ref":"#/components/schemas/Credential","description":"The verified Credential."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","credential","links"]},"example":{"api":"https://api.sb/tutorloop.com","credential":{"$id":"https://api.sb/tutorloop.com/credentials/credential_1","$type":"Credential","issuer":"Example issuer","jurisdiction":"US-DE"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Credential.verify","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Credential.verified"}},"/credit-grants":{"post":{"operationId":"CreditGrant.create","summary":"CreditGrant.create","description":"Creates a Credit Grant.","tags":["CreditGrant"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The balance granted."},"category":{"type":"string","description":"`paid` (bought through an Order, deferred revenue until spent) or `promotional` (given; never cash).","enum":["paid","promotional"]},"priority":{"type":"integer","description":"Order of use when several grants apply: a lower number spends first, then the earliest expiry."},"expiresAt":{"type":"string","format":"date-time","description":"When any remaining balance lapses. Absent means it never lapses."},"appliesTo":{"type":"string","description":"The metered Offer the balance pays for. Absent means every metered Offer of the Startup. The Offer id."},"customer":{"type":"string","description":"The Customer whose metered calls spend the balance; credits never move to another Customer. The Customer id."}},"required":["amount","category"],"additionalProperties":false},"example":{"amount":{"amount":499,"currency":"USD"},"category":"paid"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"creditGrant":{"$ref":"#/components/schemas/CreditGrant","description":"The Credit Grant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","creditGrant","links"]},"example":{"api":"https://api.sb/patentpad.com","creditGrant":{"$id":"https://api.sb/patentpad.com/credit-grants/credit_grant_1","$type":"CreditGrant","amount":{"amount":499,"currency":"USD"},"category":"paid"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"CreditGrant.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"CreditGrant.created"},"get":{"operationId":"CreditGrant.list","summary":"CreditGrant.list","description":"Returns Credit Grants, newest first, one page at a time.","tags":["CreditGrant"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"creditGrants":{"type":"array","items":{"$ref":"#/components/schemas/CreditGrant","description":"One page of Credit Grants."},"description":"One page of Credit Grants."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","creditGrants","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"CreditGrant","creditGrants":[{"$id":"https://api.sb/routewise.dev/credit-grants/credit_grant_1","$type":"CreditGrant","amount":{"amount":25,"currency":"USD"},"category":"paid"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/credit-grants?limit=20","next":"https://api.sb/routewise.dev/credit-grants?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/credit-grants/{id}":{"get":{"operationId":"CreditGrant.get","summary":"CreditGrant.get","description":"Returns one Credit Grant by id.","tags":["CreditGrant"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Credit Grant."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"creditGrant":{"$ref":"#/components/schemas/CreditGrant","description":"The Credit Grant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","creditGrant","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"CreditGrant","$id":"https://api.sb/patentpad.com/credit-grants/credit_grant_1","creditGrant":{"$id":"https://api.sb/patentpad.com/credit-grants/credit_grant_1","$type":"CreditGrant","amount":{"amount":499,"currency":"USD"},"category":"paid"},"links":{"self":"https://api.sb/patentpad.com/credit-grants/credit_grant_1","up":"https://api.sb/patentpad.com/credit-grants"},"actions":{"void":"https://api.sb/patentpad.com/credit-grants/credit_grant_1/void"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/credit-grants/apply":{"post":{"operationId":"CreditGrant.apply","summary":"CreditGrant.apply","description":"Apply spends Credit Grants against a finalizing Invoice, promotional first, then by priority and earliest expiry, and settles them through Stripe credit grants.","tags":["CreditGrant"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"invoice":{"type":"string","description":"The Invoice being finalized. The Invoice id."}},"required":["invoice"],"additionalProperties":false},"example":{"invoice":"invoice_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"applied":{"$ref":"#/components/schemas/Money","description":"The total the grants paid toward the Invoice."},"creditGrants":{"type":"array","items":{"$ref":"#/components/schemas/CreditGrant","description":"Each grant drawn, with its new remaining balance."},"description":"Each grant drawn, with its new remaining balance."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","applied","creditGrants","links"]},"example":{"api":"https://api.sb/patentpad.com","applied":{"amount":499,"currency":"USD"},"creditGrants":[{"$id":"https://api.sb/patentpad.com/credit-grants/credit_grant_1","$type":"CreditGrant","amount":{"amount":499,"currency":"USD"},"category":"paid"}],"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"CreditGrant.apply","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"CreditGrant.applied"}},"/credit-grants/issue":{"post":{"operationId":"CreditGrant.issue","summary":"CreditGrant.issue","description":"Issue gives a Customer a paid or promotional Credit Grant that its metered calls draw down before anything is invoiced.","tags":["CreditGrant"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"type":"string","description":"The Customer who receives it. The Customer id."},"amount":{"$ref":"#/components/schemas/Money","description":"The balance granted."},"category":{"type":"string","description":"`paid` for a balance the Customer bought; `promotional` for one given, which is never cash.","enum":["paid","promotional"]},"appliesTo":{"type":"string","description":"The metered Offer it pays for; every metered Offer of the Startup when absent. The Offer id."},"expiresAt":{"type":"string","format":"date-time","description":"When any remaining balance lapses; never, when absent."},"priority":{"type":"integer","description":"Order of use among grants; a lower number spends first."}},"required":["customer","amount","category"],"additionalProperties":false},"example":{"customer":"customer_1","amount":{"amount":39,"currency":"USD"},"category":"paid"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"creditGrant":{"$ref":"#/components/schemas/CreditGrant","description":"The new Credit Grant, its remaining balance equal to its amount."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","creditGrant","links"]},"example":{"api":"https://api.sb/quietcopy.com","creditGrant":{"$id":"https://api.sb/quietcopy.com/credit-grants/credit_grant_1","$type":"CreditGrant","amount":{"amount":39,"currency":"USD"},"category":"paid"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"CreditGrant.issue","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"CreditGrant.issued"}},"/credit-grants/{creditGrant}/void":{"post":{"operationId":"CreditGrant.void","summary":"CreditGrant.void","description":"Void ends a promotional Credit Grant early and forfeits its remaining balance, keeping the record.","tags":["CreditGrant"],"parameters":[{"name":"creditGrant","in":"path","required":true,"schema":{"type":"string"},"description":"The grant to end."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it ends, shown to the Customer."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"creditGrant":{"$ref":"#/components/schemas/CreditGrant","description":"The voided grant, its remaining balance zero."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","creditGrant","links"]},"example":{"api":"https://api.sb/shiftnote.app","creditGrant":{"$id":"https://api.sb/shiftnote.app/credit-grants/credit_grant_1","$type":"CreditGrant","amount":{"amount":79,"currency":"USD"},"category":"paid"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"CreditGrant.void","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"CreditGrant.voided"}},"/criteria/{id}":{"get":{"operationId":"Criterion.get","summary":"Criterion.get","description":"Returns one Criterion by id.","tags":["Criterion"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Criterion."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"criterion":{"$ref":"#/components/schemas/Criterion","description":"The Criterion."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","criterion","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Criterion","$id":"https://api.sb/shiftnote.app/criteria/criterion_1","criterion":{"$id":"https://api.sb/shiftnote.app/criteria/criterion_1","$type":"Criterion","framework":"soc2","ref":"Example ref","text":"Example text"},"links":{"self":"https://api.sb/shiftnote.app/criteria/criterion_1","up":"https://api.sb/shiftnote.app/criteria"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/criteria":{"get":{"operationId":"Criterion.list","summary":"Criterion.list","description":"Returns Criteria, newest first, one page at a time.","tags":["Criterion"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"criteria":{"type":"array","items":{"$ref":"#/components/schemas/Criterion","description":"One page of Criteria."},"description":"One page of Criteria."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","criteria","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Criterion","criteria":[{"$id":"https://api.sb/shiftnote.app/criteria/criterion_1","$type":"Criterion","framework":"soc2","ref":"Example ref","text":"Example text"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/criteria?limit=20","next":"https://api.sb/shiftnote.app/criteria?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/customers":{"post":{"operationId":"Customer.create","summary":"Customer.create","description":"Creates a Customer.","tags":["Customer"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"since":{"type":"string","format":"date-time","description":"When the party first accepted an Offer."},"outside":{"type":"boolean","description":"Computed: true when it shares no owner, account, or sibling chain with the Startup."},"billingEmail":{"type":"string","format":"email","description":"Where Invoices and receipts go, when it differs from the sign-in email."},"billingAddress":{"type":"string","description":"The address printed on new Invoices; Stripe Tax reads it to compute tax."},"taxIds":{"type":"array","items":{"type":"string","description":"The Customer’s tax ids, such as a VAT number, printed on new Invoices and read by Stripe Tax."},"description":"The Customer’s tax ids, such as a VAT number, printed on new Invoices and read by Stripe Tax."},"creditRecharge":{"description":"When unspent credit falls below `below`, buy `amount` of the credit Offer with the default Payment Source."},"portal":{"type":"string","description":"Customers sign in to a Portal to order, track delivery, accept work, and pay. The Portal id."},"acquisition":{"type":"string","description":"A Customer inherits the Acquisition of the Lead it was; Metrics and payouts read this one row. The Acquisition id."}},"required":["since"],"additionalProperties":false},"example":{"since":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","customer","links"]},"example":{"api":"https://api.sb/petpantry.shop","customer":{"$id":"https://api.sb/petpantry.shop/customers/customer_1","$type":"Customer","since":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Customer.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Customer.created"},"get":{"operationId":"Customer.list","summary":"Customer.list","description":"Returns Customers, newest first, one page at a time.","tags":["Customer"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"customers":{"type":"array","items":{"$ref":"#/components/schemas/Customer","description":"One page of Customers."},"description":"One page of Customers."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","customers","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Customer","customers":[{"$id":"https://api.sb/kilnbakery.com/customers/customer_1","$type":"Customer","since":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/customers?limit=20","next":"https://api.sb/kilnbakery.com/customers?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/customers/{id}":{"get":{"operationId":"Customer.get","summary":"Customer.get","description":"Returns one Customer by id.","tags":["Customer"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Customer."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","customer","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Customer","$id":"https://api.sb/quietcopy.com/customers/customer_1","customer":{"$id":"https://api.sb/quietcopy.com/customers/customer_1","$type":"Customer","since":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/quietcopy.com/customers/customer_1","up":"https://api.sb/quietcopy.com/customers"},"actions":{"activate":"https://api.sb/quietcopy.com/customers/customer_1/activate","exempt":"https://api.sb/quietcopy.com/customers/customer_1/exempt"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Customer.update","summary":"Customer.update","description":"Changes the given properties of a Customer.","tags":["Customer"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Customer."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"since":{"type":"string","format":"date-time","description":"When the party first accepted an Offer."},"outside":{"type":"boolean","description":"Computed: true when it shares no owner, account, or sibling chain with the Startup."},"billingEmail":{"type":"string","format":"email","description":"Where Invoices and receipts go, when it differs from the sign-in email."},"billingAddress":{"type":"string","description":"The address printed on new Invoices; Stripe Tax reads it to compute tax."},"taxIds":{"type":"array","items":{"type":"string","description":"The Customer’s tax ids, such as a VAT number, printed on new Invoices and read by Stripe Tax."},"description":"The Customer’s tax ids, such as a VAT number, printed on new Invoices and read by Stripe Tax."},"creditRecharge":{"description":"When unspent credit falls below `below`, buy `amount` of the credit Offer with the default Payment Source."}},"additionalProperties":false},"example":{"since":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","customer","links"]},"example":{"api":"https://api.sb/routewise.dev","customer":{"$id":"https://api.sb/routewise.dev/customers/customer_1","$type":"Customer","since":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Customer.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Customer.updated"},"delete":{"operationId":"Customer.delete","summary":"Customer.delete","description":"Deletes a Customer; its history is kept.","tags":["Customer"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Customer."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","customer","links"]},"example":{"api":"https://api.sb/ledgerlark.com","customer":{"$id":"https://api.sb/ledgerlark.com/customers/customer_1","$type":"Customer","since":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Customer.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Customer.deleted"}},"/customers/{customer}/activate":{"post":{"operationId":"Customer.activate","summary":"Customer.activate","description":"Activate marks a Customer activated on an Offer once its declared activation Event reaches the count within the window.","tags":["Customer"],"parameters":[{"name":"customer","in":"path","required":true,"schema":{"type":"string"},"description":"The Customer who crossed the line."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offer":{"type":"string","description":"The Offer whose `activation` was met. The Offer id."}},"required":["offer"],"additionalProperties":false},"example":{"offer":"offer_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"customer":{"$ref":"#/components/schemas/Customer","description":"The activated Customer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","customer","links"]},"example":{"api":"https://api.sb/patentpad.com","customer":{"$id":"https://api.sb/patentpad.com/customers/customer_1","$type":"Customer","since":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Customer.activate","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Customer.activated"}},"/customers/{customer}/exempt":{"post":{"operationId":"Customer.exempt","summary":"Customer.exempt","description":"Exempt records a Customer’s exemption or resale certificate, verifies it, and stops tax on its Orders where the certificate applies.","tags":["Customer"],"parameters":[{"name":"customer","in":"path","required":true,"schema":{"type":"string"},"description":"The buying Customer."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"certificate":{"type":"string","description":"The certificate as uploaded through the Portal or received by email. The File id."},"jurisdictions":{"type":"array","items":{"type":"string","description":"Where the certificate applies, such as `US-TX`."},"description":"Where the certificate applies, such as `US-TX`."},"expiresOn":{"type":"string","format":"date","description":"When the certificate lapses; empty when it does not."}},"required":["certificate","jurisdictions"],"additionalProperties":false},"example":{"certificate":"file_1","jurisdictions":["US-TX"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"credential":{"$ref":"#/components/schemas/Credential","description":"The certificate, held by the Customer’s Organization."},"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer, now exempt where the certificate applies."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","credential","customer","links"]},"example":{"api":"https://api.sb/ledgerlark.com","credential":{"$id":"https://api.sb/ledgerlark.com/credentials/credential_1","$type":"Credential","issuer":"Example issuer","jurisdiction":"US-DE"},"customer":{"$id":"https://api.sb/ledgerlark.com/customers/customer_1","$type":"Customer","since":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Customer.exempt","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Customer.exempted"}},"/dashboards":{"post":{"operationId":"Dashboard.create","summary":"Dashboard.create","description":"Creates a Dashboard.","tags":["Dashboard"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"string","description":"What it views, such as a Studio, a Startup, a Team, or a Role."},"thing":{"type":"string","description":"A Dashboard summarizes one scope, such as a Studio, a Startup, a Team, or a Role. The Thing id."},"app":{"type":"string","description":"An App opens on Dashboards for the people signed in to it. The App id."}},"required":["scope"],"additionalProperties":false},"example":{"scope":"Startup"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dashboard","links"]},"example":{"api":"https://api.sb/quietcopy.com","dashboard":{"$id":"https://api.sb/quietcopy.com/dashboards/dashboard_1","$type":"Dashboard","scope":"Startup"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Dashboard.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dashboard.created"},"get":{"operationId":"Dashboard.list","summary":"Dashboard.list","description":"Returns Dashboards, newest first, one page at a time.","tags":["Dashboard"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"dashboards":{"type":"array","items":{"$ref":"#/components/schemas/Dashboard","description":"One page of Dashboards."},"description":"One page of Dashboards."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dashboards","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Dashboard","dashboards":[{"$id":"https://api.sb/quietcopy.com/dashboards/dashboard_1","$type":"Dashboard","scope":"Startup"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/dashboards?limit=20","next":"https://api.sb/quietcopy.com/dashboards?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/dashboards/{id}":{"get":{"operationId":"Dashboard.get","summary":"Dashboard.get","description":"Returns one Dashboard by id.","tags":["Dashboard"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Dashboard."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dashboard","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Dashboard","$id":"https://api.sb/kilnbakery.com/dashboards/dashboard_1","dashboard":{"$id":"https://api.sb/kilnbakery.com/dashboards/dashboard_1","$type":"Dashboard","scope":"Startup"},"links":{"self":"https://api.sb/kilnbakery.com/dashboards/dashboard_1","up":"https://api.sb/kilnbakery.com/dashboards"},"actions":{"schedule":"https://api.sb/kilnbakery.com/dashboards/dashboard_1/schedule"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Dashboard.update","summary":"Dashboard.update","description":"Changes the given properties of a Dashboard.","tags":["Dashboard"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Dashboard."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"string","description":"What it views, such as a Studio, a Startup, a Team, or a Role."}},"additionalProperties":false},"example":{"scope":"Startup"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dashboard","links"]},"example":{"api":"https://api.sb/shiftnote.app","dashboard":{"$id":"https://api.sb/shiftnote.app/dashboards/dashboard_1","$type":"Dashboard","scope":"Startup"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Dashboard.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dashboard.updated"},"delete":{"operationId":"Dashboard.delete","summary":"Dashboard.delete","description":"Deletes a Dashboard; its history is kept.","tags":["Dashboard"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Dashboard."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dashboard","links"]},"example":{"api":"https://api.sb/routewise.dev","dashboard":{"$id":"https://api.sb/routewise.dev/dashboards/dashboard_1","$type":"Dashboard","scope":"Startup"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Dashboard.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dashboard.deleted"}},"/dashboards/ask":{"post":{"operationId":"Dashboard.ask","summary":"Dashboard.ask","description":"Ask answers a plain-language question with a query over the Startup’s records and shows the query beside the result.","tags":["Dashboard"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"question":{"type":"string","description":"The question, in plain language."},"dashboard":{"type":"string","description":"The Dashboard to add the answer to as a tile. The Dashboard id."}},"required":["question"],"additionalProperties":false},"example":{"question":"Example question"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"query":{"type":"string","description":"The query it ran, to read and reuse."},"rows":{"description":"The result, as a table or chart."},"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard the question was asked on."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","query","rows","dashboard","links"]},"example":{"api":"https://api.sb/patentpad.com","query":"Example query","rows":{},"dashboard":{"$id":"https://api.sb/patentpad.com/dashboards/dashboard_1","$type":"Dashboard","scope":"Startup"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Dashboard.ask","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dashboard.asked"}},"/dashboards/{dashboard}/schedule":{"post":{"operationId":"Dashboard.schedule","summary":"Dashboard.schedule","description":"Schedule sends a Dashboard on a cadence to a Mailbox, a Channel or an Agent’s context, rendered for each.","tags":["Dashboard"],"parameters":[{"name":"dashboard","in":"path","required":true,"schema":{"type":"string"},"description":"The Dashboard to send."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cadence":{"type":"string","description":"How often it goes out.","enum":["daily","weekly","monthly"]},"to":{"type":"string","description":"The Mailbox, Channel or Agent that receives it."}},"required":["cadence","to"],"additionalProperties":false},"example":{"cadence":"daily","to":"Example to"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard, with its schedule."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dashboard","links"]},"example":{"api":"https://api.sb/shiftnote.app","dashboard":{"$id":"https://api.sb/shiftnote.app/dashboards/dashboard_1","$type":"Dashboard","scope":"Startup"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Dashboard.schedule","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dashboard.scheduled"}},"/datasets":{"post":{"operationId":"Dataset.create","summary":"Dataset.create","description":"Creates a Dataset.","tags":["Dataset"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"records":{"type":"integer","description":"How many Things it holds."},"refreshedAt":{"type":"string","format":"date-time","description":"When its Sources were last read."},"noun":{"type":"string","description":"A Dataset collects and vouches for the Things of exactly one Noun. The Noun id."}},"required":["name","promise"],"additionalProperties":false},"example":{"name":"QuietCopy","promise":"Line-by-line edits within one day."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dataset":{"$ref":"#/components/schemas/Dataset","description":"The Dataset."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dataset","links"]},"example":{"api":"https://api.sb/quietcopy.com","dataset":{"$id":"https://api.sb/quietcopy.com/datasets/dataset_1","$type":"Dataset","name":"QuietCopy","promise":"Line-by-line edits within one day.","status":"draft"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Dataset.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dataset.created"},"get":{"operationId":"Dataset.list","summary":"Dataset.list","description":"Returns Datasets, newest first, one page at a time.","tags":["Dataset"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"datasets":{"type":"array","items":{"$ref":"#/components/schemas/Dataset","description":"One page of Datasets."},"description":"One page of Datasets."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","datasets","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Dataset","datasets":[{"$id":"https://api.sb/quietcopy.com/datasets/dataset_1","$type":"Dataset","name":"QuietCopy","promise":"Line-by-line edits within one day.","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/datasets?limit=20","next":"https://api.sb/quietcopy.com/datasets?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/datasets/{id}":{"get":{"operationId":"Dataset.get","summary":"Dataset.get","description":"Returns one Dataset by id.","tags":["Dataset"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Dataset."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"dataset":{"$ref":"#/components/schemas/Dataset","description":"The Dataset."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dataset","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Dataset","$id":"https://api.sb/kilnbakery.com/datasets/dataset_1","dataset":{"$id":"https://api.sb/kilnbakery.com/datasets/dataset_1","$type":"Dataset","name":"Kiln Bakery","promise":"Bread out of the oven by 8 a.m.","status":"draft"},"links":{"self":"https://api.sb/kilnbakery.com/datasets/dataset_1","up":"https://api.sb/kilnbakery.com/datasets"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Dataset.update","summary":"Dataset.update","description":"Changes the given properties of a Dataset.","tags":["Dataset"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Dataset."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"records":{"type":"integer","description":"How many Things it holds."},"refreshedAt":{"type":"string","format":"date-time","description":"When its Sources were last read."}},"additionalProperties":false},"example":{"records":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dataset":{"$ref":"#/components/schemas/Dataset","description":"The Dataset."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dataset","links"]},"example":{"api":"https://api.sb/shiftnote.app","dataset":{"$id":"https://api.sb/shiftnote.app/datasets/dataset_1","$type":"Dataset","name":"ShiftNote","promise":"Every open shift filled 48 hours ahead.","status":"draft"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Dataset.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dataset.updated"},"delete":{"operationId":"Dataset.delete","summary":"Dataset.delete","description":"Deletes a Dataset; its history is kept.","tags":["Dataset"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Dataset."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dataset":{"$ref":"#/components/schemas/Dataset","description":"The Dataset."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dataset","links"]},"example":{"api":"https://api.sb/routewise.dev","dataset":{"$id":"https://api.sb/routewise.dev/datasets/dataset_1","$type":"Dataset","name":"RouteWise","promise":"A route plan for 500 stops in under two seconds.","status":"draft"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Dataset.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dataset.deleted"}},"/deals":{"post":{"operationId":"Deal.create","summary":"Deal.create","description":"Creates a Deal.","tags":["Deal"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Money","description":"What the Deal is worth if won."},"owner":{"type":"string","description":"The Worker who runs it. The Worker id."},"closesOn":{"type":"string","format":"date","description":"The date the buyer expects to decide."},"nextStep":{"type":"string","description":"The next dated step agreed with the buyer."},"organization":{"type":"string","description":"Each Deal has one buying Organization on the other side. The Organization id."},"referral":{"type":"string","description":"The Deals a Referral opened; when one is won, its revenue earns the Partner’s Commission. The Referral id."}},"additionalProperties":false},"example":{"value":{"amount":60,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","links"]},"example":{"api":"https://api.sb/tutorloop.com","deal":{"$id":"https://api.sb/tutorloop.com/deals/deal_1","$type":"Deal","status":"Open"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Deal.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Deal.created"},"get":{"operationId":"Deal.list","summary":"Deal.list","description":"Returns Deals, newest first, one page at a time.","tags":["Deal"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"deals":{"type":"array","items":{"$ref":"#/components/schemas/Deal","description":"One page of Deals."},"description":"One page of Deals."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deals","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Deal","deals":[{"$id":"https://api.sb/tutorloop.com/deals/deal_1","$type":"Deal","status":"Open"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/deals?limit=20","next":"https://api.sb/tutorloop.com/deals?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/deals/{id}":{"get":{"operationId":"Deal.get","summary":"Deal.get","description":"Returns one Deal by id.","tags":["Deal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Deal."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Deal","$id":"https://api.sb/petpantry.shop/deals/deal_1","deal":{"$id":"https://api.sb/petpantry.shop/deals/deal_1","$type":"Deal","status":"Open"},"links":{"self":"https://api.sb/petpantry.shop/deals/deal_1","up":"https://api.sb/petpantry.shop/deals"},"actions":{"advance":"https://api.sb/petpantry.shop/deals/deal_1/advance","assign":"https://api.sb/petpantry.shop/deals/deal_1/assign","lose":"https://api.sb/petpantry.shop/deals/deal_1/lose"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Deal.update","summary":"Deal.update","description":"Changes the given properties of a Deal.","tags":["Deal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Deal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Money","description":"What the Deal is worth if won."},"owner":{"type":"string","description":"The Worker who runs it. The Worker id."},"closesOn":{"type":"string","format":"date","description":"The date the buyer expects to decide."},"nextStep":{"type":"string","description":"The next dated step agreed with the buyer."}},"additionalProperties":false},"example":{"value":{"amount":400,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","links"]},"example":{"api":"https://api.sb/ledgerlark.com","deal":{"$id":"https://api.sb/ledgerlark.com/deals/deal_1","$type":"Deal","status":"Open"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Deal.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Deal.updated"},"delete":{"operationId":"Deal.delete","summary":"Deal.delete","description":"Deletes a Deal; its history is kept.","tags":["Deal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Deal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","links"]},"example":{"api":"https://api.sb/patentpad.com","deal":{"$id":"https://api.sb/patentpad.com/deals/deal_1","$type":"Deal","status":"Open"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Deal.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Deal.deleted"}},"/deals/{deal}/advance":{"post":{"operationId":"Deal.advance","summary":"Deal.advance","description":"Advance moves a Deal to its next stage once every field that stage requires is filled.","tags":["Deal"],"parameters":[{"name":"deal","in":"path","required":true,"schema":{"type":"string"},"description":"The Deal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"stage":{"type":"string","description":"The target stage; omitted, the next one."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal in its new stage."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","links"]},"example":{"api":"https://api.sb/tutorloop.com","deal":{"$id":"https://api.sb/tutorloop.com/deals/deal_1","$type":"Deal","status":"Open"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Deal.advance","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Deal.advanced"}},"/deals/{deal}/assign":{"post":{"operationId":"Deal.assign","summary":"Deal.assign","description":"Assign gives a Deal one owner Worker, who carries its next step until it is won or lost.","tags":["Deal"],"parameters":[{"name":"deal","in":"path","required":true,"schema":{"type":"string"},"description":"The Deal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"owner":{"type":"string","description":"The Worker to own it; omitted, the routing Policy picks. The Worker id."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal, with its owner."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","links"]},"example":{"api":"https://api.sb/ledgerlark.com","deal":{"$id":"https://api.sb/ledgerlark.com/deals/deal_1","$type":"Deal","status":"Open"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Deal.assign","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Deal.assigned"}},"/deals/{deal}/lose":{"post":{"operationId":"Deal.lose","summary":"Deal.lose","description":"Lose closes a Deal as lost and records the reason the buyer gave.","tags":["Deal"],"parameters":[{"name":"deal","in":"path","required":true,"schema":{"type":"string"},"description":"The open Deal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the buyer passed."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The lost Deal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","links"]},"example":{"api":"https://api.sb/shiftnote.app","deal":{"$id":"https://api.sb/shiftnote.app/deals/deal_1","$type":"Deal","status":"Lost"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Deal.lose","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Deal.lost"}},"/deals/{deal}/propose":{"post":{"operationId":"Deal.propose","summary":"Deal.propose","description":"Propose sends a Deal’s buyer a Quote they accept to place an Order.","tags":["Deal"],"parameters":[{"name":"deal","in":"path","required":true,"schema":{"type":"string"},"description":"The qualified Deal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quote":{"type":"string","description":"The Quote to send. The Quote id."}},"required":["quote"],"additionalProperties":false},"example":{"quote":"quote_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal with its Quote out."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","links"]},"example":{"api":"https://api.sb/quietcopy.com","deal":{"$id":"https://api.sb/quietcopy.com/deals/deal_1","$type":"Deal","status":"Proposed"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Deal.propose","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Deal.proposed"}},"/deals/{deal}/win":{"post":{"operationId":"Deal.win","summary":"Deal.win","description":"Win closes a Deal as won, which places its Order and makes the buyer a Customer.","tags":["Deal"],"parameters":[{"name":"deal","in":"path","required":true,"schema":{"type":"string"},"description":"The proposed Deal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The placed Order."},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal, now won."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","deal","links"]},"example":{"api":"https://api.sb/tutorloop.com","order":{"$id":"https://api.sb/tutorloop.com/orders/order_1","$type":"Order","total":{"amount":60,"currency":"USD"},"status":"placed"},"deal":{"$id":"https://api.sb/tutorloop.com/deals/deal_1","$type":"Deal","status":"Won"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Deal.win","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Deal.won"}},"/decisions":{"post":{"operationId":"Decision.create","summary":"Decision.create","description":"Creates a Decision.","tags":["Decision"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"choice":{"type":"string","description":"What was chosen."},"reason":{"type":"string","description":"Why it was chosen."},"stakes":{"type":"string","description":"One of `low`, `medium`, or `high`, which sets the delay window.","enum":["low","medium","high"]},"thing":{"type":"string","description":"A Decision records one choice about a Thing and stays on that Thing’s record forever. The Thing id."},"meeting":{"type":"string","description":"A Meeting records Decisions, each with its options, choice and reason. The Meeting id."}},"required":["choice","reason"],"additionalProperties":false},"example":{"choice":"Example choice","reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"decision":{"$ref":"#/components/schemas/Decision","description":"The Decision."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","decision","links"]},"example":{"api":"https://api.sb/quietcopy.com","decision":{"$id":"https://api.sb/quietcopy.com/decisions/decision_1","$type":"Decision","choice":"Example choice","reason":"Example reason"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Decision.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Decision.created"},"get":{"operationId":"Decision.list","summary":"Decision.list","description":"Returns Decisions, newest first, one page at a time.","tags":["Decision"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"decisions":{"type":"array","items":{"$ref":"#/components/schemas/Decision","description":"One page of Decisions."},"description":"One page of Decisions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","decisions","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Decision","decisions":[{"$id":"https://api.sb/quietcopy.com/decisions/decision_1","$type":"Decision","choice":"Example choice","reason":"Example reason"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/decisions?limit=20","next":"https://api.sb/quietcopy.com/decisions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/decisions/{id}":{"get":{"operationId":"Decision.get","summary":"Decision.get","description":"Returns one Decision by id.","tags":["Decision"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Decision."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"decision":{"$ref":"#/components/schemas/Decision","description":"The Decision."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","decision","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Decision","$id":"https://api.sb/kilnbakery.com/decisions/decision_1","decision":{"$id":"https://api.sb/kilnbakery.com/decisions/decision_1","$type":"Decision","choice":"Example choice","reason":"Example reason"},"links":{"self":"https://api.sb/kilnbakery.com/decisions/decision_1","up":"https://api.sb/kilnbakery.com/decisions"},"actions":{"supersede":"https://api.sb/kilnbakery.com/decisions/decision_1/supersede"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/decisions/{decision}/supersede":{"post":{"operationId":"Decision.supersede","summary":"Decision.supersede","description":"Supersede replaces a Decision with a newer one, keeping both on record with the reason for the change.","tags":["Decision"],"parameters":[{"name":"decision","in":"path","required":true,"schema":{"type":"string"},"description":"The Decision to replace."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The newer Decision. The Decision id."}},"required":["by"],"additionalProperties":false},"example":{"by":"decision_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"decision":{"$ref":"#/components/schemas/Decision","description":"The superseded Decision."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","decision","links"]},"example":{"api":"https://api.sb/petpantry.shop","decision":{"$id":"https://api.sb/petpantry.shop/decisions/decision_1","$type":"Decision","choice":"Example choice","reason":"Example reason"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Decision.supersede","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Decision.superseded"}},"/demand-budgets":{"post":{"operationId":"DemandBudget.create","summary":"DemandBudget.create","description":"Creates a Demand Budget.","tags":["DemandBudget"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The monthly spend it funds; zero is the default."},"tier":{"type":"string","description":"One of `$0`, `$100`, `$1k`, `$10k` or `$100k`: the highest tier at or below the amount, whose Play mix it buys.","enum":["$0","$100","$1k","$10k","$100k"]},"target":{"type":"string","description":"The Metric value the spend must reach, such as cost per first Order under $40."},"stopRule":{"type":"string","description":"The reading that closes the budget, such as acquisition cost above margin for two weeks."},"until":{"type":"string","format":"date","description":"The last day the budget runs before its Decision is read."}},"required":["amount","tier","target","stopRule"],"additionalProperties":false},"example":{"amount":{"amount":60,"currency":"USD"},"tier":"$0","target":"Example target","stopRule":"Example stop rule"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"demandBudget":{"$ref":"#/components/schemas/DemandBudget","description":"The Demand Budget."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","demandBudget","links"]},"example":{"api":"https://api.sb/tutorloop.com","demandBudget":{"$id":"https://api.sb/tutorloop.com/demand-budgets/demand_budget_1","$type":"DemandBudget","amount":{"amount":60,"currency":"USD"},"tier":"$0","target":"Example target","stopRule":"Example stop rule"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"DemandBudget.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"DemandBudget.created"},"get":{"operationId":"DemandBudget.list","summary":"DemandBudget.list","description":"Returns Demand Budgets, newest first, one page at a time.","tags":["DemandBudget"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"demandBudgets":{"type":"array","items":{"$ref":"#/components/schemas/DemandBudget","description":"One page of Demand Budgets."},"description":"One page of Demand Budgets."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","demandBudgets","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"DemandBudget","demandBudgets":[{"$id":"https://api.sb/tutorloop.com/demand-budgets/demand_budget_1","$type":"DemandBudget","amount":{"amount":60,"currency":"USD"},"tier":"$0","target":"Example target","stopRule":"Example stop rule"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/demand-budgets?limit=20","next":"https://api.sb/tutorloop.com/demand-budgets?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/demand-budgets/{id}":{"get":{"operationId":"DemandBudget.get","summary":"DemandBudget.get","description":"Returns one Demand Budget by id.","tags":["DemandBudget"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Demand Budget."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"demandBudget":{"$ref":"#/components/schemas/DemandBudget","description":"The Demand Budget."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","demandBudget","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"DemandBudget","$id":"https://api.sb/petpantry.shop/demand-budgets/demand_budget_1","demandBudget":{"$id":"https://api.sb/petpantry.shop/demand-budgets/demand_budget_1","$type":"DemandBudget","amount":{"amount":54,"currency":"USD"},"tier":"$0","target":"Example target","stopRule":"Example stop rule"},"links":{"self":"https://api.sb/petpantry.shop/demand-budgets/demand_budget_1","up":"https://api.sb/petpantry.shop/demand-budgets"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"DemandBudget.update","summary":"DemandBudget.update","description":"Changes the given properties of a Demand Budget.","tags":["DemandBudget"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Demand Budget."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The monthly spend it funds; zero is the default."},"tier":{"type":"string","description":"One of `$0`, `$100`, `$1k`, `$10k` or `$100k`: the highest tier at or below the amount, whose Play mix it buys.","enum":["$0","$100","$1k","$10k","$100k"]},"target":{"type":"string","description":"The Metric value the spend must reach, such as cost per first Order under $40."},"stopRule":{"type":"string","description":"The reading that closes the budget, such as acquisition cost above margin for two weeks."},"until":{"type":"string","format":"date","description":"The last day the budget runs before its Decision is read."}},"additionalProperties":false},"example":{"amount":{"amount":400,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"demandBudget":{"$ref":"#/components/schemas/DemandBudget","description":"The Demand Budget."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","demandBudget","links"]},"example":{"api":"https://api.sb/ledgerlark.com","demandBudget":{"$id":"https://api.sb/ledgerlark.com/demand-budgets/demand_budget_1","$type":"DemandBudget","amount":{"amount":400,"currency":"USD"},"tier":"$0","target":"Example target","stopRule":"Example stop rule"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"DemandBudget.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"DemandBudget.updated"}},"/disputes/{id}":{"get":{"operationId":"Dispute.get","summary":"Dispute.get","description":"Returns one Dispute by id.","tags":["Dispute"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Dispute."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"dispute":{"$ref":"#/components/schemas/Dispute","description":"The Dispute."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dispute","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Dispute","$id":"https://api.sb/kilnbakery.com/disputes/dispute_1","dispute":{"$id":"https://api.sb/kilnbakery.com/disputes/dispute_1","$type":"Dispute","kind":"chargeback","status":"open","held":{"amount":9,"currency":"USD"},"reason":"Example reason"},"links":{"self":"https://api.sb/kilnbakery.com/disputes/dispute_1","up":"https://api.sb/kilnbakery.com/disputes"},"actions":{"accept":"https://api.sb/kilnbakery.com/disputes/dispute_1/accept","answer":"https://api.sb/kilnbakery.com/disputes/dispute_1/answer","appeal":"https://api.sb/kilnbakery.com/disputes/dispute_1/appeal"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/disputes":{"get":{"operationId":"Dispute.list","summary":"Dispute.list","description":"Returns Disputes, newest first, one page at a time.","tags":["Dispute"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"disputes":{"type":"array","items":{"$ref":"#/components/schemas/Dispute","description":"One page of Disputes."},"description":"One page of Disputes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","disputes","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Dispute","disputes":[{"$id":"https://api.sb/quietcopy.com/disputes/dispute_1","$type":"Dispute","kind":"chargeback","status":"open","held":{"amount":39,"currency":"USD"},"reason":"Example reason"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/disputes?limit=20","next":"https://api.sb/quietcopy.com/disputes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/disputes/{dispute}/accept":{"post":{"operationId":"Dispute.accept","summary":"Dispute.accept","description":"Accept concedes an open Dispute without contest, so the buyer keeps the held amount and the Dispute closes.","tags":["Dispute"],"parameters":[{"name":"dispute","in":"path","required":true,"schema":{"type":"string"},"description":"The open Dispute."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why contesting is not worth it, such as a fraud chargeback with no delivery Evidence."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dispute":{"$ref":"#/components/schemas/Dispute","description":"The closed Dispute, decided for the buyer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dispute","links"]},"example":{"api":"https://api.sb/tutorloop.com","dispute":{"$id":"https://api.sb/tutorloop.com/disputes/dispute_1","$type":"Dispute","kind":"chargeback","status":"open","held":{"amount":60,"currency":"USD"},"reason":"Example reason"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Dispute.accept","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dispute.accepted"}},"/disputes/{dispute}/answer":{"post":{"operationId":"Dispute.answer","summary":"Dispute.answer","description":"Answer submits the seller’s Evidence on an open Dispute before its deadline: the contract, the delivered work, and its verdicts.","tags":["Dispute"],"parameters":[{"name":"dispute","in":"path","required":true,"schema":{"type":"string"},"description":"The open Dispute."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"string","description":"The records that show the promise was kept. The Evidence id."},"description":"The records that show the promise was kept."}},"required":["evidence"],"additionalProperties":false},"example":{"evidence":["evidence_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dispute":{"$ref":"#/components/schemas/Dispute","description":"The answered Dispute."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dispute","links"]},"example":{"api":"https://api.sb/kilnbakery.com","dispute":{"$id":"https://api.sb/kilnbakery.com/disputes/dispute_1","$type":"Dispute","kind":"chargeback","status":"answered","held":{"amount":9,"currency":"USD"},"reason":"Example reason"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Dispute.answer","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dispute.answered"}},"/disputes/{dispute}/appeal":{"post":{"operationId":"Dispute.appeal","summary":"Dispute.appeal","description":"Appeal asks for one review of a decided Dispute by a Worker who took no part in the first decision.","tags":["Dispute"],"parameters":[{"name":"dispute","in":"path","required":true,"schema":{"type":"string"},"description":"The decided Dispute."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"What the first decision got wrong."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dispute":{"$ref":"#/components/schemas/Dispute","description":"The appealed Dispute."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dispute","links"]},"example":{"api":"https://api.sb/patentpad.com","dispute":{"$id":"https://api.sb/patentpad.com/disputes/dispute_1","$type":"Dispute","kind":"chargeback","status":"appealed","held":{"amount":499,"currency":"USD"},"reason":"Example reason"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Dispute.appeal","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dispute.appealed"}},"/disputes/{dispute}/decide":{"post":{"operationId":"Dispute.decide","summary":"Dispute.decide","description":"Decide rules on an answered Dispute for the buyer, the seller, or a split, and releases or returns the held amount.","tags":["Dispute"],"parameters":[{"name":"dispute","in":"path","required":true,"schema":{"type":"string"},"description":"The answered Dispute."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string","description":"One of `buyer`, `seller`, or `split`.","enum":["buyer","seller","split"]},"reason":{"type":"string","description":"Why, citing the Evidence and the contract term it turns on."}},"required":["decision","reason"],"additionalProperties":false},"example":{"decision":"buyer","reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"dispute":{"$ref":"#/components/schemas/Dispute","description":"The decided Dispute."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dispute","links"]},"example":{"api":"https://api.sb/quietcopy.com","dispute":{"$id":"https://api.sb/quietcopy.com/disputes/dispute_1","$type":"Dispute","kind":"chargeback","status":"decided","held":{"amount":39,"currency":"USD"},"reason":"Example reason"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Dispute.decide","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Dispute.decided"}},"/dns-records/{id}":{"get":{"operationId":"DNSRecord.get","summary":"DNSRecord.get","description":"Returns one DNS Record by id.","tags":["DNSRecord"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the DNS Record."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"dnsRecord":{"$ref":"#/components/schemas/DNSRecord","description":"The DNS Record."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dnsRecord","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"DNSRecord","$id":"https://api.sb/quietcopy.com/dns-records/dns_record_1","dnsRecord":{"$id":"https://api.sb/quietcopy.com/dns-records/dns_record_1","$type":"DNSRecord","type":"a","name":"_dmarc","value":"192.0.2.10","owner":"platform"},"links":{"self":"https://api.sb/quietcopy.com/dns-records/dns_record_1","up":"https://api.sb/quietcopy.com/dns-records"},"actions":{"remove":"https://api.sb/quietcopy.com/dns-records/dns_record_1/remove"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/dns-records":{"get":{"operationId":"DNSRecord.list","summary":"DNSRecord.list","description":"Returns DNS Records, newest first, one page at a time.","tags":["DNSRecord"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"dnsRecords":{"type":"array","items":{"$ref":"#/components/schemas/DNSRecord","description":"One page of DNS Records."},"description":"One page of DNS Records."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","dnsRecords","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"DNSRecord","dnsRecords":[{"$id":"https://api.sb/kilnbakery.com/dns-records/dns_record_1","$type":"DNSRecord","type":"a","name":"_dmarc","value":"192.0.2.10","owner":"platform"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/dns-records?limit=20","next":"https://api.sb/kilnbakery.com/dns-records?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/dns-records/{record}/remove":{"post":{"operationId":"DNSRecord.remove","summary":"DNSRecord.remove","description":"Remove stops a Startup-owned DNS Record from answering; its history stays and a revert restores it.","tags":["DNSRecord"],"parameters":[{"name":"record","in":"path","required":true,"schema":{"type":"string"},"description":"The DNS Record to stop."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"record":{"$ref":"#/components/schemas/DNSRecord","description":"The stopped DNS Record."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","record","links"]},"example":{"api":"https://api.sb/petpantry.shop","record":{"$id":"https://api.sb/petpantry.shop/dns-records/dns_record_1","$type":"DNSRecord","type":"a","name":"_dmarc","value":"192.0.2.10","owner":"platform"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"DNSRecord.remove","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"DNSRecord.removed"}},"/dns-records/set":{"post":{"operationId":"DNSRecord.set","summary":"DNSRecord.set","description":"Set adds or changes a Startup-owned DNS Record through a Change, previewed against what the Domain answers today.","tags":["DNSRecord"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","description":"The Domain the record answers for. The Domain id."},"type":{"type":"string","description":"The record type.","enum":["a","aaaa","cname","mx","txt","caa","srv","ns"]},"name":{"type":"string","description":"The label, such as `@` or `_dmarc`."},"value":{"type":"string","description":"The answer."}},"required":["domain","type","name","value"],"additionalProperties":false},"example":{"domain":"domain_1","type":"a","name":"TutorLoop","value":"Example value"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"record":{"$ref":"#/components/schemas/DNSRecord","description":"The DNS Record, with its status."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","record","links"]},"example":{"api":"https://api.sb/tutorloop.com","record":{"$id":"https://api.sb/tutorloop.com/dns-records/dns_record_1","$type":"DNSRecord","type":"a","name":"_dmarc","value":"192.0.2.10","owner":"platform"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"DNSRecord.set","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"DNSRecord.set"}},"/documents":{"post":{"operationId":"Document.create","summary":"Document.create","description":"Creates a Document.","tags":["Document"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"form":{"type":"string","description":"One of `document`, `deck`, or `sheet`.","enum":["document","deck","sheet"]},"template":{"type":"string","description":"A Template fills its variables from the graph to generate a Document, such as a proposal or an invoice. The Template id."}},"required":["form"],"additionalProperties":false},"example":{"form":"document"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"document":{"$ref":"#/components/schemas/Document","description":"The Document."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","document","links"]},"example":{"api":"https://api.sb/ledgerlark.com","document":{"$id":"https://api.sb/ledgerlark.com/documents/document_1","$type":"Document","form":"document"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Document.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Document.created"},"get":{"operationId":"Document.list","summary":"Document.list","description":"Returns Documents, newest first, one page at a time.","tags":["Document"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Document","description":"One page of Documents."},"description":"One page of Documents."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","documents","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Document","documents":[{"$id":"https://api.sb/ledgerlark.com/documents/document_1","$type":"Document","form":"document"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/documents?limit=20","next":"https://api.sb/ledgerlark.com/documents?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/documents/{id}":{"get":{"operationId":"Document.get","summary":"Document.get","description":"Returns one Document by id.","tags":["Document"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Document."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"document":{"$ref":"#/components/schemas/Document","description":"The Document."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","document","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Document","$id":"https://api.sb/ledgerlark.com/documents/document_1","document":{"$id":"https://api.sb/ledgerlark.com/documents/document_1","$type":"Document","form":"document"},"links":{"self":"https://api.sb/ledgerlark.com/documents/document_1","up":"https://api.sb/ledgerlark.com/documents"},"actions":{"render":"https://api.sb/ledgerlark.com/documents/document_1/render"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Document.update","summary":"Document.update","description":"Changes the given properties of a Document.","tags":["Document"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Document."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"form":{"type":"string","description":"One of `document`, `deck`, or `sheet`.","enum":["document","deck","sheet"]}},"additionalProperties":false},"example":{"form":"document"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"document":{"$ref":"#/components/schemas/Document","description":"The Document."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","document","links"]},"example":{"api":"https://api.sb/quietcopy.com","document":{"$id":"https://api.sb/quietcopy.com/documents/document_1","$type":"Document","form":"document"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Document.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Document.updated"},"delete":{"operationId":"Document.delete","summary":"Document.delete","description":"Deletes a Document; its history is kept.","tags":["Document"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Document."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"document":{"$ref":"#/components/schemas/Document","description":"The Document."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","document","links"]},"example":{"api":"https://api.sb/kilnbakery.com","document":{"$id":"https://api.sb/kilnbakery.com/documents/document_1","$type":"Document","form":"document"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Document.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Document.deleted"}},"/documents/{document}/render":{"post":{"operationId":"Document.render","summary":"Document.render","description":"Render produces a file from a Document in the format the reader asks for.","tags":["Document"],"parameters":[{"name":"document","in":"path","required":true,"schema":{"type":"string"},"description":"The Document to render."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"type":"string","description":"The file format."}},"required":["format"],"additionalProperties":false},"example":{"format":"Example format"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"file":{"type":"string","format":"uri","description":"Where the file lives."},"document":{"$ref":"#/components/schemas/Document","description":"The Document rendered."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","file","document","links"]},"example":{"api":"https://api.sb/ledgerlark.com","file":"https://ledgerlark.com","document":{"$id":"https://api.sb/ledgerlark.com/documents/document_1","$type":"Document","form":"document"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Document.render","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Document.rendered"}},"/domains":{"post":{"operationId":"Domain.create","summary":"Domain.create","description":"Creates a Domain.","tags":["Domain"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hostname":{"type":"string","description":"The name, such as `example.com`."},"role":{"type":"string","description":"What the Domain does for the Thing it serves; a defensive name takes `redirect`.","enum":["canonical","alias","redirect","preview","tenant","signIn","outreach"]},"acquired":{"type":"string","description":"One of `claimed`, `purchased`, or `connected`.","enum":["claimed","purchased","connected"]},"registrant":{"type":"string","description":"The owner of record: the holding Company while held, or the holder of a self-serve Startup’s Stripe account. The Party id."},"expiresAt":{"type":"string","format":"date-time","description":"When the registration ends, as the registrar reports it; empty for a claimed Domain."},"autoRenew":{"type":"boolean","description":"True when renewal runs without a Decision; false sends the Domain through renewal review."},"renewalPrice":{"$ref":"#/components/schemas/Money","description":"What the next renewal costs, which for a premium name differs from the purchase price."},"transferableAt":{"type":"string","format":"date-time","description":"The first moment the registrar allows a transfer out, after any registration, transfer or registrant lock."},"names":{"type":"string","description":"How its subdomains are given out: explicit records only, or one-label claims by other Startups.","enum":["closed","issued"]},"publicSuffix":{"type":"boolean","description":"True once the public suffix list browsers ship carries the Domain; an issuing Domain gives out no label before then."},"registrarAccount":{"type":"string","description":"The registrar account that holds the Domain: one per Startup, never shared with a sibling."},"registryLock":{"type":"boolean","description":"True when the registry refuses transfer, update and delete until a verified out-of-band request lifts it."},"certificate":{"description":"Certificate state (`pending`, `active`, `renewing` or `failed`), its expiry, and the failing check with its fix."},"validation":{"type":"string","description":"`delegated` proves control through a CNAME to the platform; `serving` is for an apex that cannot hold one.","enum":["delegated","serving"]},"walletsEnabled":{"type":"boolean","description":"True once Stripe lists the Domain as a payment method domain on the Startup’s account."},"carriedIdentity":{"type":"boolean","description":"True once the Domain received mail, hosted a Mailbox or verified an outside account; it never resets."},"to":{"type":"string","description":"For a redirect: the canonical Domain it forwards to permanently, path and query kept. The Domain id."},"site":{"type":"string","description":"A Site answers on one or more Domains; each Domain serves one Site. The Site id."},"tenant":{"type":"string","description":"A Tenant proves control of its Customer’s email domain, so sign-ins on that domain follow the Tenant’s policy. The Tenant id."}},"required":["hostname","role"],"additionalProperties":false},"example":{"hostname":"petpantry.shop","role":"canonical"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/petpantry.shop","domain":{"$id":"https://api.sb/petpantry.shop/domains/domain_1","$type":"Domain","hostname":"petpantry.shop","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Domain.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.created"},"get":{"operationId":"Domain.list","summary":"Domain.list","description":"Returns Domains, newest first, one page at a time.","tags":["Domain"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"domains":{"type":"array","items":{"$ref":"#/components/schemas/Domain","description":"One page of Domains."},"description":"One page of Domains."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domains","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Domain","domains":[{"$id":"https://api.sb/kilnbakery.com/domains/domain_1","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/domains?limit=20","next":"https://api.sb/kilnbakery.com/domains?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/domains/{id}":{"get":{"operationId":"Domain.get","summary":"Domain.get","description":"Returns one Domain by id.","tags":["Domain"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Domain."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Domain","$id":"https://api.sb/quietcopy.com/domains/domain_1","domain":{"$id":"https://api.sb/quietcopy.com/domains/domain_1","$type":"Domain","hostname":"quietcopy.com","role":"canonical","state":"verifying"},"links":{"self":"https://api.sb/quietcopy.com/domains/domain_1","up":"https://api.sb/quietcopy.com/domains"},"actions":{"authenticate":"https://api.sb/quietcopy.com/domains/domain_1/authenticate","release":"https://api.sb/quietcopy.com/domains/domain_1/release","renew":"https://api.sb/quietcopy.com/domains/domain_1/renew"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Domain.update","summary":"Domain.update","description":"Changes the given properties of a Domain.","tags":["Domain"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Domain."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"hostname":{"type":"string","description":"The name, such as `example.com`."},"role":{"type":"string","description":"What the Domain does for the Thing it serves; a defensive name takes `redirect`.","enum":["canonical","alias","redirect","preview","tenant","signIn","outreach"]},"acquired":{"type":"string","description":"One of `claimed`, `purchased`, or `connected`.","enum":["claimed","purchased","connected"]},"registrant":{"type":"string","description":"The owner of record: the holding Company while held, or the holder of a self-serve Startup’s Stripe account. The Party id."},"expiresAt":{"type":"string","format":"date-time","description":"When the registration ends, as the registrar reports it; empty for a claimed Domain."},"autoRenew":{"type":"boolean","description":"True when renewal runs without a Decision; false sends the Domain through renewal review."},"renewalPrice":{"$ref":"#/components/schemas/Money","description":"What the next renewal costs, which for a premium name differs from the purchase price."},"transferableAt":{"type":"string","format":"date-time","description":"The first moment the registrar allows a transfer out, after any registration, transfer or registrant lock."},"names":{"type":"string","description":"How its subdomains are given out: explicit records only, or one-label claims by other Startups.","enum":["closed","issued"]},"publicSuffix":{"type":"boolean","description":"True once the public suffix list browsers ship carries the Domain; an issuing Domain gives out no label before then."},"registrarAccount":{"type":"string","description":"The registrar account that holds the Domain: one per Startup, never shared with a sibling."},"registryLock":{"type":"boolean","description":"True when the registry refuses transfer, update and delete until a verified out-of-band request lifts it."},"certificate":{"description":"Certificate state (`pending`, `active`, `renewing` or `failed`), its expiry, and the failing check with its fix."},"validation":{"type":"string","description":"`delegated` proves control through a CNAME to the platform; `serving` is for an apex that cannot hold one.","enum":["delegated","serving"]},"walletsEnabled":{"type":"boolean","description":"True once Stripe lists the Domain as a payment method domain on the Startup’s account."},"carriedIdentity":{"type":"boolean","description":"True once the Domain received mail, hosted a Mailbox or verified an outside account; it never resets."},"to":{"type":"string","description":"For a redirect: the canonical Domain it forwards to permanently, path and query kept. The Domain id."}},"additionalProperties":false},"example":{"hostname":"routewise.dev"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/routewise.dev","domain":{"$id":"https://api.sb/routewise.dev/domains/domain_1","$type":"Domain","hostname":"routewise.dev","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Domain.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.updated"},"delete":{"operationId":"Domain.delete","summary":"Domain.delete","description":"Deletes a Domain; its history is kept.","tags":["Domain"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Domain."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/ledgerlark.com","domain":{"$id":"https://api.sb/ledgerlark.com/domains/domain_1","$type":"Domain","hostname":"ledgerlark.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Domain.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.deleted"}},"/domains/{domain}/authenticate":{"post":{"operationId":"Domain.authenticate","summary":"Domain.authenticate","description":"Authenticate writes a Domain’s SPF, DKIM and DMARC records and verifies them before its first send.","tags":["Domain"],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"description":"The sending Domain."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"dmarc":{"type":"string","description":"The DMARC policy; it starts at `none` with reports and tightens to `quarantine`.","enum":["none","quarantine","reject"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain, authenticated."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/routewise.dev","domain":{"$id":"https://api.sb/routewise.dev/domains/domain_1","$type":"Domain","hostname":"routewise.dev","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Domain.authenticate","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.authenticated"}},"/domains/benchmark":{"post":{"operationId":"Domain.benchmark","summary":"Domain.benchmark","description":"Benchmark measures a Domain’s estimated traffic, ranking Keywords, authority and referring domains beside the competitors named.","tags":["Domain"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hostname":{"type":"string","description":"The name to measure: the Startup’s own or a competitor’s."},"competitors":{"type":"array","items":{"type":"string","description":"Names to measure beside it."},"description":"Names to measure beside it."}},"required":["hostname"],"additionalProperties":false},"example":{"hostname":"taxcalc.tools"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"readings":{"description":"One measure per name, each with its method and observation time."},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain measured."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","readings","domain","links"]},"example":{"api":"https://api.sb/routewise.dev","readings":{},"domain":{"$id":"https://api.sb/routewise.dev/domains/domain_1","$type":"Domain","hostname":"routewise.dev","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Domain.benchmark","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.benchmarked"}},"/domains/claim":{"post":{"operationId":"Domain.claim","summary":"Domain.claim","description":"Claim gives a Startup a one-label name under an issuing Domain, or assigns it a held Domain through an approved Change.","tags":["Domain"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hostname":{"type":"string","description":"The name to claim."},"startup":{"type":"string","description":"The Startup it serves. The Startup id."}},"required":["hostname","startup"],"additionalProperties":false},"example":{"hostname":"acme.headless.ly","startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The claimed Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/quietcopy.com","domain":{"$id":"https://api.sb/quietcopy.com/domains/domain_1","$type":"Domain","hostname":"quietcopy.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Domain.claim","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.claimed"}},"/domains/connect":{"post":{"operationId":"Domain.connect","summary":"Domain.connect","description":"Connect attaches a hostname a Startup already holds and verifies ownership through DNS.","tags":["Domain"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hostname":{"type":"string","description":"The hostname to attach."},"startup":{"type":"string","description":"The Startup it serves. The Startup id."},"tenant":{"type":"string","description":"The Tenant it serves, when a Customer connects its own name. The Tenant id."}},"required":["hostname","startup"],"additionalProperties":false},"example":{"hostname":"kilnbakery.com","startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The connected Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_1","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Domain.connect","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.connected"}},"/domains/register":{"post":{"operationId":"Domain.register","summary":"Domain.register","description":"Register buys a hostname for a Startup and points it at the Startup’s address.","tags":["Domain"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hostname":{"type":"string","description":"The hostname to buy."},"startup":{"type":"string","description":"The Startup it serves. The Startup id."}},"required":["hostname","startup"],"additionalProperties":false},"example":{"hostname":"patentpad.com","startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The registered Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/patentpad.com","domain":{"$id":"https://api.sb/patentpad.com/domains/domain_1","$type":"Domain","hostname":"patentpad.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Domain.register","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.registered"}},"/domains/{domain}/release":{"post":{"operationId":"Domain.release","summary":"Domain.release","description":"Release lets a Domain’s registration or claim end, keeping its record, history and aliases.","tags":["Domain"],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"description":"The Domain to let go."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it is released, recorded as a Decision."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The released Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/shiftnote.app","domain":{"$id":"https://api.sb/shiftnote.app/domains/domain_1","$type":"Domain","hostname":"shiftnote.app","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Domain.release","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.released"}},"/domains/{domain}/renew":{"post":{"operationId":"Domain.renew","summary":"Domain.renew","description":"Renew extends a Domain’s registration by whole years at its renewal price, paid by its owner of record.","tags":["Domain"],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"description":"The Domain to renew."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"years":{"type":"integer","description":"Years to add. Defaults to the Domain’s tier in the renewal Setting."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain, with its new `expiresAt`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/shiftnote.app","domain":{"$id":"https://api.sb/shiftnote.app/domains/domain_1","$type":"Domain","hostname":"shiftnote.app","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Domain.renew","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.renewed"}},"/domains/search":{"post":{"operationId":"Domain.search","summary":"Domain.search","description":"Search lists candidate names with availability, first-year price, renewal price and the rules of each extension.","tags":["Domain"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"A name, or a word to build names from."},"extensions":{"type":"array","items":{"type":"string","description":"Extensions to check, such as `com` or `ai`."},"description":"Extensions to check, such as `com` or `ai`."}},"required":["query"],"additionalProperties":false},"example":{"query":"Example query"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/Domain","description":"Candidate Domains, each with its prices, three-year cost and extension rules."},"description":"Candidate Domains, each with its prices, three-year cost and extension rules."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","candidates","links"]},"example":{"api":"https://api.sb/kilnbakery.com","candidates":[{"$id":"https://api.sb/kilnbakery.com/domains/domain_1","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"}],"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Domain.search","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.searched"}},"/domains/{domain}/transfer":{"post":{"operationId":"Domain.transfer","summary":"Domain.transfer","description":"Transfer moves a Domain’s registration to another holder or registrar, with its records intact.","tags":["Domain"],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"description":"The Domain to move."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"The receiving holder or registrar."},"kind":{"type":"string","description":"`in` from another registrar, `registrant` to a new owner, `push` between accounts, or `out` to leave.","enum":["in","registrant","push","out"]},"code":{"type":"string","description":"The transfer code, for `in` and `out`. The Secret id."}},"required":["to","kind"],"additionalProperties":false},"example":{"to":"Example to","kind":"in"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"domain":{"$ref":"#/components/schemas/Domain","description":"The transferred Domain."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","domain","links"]},"example":{"api":"https://api.sb/shiftnote.app","domain":{"$id":"https://api.sb/shiftnote.app/domains/domain_1","$type":"Domain","hostname":"shiftnote.app","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Domain.transfer","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.transferred"}},"/domains/{domain}/verify":{"post":{"operationId":"Domain.verify","summary":"Domain.verify","description":"Verify checks a Domain’s DNS, ownership and certificate again and records each result, with the fix for any failure.","tags":["Domain"],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"description":"The Domain to check."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"checks":{"description":"Each check with its status and, on failure, its reason and fix."},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain with its `state` after the checks."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","checks","domain","links"]},"example":{"api":"https://api.sb/routewise.dev","checks":{},"domain":{"$id":"https://api.sb/routewise.dev/domains/domain_1","$type":"Domain","hostname":"routewise.dev","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Domain.verify","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Domain.verified"}},"/enrollments":{"post":{"operationId":"Enrollment.create","summary":"Enrollment.create","description":"Creates an Enrollment.","tags":["Enrollment"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"step":{"type":"string","description":"The Sequence step the person is on."},"nextAt":{"type":"string","format":"date-time","description":"When the next step fires; empty while paused or exited."},"branches":{"type":"array","items":{"type":"string","description":"The branches taken so far, in order."},"description":"The branches taken so far, in order."},"exitReason":{"type":"string","description":"Why the run ended.","enum":["replied","bought","unsubscribed","suppressed","silent","finished"]},"contact":{"type":"string","description":"The Contact this run belongs to; pausing one Contact’s nurture pauses this Enrollment. The Contact id."},"sequence":{"type":"string","description":"The Sequence whose steps this Enrollment walks, one step at a time. The Sequence id."}},"required":["step"],"additionalProperties":false},"example":{"step":"Example step"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","enrollment","links"]},"example":{"api":"https://api.sb/kilnbakery.com","enrollment":{"$id":"https://api.sb/kilnbakery.com/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Enrollment.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Enrollment.created"},"get":{"operationId":"Enrollment.list","summary":"Enrollment.list","description":"Returns Enrollments, newest first, one page at a time.","tags":["Enrollment"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"enrollments":{"type":"array","items":{"$ref":"#/components/schemas/Enrollment","description":"One page of Enrollments."},"description":"One page of Enrollments."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","enrollments","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Enrollment","enrollments":[{"$id":"https://api.sb/petpantry.shop/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/enrollments?limit=20","next":"https://api.sb/petpantry.shop/enrollments?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/enrollments/{id}":{"get":{"operationId":"Enrollment.get","summary":"Enrollment.get","description":"Returns one Enrollment by id.","tags":["Enrollment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Enrollment."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","enrollment","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Enrollment","$id":"https://api.sb/tutorloop.com/enrollments/enrollment_1","enrollment":{"$id":"https://api.sb/tutorloop.com/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"},"links":{"self":"https://api.sb/tutorloop.com/enrollments/enrollment_1","up":"https://api.sb/tutorloop.com/enrollments"},"actions":{"cancel":"https://api.sb/tutorloop.com/enrollments/enrollment_1/cancel","pause":"https://api.sb/tutorloop.com/enrollments/enrollment_1/pause","resume":"https://api.sb/tutorloop.com/enrollments/enrollment_1/resume"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Enrollment.update","summary":"Enrollment.update","description":"Changes the given properties of an Enrollment.","tags":["Enrollment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Enrollment."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"step":{"type":"string","description":"The Sequence step the person is on."},"nextAt":{"type":"string","format":"date-time","description":"When the next step fires; empty while paused or exited."},"branches":{"type":"array","items":{"type":"string","description":"The branches taken so far, in order."},"description":"The branches taken so far, in order."},"exitReason":{"type":"string","description":"Why the run ended.","enum":["replied","bought","unsubscribed","suppressed","silent","finished"]}},"additionalProperties":false},"example":{"nextAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","enrollment","links"]},"example":{"api":"https://api.sb/patentpad.com","enrollment":{"$id":"https://api.sb/patentpad.com/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Enrollment.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Enrollment.updated"},"delete":{"operationId":"Enrollment.delete","summary":"Enrollment.delete","description":"Deletes an Enrollment; its history is kept.","tags":["Enrollment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Enrollment."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","enrollment","links"]},"example":{"api":"https://api.sb/shiftnote.app","enrollment":{"$id":"https://api.sb/shiftnote.app/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Enrollment.delete","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Enrollment.deleted"}},"/enrollments/{enrollment}/cancel":{"post":{"operationId":"Enrollment.cancel","summary":"Enrollment.cancel","description":"Cancel ends one Contact’s run through a Sequence for good, with the reason it records as `exitReason`.","tags":["Enrollment"],"parameters":[{"name":"enrollment","in":"path","required":true,"schema":{"type":"string"},"description":"The Enrollment to end."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it ends.","enum":["replied","bought","unsubscribed","suppressed","silent","finished"]}},"required":["reason"],"additionalProperties":false},"example":{"reason":"replied"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment, now `exited`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","enrollment","links"]},"example":{"api":"https://api.sb/quietcopy.com","enrollment":{"$id":"https://api.sb/quietcopy.com/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Enrollment.cancel","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Enrollment.canceled"}},"/enrollments/{enrollment}/pause":{"post":{"operationId":"Enrollment.pause","summary":"Enrollment.pause","description":"Pause stops one Contact’s run through a Sequence at its current step, without ending it.","tags":["Enrollment"],"parameters":[{"name":"enrollment","in":"path","required":true,"schema":{"type":"string"},"description":"The Enrollment to pause."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment, now `paused`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","enrollment","links"]},"example":{"api":"https://api.sb/kilnbakery.com","enrollment":{"$id":"https://api.sb/kilnbakery.com/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Enrollment.pause","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Enrollment.paused"}},"/enrollments/{enrollment}/resume":{"post":{"operationId":"Enrollment.resume","summary":"Enrollment.resume","description":"Resume restarts a paused run at the step it stopped on and sets when that step fires.","tags":["Enrollment"],"parameters":[{"name":"enrollment","in":"path","required":true,"schema":{"type":"string"},"description":"The paused Enrollment."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment, `active` again."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","enrollment","links"]},"example":{"api":"https://api.sb/shiftnote.app","enrollment":{"$id":"https://api.sb/shiftnote.app/enrollments/enrollment_1","$type":"Enrollment","status":"active","step":"Example step"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Enrollment.resume","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Enrollment.resumed"}},"/entitlements":{"post":{"operationId":"Entitlement.create","summary":"Entitlement.create","description":"Creates an Entitlement.","tags":["Entitlement"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"verb":{"type":"string","description":"The Verb it grants. The Verb id."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."},"kind":{"type":"string","description":"Computed, never set: `feature`, or `limit` when a Limit bounds it.","enum":["feature","limit"]},"offer":{"type":"string","description":"An accepted Offer grants Entitlements, each a Verb on a Noun, optionally bounded by a Limit. The Offer id."},"customer":{"type":"string","description":"A Customer’s Entitlements are what it may do right now, granted by the Offers it accepted. The Customer id."}},"required":["verb"],"additionalProperties":false},"example":{"verb":"verb_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entitlement","links"]},"example":{"api":"https://api.sb/shiftnote.app","entitlement":{"$id":"https://api.sb/shiftnote.app/entitlements/entitlement_1","$type":"Entitlement","verb":"verb_1"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Entitlement.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Entitlement.created"},"get":{"operationId":"Entitlement.list","summary":"Entitlement.list","description":"Returns Entitlements, newest first, one page at a time.","tags":["Entitlement"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"entitlements":{"type":"array","items":{"$ref":"#/components/schemas/Entitlement","description":"One page of Entitlements."},"description":"One page of Entitlements."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entitlements","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Entitlement","entitlements":[{"$id":"https://api.sb/shiftnote.app/entitlements/entitlement_1","$type":"Entitlement","verb":"verb_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/entitlements?limit=20","next":"https://api.sb/shiftnote.app/entitlements?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/entitlements/{id}":{"get":{"operationId":"Entitlement.get","summary":"Entitlement.get","description":"Returns one Entitlement by id.","tags":["Entitlement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Entitlement."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entitlement","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Entitlement","$id":"https://api.sb/shiftnote.app/entitlements/entitlement_1","entitlement":{"$id":"https://api.sb/shiftnote.app/entitlements/entitlement_1","$type":"Entitlement","verb":"verb_1"},"links":{"self":"https://api.sb/shiftnote.app/entitlements/entitlement_1","up":"https://api.sb/shiftnote.app/entitlements"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Entitlement.update","summary":"Entitlement.update","description":"Changes the given properties of an Entitlement.","tags":["Entitlement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Entitlement."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"verb":{"type":"string","description":"The Verb it grants. The Verb id."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."},"kind":{"type":"string","description":"Computed, never set: `feature`, or `limit` when a Limit bounds it.","enum":["feature","limit"]}},"additionalProperties":false},"example":{"verb":"verb_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entitlement","links"]},"example":{"api":"https://api.sb/tutorloop.com","entitlement":{"$id":"https://api.sb/tutorloop.com/entitlements/entitlement_1","$type":"Entitlement","verb":"verb_1"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Entitlement.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Entitlement.updated"},"delete":{"operationId":"Entitlement.delete","summary":"Entitlement.delete","description":"Deletes an Entitlement; its history is kept.","tags":["Entitlement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Entitlement."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entitlement","links"]},"example":{"api":"https://api.sb/petpantry.shop","entitlement":{"$id":"https://api.sb/petpantry.shop/entitlements/entitlement_1","$type":"Entitlement","verb":"verb_1"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Entitlement.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Entitlement.deleted"}},"/entitlements/check":{"post":{"operationId":"Entitlement.check","summary":"Entitlement.check","description":"Check says whether a Customer may call a Verb now, how much of its Limit remains, when that resets, and which Offer lifts it.","tags":["Entitlement"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"type":"string","description":"The Customer making the call. The Customer id."},"verb":{"type":"string","description":"The Verb it wants to call, as `Noun.verb`. The Verb id."},"amount":{"type":"integer","description":"How many units the call would use. Defaults to 1."}},"required":["customer","verb"],"additionalProperties":false},"example":{"customer":"customer_1","verb":"verb_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"allowed":{"type":"boolean","description":"True when an Entitlement grants the call and its Limit has room for `amount`."},"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement that grants the Verb, when one does."},"remaining":{"type":"integer","description":"Units left in the current period; absent for a `feature` Entitlement."},"resetsAt":{"type":"string","format":"date-time","description":"When the period resets; absent when the Limit never resets."},"upgrade":{"$ref":"#/components/schemas/Offer","description":"The Offer that lifts the bound, when its Offer’s `atBound` is `upgrade`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","allowed","links"]},"example":{"api":"https://api.sb/ledgerlark.com","allowed":true,"entitlement":{"$id":"https://api.sb/ledgerlark.com/entitlements/entitlement_1","$type":"Entitlement","verb":"verb_1"},"remaining":1,"resetsAt":"2026-10-22T12:00:00Z","upgrade":{"$id":"https://api.sb/ledgerlark.com/offers/offer_1","$type":"Offer","price":{"amount":400,"currency":"USD"}},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Entitlement.check","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Entitlement.checked"}},"/entries/{id}":{"get":{"operationId":"Entry.get","summary":"Entry.get","description":"Returns one Entry by id.","tags":["Entry"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Entry."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"entry":{"$ref":"#/components/schemas/Entry","description":"The Entry."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entry","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Entry","$id":"https://api.sb/kilnbakery.com/entries/entry_1","entry":{"$id":"https://api.sb/kilnbakery.com/entries/entry_1","$type":"Entry","account":"cash","amount":{"amount":9,"currency":"USD"},"direction":"debit","startup":"startup_1"},"links":{"self":"https://api.sb/kilnbakery.com/entries/entry_1","up":"https://api.sb/kilnbakery.com/entries"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/entries":{"get":{"operationId":"Entry.list","summary":"Entry.list","description":"Returns Entries, newest first, one page at a time.","tags":["Entry"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Entry","description":"One page of Entries."},"description":"One page of Entries."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entries","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Entry","entries":[{"$id":"https://api.sb/quietcopy.com/entries/entry_1","$type":"Entry","account":"cash","amount":{"amount":39,"currency":"USD"},"direction":"debit","startup":"startup_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/entries?limit=20","next":"https://api.sb/quietcopy.com/entries?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/entries/post":{"post":{"operationId":"Entry.post","summary":"Entry.post","description":"Post records a manual Entry pair that no Verb caused, once a second Role approves it.","tags":["Entry"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"debit":{"type":"string","description":"The account code debited, such as `expense.hosting`."},"credit":{"type":"string","description":"The account code credited."},"amount":{"$ref":"#/components/schemas/Money","description":"The amount and currency."},"memo":{"type":"string","description":"Why the Entry exists."}},"required":["debit","credit","amount","memo"],"additionalProperties":false},"example":{"debit":"Example debit","credit":"Example credit","amount":{"amount":9,"currency":"USD"},"memo":"Example memo"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"entry":{"$ref":"#/components/schemas/Entry","description":"The debit Entry; its credit pair links to it."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entry","links"]},"example":{"api":"https://api.sb/kilnbakery.com","entry":{"$id":"https://api.sb/kilnbakery.com/entries/entry_1","$type":"Entry","account":"cash","amount":{"amount":9,"currency":"USD"},"direction":"debit","startup":"startup_1"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Entry.post","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Entry.posted"}},"/entries/settle":{"post":{"operationId":"Entry.settle","summary":"Entry.settle","description":"Settle nets a Period’s intercompany Entries between two Companies into one transfer through Stripe and reconciles both sides.","tags":["Entry"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"period":{"type":"string","description":"The closed Period whose intercompany pairs settle. The Period id."},"from":{"type":"string","description":"The Company that owes the net amount. The Company id."},"to":{"type":"string","description":"The Company that receives it. The Company id."}},"required":["period","from","to"],"additionalProperties":false},"example":{"period":"period_1","from":"company_1","to":"company_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The one transfer that settles every pair."},"entry":{"$ref":"#/components/schemas/Entry","description":"The intercompany Entry, now settled."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transaction","entry","links"]},"example":{"api":"https://api.sb/patentpad.com","transaction":{"$id":"https://api.sb/patentpad.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":499,"currency":"USD"}},"entry":{"$id":"https://api.sb/patentpad.com/entries/entry_1","$type":"Entry","account":"cash","amount":{"amount":499,"currency":"USD"},"direction":"debit","startup":"startup_1"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Entry.settle","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Entry.settled"}},"/evaluators":{"post":{"operationId":"Evaluator.create","summary":"Evaluator.create","description":"Creates an Evaluator.","tags":["Evaluator"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `code`, `generative`, `agentic`, or `human`.","enum":["code","generative","agentic","human"]},"cascade":{"type":"array","items":{"type":"string","description":"Kinds tried in order when one declines, such as code, then a Human."},"description":"Kinds tried in order when one declines, such as code, then a Human."},"instructions":{"type":"string","description":"For a generative or agentic Function, what it does and how."},"model":{"type":"string","description":"For a generative or agentic Function, the model it runs on."},"tools":{"type":"array","items":{"type":"string","description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each. The Verb id."},"description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each."},"maxSteps":{"type":"integer","description":"For an agentic Function, the most steps one Action may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Action may spend; the Mandate’s Limits apply as well."},"role":{"type":"string","description":"For a human Function, the Role its Tasks go to. The Role id."},"form":{"description":"For a human Function, the form; generated from the Verb’s inputs and outputs when absent."},"sla":{"type":"string","description":"For a human Function, how long a Task may wait, as an ISO 8601 duration."},"escalateTo":{"type":"string","description":"For a human Function, the Role a Task moves to when the service level passes. The Role id."},"rubric":{"type":"string","description":"What it grades against. An agent never varies its own Evaluators."},"integration":{"type":"string","description":"The Integration whose outside run returns the verdict, such as a CI job; empty when the platform runs it. The Integration id."},"required":{"type":"boolean","description":"True when `Change.merge` refuses until this Evaluator passes on the Change’s head."}},"required":["kind","rubric"],"additionalProperties":false},"example":{"kind":"code","rubric":"Example rubric"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"evaluator":{"$ref":"#/components/schemas/Evaluator","description":"The Evaluator."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evaluator","links"]},"example":{"api":"https://api.sb/patentpad.com","evaluator":{"$id":"https://api.sb/patentpad.com/evaluators/evaluator_1","$type":"Evaluator","kind":"code","rubric":"Example rubric"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Evaluator.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Evaluator.created"},"get":{"operationId":"Evaluator.list","summary":"Evaluator.list","description":"Returns Evaluators, newest first, one page at a time.","tags":["Evaluator"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"evaluators":{"type":"array","items":{"$ref":"#/components/schemas/Evaluator","description":"One page of Evaluators."},"description":"One page of Evaluators."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evaluators","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Evaluator","evaluators":[{"$id":"https://api.sb/routewise.dev/evaluators/evaluator_1","$type":"Evaluator","kind":"code","rubric":"Example rubric"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/evaluators?limit=20","next":"https://api.sb/routewise.dev/evaluators?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/evaluators/{id}":{"get":{"operationId":"Evaluator.get","summary":"Evaluator.get","description":"Returns one Evaluator by id.","tags":["Evaluator"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Evaluator."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"evaluator":{"$ref":"#/components/schemas/Evaluator","description":"The Evaluator."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evaluator","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Evaluator","$id":"https://api.sb/patentpad.com/evaluators/evaluator_1","evaluator":{"$id":"https://api.sb/patentpad.com/evaluators/evaluator_1","$type":"Evaluator","kind":"code","rubric":"Example rubric"},"links":{"self":"https://api.sb/patentpad.com/evaluators/evaluator_1","up":"https://api.sb/patentpad.com/evaluators"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Evaluator.update","summary":"Evaluator.update","description":"Changes the given properties of an Evaluator.","tags":["Evaluator"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Evaluator."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `code`, `generative`, `agentic`, or `human`.","enum":["code","generative","agentic","human"]},"cascade":{"type":"array","items":{"type":"string","description":"Kinds tried in order when one declines, such as code, then a Human."},"description":"Kinds tried in order when one declines, such as code, then a Human."},"instructions":{"type":"string","description":"For a generative or agentic Function, what it does and how."},"model":{"type":"string","description":"For a generative or agentic Function, the model it runs on."},"tools":{"type":"array","items":{"type":"string","description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each. The Verb id."},"description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each."},"maxSteps":{"type":"integer","description":"For an agentic Function, the most steps one Action may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Action may spend; the Mandate’s Limits apply as well."},"role":{"type":"string","description":"For a human Function, the Role its Tasks go to. The Role id."},"form":{"description":"For a human Function, the form; generated from the Verb’s inputs and outputs when absent."},"sla":{"type":"string","description":"For a human Function, how long a Task may wait, as an ISO 8601 duration."},"escalateTo":{"type":"string","description":"For a human Function, the Role a Task moves to when the service level passes. The Role id."},"rubric":{"type":"string","description":"What it grades against. An agent never varies its own Evaluators."},"integration":{"type":"string","description":"The Integration whose outside run returns the verdict, such as a CI job; empty when the platform runs it. The Integration id."},"required":{"type":"boolean","description":"True when `Change.merge` refuses until this Evaluator passes on the Change’s head."}},"additionalProperties":false},"example":{"integration":"integration_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"evaluator":{"$ref":"#/components/schemas/Evaluator","description":"The Evaluator."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evaluator","links"]},"example":{"api":"https://api.sb/petpantry.shop","evaluator":{"$id":"https://api.sb/petpantry.shop/evaluators/evaluator_1","$type":"Evaluator","kind":"code","rubric":"Example rubric"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Evaluator.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Evaluator.updated"},"delete":{"operationId":"Evaluator.delete","summary":"Evaluator.delete","description":"Deletes an Evaluator; its history is kept.","tags":["Evaluator"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Evaluator."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"evaluator":{"$ref":"#/components/schemas/Evaluator","description":"The Evaluator."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evaluator","links"]},"example":{"api":"https://api.sb/quietcopy.com","evaluator":{"$id":"https://api.sb/quietcopy.com/evaluators/evaluator_1","$type":"Evaluator","kind":"code","rubric":"Example rubric"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Evaluator.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Evaluator.deleted"}},"/events":{"post":{"operationId":"Event.create","summary":"Event.create","description":"Creates an Event.","tags":["Event"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The Noun and the event form of its Verb, such as `Order.placed`."},"at":{"type":"string","format":"date-time","description":"When it happened."},"data":{"description":"The Thing as the Action left it."},"seq":{"type":"integer","description":"Its position in the namespace, one more than the Event before; any seq is a cursor into the history."},"action":{"type":"string","description":"A completed Action emits its Events, which Triggers, Watches and Metrics read. The Action id."}},"required":["name","at"],"additionalProperties":false},"example":{"name":"TutorLoop","at":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"event":{"$ref":"#/components/schemas/Event","description":"The Event."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","event","links"]},"example":{"api":"https://api.sb/tutorloop.com","event":{"$id":"https://api.sb/tutorloop.com/events/event_1","$type":"Event","name":"TutorLoop","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Event.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Event.created"},"get":{"operationId":"Event.list","summary":"Event.list","description":"Returns Events, newest first, one page at a time.","tags":["Event"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"events":{"type":"array","items":{"$ref":"#/components/schemas/Event","description":"One page of Events."},"description":"One page of Events."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","events","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Event","events":[{"$id":"https://api.sb/tutorloop.com/events/event_1","$type":"Event","name":"TutorLoop","at":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/events?limit=20","next":"https://api.sb/tutorloop.com/events?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/events/{id}":{"get":{"operationId":"Event.get","summary":"Event.get","description":"Returns one Event by id.","tags":["Event"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Event."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"event":{"$ref":"#/components/schemas/Event","description":"The Event."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","event","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Event","$id":"https://api.sb/petpantry.shop/events/event_1","event":{"$id":"https://api.sb/petpantry.shop/events/event_1","$type":"Event","name":"PetPantry","at":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/petpantry.shop/events/event_1","up":"https://api.sb/petpantry.shop/events"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/events/capture":{"post":{"operationId":"Event.capture","summary":"Event.capture","description":"Capture records an Event from a Site, App or API call that no Verb emits, such as a page view or a click.","tags":["Event"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The Event name, `Noun.pastTense`."},"data":{"description":"The Event’s properties."},"visitor":{"type":"string","description":"The Visitor it happened to, when the person is not known. The Visitor id."}},"required":["name"],"additionalProperties":false},"example":{"name":"TutorLoop"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"event":{"$ref":"#/components/schemas/Event","description":"The captured Event."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","event","links"]},"example":{"api":"https://api.sb/tutorloop.com","event":{"$id":"https://api.sb/tutorloop.com/events/event_1","$type":"Event","name":"TutorLoop","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Event.capture","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Event.captured"}},"/evidence":{"post":{"operationId":"Evidence.create","summary":"Evidence.create","description":"Creates an Evidence.","tags":["Evidence"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"grade":{"type":"string","description":"One of `Behavior`, `Commitment`, or `Opinion`. An Opinion weighs zero.","enum":["Behavior","Commitment","Opinion"]},"quote":{"type":"string","description":"The words or reading, verbatim."},"source":{"type":"string","description":"Who or what it came from: an Interview, an Experiment, or a Metric reading."},"binds":{"type":"string","description":"The slot it grades, as `Hypothesis#<slot>`."},"force":{"type":"string","description":"One of `push`, `pull`, `anxiety`, or `habit`: the switching force it shows.","enum":["push","pull","anxiety","habit"]},"observedAt":{"type":"string","format":"date-time","description":"When it was observed."},"distinctIcpMembers":{"type":"integer","description":"How many distinct ICP members it represents."},"outside":{"type":"boolean","description":"Computed: true when its source shares no owner, Studio account, Agreement, or sibling chain with the Startup."},"askedBy":{"type":"string","description":"The Customer or Contact who asked through an App, the Portal or an Agent; their ask is Opinion grade. The Party id."},"stance":{"type":"string","description":"Whether it supports or refutes the slot it binds; a cancel refutes the slot its reason tests.","enum":["supports","refutes"]},"interview":{"type":"string","description":"An Interview captures quotes and commitments, each graded as Evidence. The Interview id."}},"required":["grade"],"additionalProperties":false},"example":{"grade":"Behavior"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"evidence":{"$ref":"#/components/schemas/Evidence","description":"The Evidence."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evidence","links"]},"example":{"api":"https://api.sb/ledgerlark.com","evidence":{"$id":"https://api.sb/ledgerlark.com/evidence/evidence_1","$type":"Evidence","grade":"Behavior"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Evidence.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Evidence.created"},"get":{"operationId":"Evidence.list","summary":"Evidence.list","description":"Returns Evidence, newest first, one page at a time.","tags":["Evidence"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Evidence","description":"One page of Evidence."},"description":"One page of Evidence."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evidence","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Evidence","evidence":[{"$id":"https://api.sb/ledgerlark.com/evidence/evidence_1","$type":"Evidence","grade":"Behavior"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/evidence?limit=20","next":"https://api.sb/ledgerlark.com/evidence?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/evidence/{id}":{"get":{"operationId":"Evidence.get","summary":"Evidence.get","description":"Returns one Evidence by id.","tags":["Evidence"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Evidence."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"evidence":{"$ref":"#/components/schemas/Evidence","description":"The Evidence."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evidence","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Evidence","$id":"https://api.sb/ledgerlark.com/evidence/evidence_1","evidence":{"$id":"https://api.sb/ledgerlark.com/evidence/evidence_1","$type":"Evidence","grade":"Behavior"},"links":{"self":"https://api.sb/ledgerlark.com/evidence/evidence_1","up":"https://api.sb/ledgerlark.com/evidence"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/experiments":{"post":{"operationId":"Experiment.create","summary":"Experiment.create","description":"Creates an Experiment.","tags":["Experiment"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"variants":{"description":"The variants and their split."},"decision":{"type":"string","description":"One of `ship`, `kill`, or `iterate`.","enum":["ship","kill","iterate"]},"hypothesis":{"type":"string","description":"Each Experiment settles one Hypothesis; many Experiments test one Hypothesis in turn. The Hypothesis id."}},"required":["variants"],"additionalProperties":false},"example":{"variants":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"experiment":{"$ref":"#/components/schemas/Experiment","description":"The Experiment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","experiment","links"]},"example":{"api":"https://api.sb/patentpad.com","experiment":{"$id":"https://api.sb/patentpad.com/experiments/experiment_1","$type":"Experiment","variants":{}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Experiment.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Experiment.created"},"get":{"operationId":"Experiment.list","summary":"Experiment.list","description":"Returns Experiments, newest first, one page at a time.","tags":["Experiment"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"experiments":{"type":"array","items":{"$ref":"#/components/schemas/Experiment","description":"One page of Experiments."},"description":"One page of Experiments."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","experiments","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Experiment","experiments":[{"$id":"https://api.sb/routewise.dev/experiments/experiment_1","$type":"Experiment","variants":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/experiments?limit=20","next":"https://api.sb/routewise.dev/experiments?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/experiments/{id}":{"get":{"operationId":"Experiment.get","summary":"Experiment.get","description":"Returns one Experiment by id.","tags":["Experiment"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Experiment."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"experiment":{"$ref":"#/components/schemas/Experiment","description":"The Experiment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","experiment","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Experiment","$id":"https://api.sb/patentpad.com/experiments/experiment_1","experiment":{"$id":"https://api.sb/patentpad.com/experiments/experiment_1","$type":"Experiment","variants":{}},"links":{"self":"https://api.sb/patentpad.com/experiments/experiment_1","up":"https://api.sb/patentpad.com/experiments"},"actions":{"conclude":"https://api.sb/patentpad.com/experiments/experiment_1/conclude","start":"https://api.sb/patentpad.com/experiments/experiment_1/start"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/experiments/{experiment}/conclude":{"post":{"operationId":"Experiment.conclude","summary":"Experiment.conclude","description":"Conclude ends an Experiment with a decision to ship, kill, or iterate, recorded as a Decision.","tags":["Experiment"],"parameters":[{"name":"experiment","in":"path","required":true,"schema":{"type":"string"},"description":"The running Experiment."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string","description":"One of `ship`, `kill`, `iterate`.","enum":["ship","kill","iterate"]}},"required":["decision"],"additionalProperties":false},"example":{"decision":"ship"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"decision":{"$ref":"#/components/schemas/Decision","description":"The recorded Decision."},"experiment":{"$ref":"#/components/schemas/Experiment","description":"The Experiment, now concluded."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","decision","experiment","links"]},"example":{"api":"https://api.sb/kilnbakery.com","decision":{"$id":"https://api.sb/kilnbakery.com/decisions/decision_1","$type":"Decision","choice":"Example choice","reason":"Example reason"},"experiment":{"$id":"https://api.sb/kilnbakery.com/experiments/experiment_1","$type":"Experiment","variants":{}},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Experiment.conclude","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Experiment.concluded"}},"/experiments/{experiment}/start":{"post":{"operationId":"Experiment.start","summary":"Experiment.start","description":"Start opens an Experiment, splits traffic across its variants, and begins measuring its primary and guardrail Metrics.","tags":["Experiment"],"parameters":[{"name":"experiment","in":"path","required":true,"schema":{"type":"string"},"description":"The Experiment to open."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"experiment":{"$ref":"#/components/schemas/Experiment","description":"The running Experiment."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","experiment","links"]},"example":{"api":"https://api.sb/patentpad.com","experiment":{"$id":"https://api.sb/patentpad.com/experiments/experiment_1","$type":"Experiment","variants":{}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Experiment.start","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Experiment.started"}},"/exposures":{"post":{"operationId":"Exposure.create","summary":"Exposure.create","description":"Creates an Exposure.","tags":["Exposure"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"unit":{"type":"string","description":"What was randomized: a Visitor, a Customer, a request, or an agent choice."},"options":{"description":"Every Variant that was possible at that moment."},"propensity":{"type":"number","description":"The probability the assigned Variant had, kept for later estimates."},"at":{"type":"string","format":"date-time","description":"When the unit met the Variant."},"triggered":{"type":"boolean","description":"True when the unit reached the point the Variant changes."},"variant":{"type":"string","description":"The Variant the Flag assigned to this unit. The Variant id."}},"required":["unit","options","propensity","at"],"additionalProperties":false},"example":{"unit":"Example unit","options":{},"propensity":1,"at":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"exposure":{"$ref":"#/components/schemas/Exposure","description":"The Exposure."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","exposure","links"]},"example":{"api":"https://api.sb/shiftnote.app","exposure":{"$id":"https://api.sb/shiftnote.app/exposures/exposure_1","$type":"Exposure","unit":"Example unit","options":{},"propensity":1,"at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Exposure.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Exposure.created"},"get":{"operationId":"Exposure.list","summary":"Exposure.list","description":"Returns Exposures, newest first, one page at a time.","tags":["Exposure"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"exposures":{"type":"array","items":{"$ref":"#/components/schemas/Exposure","description":"One page of Exposures."},"description":"One page of Exposures."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","exposures","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Exposure","exposures":[{"$id":"https://api.sb/shiftnote.app/exposures/exposure_1","$type":"Exposure","unit":"Example unit","options":{},"propensity":1,"at":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/exposures?limit=20","next":"https://api.sb/shiftnote.app/exposures?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/exposures/{id}":{"get":{"operationId":"Exposure.get","summary":"Exposure.get","description":"Returns one Exposure by id.","tags":["Exposure"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Exposure."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"exposure":{"$ref":"#/components/schemas/Exposure","description":"The Exposure."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","exposure","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Exposure","$id":"https://api.sb/shiftnote.app/exposures/exposure_1","exposure":{"$id":"https://api.sb/shiftnote.app/exposures/exposure_1","$type":"Exposure","unit":"Example unit","options":{},"propensity":1,"at":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/shiftnote.app/exposures/exposure_1","up":"https://api.sb/shiftnote.app/exposures"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/files":{"post":{"operationId":"File.create","summary":"File.create","description":"Creates a File.","tags":["File"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contentType":{"type":"string","description":"The media type, such as `application/pdf`."},"size":{"type":"integer","description":"The size in bytes."},"name":{"type":"string","description":"The file name it was uploaded with."},"visibility":{"type":"string","description":"Who may read it: `Owner`, `Customer`, or `Public`. The default is `Owner`.","enum":["Owner","Customer","Public","Owner"]},"document":{"type":"string","description":"Each rendering of a Document to a format, such as PDF, is stored as a File. The Document id."}},"required":["contentType","size"],"additionalProperties":false},"example":{"contentType":"Example content type","size":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"file":{"$ref":"#/components/schemas/File","description":"The File."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","file","links"]},"example":{"api":"https://api.sb/quietcopy.com","file":{"$id":"https://api.sb/quietcopy.com/files/file_1","$type":"File","contentType":"Example content type","size":1},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"File.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"File.created"},"get":{"operationId":"File.list","summary":"File.list","description":"Returns Files, newest first, one page at a time.","tags":["File"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"files":{"type":"array","items":{"$ref":"#/components/schemas/File","description":"One page of Files."},"description":"One page of Files."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","files","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"File","files":[{"$id":"https://api.sb/quietcopy.com/files/file_1","$type":"File","contentType":"Example content type","size":1}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/files?limit=20","next":"https://api.sb/quietcopy.com/files?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/files/{id}":{"get":{"operationId":"File.get","summary":"File.get","description":"Returns one File by id.","tags":["File"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the File."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"file":{"$ref":"#/components/schemas/File","description":"The File."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","file","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"File","$id":"https://api.sb/kilnbakery.com/files/file_1","file":{"$id":"https://api.sb/kilnbakery.com/files/file_1","$type":"File","contentType":"Example content type","size":1},"links":{"self":"https://api.sb/kilnbakery.com/files/file_1","up":"https://api.sb/kilnbakery.com/files"},"actions":{"edit":"https://api.sb/kilnbakery.com/files/file_1/edit"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"File.update","summary":"File.update","description":"Changes the given properties of a File.","tags":["File"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the File."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"contentType":{"type":"string","description":"The media type, such as `application/pdf`."},"size":{"type":"integer","description":"The size in bytes."},"name":{"type":"string","description":"The file name it was uploaded with."},"visibility":{"type":"string","description":"Who may read it: `Owner`, `Customer`, or `Public`. The default is `Owner`.","enum":["Owner","Customer","Public","Owner"]}},"additionalProperties":false},"example":{"size":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"file":{"$ref":"#/components/schemas/File","description":"The File."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","file","links"]},"example":{"api":"https://api.sb/shiftnote.app","file":{"$id":"https://api.sb/shiftnote.app/files/file_1","$type":"File","contentType":"Example content type","size":1},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"File.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"File.updated"},"delete":{"operationId":"File.delete","summary":"File.delete","description":"Deletes a File; its history is kept.","tags":["File"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the File."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"file":{"$ref":"#/components/schemas/File","description":"The File."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","file","links"]},"example":{"api":"https://api.sb/routewise.dev","file":{"$id":"https://api.sb/routewise.dev/files/file_1","$type":"File","contentType":"Example content type","size":1},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"File.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"File.deleted"}},"/files/{file}/edit":{"post":{"operationId":"File.edit","summary":"File.edit","description":"Edit makes a new File from an existing one by instruction, such as upscaling or animating a still, and leaves the source unchanged.","tags":["File"],"parameters":[{"name":"file","in":"path","required":true,"schema":{"type":"string"},"description":"The source File."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"instruction":{"type":"string","description":"What to change."},"references":{"type":"array","items":{"type":"string","description":"Further Files the edit follows. The File id."},"description":"Further Files the edit follows."},"format":{"description":"Aspect ratio, resolution, duration and file type of the result."}},"required":["instruction"],"additionalProperties":false},"example":{"instruction":"Example instruction"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"file":{"$ref":"#/components/schemas/File","description":"The new File, which records its source."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","file","links"]},"example":{"api":"https://api.sb/tutorloop.com","file":{"$id":"https://api.sb/tutorloop.com/files/file_1","$type":"File","contentType":"Example content type","size":1},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"File.edit","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"File.edited"}},"/files/generate":{"post":{"operationId":"File.generate","summary":"File.generate","description":"Generate makes an image, video, speech or music File from a prompt and reference Files, and records how it was made.","tags":["File"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"What to make.","enum":["image","video","speech","music"]},"prompt":{"type":"string","description":"What to make, or for `speech` the text to speak."},"references":{"type":"array","items":{"type":"string","description":"Files the output follows, such as a product photo or a first frame. The File id."},"description":"Files the output follows, such as a product photo or a first frame."},"voice":{"type":"string","description":"The Voice that speaks, for `speech`. The Voice id."},"format":{"description":"Aspect ratio, resolution, duration and file type."}},"required":["kind","prompt"],"additionalProperties":false},"example":{"kind":"image","prompt":"Example prompt"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"file":{"$ref":"#/components/schemas/File","description":"The generated File, its bytes in Storage and its provenance recorded."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","file","links"]},"example":{"api":"https://api.sb/patentpad.com","file":{"$id":"https://api.sb/patentpad.com/files/file_1","$type":"File","contentType":"Example content type","size":1},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"File.generate","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"File.generated"}},"/flags":{"post":{"operationId":"Flag.create","summary":"Flag.create","description":"Creates a Flag.","tags":["Flag"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The name code reads."},"rules":{"description":"Who gets which value, including percentage splits."}},"required":["key"],"additionalProperties":false},"example":{"key":"new-checkout"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"flag":{"$ref":"#/components/schemas/Flag","description":"The Flag."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flag","links"]},"example":{"api":"https://api.sb/tutorloop.com","flag":{"$id":"https://api.sb/tutorloop.com/flags/flag_1","$type":"Flag","key":"new-checkout"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Flag.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Flag.created"},"get":{"operationId":"Flag.list","summary":"Flag.list","description":"Returns Flags, newest first, one page at a time.","tags":["Flag"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"flags":{"type":"array","items":{"$ref":"#/components/schemas/Flag","description":"One page of Flags."},"description":"One page of Flags."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flags","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Flag","flags":[{"$id":"https://api.sb/tutorloop.com/flags/flag_1","$type":"Flag","key":"new-checkout"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/flags?limit=20","next":"https://api.sb/tutorloop.com/flags?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/flags/{id}":{"get":{"operationId":"Flag.get","summary":"Flag.get","description":"Returns one Flag by id.","tags":["Flag"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Flag."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"flag":{"$ref":"#/components/schemas/Flag","description":"The Flag."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flag","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Flag","$id":"https://api.sb/petpantry.shop/flags/flag_1","flag":{"$id":"https://api.sb/petpantry.shop/flags/flag_1","$type":"Flag","key":"new-checkout"},"links":{"self":"https://api.sb/petpantry.shop/flags/flag_1","up":"https://api.sb/petpantry.shop/flags"},"actions":{"evaluate":"https://api.sb/petpantry.shop/flags/flag_1/evaluate"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Flag.update","summary":"Flag.update","description":"Changes the given properties of a Flag.","tags":["Flag"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Flag."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The name code reads."},"rules":{"description":"Who gets which value, including percentage splits."}},"additionalProperties":false},"example":{"key":"new-checkout"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"flag":{"$ref":"#/components/schemas/Flag","description":"The Flag."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flag","links"]},"example":{"api":"https://api.sb/ledgerlark.com","flag":{"$id":"https://api.sb/ledgerlark.com/flags/flag_1","$type":"Flag","key":"new-checkout"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Flag.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Flag.updated"},"delete":{"operationId":"Flag.delete","summary":"Flag.delete","description":"Deletes a Flag; its history is kept.","tags":["Flag"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Flag."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"flag":{"$ref":"#/components/schemas/Flag","description":"The Flag."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flag","links"]},"example":{"api":"https://api.sb/patentpad.com","flag":{"$id":"https://api.sb/patentpad.com/flags/flag_1","$type":"Flag","key":"new-checkout"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Flag.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Flag.deleted"}},"/flags/{flag}/evaluate":{"post":{"operationId":"Flag.evaluate","summary":"Flag.evaluate","description":"Evaluate returns the Variant a Flag assigns one unit, the same one every time, and records the Exposure with every option and its propensity.","tags":["Flag"],"parameters":[{"name":"flag","in":"path","required":true,"schema":{"type":"string"},"description":"The Flag to evaluate, by key."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"unit":{"type":"string","description":"The id of the Visitor, Customer, Contact, Conversation or request being assigned."},"default":{"type":"string","description":"The Variant key returned when the Flag is off or the value may not be varied."}},"required":["unit"],"additionalProperties":false},"example":{"unit":"Example unit"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant assigned to the unit."},"exposure":{"$ref":"#/components/schemas/Exposure","description":"The Exposure recorded; none in Mode try."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","variant","links"]},"example":{"api":"https://api.sb/routewise.dev","variant":{"$id":"https://api.sb/routewise.dev/variants/variant_1","$type":"Variant","key":"Example key","value":{}},"exposure":{"$id":"https://api.sb/routewise.dev/exposures/exposure_1","$type":"Exposure","unit":"Example unit","options":{},"propensity":1,"at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Flag.evaluate","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Flag.evaluated"}},"/flows":{"post":{"operationId":"Flow.create","summary":"Flow.create","description":"Creates a Flow.","tags":["Flow"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"persona":{"type":"string","description":"The Persona it guides; its Role decides which Verbs each step offers. The Persona id."},"offer":{"type":"string","description":"The Offer whose activation Event ends the Flow; time to value reads from first step to that Event. The Offer id."},"steps":{"type":"array","items":{"type":"string","description":"The Dashboards in order, first run first, each ending in the Verb that opens the next. The Dashboard id."},"description":"The Dashboards in order, first run first, each ending in the Verb that opens the next."},"app":{"type":"string","description":"The Flows an App runs on first sign-in, one per Persona and Offer, each ending at the activation Event. The App id."}},"required":["persona","offer","steps"],"additionalProperties":false},"example":{"persona":"persona_1","offer":"offer_1","steps":["dashboard_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"flow":{"$ref":"#/components/schemas/Flow","description":"The Flow."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flow","links"]},"example":{"api":"https://api.sb/kilnbakery.com","flow":{"$id":"https://api.sb/kilnbakery.com/flows/flow_1","$type":"Flow","persona":"persona_1","offer":"offer_1","steps":["dashboard_1"]},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Flow.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Flow.created"},"get":{"operationId":"Flow.list","summary":"Flow.list","description":"Returns Flows, newest first, one page at a time.","tags":["Flow"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"flows":{"type":"array","items":{"$ref":"#/components/schemas/Flow","description":"One page of Flows."},"description":"One page of Flows."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flows","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Flow","flows":[{"$id":"https://api.sb/petpantry.shop/flows/flow_1","$type":"Flow","persona":"persona_1","offer":"offer_1","steps":["dashboard_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/flows?limit=20","next":"https://api.sb/petpantry.shop/flows?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/flows/{id}":{"get":{"operationId":"Flow.get","summary":"Flow.get","description":"Returns one Flow by id.","tags":["Flow"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Flow."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"flow":{"$ref":"#/components/schemas/Flow","description":"The Flow."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flow","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Flow","$id":"https://api.sb/tutorloop.com/flows/flow_1","flow":{"$id":"https://api.sb/tutorloop.com/flows/flow_1","$type":"Flow","persona":"persona_1","offer":"offer_1","steps":["dashboard_1"]},"links":{"self":"https://api.sb/tutorloop.com/flows/flow_1","up":"https://api.sb/tutorloop.com/flows"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Flow.update","summary":"Flow.update","description":"Changes the given properties of a Flow.","tags":["Flow"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Flow."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"persona":{"type":"string","description":"The Persona it guides; its Role decides which Verbs each step offers. The Persona id."},"offer":{"type":"string","description":"The Offer whose activation Event ends the Flow; time to value reads from first step to that Event. The Offer id."},"steps":{"type":"array","items":{"type":"string","description":"The Dashboards in order, first run first, each ending in the Verb that opens the next. The Dashboard id."},"description":"The Dashboards in order, first run first, each ending in the Verb that opens the next."}},"additionalProperties":false},"example":{"persona":"persona_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"flow":{"$ref":"#/components/schemas/Flow","description":"The Flow."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flow","links"]},"example":{"api":"https://api.sb/patentpad.com","flow":{"$id":"https://api.sb/patentpad.com/flows/flow_1","$type":"Flow","persona":"persona_1","offer":"offer_1","steps":["dashboard_1"]},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Flow.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Flow.updated"},"delete":{"operationId":"Flow.delete","summary":"Flow.delete","description":"Deletes a Flow; its history is kept.","tags":["Flow"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Flow."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"flow":{"$ref":"#/components/schemas/Flow","description":"The Flow."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","flow","links"]},"example":{"api":"https://api.sb/shiftnote.app","flow":{"$id":"https://api.sb/shiftnote.app/flows/flow_1","$type":"Flow","persona":"persona_1","offer":"offer_1","steps":["dashboard_1"]},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Flow.delete","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Flow.deleted"}},"/forecasts":{"post":{"operationId":"Forecast.create","summary":"Forecast.create","description":"Creates a Forecast.","tags":["Forecast"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","description":"When the inputs were read."},"runwayWeeks":{"type":"number","description":"Weeks until cash reaches zero at the projected rates."},"defaultAlive":{"type":"boolean","description":"True when projected revenue covers projected Cost before cash runs out."},"profitWeek":{"type":"string","format":"date","description":"The first week projected revenue covers fully loaded Cost."},"spendState":{"type":"string","description":"The spend state it sets: `free` when default alive, `tight` when default dead, `hold` under 13 weeks of runway.","enum":["free","tight","hold"]}},"required":["asOf","runwayWeeks","defaultAlive","spendState"],"additionalProperties":false},"example":{"asOf":"2026-10-22T12:00:00Z","runwayWeeks":1,"defaultAlive":true,"spendState":"free"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"forecast":{"$ref":"#/components/schemas/Forecast","description":"The Forecast."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","forecast","links"]},"example":{"api":"https://api.sb/shiftnote.app","forecast":{"$id":"https://api.sb/shiftnote.app/forecasts/forecast_1","$type":"Forecast","asOf":"2026-10-22T12:00:00Z","runwayWeeks":1,"defaultAlive":true,"spendState":"free"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Forecast.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Forecast.created"},"get":{"operationId":"Forecast.list","summary":"Forecast.list","description":"Returns Forecasts, newest first, one page at a time.","tags":["Forecast"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"forecasts":{"type":"array","items":{"$ref":"#/components/schemas/Forecast","description":"One page of Forecasts."},"description":"One page of Forecasts."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","forecasts","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Forecast","forecasts":[{"$id":"https://api.sb/shiftnote.app/forecasts/forecast_1","$type":"Forecast","asOf":"2026-10-22T12:00:00Z","runwayWeeks":1,"defaultAlive":true,"spendState":"free"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/forecasts?limit=20","next":"https://api.sb/shiftnote.app/forecasts?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/forecasts/{id}":{"get":{"operationId":"Forecast.get","summary":"Forecast.get","description":"Returns one Forecast by id.","tags":["Forecast"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Forecast."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"forecast":{"$ref":"#/components/schemas/Forecast","description":"The Forecast."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","forecast","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Forecast","$id":"https://api.sb/shiftnote.app/forecasts/forecast_1","forecast":{"$id":"https://api.sb/shiftnote.app/forecasts/forecast_1","$type":"Forecast","asOf":"2026-10-22T12:00:00Z","runwayWeeks":1,"defaultAlive":true,"spendState":"free"},"links":{"self":"https://api.sb/shiftnote.app/forecasts/forecast_1","up":"https://api.sb/shiftnote.app/forecasts"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/forms":{"post":{"operationId":"Form.create","summary":"Form.create","description":"Creates a Form.","tags":["Form"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"description":"The fields and their types."}},"required":["fields"],"additionalProperties":false},"example":{"fields":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"form":{"$ref":"#/components/schemas/Form","description":"The Form."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","form","links"]},"example":{"api":"https://api.sb/tutorloop.com","form":{"$id":"https://api.sb/tutorloop.com/forms/form_1","$type":"Form","fields":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Form.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Form.created"},"get":{"operationId":"Form.list","summary":"Form.list","description":"Returns Forms, newest first, one page at a time.","tags":["Form"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"forms":{"type":"array","items":{"$ref":"#/components/schemas/Form","description":"One page of Forms."},"description":"One page of Forms."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","forms","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Form","forms":[{"$id":"https://api.sb/tutorloop.com/forms/form_1","$type":"Form","fields":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/forms?limit=20","next":"https://api.sb/tutorloop.com/forms?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/forms/{id}":{"get":{"operationId":"Form.get","summary":"Form.get","description":"Returns one Form by id.","tags":["Form"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Form."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"form":{"$ref":"#/components/schemas/Form","description":"The Form."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","form","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Form","$id":"https://api.sb/petpantry.shop/forms/form_1","form":{"$id":"https://api.sb/petpantry.shop/forms/form_1","$type":"Form","fields":{}},"links":{"self":"https://api.sb/petpantry.shop/forms/form_1","up":"https://api.sb/petpantry.shop/forms"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Form.update","summary":"Form.update","description":"Changes the given properties of a Form.","tags":["Form"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Form."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"description":"The fields and their types."}},"additionalProperties":false},"example":{"fields":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"form":{"$ref":"#/components/schemas/Form","description":"The Form."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","form","links"]},"example":{"api":"https://api.sb/ledgerlark.com","form":{"$id":"https://api.sb/ledgerlark.com/forms/form_1","$type":"Form","fields":{}},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Form.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Form.updated"},"delete":{"operationId":"Form.delete","summary":"Form.delete","description":"Deletes a Form; its history is kept.","tags":["Form"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Form."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"form":{"$ref":"#/components/schemas/Form","description":"The Form."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","form","links"]},"example":{"api":"https://api.sb/patentpad.com","form":{"$id":"https://api.sb/patentpad.com/forms/form_1","$type":"Form","fields":{}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Form.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Form.deleted"}},"/functions":{"post":{"operationId":"Function.create","summary":"Function.create","description":"Creates a Function.","tags":["Function"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `code`, `generative`, `agentic`, or `human`.","enum":["code","generative","agentic","human"]},"cascade":{"type":"array","items":{"type":"string","description":"Kinds tried in order when one declines, such as code, then a Human."},"description":"Kinds tried in order when one declines, such as code, then a Human."},"instructions":{"type":"string","description":"For a generative or agentic Function, what it does and how."},"model":{"type":"string","description":"For a generative or agentic Function, the model it runs on."},"tools":{"type":"array","items":{"type":"string","description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each. The Verb id."},"description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each."},"maxSteps":{"type":"integer","description":"For an agentic Function, the most steps one Action may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Action may spend; the Mandate’s Limits apply as well."},"role":{"type":"string","description":"For a human Function, the Role its Tasks go to. The Role id."},"form":{"description":"For a human Function, the form; generated from the Verb’s inputs and outputs when absent."},"sla":{"type":"string","description":"For a human Function, how long a Task may wait, as an ISO 8601 duration."},"escalateTo":{"type":"string","description":"For a human Function, the Role a Task moves to when the service level passes. The Role id."}},"required":["kind"],"additionalProperties":false},"example":{"kind":"code"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"function":{"$ref":"#/components/schemas/Function","description":"The Function."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","function","links"]},"example":{"api":"https://api.sb/petpantry.shop","function":{"$id":"https://api.sb/petpantry.shop/functions/function_1","$type":"Function","kind":"code"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Function.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Function.created"},"get":{"operationId":"Function.list","summary":"Function.list","description":"Returns Functions, newest first, one page at a time.","tags":["Function"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"functions":{"type":"array","items":{"$ref":"#/components/schemas/Function","description":"One page of Functions."},"description":"One page of Functions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","functions","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Function","functions":[{"$id":"https://api.sb/kilnbakery.com/functions/function_1","$type":"Function","kind":"code"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/functions?limit=20","next":"https://api.sb/kilnbakery.com/functions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/functions/{id}":{"get":{"operationId":"Function.get","summary":"Function.get","description":"Returns one Function by id.","tags":["Function"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Function."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"function":{"$ref":"#/components/schemas/Function","description":"The Function."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","function","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Function","$id":"https://api.sb/quietcopy.com/functions/function_1","function":{"$id":"https://api.sb/quietcopy.com/functions/function_1","$type":"Function","kind":"code"},"links":{"self":"https://api.sb/quietcopy.com/functions/function_1","up":"https://api.sb/quietcopy.com/functions"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Function.update","summary":"Function.update","description":"Changes the given properties of a Function.","tags":["Function"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Function."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `code`, `generative`, `agentic`, or `human`.","enum":["code","generative","agentic","human"]},"cascade":{"type":"array","items":{"type":"string","description":"Kinds tried in order when one declines, such as code, then a Human."},"description":"Kinds tried in order when one declines, such as code, then a Human."},"instructions":{"type":"string","description":"For a generative or agentic Function, what it does and how."},"model":{"type":"string","description":"For a generative or agentic Function, the model it runs on."},"tools":{"type":"array","items":{"type":"string","description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each. The Verb id."},"description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each."},"maxSteps":{"type":"integer","description":"For an agentic Function, the most steps one Action may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Action may spend; the Mandate’s Limits apply as well."},"role":{"type":"string","description":"For a human Function, the Role its Tasks go to. The Role id."},"form":{"description":"For a human Function, the form; generated from the Verb’s inputs and outputs when absent."},"sla":{"type":"string","description":"For a human Function, how long a Task may wait, as an ISO 8601 duration."},"escalateTo":{"type":"string","description":"For a human Function, the Role a Task moves to when the service level passes. The Role id."}},"additionalProperties":false},"example":{"kind":"code"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"function":{"$ref":"#/components/schemas/Function","description":"The Function."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","function","links"]},"example":{"api":"https://api.sb/routewise.dev","function":{"$id":"https://api.sb/routewise.dev/functions/function_1","$type":"Function","kind":"code"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Function.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Function.updated"},"delete":{"operationId":"Function.delete","summary":"Function.delete","description":"Deletes a Function; its history is kept.","tags":["Function"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Function."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"function":{"$ref":"#/components/schemas/Function","description":"The Function."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","function","links"]},"example":{"api":"https://api.sb/ledgerlark.com","function":{"$id":"https://api.sb/ledgerlark.com/functions/function_1","$type":"Function","kind":"code"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Function.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Function.deleted"}},"/funds":{"post":{"operationId":"Fund.create","summary":"Fund.create","description":"Creates a Fund.","tags":["Fund"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Fund."},"committed":{"$ref":"#/components/schemas/Money","description":"Capital its investors have committed."},"called":{"$ref":"#/components/schemas/Money","description":"Capital called so far."},"studio":{"type":"string","description":"A Studio manages Funds of investor capital and invests them in the Companies its Startups graduate into. The Studio id."}},"required":["name"],"additionalProperties":false},"example":{"name":"RouteWise"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","fund","links"]},"example":{"api":"https://api.sb/routewise.dev","fund":{"$id":"https://api.sb/routewise.dev/funds/fund_1","$type":"Fund","name":"RouteWise"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Fund.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Fund.created"},"get":{"operationId":"Fund.list","summary":"Fund.list","description":"Returns Funds, newest first, one page at a time.","tags":["Fund"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"funds":{"type":"array","items":{"$ref":"#/components/schemas/Fund","description":"One page of Funds."},"description":"One page of Funds."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","funds","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Fund","funds":[{"$id":"https://api.sb/patentpad.com/funds/fund_1","$type":"Fund","name":"PatentPad"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/funds?limit=20","next":"https://api.sb/patentpad.com/funds?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/funds/{id}":{"get":{"operationId":"Fund.get","summary":"Fund.get","description":"Returns one Fund by id.","tags":["Fund"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Fund."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","fund","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Fund","$id":"https://api.sb/routewise.dev/funds/fund_1","fund":{"$id":"https://api.sb/routewise.dev/funds/fund_1","$type":"Fund","name":"RouteWise"},"links":{"self":"https://api.sb/routewise.dev/funds/fund_1","up":"https://api.sb/routewise.dev/funds"},"actions":{"call":"https://api.sb/routewise.dev/funds/fund_1/call","distribute":"https://api.sb/routewise.dev/funds/fund_1/distribute","report":"https://api.sb/routewise.dev/funds/fund_1/report"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Fund.update","summary":"Fund.update","description":"Changes the given properties of a Fund.","tags":["Fund"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Fund."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Fund."},"committed":{"$ref":"#/components/schemas/Money","description":"Capital its investors have committed."},"called":{"$ref":"#/components/schemas/Money","description":"Capital called so far."}},"additionalProperties":false},"example":{"name":"Kiln Bakery"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","fund","links"]},"example":{"api":"https://api.sb/kilnbakery.com","fund":{"$id":"https://api.sb/kilnbakery.com/funds/fund_1","$type":"Fund","name":"Kiln Bakery"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Fund.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Fund.updated"},"delete":{"operationId":"Fund.delete","summary":"Fund.delete","description":"Deletes a Fund; its history is kept.","tags":["Fund"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Fund."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","fund","links"]},"example":{"api":"https://api.sb/tutorloop.com","fund":{"$id":"https://api.sb/tutorloop.com/funds/fund_1","$type":"Fund","name":"TutorLoop"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Fund.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Fund.deleted"}},"/funds/{fund}/call":{"post":{"operationId":"Fund.call","summary":"Fund.call","description":"Call draws capital from every investor pro rata to their Capital Commitment, due by a date, and records the Capital Call.","tags":["Fund"],"parameters":[{"name":"fund","in":"path","required":true,"schema":{"type":"string"},"description":"The Fund that calls."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The total to draw."},"dueOn":{"type":"string","format":"date","description":"When each investor’s share is due."},"purpose":{"type":"string","description":"What the capital pays for."}},"required":["amount","dueOn","purpose"],"additionalProperties":false},"example":{"amount":{"amount":499,"currency":"USD"},"dueOn":"2026-10-22","purpose":"Example purpose"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"call":{"$ref":"#/components/schemas/CapitalCall","description":"The Capital Call."},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund that called capital."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","call","fund","links"]},"example":{"api":"https://api.sb/patentpad.com","call":{"$id":"https://api.sb/patentpad.com/capital-calls/capital_call_1","$type":"CapitalCall","amount":{"amount":499,"currency":"USD"},"dueOn":"2026-10-22"},"fund":{"$id":"https://api.sb/patentpad.com/funds/fund_1","$type":"Fund","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Fund.call","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Fund.called"}},"/funds/{fund}/distribute":{"post":{"operationId":"Fund.distribute","summary":"Fund.distribute","description":"Distribute returns cash or Shares to a Fund’s investors, split by the waterfall in its Agreement.","tags":["Fund"],"parameters":[{"name":"fund","in":"path","required":true,"schema":{"type":"string"},"description":"The Fund that distributes."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The total to distribute."},"kind":{"type":"string","description":"Cash, or Shares in kind.","enum":["cash","inKind"]}},"required":["amount","kind"],"additionalProperties":false},"example":{"amount":{"amount":60,"currency":"USD"},"kind":"cash"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"distribution":{"$ref":"#/components/schemas/FundDistribution","description":"The Fund Distribution."},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund that made the distribution."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","distribution","fund","links"]},"example":{"api":"https://api.sb/tutorloop.com","distribution":{"$id":"https://api.sb/tutorloop.com/fund-distributions/fund_distribution_1","$type":"FundDistribution","amount":{"amount":60,"currency":"USD"},"kind":"cash"},"fund":{"$id":"https://api.sb/tutorloop.com/funds/fund_1","$type":"Fund","name":"TutorLoop"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Fund.distribute","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Fund.distributed"}},"/funds/{fund}/report":{"post":{"operationId":"Fund.report","summary":"Fund.report","description":"Report sends each investor a quarterly capital account Statement and the Fund’s marks, computed from its Entries.","tags":["Fund"],"parameters":[{"name":"fund","in":"path","required":true,"schema":{"type":"string"},"description":"The Fund that reports."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"period":{"type":"string","description":"The last Period of the quarter. The Period id."}},"required":["period"],"additionalProperties":false},"example":{"period":"period_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"statements":{"type":"array","items":{"$ref":"#/components/schemas/Statement","description":"One `capitalAccount` Statement per investor."},"description":"One `capitalAccount` Statement per investor."},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund reported on."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","statements","fund","links"]},"example":{"api":"https://api.sb/ledgerlark.com","statements":[{"$id":"https://api.sb/ledgerlark.com/statements/statement_1","$type":"Statement","kind":"profitAndLoss","period":"period_1","scope":"startup","lines":{}}],"fund":{"$id":"https://api.sb/ledgerlark.com/funds/fund_1","$type":"Fund","name":"LedgerLark"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Fund.report","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Fund.reported"}},"/fund-distributions/{id}":{"get":{"operationId":"FundDistribution.get","summary":"FundDistribution.get","description":"Returns one Fund Distribution by id.","tags":["FundDistribution"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Fund Distribution."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"fundDistribution":{"$ref":"#/components/schemas/FundDistribution","description":"The Fund Distribution."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","fundDistribution","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"FundDistribution","$id":"https://api.sb/ledgerlark.com/fund-distributions/fund_distribution_1","fundDistribution":{"$id":"https://api.sb/ledgerlark.com/fund-distributions/fund_distribution_1","$type":"FundDistribution","amount":{"amount":400,"currency":"USD"},"kind":"cash"},"links":{"self":"https://api.sb/ledgerlark.com/fund-distributions/fund_distribution_1","up":"https://api.sb/ledgerlark.com/fund-distributions"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/fund-distributions":{"get":{"operationId":"FundDistribution.list","summary":"FundDistribution.list","description":"Returns Fund Distributions, newest first, one page at a time.","tags":["FundDistribution"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"fundDistributions":{"type":"array","items":{"$ref":"#/components/schemas/FundDistribution","description":"One page of Fund Distributions."},"description":"One page of Fund Distributions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","fundDistributions","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"FundDistribution","fundDistributions":[{"$id":"https://api.sb/ledgerlark.com/fund-distributions/fund_distribution_1","$type":"FundDistribution","amount":{"amount":400,"currency":"USD"},"kind":"cash"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/fund-distributions?limit=20","next":"https://api.sb/ledgerlark.com/fund-distributions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/funnels":{"post":{"operationId":"Funnel.create","summary":"Funnel.create","description":"Creates a Funnel.","tags":["Funnel"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"steps":{"description":"The Pages, Forms, and Sequences in order."},"offer":{"type":"string","description":"Each Funnel’s path ends at one Offer, after its landing Page, opt-in and Sequence. The Offer id."}},"required":["steps"],"additionalProperties":false},"example":{"steps":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"funnel":{"$ref":"#/components/schemas/Funnel","description":"The Funnel."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","funnel","links"]},"example":{"api":"https://api.sb/petpantry.shop","funnel":{"$id":"https://api.sb/petpantry.shop/funnels/funnel_1","$type":"Funnel","steps":{}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Funnel.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Funnel.created"},"get":{"operationId":"Funnel.list","summary":"Funnel.list","description":"Returns Funnels, newest first, one page at a time.","tags":["Funnel"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"funnels":{"type":"array","items":{"$ref":"#/components/schemas/Funnel","description":"One page of Funnels."},"description":"One page of Funnels."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","funnels","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Funnel","funnels":[{"$id":"https://api.sb/kilnbakery.com/funnels/funnel_1","$type":"Funnel","steps":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/funnels?limit=20","next":"https://api.sb/kilnbakery.com/funnels?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/funnels/{id}":{"get":{"operationId":"Funnel.get","summary":"Funnel.get","description":"Returns one Funnel by id.","tags":["Funnel"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Funnel."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"funnel":{"$ref":"#/components/schemas/Funnel","description":"The Funnel."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","funnel","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Funnel","$id":"https://api.sb/quietcopy.com/funnels/funnel_1","funnel":{"$id":"https://api.sb/quietcopy.com/funnels/funnel_1","$type":"Funnel","steps":{}},"links":{"self":"https://api.sb/quietcopy.com/funnels/funnel_1","up":"https://api.sb/quietcopy.com/funnels"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Funnel.update","summary":"Funnel.update","description":"Changes the given properties of a Funnel.","tags":["Funnel"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Funnel."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"steps":{"description":"The Pages, Forms, and Sequences in order."}},"additionalProperties":false},"example":{"steps":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"funnel":{"$ref":"#/components/schemas/Funnel","description":"The Funnel."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","funnel","links"]},"example":{"api":"https://api.sb/routewise.dev","funnel":{"$id":"https://api.sb/routewise.dev/funnels/funnel_1","$type":"Funnel","steps":{}},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Funnel.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Funnel.updated"},"delete":{"operationId":"Funnel.delete","summary":"Funnel.delete","description":"Deletes a Funnel; its history is kept.","tags":["Funnel"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Funnel."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"funnel":{"$ref":"#/components/schemas/Funnel","description":"The Funnel."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","funnel","links"]},"example":{"api":"https://api.sb/ledgerlark.com","funnel":{"$id":"https://api.sb/ledgerlark.com/funnels/funnel_1","$type":"Funnel","steps":{}},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Funnel.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Funnel.deleted"}},"/gatherings":{"post":{"operationId":"Gathering.create","summary":"Gathering.create","description":"Creates a Gathering.","tags":["Gathering"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"What the Gathering is called on its Page and invitations."},"at":{"type":"string","format":"date-time","description":"When it starts."},"capacity":{"type":"integer","description":"The most Registrations it admits before new ones join the waitlist."},"recording":{"type":"string","format":"uri","description":"Where the replay lives once it ends."}},"required":["title","at"],"additionalProperties":false},"example":{"title":"RouteWise API","at":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","gathering","links"]},"example":{"api":"https://api.sb/routewise.dev","gathering":{"$id":"https://api.sb/routewise.dev/gatherings/gathering_1","$type":"Gathering","title":"RouteWise API","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Gathering.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Gathering.created"},"get":{"operationId":"Gathering.list","summary":"Gathering.list","description":"Returns Gatherings, newest first, one page at a time.","tags":["Gathering"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"gatherings":{"type":"array","items":{"$ref":"#/components/schemas/Gathering","description":"One page of Gatherings."},"description":"One page of Gatherings."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","gatherings","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Gathering","gatherings":[{"$id":"https://api.sb/patentpad.com/gatherings/gathering_1","$type":"Gathering","title":"Provisional patent draft","at":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/gatherings?limit=20","next":"https://api.sb/patentpad.com/gatherings?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/gatherings/{id}":{"get":{"operationId":"Gathering.get","summary":"Gathering.get","description":"Returns one Gathering by id.","tags":["Gathering"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Gathering."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","gathering","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Gathering","$id":"https://api.sb/routewise.dev/gatherings/gathering_1","gathering":{"$id":"https://api.sb/routewise.dev/gatherings/gathering_1","$type":"Gathering","title":"RouteWise API","at":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/routewise.dev/gatherings/gathering_1","up":"https://api.sb/routewise.dev/gatherings"},"actions":{"register":"https://api.sb/routewise.dev/gatherings/gathering_1/register"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Gathering.update","summary":"Gathering.update","description":"Changes the given properties of a Gathering.","tags":["Gathering"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Gathering."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"What the Gathering is called on its Page and invitations."},"at":{"type":"string","format":"date-time","description":"When it starts."},"capacity":{"type":"integer","description":"The most Registrations it admits before new ones join the waitlist."},"recording":{"type":"string","format":"uri","description":"Where the replay lives once it ends."}},"additionalProperties":false},"example":{"title":"Saturday sourdough"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","gathering","links"]},"example":{"api":"https://api.sb/kilnbakery.com","gathering":{"$id":"https://api.sb/kilnbakery.com/gatherings/gathering_1","$type":"Gathering","title":"Saturday sourdough","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Gathering.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Gathering.updated"},"delete":{"operationId":"Gathering.delete","summary":"Gathering.delete","description":"Deletes a Gathering; its history is kept.","tags":["Gathering"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Gathering."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","gathering","links"]},"example":{"api":"https://api.sb/tutorloop.com","gathering":{"$id":"https://api.sb/tutorloop.com/gatherings/gathering_1","$type":"Gathering","title":"Algebra session","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Gathering.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Gathering.deleted"}},"/gatherings/{gathering}/register":{"post":{"operationId":"Gathering.register","summary":"Gathering.register","description":"Register gives a Contact a place at a Gathering, or a waitlist place when the Gathering is full.","tags":["Gathering"],"parameters":[{"name":"gathering","in":"path","required":true,"schema":{"type":"string"},"description":"The Gathering."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contact":{"type":"string","description":"Who takes the place. The Contact id."}},"required":["contact"],"additionalProperties":false},"example":{"contact":"contact_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration, `registered` or `waitlisted`."},"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering with its registered count."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registration","gathering","links"]},"example":{"api":"https://api.sb/kilnbakery.com","registration":{"$id":"https://api.sb/kilnbakery.com/registrations/registration_1","$type":"Registration","status":"invited"},"gathering":{"$id":"https://api.sb/kilnbakery.com/gatherings/gathering_1","$type":"Gathering","title":"Saturday sourdough","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Gathering.register","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Gathering.registered"}},"/goals":{"post":{"operationId":"Goal.create","summary":"Goal.create","description":"Creates a Goal.","tags":["Goal"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"objective":{"type":"string","description":"The qualitative outcome."},"horizon":{"type":"string","description":"One of `day`, `week`, `quarter`, `year`, or `three-years`.","enum":["day","week","quarter","year","three-years"]},"thing":{"type":"string","description":"Every Thing pursues Goals, such as a Startup’s quarterly objective or a Team’s weekly target. The Thing id."}},"required":["objective"],"additionalProperties":false},"example":{"objective":"Example objective"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"goal":{"$ref":"#/components/schemas/Goal","description":"The Goal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","goal","links"]},"example":{"api":"https://api.sb/routewise.dev","goal":{"$id":"https://api.sb/routewise.dev/goals/goal_1","$type":"Goal","objective":"Example objective"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Goal.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Goal.created"},"get":{"operationId":"Goal.list","summary":"Goal.list","description":"Returns Goals, newest first, one page at a time.","tags":["Goal"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"goals":{"type":"array","items":{"$ref":"#/components/schemas/Goal","description":"One page of Goals."},"description":"One page of Goals."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","goals","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Goal","goals":[{"$id":"https://api.sb/patentpad.com/goals/goal_1","$type":"Goal","objective":"Example objective"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/goals?limit=20","next":"https://api.sb/patentpad.com/goals?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/goals/{id}":{"get":{"operationId":"Goal.get","summary":"Goal.get","description":"Returns one Goal by id.","tags":["Goal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Goal."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"goal":{"$ref":"#/components/schemas/Goal","description":"The Goal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","goal","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Goal","$id":"https://api.sb/routewise.dev/goals/goal_1","goal":{"$id":"https://api.sb/routewise.dev/goals/goal_1","$type":"Goal","objective":"Example objective"},"links":{"self":"https://api.sb/routewise.dev/goals/goal_1","up":"https://api.sb/routewise.dev/goals"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Goal.update","summary":"Goal.update","description":"Changes the given properties of a Goal.","tags":["Goal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Goal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"objective":{"type":"string","description":"The qualitative outcome."},"horizon":{"type":"string","description":"One of `day`, `week`, `quarter`, `year`, or `three-years`.","enum":["day","week","quarter","year","three-years"]}},"additionalProperties":false},"example":{"horizon":"day"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"goal":{"$ref":"#/components/schemas/Goal","description":"The Goal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","goal","links"]},"example":{"api":"https://api.sb/kilnbakery.com","goal":{"$id":"https://api.sb/kilnbakery.com/goals/goal_1","$type":"Goal","objective":"Example objective"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Goal.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Goal.updated"},"delete":{"operationId":"Goal.delete","summary":"Goal.delete","description":"Deletes a Goal; its history is kept.","tags":["Goal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Goal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"goal":{"$ref":"#/components/schemas/Goal","description":"The Goal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","goal","links"]},"example":{"api":"https://api.sb/tutorloop.com","goal":{"$id":"https://api.sb/tutorloop.com/goals/goal_1","$type":"Goal","objective":"Example objective"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Goal.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Goal.deleted"}},"/guards":{"post":{"operationId":"Guard.create","summary":"Guard.create","description":"Creates a Guard.","tags":["Guard"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tier":{"type":"string","description":"One of `code`, `model`, `reviewer`, or `human`.","enum":["code","model","reviewer","human"]},"checks":{"type":"string","description":"What it refuses; a `claim` Guard checks a stated term or promise against the record that backs it.","enum":["tone","disclosure","consent","claim"]}},"required":["tier"],"additionalProperties":false},"example":{"tier":"code"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"guard":{"$ref":"#/components/schemas/Guard","description":"The Guard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","guard","links"]},"example":{"api":"https://api.sb/routewise.dev","guard":{"$id":"https://api.sb/routewise.dev/guards/guard_1","$type":"Guard","tier":"code"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Guard.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Guard.created"},"get":{"operationId":"Guard.list","summary":"Guard.list","description":"Returns Guards, newest first, one page at a time.","tags":["Guard"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"guards":{"type":"array","items":{"$ref":"#/components/schemas/Guard","description":"One page of Guards."},"description":"One page of Guards."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","guards","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Guard","guards":[{"$id":"https://api.sb/patentpad.com/guards/guard_1","$type":"Guard","tier":"code"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/guards?limit=20","next":"https://api.sb/patentpad.com/guards?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/guards/{id}":{"get":{"operationId":"Guard.get","summary":"Guard.get","description":"Returns one Guard by id.","tags":["Guard"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Guard."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"guard":{"$ref":"#/components/schemas/Guard","description":"The Guard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","guard","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Guard","$id":"https://api.sb/routewise.dev/guards/guard_1","guard":{"$id":"https://api.sb/routewise.dev/guards/guard_1","$type":"Guard","tier":"code"},"links":{"self":"https://api.sb/routewise.dev/guards/guard_1","up":"https://api.sb/routewise.dev/guards"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Guard.update","summary":"Guard.update","description":"Changes the given properties of a Guard.","tags":["Guard"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Guard."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tier":{"type":"string","description":"One of `code`, `model`, `reviewer`, or `human`.","enum":["code","model","reviewer","human"]},"checks":{"type":"string","description":"What it refuses; a `claim` Guard checks a stated term or promise against the record that backs it.","enum":["tone","disclosure","consent","claim"]}},"additionalProperties":false},"example":{"tier":"code"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"guard":{"$ref":"#/components/schemas/Guard","description":"The Guard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","guard","links"]},"example":{"api":"https://api.sb/kilnbakery.com","guard":{"$id":"https://api.sb/kilnbakery.com/guards/guard_1","$type":"Guard","tier":"code"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Guard.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Guard.updated"},"delete":{"operationId":"Guard.delete","summary":"Guard.delete","description":"Deletes a Guard; its history is kept.","tags":["Guard"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Guard."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"guard":{"$ref":"#/components/schemas/Guard","description":"The Guard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","guard","links"]},"example":{"api":"https://api.sb/tutorloop.com","guard":{"$id":"https://api.sb/tutorloop.com/guards/guard_1","$type":"Guard","tier":"code"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Guard.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Guard.deleted"}},"/handles":{"post":{"operationId":"Handle.create","summary":"Handle.create","description":"Creates a Handle.","tags":["Handle"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"venue":{"type":"string","description":"The venue it lives on, by id."},"name":{"type":"string","description":"The name as the platform shows it, such as `@example`."},"shared":{"type":"boolean","description":"True for a Studio account shared across sibling Startups; every Post names the Startup it speaks for."},"agent":{"type":"boolean","description":"True when an Agent runs it; its bio says so."},"integration":{"type":"string","description":"The Integration credential it publishes through. The Integration id."}},"required":["venue","name"],"additionalProperties":false},"example":{"venue":"Example venue","name":"QuietCopy"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"handle":{"$ref":"#/components/schemas/Handle","description":"The Handle."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","handle","links"]},"example":{"api":"https://api.sb/quietcopy.com","handle":{"$id":"https://api.sb/quietcopy.com/handles/handle_1","$type":"Handle","venue":"Example venue","name":"QuietCopy"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Handle.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Handle.created"},"get":{"operationId":"Handle.list","summary":"Handle.list","description":"Returns Handles, newest first, one page at a time.","tags":["Handle"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"handles":{"type":"array","items":{"$ref":"#/components/schemas/Handle","description":"One page of Handles."},"description":"One page of Handles."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","handles","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Handle","handles":[{"$id":"https://api.sb/quietcopy.com/handles/handle_1","$type":"Handle","venue":"Example venue","name":"QuietCopy"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/handles?limit=20","next":"https://api.sb/quietcopy.com/handles?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/handles/{id}":{"get":{"operationId":"Handle.get","summary":"Handle.get","description":"Returns one Handle by id.","tags":["Handle"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Handle."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"handle":{"$ref":"#/components/schemas/Handle","description":"The Handle."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","handle","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Handle","$id":"https://api.sb/kilnbakery.com/handles/handle_1","handle":{"$id":"https://api.sb/kilnbakery.com/handles/handle_1","$type":"Handle","venue":"Example venue","name":"Kiln Bakery"},"links":{"self":"https://api.sb/kilnbakery.com/handles/handle_1","up":"https://api.sb/kilnbakery.com/handles"},"actions":{"connect":"https://api.sb/kilnbakery.com/handles/handle_1/connect"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Handle.update","summary":"Handle.update","description":"Changes the given properties of a Handle.","tags":["Handle"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Handle."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"venue":{"type":"string","description":"The venue it lives on, by id."},"name":{"type":"string","description":"The name as the platform shows it, such as `@example`."},"shared":{"type":"boolean","description":"True for a Studio account shared across sibling Startups; every Post names the Startup it speaks for."},"agent":{"type":"boolean","description":"True when an Agent runs it; its bio says so."},"integration":{"type":"string","description":"The Integration credential it publishes through. The Integration id."}},"additionalProperties":false},"example":{"name":"ShiftNote"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"handle":{"$ref":"#/components/schemas/Handle","description":"The Handle."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","handle","links"]},"example":{"api":"https://api.sb/shiftnote.app","handle":{"$id":"https://api.sb/shiftnote.app/handles/handle_1","$type":"Handle","venue":"Example venue","name":"ShiftNote"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Handle.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Handle.updated"}},"/handles/{handle}/connect":{"post":{"operationId":"Handle.connect","summary":"Handle.connect","description":"Connect binds a Handle to the Integration credential it publishes through, once the platform confirms the account.","tags":["Handle"],"parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string"},"description":"The Handle."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"integration":{"type":"string","description":"The Integration credential. The Integration id."}},"required":["integration"],"additionalProperties":false},"example":{"integration":"integration_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"handle":{"$ref":"#/components/schemas/Handle","description":"The connected Handle."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","handle","links"]},"example":{"api":"https://api.sb/tutorloop.com","handle":{"$id":"https://api.sb/tutorloop.com/handles/handle_1","$type":"Handle","venue":"Example venue","name":"TutorLoop"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Handle.connect","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Handle.connected"}},"/holders":{"post":{"operationId":"Holder.create","summary":"Holder.create","description":"Creates a Holder.","tags":["Holder"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"party":{"type":"string","description":"The person or entity behind the holding. The Party id."}},"required":["party"],"additionalProperties":false},"example":{"party":"party_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"holder":{"$ref":"#/components/schemas/Holder","description":"The Holder."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","holder","links"]},"example":{"api":"https://api.sb/tutorloop.com","holder":{"$id":"https://api.sb/tutorloop.com/holders/holder_1","$type":"Holder","party":"party_1"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Holder.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Holder.created"},"get":{"operationId":"Holder.list","summary":"Holder.list","description":"Returns Holders, newest first, one page at a time.","tags":["Holder"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"holders":{"type":"array","items":{"$ref":"#/components/schemas/Holder","description":"One page of Holders."},"description":"One page of Holders."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","holders","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Holder","holders":[{"$id":"https://api.sb/tutorloop.com/holders/holder_1","$type":"Holder","party":"party_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/holders?limit=20","next":"https://api.sb/tutorloop.com/holders?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/holders/{id}":{"get":{"operationId":"Holder.get","summary":"Holder.get","description":"Returns one Holder by id.","tags":["Holder"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Holder."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"holder":{"$ref":"#/components/schemas/Holder","description":"The Holder."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","holder","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Holder","$id":"https://api.sb/petpantry.shop/holders/holder_1","holder":{"$id":"https://api.sb/petpantry.shop/holders/holder_1","$type":"Holder","party":"party_1"},"links":{"self":"https://api.sb/petpantry.shop/holders/holder_1","up":"https://api.sb/petpantry.shop/holders"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Holder.update","summary":"Holder.update","description":"Changes the given properties of a Holder.","tags":["Holder"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Holder."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"party":{"type":"string","description":"The person or entity behind the holding. The Party id."}},"additionalProperties":false},"example":{"party":"party_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"holder":{"$ref":"#/components/schemas/Holder","description":"The Holder."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","holder","links"]},"example":{"api":"https://api.sb/ledgerlark.com","holder":{"$id":"https://api.sb/ledgerlark.com/holders/holder_1","$type":"Holder","party":"party_1"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Holder.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Holder.updated"}},"/humans":{"post":{"operationId":"Human.create","summary":"Human.create","description":"Creates a Human.","tags":["Human"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name the Worker goes by in a Startup."},"instructions":{"type":"string","description":"How the Worker does its work."},"email":{"type":"string","format":"email","description":"The address the Human signs in with."}},"required":["name","email"],"additionalProperties":false},"example":{"name":"PatentPad","email":"rosa@patentpad.com"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The Human."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/patentpad.com","human":{"$id":"https://api.sb/patentpad.com/humans/human_1","$type":"Human","name":"Rosa Ibarra","email":"rosa@patentpad.com"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Human.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.created"},"get":{"operationId":"Human.list","summary":"Human.list","description":"Returns Humans, newest first, one page at a time.","tags":["Human"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"humans":{"type":"array","items":{"$ref":"#/components/schemas/Human","description":"One page of Humans."},"description":"One page of Humans."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","humans","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Human","humans":[{"$id":"https://api.sb/routewise.dev/humans/human_1","$type":"Human","name":"Hana Sato","email":"hana@routewise.dev"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/humans?limit=20","next":"https://api.sb/routewise.dev/humans?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/humans/{id}":{"get":{"operationId":"Human.get","summary":"Human.get","description":"Returns one Human by id.","tags":["Human"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Human."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"human":{"$ref":"#/components/schemas/Human","description":"The Human."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Human","$id":"https://api.sb/patentpad.com/humans/human_1","human":{"$id":"https://api.sb/patentpad.com/humans/human_1","$type":"Human","name":"Rosa Ibarra","email":"rosa@patentpad.com"},"links":{"self":"https://api.sb/patentpad.com/humans/human_1","up":"https://api.sb/patentpad.com/humans"},"actions":{"hold":"https://api.sb/patentpad.com/humans/human_1/hold","onboard":"https://api.sb/patentpad.com/humans/human_1/onboard","release":"https://api.sb/patentpad.com/humans/human_1/release"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Human.update","summary":"Human.update","description":"Changes the given properties of a Human.","tags":["Human"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Human."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name the Worker goes by in a Startup."},"instructions":{"type":"string","description":"How the Worker does its work."},"email":{"type":"string","format":"email","description":"The address the Human signs in with."}},"additionalProperties":false},"example":{"email":"lena@petpantry.shop"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The Human."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/petpantry.shop","human":{"$id":"https://api.sb/petpantry.shop/humans/human_1","$type":"Human","name":"Lena Fischer","email":"lena@petpantry.shop"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Human.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.updated"},"delete":{"operationId":"Human.delete","summary":"Human.delete","description":"Deletes a Human; its history is kept.","tags":["Human"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Human."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The Human."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/quietcopy.com","human":{"$id":"https://api.sb/quietcopy.com/humans/human_1","$type":"Human","name":"Mei Chen","email":"mei@quietcopy.com"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Human.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.deleted"}},"/humans/{human}/hold":{"post":{"operationId":"Human.hold","summary":"Human.hold","description":"Hold sets aside part of a supplying Human’s earned balance against an open Dispute or an Order inside its clearance period.","tags":["Human"],"parameters":[{"name":"human","in":"path","required":true,"schema":{"type":"string"},"description":"The payee."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The amount to hold."},"cause":{"type":"string","description":"The Order or Dispute the hold cites."}},"required":["amount","cause"],"additionalProperties":false},"example":{"amount":{"amount":9,"currency":"USD"},"cause":"Example cause"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The payee, with the held amount recorded."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/kilnbakery.com","human":{"$id":"https://api.sb/kilnbakery.com/humans/human_1","$type":"Human","name":"Tomas Berg","email":"tomas@kilnbakery.com"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Human.hold","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.held"}},"/humans/invite":{"post":{"operationId":"Human.invite","summary":"Human.invite","description":"Invite asks a person to join a Startup in a named Role, sharing that Role’s work with its Agent.","tags":["Human"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Where the invitation goes."},"role":{"type":"string","description":"The Role offered. The Role id."},"access":{"type":"string","description":"The Access Level the person holds in the app, apart from the Role: `admin`, `member` or `viewer`. Owner is never invited.","enum":["admin","member","viewer"]}},"required":["email","role"],"additionalProperties":false},"example":{"email":"lena@petpantry.shop","role":"role_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The invited Human."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/petpantry.shop","human":{"$id":"https://api.sb/petpantry.shop/humans/human_1","$type":"Human","name":"Lena Fischer","email":"lena@petpantry.shop"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Human.invite","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.invited"}},"/humans/{human}/onboard":{"post":{"operationId":"Human.onboard","summary":"Human.onboard","description":"Onboard admits a recruited Human to supply work once their identity, Credentials and payout details verify.","tags":["Human"],"parameters":[{"name":"human","in":"path","required":true,"schema":{"type":"string"},"description":"The recruited Human."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The Human, able to take Tasks."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/tutorloop.com","human":{"$id":"https://api.sb/tutorloop.com/humans/human_1","$type":"Human","name":"Malik Owens","email":"malik@tutorloop.com"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Human.onboard","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.onboarded"}},"/humans/recruit":{"post":{"operationId":"Human.recruit","summary":"Human.recruit","description":"Recruit invites a person to supply credentialed work to a Startup through its supply App.","tags":["Human"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Where the invitation goes."},"credential":{"type":"string","description":"The Credential the work requires."}},"required":["email"],"additionalProperties":false},"example":{"email":"priya@ledgerlark.com"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The recruited Human."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/ledgerlark.com","human":{"$id":"https://api.sb/ledgerlark.com/humans/human_1","$type":"Human","name":"Priya Natarajan","email":"priya@ledgerlark.com"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Human.recruit","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.recruited"}},"/humans/{human}/release":{"post":{"operationId":"Human.release","summary":"Human.release","description":"Release frees a held amount for payout once its Dispute closes or its clearance period ends.","tags":["Human"],"parameters":[{"name":"human","in":"path","required":true,"schema":{"type":"string"},"description":"The payee."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"The Order or Dispute whose hold ends."}},"required":["cause"],"additionalProperties":false},"example":{"cause":"Example cause"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The payee, with the hold removed."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/kilnbakery.com","human":{"$id":"https://api.sb/kilnbakery.com/humans/human_1","$type":"Human","name":"Tomas Berg","email":"tomas@kilnbakery.com"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Human.release","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.released"}},"/humans/{human}/remit":{"post":{"operationId":"Human.remit","summary":"Human.remit","description":"Remit pays a supplying Human’s earned balance to their bank account through the Startup’s payment account.","tags":["Human"],"parameters":[{"name":"human","in":"path","required":true,"schema":{"type":"string"},"description":"The Human to pay."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The amount. Defaults to the full earned balance."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The payout Transaction."},"human":{"$ref":"#/components/schemas/Human","description":"The Human paid, with the balance now zero."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transaction","human","links"]},"example":{"api":"https://api.sb/petpantry.shop","transaction":{"$id":"https://api.sb/petpantry.shop/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":54,"currency":"USD"}},"human":{"$id":"https://api.sb/petpantry.shop/humans/human_1","$type":"Human","name":"Lena Fischer","email":"lena@petpantry.shop"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Human.remit","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.remitted"}},"/humans/{human}/suspend":{"post":{"operationId":"Human.suspend","summary":"Human.suspend","description":"Suspend stops a supplying Human from taking new Tasks while a Credential lapses or a dispute is open.","tags":["Human"],"parameters":[{"name":"human","in":"path","required":true,"schema":{"type":"string"},"description":"The Human to suspend."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the Human stops."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"human":{"$ref":"#/components/schemas/Human","description":"The suspended Human."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","human","links"]},"example":{"api":"https://api.sb/patentpad.com","human":{"$id":"https://api.sb/patentpad.com/humans/human_1","$type":"Human","name":"Rosa Ibarra","email":"rosa@patentpad.com"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Human.suspend","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Human.suspended"}},"/hypotheses":{"post":{"operationId":"Hypothesis.create","summary":"Hypothesis.create","description":"Creates a Hypothesis.","tags":["Hypothesis"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"statement":{"type":"string","description":"The belief, in one sentence."},"kind":{"type":"string","description":"One of `founding`, the five slots (`customer`, `problem`, `approach`, `switch`, `differentiation`), or `loop`.","enum":["founding","customer","problem","approach","switch","differentiation","loop"]},"parent":{"type":"string","description":"The Founding Hypothesis a slot Hypothesis belongs to. The Hypothesis id."},"metric":{"type":"string","description":"The Metric that settles it. The Metric id."},"threshold":{"type":"string","description":"The Metric value that settles it."},"grade":{"type":"string","description":"Computed: the strongest grade of its outside Evidence, `None` without any."}},"required":["statement","kind"],"additionalProperties":false},"example":{"statement":"Reviews résumés against the job they target.","kind":"founding"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"hypothesis":{"$ref":"#/components/schemas/Hypothesis","description":"The Hypothesis."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","hypothesis","links"]},"example":{"api":"https://api.sb/quietcopy.com","hypothesis":{"$id":"https://api.sb/quietcopy.com/hypotheses/hypothesis_1","$type":"Hypothesis","statement":"Reviews résumés against the job they target.","kind":"founding","verdict":"Open","version":1},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Hypothesis.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Hypothesis.created"},"get":{"operationId":"Hypothesis.list","summary":"Hypothesis.list","description":"Returns Hypotheses, newest first, one page at a time.","tags":["Hypothesis"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"hypotheses":{"type":"array","items":{"$ref":"#/components/schemas/Hypothesis","description":"One page of Hypotheses."},"description":"One page of Hypotheses."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","hypotheses","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Hypothesis","hypotheses":[{"$id":"https://api.sb/quietcopy.com/hypotheses/hypothesis_1","$type":"Hypothesis","statement":"Reviews résumés against the job they target.","kind":"founding","verdict":"Open","version":1}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/hypotheses?limit=20","next":"https://api.sb/quietcopy.com/hypotheses?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/hypotheses/{id}":{"get":{"operationId":"Hypothesis.get","summary":"Hypothesis.get","description":"Returns one Hypothesis by id.","tags":["Hypothesis"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Hypothesis."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"hypothesis":{"$ref":"#/components/schemas/Hypothesis","description":"The Hypothesis."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","hypothesis","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Hypothesis","$id":"https://api.sb/kilnbakery.com/hypotheses/hypothesis_1","hypothesis":{"$id":"https://api.sb/kilnbakery.com/hypotheses/hypothesis_1","$type":"Hypothesis","statement":"Bakes sourdough for neighborhood pickup.","kind":"founding","verdict":"Open","version":1},"links":{"self":"https://api.sb/kilnbakery.com/hypotheses/hypothesis_1","up":"https://api.sb/kilnbakery.com/hypotheses"},"actions":{"drop":"https://api.sb/kilnbakery.com/hypotheses/hypothesis_1/drop","test":"https://api.sb/kilnbakery.com/hypotheses/hypothesis_1/test"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/hypotheses/{hypothesis}/drop":{"post":{"operationId":"Hypothesis.drop","summary":"Hypothesis.drop","description":"Drop retires a Hypothesis from active work and keeps it, with its Evidence, on record.","tags":["Hypothesis"],"parameters":[{"name":"hypothesis","in":"path","required":true,"schema":{"type":"string"},"description":"The Hypothesis to retire."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it is dropped."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"hypothesis":{"$ref":"#/components/schemas/Hypothesis","description":"The dropped Hypothesis."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","hypothesis","links"]},"example":{"api":"https://api.sb/shiftnote.app","hypothesis":{"$id":"https://api.sb/shiftnote.app/hypotheses/hypothesis_1","$type":"Hypothesis","statement":"Schedules shifts for small medical clinics.","kind":"founding","verdict":"Open","version":1},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Hypothesis.drop","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Hypothesis.dropped"}},"/hypotheses/{hypothesis}/test":{"post":{"operationId":"Hypothesis.test","summary":"Hypothesis.test","description":"Test binds a Hypothesis to the Experiment that decides it and moves the Hypothesis to testing.","tags":["Hypothesis"],"parameters":[{"name":"hypothesis","in":"path","required":true,"schema":{"type":"string"},"description":"The Hypothesis to test."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"experiment":{"type":"string","description":"The Experiment that decides it. The Experiment id."}},"required":["experiment"],"additionalProperties":false},"example":{"experiment":"experiment_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"hypothesis":{"$ref":"#/components/schemas/Hypothesis","description":"The Hypothesis, now testing."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","hypothesis","links"]},"example":{"api":"https://api.sb/tutorloop.com","hypothesis":{"$id":"https://api.sb/tutorloop.com/hypotheses/hypothesis_1","$type":"Hypothesis","statement":"Matches high school students with math tutors.","kind":"founding","verdict":"Open","version":1},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Hypothesis.test","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Hypothesis.tested"}},"/icps":{"post":{"operationId":"ICP.create","summary":"ICP.create","description":"Creates an ICP.","tags":["ICP"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"Who they are and what they do."}},"required":["description"],"additionalProperties":false},"example":{"description":"One 50-minute online tutoring session."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"icp":{"$ref":"#/components/schemas/ICP","description":"The ICP."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","icp","links"]},"example":{"api":"https://api.sb/tutorloop.com","icp":{"$id":"https://api.sb/tutorloop.com/icps/icp_1","$type":"ICP","description":"One 50-minute online tutoring session."},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"ICP.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ICP.created"},"get":{"operationId":"ICP.list","summary":"ICP.list","description":"Returns ICPs, newest first, one page at a time.","tags":["ICP"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"icps":{"type":"array","items":{"$ref":"#/components/schemas/ICP","description":"One page of ICPs."},"description":"One page of ICPs."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","icps","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"ICP","icps":[{"$id":"https://api.sb/tutorloop.com/icps/icp_1","$type":"ICP","description":"One 50-minute online tutoring session."}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/icps?limit=20","next":"https://api.sb/tutorloop.com/icps?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/icps/{id}":{"get":{"operationId":"ICP.get","summary":"ICP.get","description":"Returns one ICP by id.","tags":["ICP"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the ICP."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"icp":{"$ref":"#/components/schemas/ICP","description":"The ICP."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","icp","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"ICP","$id":"https://api.sb/petpantry.shop/icps/icp_1","icp":{"$id":"https://api.sb/petpantry.shop/icps/icp_1","$type":"ICP","description":"A monthly pet food delivery."},"links":{"self":"https://api.sb/petpantry.shop/icps/icp_1","up":"https://api.sb/petpantry.shop/icps"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"ICP.update","summary":"ICP.update","description":"Changes the given properties of an ICP.","tags":["ICP"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the ICP."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"Who they are and what they do."}},"additionalProperties":false},"example":{"description":"Monthly bookkeeping with a quarterly tax estimate."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"icp":{"$ref":"#/components/schemas/ICP","description":"The ICP."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","icp","links"]},"example":{"api":"https://api.sb/ledgerlark.com","icp":{"$id":"https://api.sb/ledgerlark.com/icps/icp_1","$type":"ICP","description":"Monthly bookkeeping with a quarterly tax estimate."},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"ICP.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ICP.updated"},"delete":{"operationId":"ICP.delete","summary":"ICP.delete","description":"Deletes an ICP; its history is kept.","tags":["ICP"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the ICP."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"icp":{"$ref":"#/components/schemas/ICP","description":"The ICP."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","icp","links"]},"example":{"api":"https://api.sb/patentpad.com","icp":{"$id":"https://api.sb/patentpad.com/icps/icp_1","$type":"ICP","description":"One provisional patent draft with claims."},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"ICP.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ICP.deleted"}},"/ideas":{"post":{"operationId":"Idea.create","summary":"Idea.create","description":"Creates an Idea.","tags":["Idea"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"statement":{"type":"string","description":"The concept in one line."}},"required":["statement"],"additionalProperties":false},"example":{"statement":"Drafts provisional patents for solo inventors."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"idea":{"$ref":"#/components/schemas/Idea","description":"The Idea."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","idea","links"]},"example":{"api":"https://api.sb/patentpad.com","idea":{"$id":"https://api.sb/patentpad.com/ideas/idea_1","$type":"Idea","statement":"Drafts provisional patents for solo inventors.","status":"open"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Idea.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Idea.created"},"get":{"operationId":"Idea.list","summary":"Idea.list","description":"Returns Ideas, newest first, one page at a time.","tags":["Idea"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"ideas":{"type":"array","items":{"$ref":"#/components/schemas/Idea","description":"One page of Ideas."},"description":"One page of Ideas."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ideas","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Idea","ideas":[{"$id":"https://api.sb/routewise.dev/ideas/idea_1","$type":"Idea","statement":"Plans delivery routes for courier fleets through an API.","status":"open"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/ideas?limit=20","next":"https://api.sb/routewise.dev/ideas?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/ideas/{id}":{"get":{"operationId":"Idea.get","summary":"Idea.get","description":"Returns one Idea by id.","tags":["Idea"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Idea."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"idea":{"$ref":"#/components/schemas/Idea","description":"The Idea."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","idea","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Idea","$id":"https://api.sb/patentpad.com/ideas/idea_1","idea":{"$id":"https://api.sb/patentpad.com/ideas/idea_1","$type":"Idea","statement":"Drafts provisional patents for solo inventors.","status":"open"},"links":{"self":"https://api.sb/patentpad.com/ideas/idea_1","up":"https://api.sb/patentpad.com/ideas"},"actions":{"pursue":"https://api.sb/patentpad.com/ideas/idea_1/pursue"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/ideas/{idea}/pursue":{"post":{"operationId":"Idea.pursue","summary":"Idea.pursue","description":"Pursue starts a Startup on an Idea as one variant of the Experiment that tests the Idea.","tags":["Idea"],"parameters":[{"name":"idea","in":"path","required":true,"schema":{"type":"string"},"description":"The Idea to pursue."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"string","description":"The Template the variant extends. The Template id."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The new variant Startup."},"idea":{"$ref":"#/components/schemas/Idea","description":"The Idea now pursued."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","idea","links"]},"example":{"api":"https://api.sb/shiftnote.app","startup":{"$id":"https://api.sb/shiftnote.app/startups/startup_1","$type":"Startup","name":"ShiftNote"},"idea":{"$id":"https://api.sb/shiftnote.app/ideas/idea_1","$type":"Idea","statement":"Schedules shifts for small medical clinics.","status":"open"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Idea.pursue","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Idea.pursued"}},"/implementations":{"post":{"operationId":"Implementation.create","summary":"Implementation.create","description":"Creates an Implementation.","tags":["Implementation"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `managed`, `custom`, or `external`.","enum":["managed","custom","external"]},"endpoint":{"type":"string","format":"uri","description":"For an external Implementation, where api.sb routes each call."},"deliverBy":{"type":"string","format":"date","description":"For a `declared` Implementation: when a Function runs the Verb; a missed date refunds every reserve."},"product":{"type":"string","description":"An Implementation runs an Interface, System or Verb of one Product. The Product id."}},"required":["kind"],"additionalProperties":false},"example":{"kind":"managed"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"implementation":{"$ref":"#/components/schemas/Implementation","description":"The Implementation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","implementation","links"]},"example":{"api":"https://api.sb/tutorloop.com","implementation":{"$id":"https://api.sb/tutorloop.com/implementations/implementation_1","$type":"Implementation","kind":"managed"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Implementation.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Implementation.created"},"get":{"operationId":"Implementation.list","summary":"Implementation.list","description":"Returns Implementations, newest first, one page at a time.","tags":["Implementation"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"implementations":{"type":"array","items":{"$ref":"#/components/schemas/Implementation","description":"One page of Implementations."},"description":"One page of Implementations."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","implementations","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Implementation","implementations":[{"$id":"https://api.sb/tutorloop.com/implementations/implementation_1","$type":"Implementation","kind":"managed"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/implementations?limit=20","next":"https://api.sb/tutorloop.com/implementations?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/implementations/{id}":{"get":{"operationId":"Implementation.get","summary":"Implementation.get","description":"Returns one Implementation by id.","tags":["Implementation"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Implementation."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"implementation":{"$ref":"#/components/schemas/Implementation","description":"The Implementation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","implementation","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Implementation","$id":"https://api.sb/petpantry.shop/implementations/implementation_1","implementation":{"$id":"https://api.sb/petpantry.shop/implementations/implementation_1","$type":"Implementation","kind":"managed"},"links":{"self":"https://api.sb/petpantry.shop/implementations/implementation_1","up":"https://api.sb/petpantry.shop/implementations"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Implementation.update","summary":"Implementation.update","description":"Changes the given properties of an Implementation.","tags":["Implementation"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Implementation."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `managed`, `custom`, or `external`.","enum":["managed","custom","external"]},"endpoint":{"type":"string","format":"uri","description":"For an external Implementation, where api.sb routes each call."},"deliverBy":{"type":"string","format":"date","description":"For a `declared` Implementation: when a Function runs the Verb; a missed date refunds every reserve."}},"additionalProperties":false},"example":{"kind":"managed"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"implementation":{"$ref":"#/components/schemas/Implementation","description":"The Implementation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","implementation","links"]},"example":{"api":"https://api.sb/ledgerlark.com","implementation":{"$id":"https://api.sb/ledgerlark.com/implementations/implementation_1","$type":"Implementation","kind":"managed"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Implementation.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Implementation.updated"},"delete":{"operationId":"Implementation.delete","summary":"Implementation.delete","description":"Deletes an Implementation; its history is kept.","tags":["Implementation"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Implementation."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"implementation":{"$ref":"#/components/schemas/Implementation","description":"The Implementation."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","implementation","links"]},"example":{"api":"https://api.sb/patentpad.com","implementation":{"$id":"https://api.sb/patentpad.com/implementations/implementation_1","$type":"Implementation","kind":"managed"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Implementation.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Implementation.deleted"}},"/incidents":{"post":{"operationId":"Incident.create","summary":"Incident.create","description":"Creates an Incident.","tags":["Incident"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"kind":{"type":"string","description":"One of `bug`, `request`, or `question`.","enum":["bug","request","question"]},"advisory":{"type":"string","description":"For a vulnerability: the public advisory it matches, with the affected package and range."},"severity":{"type":"string","description":"One of `minor`, `major`, or `critical`.","enum":["minor","major","critical"]},"detectedAt":{"type":"string","format":"date-time","description":"When monitoring or a Customer first reported it."},"resolvedAt":{"type":"string","format":"date-time","description":"When service was restored."},"personalData":{"type":"boolean","description":"True when the Incident exposed personal data, which starts the breach-notice clock."},"monitor":{"type":"string","description":"A failing internal Monitor opens an Incident, which names the Monitor that saw it first. The Monitor id."}},"required":["severity","detectedAt"],"additionalProperties":false},"example":{"severity":"minor","detectedAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"incident":{"$ref":"#/components/schemas/Incident","description":"The Incident."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","incident","links"]},"example":{"api":"https://api.sb/tutorloop.com","incident":{"$id":"https://api.sb/tutorloop.com/incidents/incident_1","$type":"Incident","status":"pending","mode":"try","severity":"minor","detectedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Incident.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Incident.created"},"get":{"operationId":"Incident.list","summary":"Incident.list","description":"Returns Incidents, newest first, one page at a time.","tags":["Incident"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"incidents":{"type":"array","items":{"$ref":"#/components/schemas/Incident","description":"One page of Incidents."},"description":"One page of Incidents."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","incidents","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Incident","incidents":[{"$id":"https://api.sb/tutorloop.com/incidents/incident_1","$type":"Incident","status":"pending","mode":"try","severity":"minor","detectedAt":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/incidents?limit=20","next":"https://api.sb/tutorloop.com/incidents?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/incidents/{id}":{"get":{"operationId":"Incident.get","summary":"Incident.get","description":"Returns one Incident by id.","tags":["Incident"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Incident."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"incident":{"$ref":"#/components/schemas/Incident","description":"The Incident."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","incident","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Incident","$id":"https://api.sb/petpantry.shop/incidents/incident_1","incident":{"$id":"https://api.sb/petpantry.shop/incidents/incident_1","$type":"Incident","status":"pending","mode":"try","severity":"minor","detectedAt":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/petpantry.shop/incidents/incident_1","up":"https://api.sb/petpantry.shop/incidents"},"actions":{"acknowledge":"https://api.sb/petpantry.shop/incidents/incident_1/acknowledge","resolve":"https://api.sb/petpantry.shop/incidents/incident_1/resolve"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Incident.update","summary":"Incident.update","description":"Changes the given properties of an Incident.","tags":["Incident"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Incident."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"kind":{"type":"string","description":"One of `bug`, `request`, or `question`.","enum":["bug","request","question"]},"advisory":{"type":"string","description":"For a vulnerability: the public advisory it matches, with the affected package and range."},"severity":{"type":"string","description":"One of `minor`, `major`, or `critical`.","enum":["minor","major","critical"]},"detectedAt":{"type":"string","format":"date-time","description":"When monitoring or a Customer first reported it."},"resolvedAt":{"type":"string","format":"date-time","description":"When service was restored."},"personalData":{"type":"boolean","description":"True when the Incident exposed personal data, which starts the breach-notice clock."}},"additionalProperties":false},"example":{"severity":"minor"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"incident":{"$ref":"#/components/schemas/Incident","description":"The Incident."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","incident","links"]},"example":{"api":"https://api.sb/ledgerlark.com","incident":{"$id":"https://api.sb/ledgerlark.com/incidents/incident_1","$type":"Incident","status":"pending","mode":"try","severity":"minor","detectedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Incident.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Incident.updated"},"delete":{"operationId":"Incident.delete","summary":"Incident.delete","description":"Deletes an Incident; its history is kept.","tags":["Incident"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Incident."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"incident":{"$ref":"#/components/schemas/Incident","description":"The Incident."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","incident","links"]},"example":{"api":"https://api.sb/patentpad.com","incident":{"$id":"https://api.sb/patentpad.com/incidents/incident_1","$type":"Incident","status":"pending","mode":"try","severity":"minor","detectedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Incident.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Incident.deleted"}},"/incidents/{incident}/acknowledge":{"post":{"operationId":"Incident.acknowledge","summary":"Incident.acknowledge","description":"Acknowledge records that an on-call Worker owns an open Incident and stops its escalation.","tags":["Incident"],"parameters":[{"name":"incident","in":"path","required":true,"schema":{"type":"string"},"description":"The open Incident."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"incident":{"$ref":"#/components/schemas/Incident","description":"The acknowledged Incident."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","incident","links"]},"example":{"api":"https://api.sb/petpantry.shop","incident":{"$id":"https://api.sb/petpantry.shop/incidents/incident_1","$type":"Incident","status":"pending","mode":"try","severity":"minor","detectedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Incident.acknowledge","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Incident.acknowledged"}},"/incidents/open":{"post":{"operationId":"Incident.open","summary":"Incident.open","description":"Open starts an Incident from a failing Monitor, an error spike or a Metric past its threshold, and pages the on-call Worker.","tags":["Incident"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"severity":{"type":"string","description":"`sev1` stops Customers, `sev2` degrades a core path, `sev3` degrades one feature.","enum":["sev1","sev2","sev3"]},"cause":{"type":"string","description":"The Monitor, error group or Metric that tripped it."}},"required":["severity","cause"],"additionalProperties":false},"example":{"severity":"sev1","cause":"Example cause"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"incident":{"$ref":"#/components/schemas/Incident","description":"The open Incident."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","incident","links"]},"example":{"api":"https://api.sb/quietcopy.com","incident":{"$id":"https://api.sb/quietcopy.com/incidents/incident_1","$type":"Incident","status":"pending","mode":"try","severity":"minor","detectedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Incident.open","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Incident.opened"}},"/incidents/{incident}/resolve":{"post":{"operationId":"Incident.resolve","summary":"Incident.resolve","description":"Resolve closes an Incident once its Monitors pass, posts the resolution to the status page and opens the review Task.","tags":["Incident"],"parameters":[{"name":"incident","in":"path","required":true,"schema":{"type":"string"},"description":"The Incident to close."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"What failed and what fixed it."}},"required":["summary"],"additionalProperties":false},"example":{"summary":"Example summary"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"incident":{"$ref":"#/components/schemas/Incident","description":"The resolved Incident."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","incident","links"]},"example":{"api":"https://api.sb/petpantry.shop","incident":{"$id":"https://api.sb/petpantry.shop/incidents/incident_1","$type":"Incident","status":"pending","mode":"try","severity":"minor","detectedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Incident.resolve","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Incident.resolved"}},"/instruments/{id}":{"get":{"operationId":"Instrument.get","summary":"Instrument.get","description":"Returns one Instrument by id.","tags":["Instrument"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Instrument."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"instrument":{"$ref":"#/components/schemas/Instrument","description":"The Instrument."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","instrument","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Instrument","$id":"https://api.sb/shiftnote.app/instruments/instrument_1","instrument":{"$id":"https://api.sb/shiftnote.app/instruments/instrument_1","$type":"Instrument","kind":"safe","status":"outstanding"},"links":{"self":"https://api.sb/shiftnote.app/instruments/instrument_1","up":"https://api.sb/shiftnote.app/instruments"},"actions":{"cancel":"https://api.sb/shiftnote.app/instruments/instrument_1/cancel","convert":"https://api.sb/shiftnote.app/instruments/instrument_1/convert","exercise":"https://api.sb/shiftnote.app/instruments/instrument_1/exercise"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/instruments":{"get":{"operationId":"Instrument.list","summary":"Instrument.list","description":"Returns Instruments, newest first, one page at a time.","tags":["Instrument"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"instruments":{"type":"array","items":{"$ref":"#/components/schemas/Instrument","description":"One page of Instruments."},"description":"One page of Instruments."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","instruments","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Instrument","instruments":[{"$id":"https://api.sb/shiftnote.app/instruments/instrument_1","$type":"Instrument","kind":"safe","status":"outstanding"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/instruments?limit=20","next":"https://api.sb/shiftnote.app/instruments?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/instruments/{instrument}/cancel":{"post":{"operationId":"Instrument.cancel","summary":"Instrument.cancel","description":"Cancel ends an unvested, expired or forfeited Instrument and returns any option Shares to the pool.","tags":["Instrument"],"parameters":[{"name":"instrument","in":"path","required":true,"schema":{"type":"string"},"description":"The Instrument to end."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it ends: `unvested`, `expired` or `forfeited`.","enum":["unvested","expired","forfeited"]}},"required":["reason"],"additionalProperties":false},"example":{"reason":"unvested"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"instrument":{"$ref":"#/components/schemas/Instrument","description":"The canceled Instrument, kept with its history."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","instrument","links"]},"example":{"api":"https://api.sb/patentpad.com","instrument":{"$id":"https://api.sb/patentpad.com/instruments/instrument_1","$type":"Instrument","kind":"safe","status":"outstanding"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Instrument.cancel","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Instrument.canceled"}},"/instruments/{instrument}/convert":{"post":{"operationId":"Instrument.convert","summary":"Instrument.convert","description":"Convert turns a SAFE or note into Shares at a priced round, at its cap or discount, whichever gives more Shares.","tags":["Instrument"],"parameters":[{"name":"instrument","in":"path","required":true,"schema":{"type":"string"},"description":"The SAFE or note."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"roundPrice":{"$ref":"#/components/schemas/Money","description":"The price per Share of the priced round."}},"required":["roundPrice"],"additionalProperties":false},"example":{"roundPrice":{"amount":9,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"shares":{"type":"array","items":{"$ref":"#/components/schemas/Share","description":"The Shares issued on conversion."},"description":"The Shares issued on conversion."},"instrument":{"$ref":"#/components/schemas/Instrument","description":"The Instrument, now converted."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","shares","instrument","links"]},"example":{"api":"https://api.sb/kilnbakery.com","shares":[{"$id":"https://api.sb/kilnbakery.com/shares/share_1","$type":"Share","class":"common","quantity":1}],"instrument":{"$id":"https://api.sb/kilnbakery.com/instruments/instrument_1","$type":"Instrument","kind":"safe","status":"outstanding"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Instrument.convert","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Instrument.converted"}},"/instruments/{instrument}/exercise":{"post":{"operationId":"Instrument.exercise","summary":"Instrument.exercise","description":"Exercise buys the Shares an option or warrant covers at its strike price, up to what has vested.","tags":["Instrument"],"parameters":[{"name":"instrument","in":"path","required":true,"schema":{"type":"string"},"description":"The option or warrant."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quantity":{"type":"integer","description":"How many Shares to buy."}},"required":["quantity"],"additionalProperties":false},"example":{"quantity":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"share":{"$ref":"#/components/schemas/Share","description":"The Shares bought."},"instrument":{"$ref":"#/components/schemas/Instrument","description":"The Instrument, now exercised."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","share","instrument","links"]},"example":{"api":"https://api.sb/patentpad.com","share":{"$id":"https://api.sb/patentpad.com/shares/share_1","$type":"Share","class":"common","quantity":1},"instrument":{"$id":"https://api.sb/patentpad.com/instruments/instrument_1","$type":"Instrument","kind":"safe","status":"outstanding"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Instrument.exercise","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Instrument.exercised"}},"/instruments/grant":{"post":{"operationId":"Instrument.grant","summary":"Instrument.grant","description":"Grant gives a Holder an option from the pool, with its strike price, vesting schedule and cliff.","tags":["Instrument"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"holder":{"type":"string","description":"The Holder who receives the option, usually a Worker. The Holder id."},"quantity":{"type":"integer","description":"The Shares the option covers."},"strike":{"$ref":"#/components/schemas/Money","description":"The exercise price, at or above the latest fair market value."},"vesting":{"description":"The schedule and cliff."}},"required":["holder","quantity","strike","vesting"],"additionalProperties":false},"example":{"holder":"holder_1","quantity":1,"strike":{"amount":499,"currency":"USD"},"vesting":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"instrument":{"$ref":"#/components/schemas/Instrument","description":"The granted option."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","instrument","links"]},"example":{"api":"https://api.sb/patentpad.com","instrument":{"$id":"https://api.sb/patentpad.com/instruments/instrument_1","$type":"Instrument","kind":"safe","status":"outstanding"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Instrument.grant","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Instrument.granted"}},"/integrations":{"post":{"operationId":"Integration.create","summary":"Integration.create","description":"Creates an Integration.","tags":["Integration"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"acquired":{"type":"string","description":"One of `owned`, `wrapped`, or `recruited`.","enum":["owned","wrapped","recruited"]},"terms":{"type":"string","description":"The terms the Startup holds the right to use and resell it under."},"scope":{"type":"string","description":"One of `studio`, `startup`, or `customer`.","enum":["studio","startup","customer"]},"sync":{"type":"string","description":"Which side leads a sync connector: `platform` or `provider`."},"mode":{"type":"string","description":"How records move: `mirror` writes db.sb out to the outside tool; `import` turns edits there into Changes. db.sb is the record in both.","enum":["mirror","import"]},"venue":{"type":"string","description":"The id of the ad, social or app-store venue the account is on, when it is on one."},"account":{"type":"string","description":"The outside account’s own id, such as an ad account, a workspace or a repository."},"grants":{"type":"array","items":{"type":"string","description":"The outside permissions the account holder approved: the narrowest set its Verbs need."},"description":"The outside permissions the account holder approved: the narrowest set its Verbs need."},"connectedBy":{"type":"string","description":"Who approved the connection; a Human’s own account is used only under that Human’s Mandate. The Party id."},"environment":{"type":"string","description":"A `test` Integration reaches only the upstream’s test account, as a Stripe test account does.","enum":["test","live"]},"expiresAt":{"type":"string","format":"date-time","description":"When access lapses unless refreshed."},"refreshedAt":{"type":"string","format":"date-time","description":"When the platform last renewed the outside token."},"lastError":{"type":"string","description":"The error slug of the last failed call or refresh, cleared by the next success."},"cursor":{"type":"string","description":"Where the last sync run stopped, so the next run reads only what changed."},"system":{"type":"string","description":"An Integration connects an outside Source to one System, with credentials at Studio, Startup or Customer scope. The System id."}},"required":["acquired","scope","mode"],"additionalProperties":false},"example":{"acquired":"owned","scope":"studio","mode":"mirror"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/kilnbakery.com","integration":{"$id":"https://api.sb/kilnbakery.com/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Integration.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.created"},"get":{"operationId":"Integration.list","summary":"Integration.list","description":"Returns Integrations, newest first, one page at a time.","tags":["Integration"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"integrations":{"type":"array","items":{"$ref":"#/components/schemas/Integration","description":"One page of Integrations."},"description":"One page of Integrations."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integrations","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Integration","integrations":[{"$id":"https://api.sb/petpantry.shop/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/integrations?limit=20","next":"https://api.sb/petpantry.shop/integrations?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/integrations/{id}":{"get":{"operationId":"Integration.get","summary":"Integration.get","description":"Returns one Integration by id.","tags":["Integration"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Integration."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Integration","$id":"https://api.sb/tutorloop.com/integrations/integration_1","integration":{"$id":"https://api.sb/tutorloop.com/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"links":{"self":"https://api.sb/tutorloop.com/integrations/integration_1","up":"https://api.sb/tutorloop.com/integrations"},"actions":{"call":"https://api.sb/tutorloop.com/integrations/integration_1/call","pause":"https://api.sb/tutorloop.com/integrations/integration_1/pause","reconnect":"https://api.sb/tutorloop.com/integrations/integration_1/reconnect"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Integration.update","summary":"Integration.update","description":"Changes the given properties of an Integration.","tags":["Integration"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Integration."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"acquired":{"type":"string","description":"One of `owned`, `wrapped`, or `recruited`.","enum":["owned","wrapped","recruited"]},"terms":{"type":"string","description":"The terms the Startup holds the right to use and resell it under."},"scope":{"type":"string","description":"One of `studio`, `startup`, or `customer`.","enum":["studio","startup","customer"]},"sync":{"type":"string","description":"Which side leads a sync connector: `platform` or `provider`."},"mode":{"type":"string","description":"How records move: `mirror` writes db.sb out to the outside tool; `import` turns edits there into Changes. db.sb is the record in both.","enum":["mirror","import"]},"venue":{"type":"string","description":"The id of the ad, social or app-store venue the account is on, when it is on one."},"account":{"type":"string","description":"The outside account’s own id, such as an ad account, a workspace or a repository."},"grants":{"type":"array","items":{"type":"string","description":"The outside permissions the account holder approved: the narrowest set its Verbs need."},"description":"The outside permissions the account holder approved: the narrowest set its Verbs need."},"connectedBy":{"type":"string","description":"Who approved the connection; a Human’s own account is used only under that Human’s Mandate. The Party id."},"environment":{"type":"string","description":"A `test` Integration reaches only the upstream’s test account, as a Stripe test account does.","enum":["test","live"]},"expiresAt":{"type":"string","format":"date-time","description":"When access lapses unless refreshed."},"refreshedAt":{"type":"string","format":"date-time","description":"When the platform last renewed the outside token."},"lastError":{"type":"string","description":"The error slug of the last failed call or refresh, cleared by the next success."},"cursor":{"type":"string","description":"Where the last sync run stopped, so the next run reads only what changed."}},"additionalProperties":false},"example":{"scope":"studio"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/patentpad.com","integration":{"$id":"https://api.sb/patentpad.com/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Integration.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.updated"},"delete":{"operationId":"Integration.delete","summary":"Integration.delete","description":"Deletes an Integration; its history is kept.","tags":["Integration"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Integration."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/shiftnote.app","integration":{"$id":"https://api.sb/shiftnote.app/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Integration.delete","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.deleted"}},"/integrations/{integration}/call":{"post":{"operationId":"Integration.call","summary":"Integration.call","description":"Call sends one request to an upstream through an Integration, with its token filled in server-side, for endpoints no Mapping covers.","tags":["Integration"],"parameters":[{"name":"integration","in":"path","required":true,"schema":{"type":"string"},"description":"The Integration to call through."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"method":{"type":"string","description":"The HTTP method; `GET` runs at once."},"path":{"type":"string","description":"The upstream path, inside the Integration’s grants."},"body":{"description":"The request body."}},"required":["method","path"],"additionalProperties":false},"example":{"method":"GET","path":"/"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"status":{"type":"integer","description":"The upstream’s status code."},"body":{"description":"The upstream’s response body."},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration the request went through."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","status","integration","links"]},"example":{"api":"https://api.sb/petpantry.shop","status":1,"body":{},"integration":{"$id":"https://api.sb/petpantry.shop/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Integration.call","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.called"}},"/integrations/connect":{"post":{"operationId":"Integration.connect","summary":"Integration.connect","description":"Connect asks an account holder to approve an outside account for one System and records the grants they approve.","tags":["Integration"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"system":{"type":"string","description":"The System the Integration serves. The System id."},"scope":{"type":"string","description":"One of `studio`, `startup` or `customer`; a person’s own account is `startup`, narrowed to them.","enum":["studio","startup","customer","startup"]},"grants":{"type":"array","items":{"type":"string","description":"The access requested, shown to the account holder before they approve."},"description":"The access requested, shown to the account holder before they approve."},"venue":{"type":"string","description":"The id of the ad, social or app-store venue the account is on."},"for":{"type":"string","description":"The account holder, when an Agent asks on their behalf. The Party id."}},"required":["system","scope","grants"],"additionalProperties":false},"example":{"system":"system_1","scope":"studio","grants":["Example grants"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, `connecting` until approved."},"connectUrl":{"type":"string","format":"uri","description":"The approval page on the upstream’s own site; it expires in one hour."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","connectUrl","links"]},"example":{"api":"https://api.sb/petpantry.shop","integration":{"$id":"https://api.sb/petpantry.shop/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"connectUrl":"https://petpantry.shop","action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Integration.connect","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.connected"}},"/integrations/{integration}/pause":{"post":{"operationId":"Integration.pause","summary":"Integration.pause","description":"Pause stops every call through an Integration at once and keeps its token and cursor.","tags":["Integration"],"parameters":[{"name":"integration","in":"path","required":true,"schema":{"type":"string"},"description":"The Integration to pause."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why, shown to every Worker whose Action waits on it."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, `paused`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/kilnbakery.com","integration":{"$id":"https://api.sb/kilnbakery.com/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Integration.pause","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.paused"}},"/integrations/{integration}/reconnect":{"post":{"operationId":"Integration.reconnect","summary":"Integration.reconnect","description":"Reconnect re-approves an Integration in place, keeping its id and cursor, so nothing re-imports.","tags":["Integration"],"parameters":[{"name":"integration","in":"path","required":true,"schema":{"type":"string"},"description":"The Integration in `needsReauth`."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"connectUrl":{"type":"string","format":"uri","description":"The approval page; it expires in one hour."},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, its id and cursor kept."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","connectUrl","integration","links"]},"example":{"api":"https://api.sb/ledgerlark.com","connectUrl":"https://ledgerlark.com","integration":{"$id":"https://api.sb/ledgerlark.com/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Integration.reconnect","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.reconnected"}},"/integrations/{integration}/refresh":{"post":{"operationId":"Integration.refresh","summary":"Integration.refresh","description":"Refresh renews an Integration’s outside token before it expires; a refused refresh moves it to `needsReauth`.","tags":["Integration"],"parameters":[{"name":"integration","in":"path","required":true,"schema":{"type":"string"},"description":"The Integration to refresh."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration with a new `refreshedAt`, or in `needsReauth`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/patentpad.com","integration":{"$id":"https://api.sb/patentpad.com/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Integration.refresh","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.refreshed"}},"/integrations/{integration}/resume":{"post":{"operationId":"Integration.resume","summary":"Integration.resume","description":"Resume restarts a paused Integration from its cursor and releases the Actions that waited on it.","tags":["Integration"],"parameters":[{"name":"integration","in":"path","required":true,"schema":{"type":"string"},"description":"The paused Integration."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, `connected`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/shiftnote.app","integration":{"$id":"https://api.sb/shiftnote.app/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Integration.resume","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.resumed"}},"/integrations/{integration}/revoke":{"post":{"operationId":"Integration.revoke","summary":"Integration.revoke","description":"Revoke ends an Integration at once: its token is revoked with the upstream, and every record it brought in stays.","tags":["Integration"],"parameters":[{"name":"integration","in":"path","required":true,"schema":{"type":"string"},"description":"The Integration to end."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why, kept on the Integration."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, `revoked`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/quietcopy.com","integration":{"$id":"https://api.sb/quietcopy.com/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Integration.revoke","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.revoked"}},"/integrations/{integration}/sync":{"post":{"operationId":"Integration.sync","summary":"Integration.sync","description":"Sync exchanges records between a System and its connector, and the declared leader wins every conflict.","tags":["Integration"],"parameters":[{"name":"integration","in":"path","required":true,"schema":{"type":"string"},"description":"The connector to sync."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration with its sync cursor moved."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","integration","links"]},"example":{"api":"https://api.sb/shiftnote.app","integration":{"$id":"https://api.sb/shiftnote.app/integrations/integration_1","$type":"Integration","acquired":"owned","scope":"studio","mode":"mirror","state":"connecting"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Integration.sync","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Integration.synced"}},"/interfaces":{"post":{"operationId":"Interface.create","summary":"Interface.create","description":"Creates an Interface.","tags":["Interface"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `api`, `mcp`, `cli`, `sdk`, `site`, `app`, `docs`, or `webhooks`.","enum":["api","mcp","cli","sdk","site","app","docs","webhooks"]},"path":{"type":"string","description":"Where it is mounted on its Domain, such as `/api`."},"conformsTo":{"description":"The Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs."},"product":{"type":"string","description":"Each Interface exposes one Product; a Product is reached through many Interfaces. The Product id."}},"required":["kind"],"additionalProperties":false},"example":{"kind":"api"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"interface":{"$ref":"#/components/schemas/Interface","description":"The Interface."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","interface","links"]},"example":{"api":"https://api.sb/shiftnote.app","interface":{"$id":"https://api.sb/shiftnote.app/interfaces/interface_1","$type":"Interface","kind":"api"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Interface.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Interface.created"},"get":{"operationId":"Interface.list","summary":"Interface.list","description":"Returns Interfaces, newest first, one page at a time.","tags":["Interface"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"interfaces":{"type":"array","items":{"$ref":"#/components/schemas/Interface","description":"One page of Interfaces."},"description":"One page of Interfaces."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","interfaces","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Interface","interfaces":[{"$id":"https://api.sb/shiftnote.app/interfaces/interface_1","$type":"Interface","kind":"api"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/interfaces?limit=20","next":"https://api.sb/shiftnote.app/interfaces?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/interfaces/{id}":{"get":{"operationId":"Interface.get","summary":"Interface.get","description":"Returns one Interface by id.","tags":["Interface"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Interface."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"interface":{"$ref":"#/components/schemas/Interface","description":"The Interface."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","interface","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Interface","$id":"https://api.sb/shiftnote.app/interfaces/interface_1","interface":{"$id":"https://api.sb/shiftnote.app/interfaces/interface_1","$type":"Interface","kind":"api"},"links":{"self":"https://api.sb/shiftnote.app/interfaces/interface_1","up":"https://api.sb/shiftnote.app/interfaces"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Interface.update","summary":"Interface.update","description":"Changes the given properties of an Interface.","tags":["Interface"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Interface."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `api`, `mcp`, `cli`, `sdk`, `site`, `app`, `docs`, or `webhooks`.","enum":["api","mcp","cli","sdk","site","app","docs","webhooks"]},"path":{"type":"string","description":"Where it is mounted on its Domain, such as `/api`."},"conformsTo":{"description":"The Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs."}},"additionalProperties":false},"example":{"kind":"api"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"interface":{"$ref":"#/components/schemas/Interface","description":"The Interface."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","interface","links"]},"example":{"api":"https://api.sb/tutorloop.com","interface":{"$id":"https://api.sb/tutorloop.com/interfaces/interface_1","$type":"Interface","kind":"api"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Interface.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Interface.updated"},"delete":{"operationId":"Interface.delete","summary":"Interface.delete","description":"Deletes an Interface; its history is kept.","tags":["Interface"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Interface."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"interface":{"$ref":"#/components/schemas/Interface","description":"The Interface."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","interface","links"]},"example":{"api":"https://api.sb/petpantry.shop","interface":{"$id":"https://api.sb/petpantry.shop/interfaces/interface_1","$type":"Interface","kind":"api"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Interface.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Interface.deleted"}},"/interviews":{"post":{"operationId":"Interview.create","summary":"Interview.create","description":"Creates an Interview.","tags":["Interview"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string","description":"What the Thread is about."},"script":{"type":"string","description":"The questions asked. The Template id."},"transcript":{"type":"string","description":"What was said."}},"required":["script"],"additionalProperties":false},"example":{"script":"template_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"interview":{"$ref":"#/components/schemas/Interview","description":"The Interview."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","interview","links"]},"example":{"api":"https://api.sb/ledgerlark.com","interview":{"$id":"https://api.sb/ledgerlark.com/interviews/interview_1","$type":"Interview","script":"template_1"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Interview.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Interview.created"},"get":{"operationId":"Interview.list","summary":"Interview.list","description":"Returns Interviews, newest first, one page at a time.","tags":["Interview"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"interviews":{"type":"array","items":{"$ref":"#/components/schemas/Interview","description":"One page of Interviews."},"description":"One page of Interviews."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","interviews","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Interview","interviews":[{"$id":"https://api.sb/ledgerlark.com/interviews/interview_1","$type":"Interview","script":"template_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/interviews?limit=20","next":"https://api.sb/ledgerlark.com/interviews?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/interviews/{id}":{"get":{"operationId":"Interview.get","summary":"Interview.get","description":"Returns one Interview by id.","tags":["Interview"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Interview."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"interview":{"$ref":"#/components/schemas/Interview","description":"The Interview."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","interview","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Interview","$id":"https://api.sb/ledgerlark.com/interviews/interview_1","interview":{"$id":"https://api.sb/ledgerlark.com/interviews/interview_1","$type":"Interview","script":"template_1"},"links":{"self":"https://api.sb/ledgerlark.com/interviews/interview_1","up":"https://api.sb/ledgerlark.com/interviews"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/invoices":{"post":{"operationId":"Invoice.create","summary":"Invoice.create","description":"Creates an Invoice.","tags":["Invoice"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/Money","description":"The amount due."},"due":{"type":"string","format":"date","description":"When payment is due."},"paidAt":{"type":"string","format":"date-time","description":"When it was paid."},"collection":{"type":"string","description":"`charge` charges the saved payment method; `send` sends the Invoice and waits for a transfer. `charge` by default.","enum":["charge","send"]},"terms":{"type":"integer","description":"Days from issue until a `send` Invoice is due, such as 30; sets `due`."},"purchaseOrder":{"type":"string","description":"The Customer’s purchase order number, printed on the Invoice."},"refunded":{"$ref":"#/components/schemas/Money","description":"The total returned to the Customer, from zero up to the amount paid."},"number":{"type":"string","description":"The Invoice number, sequential per Startup and never reused, voided Invoices included."},"lines":{"description":"Each Offer billed: its quantity, Period and amount, with any Coupon or Credit Grant applied."},"pdf":{"type":"string","format":"uri","description":"The Invoice, or its receipt once paid, as a PDF on the Startup’s Domain that names the seller of record."},"payUrl":{"type":"string","format":"uri","description":"The page on the Startup’s Domain where the Customer pays it by card or bank transfer."},"subscription":{"type":"string","description":"The Invoices the Subscription issues, one for each period it renews. The Subscription id."},"customer":{"type":"string","description":"Each Invoice is owed by one Customer. The Customer id."}},"required":["total","due"],"additionalProperties":false},"example":{"total":{"amount":79,"currency":"USD"},"due":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoice","links"]},"example":{"api":"https://api.sb/shiftnote.app","invoice":{"$id":"https://api.sb/shiftnote.app/invoices/invoice_1","$type":"Invoice","total":{"amount":79,"currency":"USD"},"due":"2026-10-22"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Invoice.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Invoice.created"},"get":{"operationId":"Invoice.list","summary":"Invoice.list","description":"Returns Invoices, newest first, one page at a time.","tags":["Invoice"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"invoices":{"type":"array","items":{"$ref":"#/components/schemas/Invoice","description":"One page of Invoices."},"description":"One page of Invoices."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoices","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Invoice","invoices":[{"$id":"https://api.sb/shiftnote.app/invoices/invoice_1","$type":"Invoice","total":{"amount":79,"currency":"USD"},"due":"2026-10-22"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/invoices?limit=20","next":"https://api.sb/shiftnote.app/invoices?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/invoices/{id}":{"get":{"operationId":"Invoice.get","summary":"Invoice.get","description":"Returns one Invoice by id.","tags":["Invoice"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Invoice."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoice","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Invoice","$id":"https://api.sb/shiftnote.app/invoices/invoice_1","invoice":{"$id":"https://api.sb/shiftnote.app/invoices/invoice_1","$type":"Invoice","total":{"amount":79,"currency":"USD"},"due":"2026-10-22"},"links":{"self":"https://api.sb/shiftnote.app/invoices/invoice_1","up":"https://api.sb/shiftnote.app/invoices"},"actions":{"bill":"https://api.sb/shiftnote.app/invoices/invoice_1/bill","collect":"https://api.sb/shiftnote.app/invoices/invoice_1/collect","refund":"https://api.sb/shiftnote.app/invoices/invoice_1/refund"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Invoice.update","summary":"Invoice.update","description":"Changes the given properties of an Invoice.","tags":["Invoice"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Invoice."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/Money","description":"The amount due."},"due":{"type":"string","format":"date","description":"When payment is due."},"paidAt":{"type":"string","format":"date-time","description":"When it was paid."},"collection":{"type":"string","description":"`charge` charges the saved payment method; `send` sends the Invoice and waits for a transfer. `charge` by default.","enum":["charge","send"]},"terms":{"type":"integer","description":"Days from issue until a `send` Invoice is due, such as 30; sets `due`."},"purchaseOrder":{"type":"string","description":"The Customer’s purchase order number, printed on the Invoice."},"refunded":{"$ref":"#/components/schemas/Money","description":"The total returned to the Customer, from zero up to the amount paid."},"number":{"type":"string","description":"The Invoice number, sequential per Startup and never reused, voided Invoices included."},"lines":{"description":"Each Offer billed: its quantity, Period and amount, with any Coupon or Credit Grant applied."},"pdf":{"type":"string","format":"uri","description":"The Invoice, or its receipt once paid, as a PDF on the Startup’s Domain that names the seller of record."},"payUrl":{"type":"string","format":"uri","description":"The page on the Startup’s Domain where the Customer pays it by card or bank transfer."}},"additionalProperties":false},"example":{"total":{"amount":60,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoice","links"]},"example":{"api":"https://api.sb/tutorloop.com","invoice":{"$id":"https://api.sb/tutorloop.com/invoices/invoice_1","$type":"Invoice","total":{"amount":60,"currency":"USD"},"due":"2026-10-22"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Invoice.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Invoice.updated"}},"/invoices/{invoice}/bill":{"post":{"operationId":"Invoice.bill","summary":"Invoice.bill","description":"Bill finalizes an Invoice and presents it to the Customer for payment.","tags":["Invoice"],"parameters":[{"name":"invoice","in":"path","required":true,"schema":{"type":"string"},"description":"The draft Invoice."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"invoice":{"$ref":"#/components/schemas/Invoice","description":"The open Invoice."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoice","links"]},"example":{"api":"https://api.sb/tutorloop.com","invoice":{"$id":"https://api.sb/tutorloop.com/invoices/invoice_1","$type":"Invoice","total":{"amount":60,"currency":"USD"},"due":"2026-10-22"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Invoice.bill","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Invoice.billed"}},"/invoices/{invoice}/collect":{"post":{"operationId":"Invoice.collect","summary":"Invoice.collect","description":"Collect charges a Customer’s saved payment method for an open Invoice and retries on failure.","tags":["Invoice"],"parameters":[{"name":"invoice","in":"path","required":true,"schema":{"type":"string"},"description":"The open Invoice."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"invoice":{"$ref":"#/components/schemas/Invoice","description":"The paid Invoice."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoice","links"]},"example":{"api":"https://api.sb/routewise.dev","invoice":{"$id":"https://api.sb/routewise.dev/invoices/invoice_1","$type":"Invoice","total":{"amount":25,"currency":"USD"},"due":"2026-10-22"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Invoice.collect","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Invoice.collected"}},"/invoices/{invoice}/refund":{"post":{"operationId":"Invoice.refund","summary":"Invoice.refund","description":"Refund returns all or part of a paid Invoice to the Customer’s original payment method and posts the reversing Entries.","tags":["Invoice"],"parameters":[{"name":"invoice","in":"path","required":true,"schema":{"type":"string"},"description":"The paid Invoice."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The amount. Defaults to the full payment; pro rata takes the unused part of the Period."},"reason":{"type":"string","description":"Why the money goes back, kept on the Invoice."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice, with its refunded amount."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoice","links"]},"example":{"api":"https://api.sb/patentpad.com","invoice":{"$id":"https://api.sb/patentpad.com/invoices/invoice_1","$type":"Invoice","total":{"amount":499,"currency":"USD"},"due":"2026-10-22"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Invoice.refund","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Invoice.refunded"}},"/invoices/{invoice}/void":{"post":{"operationId":"Invoice.void","summary":"Invoice.void","description":"Void cancels an unpaid Invoice, keeps it on record, and posts the reversing Entries.","tags":["Invoice"],"parameters":[{"name":"invoice","in":"path","required":true,"schema":{"type":"string"},"description":"The unpaid Invoice."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the amount is no longer due."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"invoice":{"$ref":"#/components/schemas/Invoice","description":"The voided Invoice, kept forever."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoice","links"]},"example":{"api":"https://api.sb/routewise.dev","invoice":{"$id":"https://api.sb/routewise.dev/invoices/invoice_1","$type":"Invoice","total":{"amount":25,"currency":"USD"},"due":"2026-10-22"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Invoice.void","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Invoice.voided"}},"/issues":{"post":{"operationId":"Issue.create","summary":"Issue.create","description":"Creates an Issue.","tags":["Issue"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"kind":{"type":"string","description":"One of `bug`, `request`, or `question`.","enum":["bug","request","question"]},"severity":{"type":"string","description":"Set by triage; a vulnerability takes `critical`, `high`, `medium` or `low`, which sets `due`. An Incident keeps its own scale.","enum":["critical","high","medium","low","due"]},"advisory":{"type":"string","description":"For a vulnerability: the public advisory it matches, with the affected package and range."}},"additionalProperties":false},"example":{"by":"worker_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"issue":{"$ref":"#/components/schemas/Issue","description":"The Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/shiftnote.app","issue":{"$id":"https://api.sb/shiftnote.app/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Issue.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Issue.created"},"get":{"operationId":"Issue.list","summary":"Issue.list","description":"Returns Issues, newest first, one page at a time.","tags":["Issue"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/Issue","description":"One page of Issues."},"description":"One page of Issues."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issues","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Issue","issues":[{"$id":"https://api.sb/shiftnote.app/issues/issue_1","$type":"Issue","status":"pending","mode":"try"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/issues?limit=20","next":"https://api.sb/shiftnote.app/issues?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/issues/{id}":{"get":{"operationId":"Issue.get","summary":"Issue.get","description":"Returns one Issue by id.","tags":["Issue"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Issue."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"issue":{"$ref":"#/components/schemas/Issue","description":"The Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Issue","$id":"https://api.sb/shiftnote.app/issues/issue_1","issue":{"$id":"https://api.sb/shiftnote.app/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"links":{"self":"https://api.sb/shiftnote.app/issues/issue_1","up":"https://api.sb/shiftnote.app/issues"},"actions":{"estimate":"https://api.sb/shiftnote.app/issues/issue_1/estimate","reopen":"https://api.sb/shiftnote.app/issues/issue_1/reopen","resolve":"https://api.sb/shiftnote.app/issues/issue_1/resolve"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Issue.update","summary":"Issue.update","description":"Changes the given properties of an Issue.","tags":["Issue"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Issue."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"kind":{"type":"string","description":"One of `bug`, `request`, or `question`.","enum":["bug","request","question"]},"severity":{"type":"string","description":"Set by triage; a vulnerability takes `critical`, `high`, `medium` or `low`, which sets `due`. An Incident keeps its own scale.","enum":["critical","high","medium","low","due"]},"advisory":{"type":"string","description":"For a vulnerability: the public advisory it matches, with the affected package and range."}},"additionalProperties":false},"example":{"kind":"bug"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"issue":{"$ref":"#/components/schemas/Issue","description":"The Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/tutorloop.com","issue":{"$id":"https://api.sb/tutorloop.com/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Issue.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Issue.updated"},"delete":{"operationId":"Issue.delete","summary":"Issue.delete","description":"Deletes an Issue; its history is kept.","tags":["Issue"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Issue."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"issue":{"$ref":"#/components/schemas/Issue","description":"The Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/petpantry.shop","issue":{"$id":"https://api.sb/petpantry.shop/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Issue.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Issue.deleted"}},"/issues/{issue}/estimate":{"post":{"operationId":"Issue.estimate","summary":"Issue.estimate","description":"Estimate records the effort an Issue needs, in days, so a week holds only what fits.","tags":["Issue"],"parameters":[{"name":"issue","in":"path","required":true,"schema":{"type":"string"},"description":"The Issue to size."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"days":{"type":"number","description":"The effort in working days."}},"required":["days"],"additionalProperties":false},"example":{"days":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"issue":{"$ref":"#/components/schemas/Issue","description":"The estimated Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/routewise.dev","issue":{"$id":"https://api.sb/routewise.dev/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Issue.estimate","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Issue.estimated"}},"/issues/{issue}/reopen":{"post":{"operationId":"Issue.reopen","summary":"Issue.reopen","description":"Reopen returns a resolved Issue to its owning Role when the fix does not hold.","tags":["Issue"],"parameters":[{"name":"issue","in":"path","required":true,"schema":{"type":"string"},"description":"The resolved Issue."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"What still fails."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"issue":{"$ref":"#/components/schemas/Issue","description":"The reopened Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/tutorloop.com","issue":{"$id":"https://api.sb/tutorloop.com/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Issue.reopen","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Issue.reopened"}},"/issues/{issue}/resolve":{"post":{"operationId":"Issue.resolve","summary":"Issue.resolve","description":"Resolve closes an Issue with its fix recorded and tells every Customer who reported it.","tags":["Issue"],"parameters":[{"name":"issue","in":"path","required":true,"schema":{"type":"string"},"description":"The Issue to close."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"resolution":{"type":"string","description":"What fixed it."},"change":{"type":"string","description":"The Change whose full rollout fixed the Issue; its Version is recorded as the resolution. The Change id."}},"required":["resolution"],"additionalProperties":false},"example":{"resolution":"Example resolution"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"issue":{"$ref":"#/components/schemas/Issue","description":"The resolved Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/ledgerlark.com","issue":{"$id":"https://api.sb/ledgerlark.com/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Issue.resolve","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Issue.resolved"}},"/issues/{issue}/schedule":{"post":{"operationId":"Issue.schedule","summary":"Issue.schedule","description":"Schedule commits an Issue to a week of work and records each scope change after the week starts.","tags":["Issue"],"parameters":[{"name":"issue","in":"path","required":true,"schema":{"type":"string"},"description":"The Issue to commit."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"week":{"type":"string","format":"date","description":"The first day of the week it is committed to."}},"required":["week"],"additionalProperties":false},"example":{"week":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"issue":{"$ref":"#/components/schemas/Issue","description":"The scheduled Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/quietcopy.com","issue":{"$id":"https://api.sb/quietcopy.com/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Issue.schedule","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Issue.scheduled"}},"/issues/{issue}/triage":{"post":{"operationId":"Issue.triage","summary":"Issue.triage","description":"Triage sets an Issue’s severity and owning Role from its content and the Customer it affects.","tags":["Issue"],"parameters":[{"name":"issue","in":"path","required":true,"schema":{"type":"string"},"description":"The new Issue."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"issue":{"$ref":"#/components/schemas/Issue","description":"The triaged Issue."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","issue","links"]},"example":{"api":"https://api.sb/ledgerlark.com","issue":{"$id":"https://api.sb/ledgerlark.com/issues/issue_1","$type":"Issue","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Issue.triage","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Issue.triaged"}},"/key-results":{"post":{"operationId":"KeyResult.create","summary":"KeyResult.create","description":"Creates a Key Result.","tags":["KeyResult"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"baseline":{"type":"number","description":"Where the Metric started."},"target":{"type":"number","description":"Where the Metric must reach."},"deadline":{"type":"string","format":"date","description":"When it must reach it."},"goal":{"type":"string","description":"A Goal is met when its Key Results reach their targets. The Goal id."},"metric":{"type":"string","description":"A Key Result compares one Metric’s value against its baseline and target. The Metric id."}},"required":["baseline","target","deadline"],"additionalProperties":false},"example":{"baseline":1,"target":1,"deadline":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"keyResult":{"$ref":"#/components/schemas/KeyResult","description":"The Key Result."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyResult","links"]},"example":{"api":"https://api.sb/kilnbakery.com","keyResult":{"$id":"https://api.sb/kilnbakery.com/key-results/key_result_1","$type":"KeyResult","baseline":1,"target":1,"deadline":"2026-10-22"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"KeyResult.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"KeyResult.created"},"get":{"operationId":"KeyResult.list","summary":"KeyResult.list","description":"Returns Key Results, newest first, one page at a time.","tags":["KeyResult"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"keyResults":{"type":"array","items":{"$ref":"#/components/schemas/KeyResult","description":"One page of Key Results."},"description":"One page of Key Results."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyResults","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"KeyResult","keyResults":[{"$id":"https://api.sb/petpantry.shop/key-results/key_result_1","$type":"KeyResult","baseline":1,"target":1,"deadline":"2026-10-22"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/key-results?limit=20","next":"https://api.sb/petpantry.shop/key-results?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/key-results/{id}":{"get":{"operationId":"KeyResult.get","summary":"KeyResult.get","description":"Returns one Key Result by id.","tags":["KeyResult"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Key Result."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"keyResult":{"$ref":"#/components/schemas/KeyResult","description":"The Key Result."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyResult","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"KeyResult","$id":"https://api.sb/tutorloop.com/key-results/key_result_1","keyResult":{"$id":"https://api.sb/tutorloop.com/key-results/key_result_1","$type":"KeyResult","baseline":1,"target":1,"deadline":"2026-10-22"},"links":{"self":"https://api.sb/tutorloop.com/key-results/key_result_1","up":"https://api.sb/tutorloop.com/key-results"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"KeyResult.update","summary":"KeyResult.update","description":"Changes the given properties of a Key Result.","tags":["KeyResult"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Key Result."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"baseline":{"type":"number","description":"Where the Metric started."},"target":{"type":"number","description":"Where the Metric must reach."},"deadline":{"type":"string","format":"date","description":"When it must reach it."}},"additionalProperties":false},"example":{"baseline":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"keyResult":{"$ref":"#/components/schemas/KeyResult","description":"The Key Result."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyResult","links"]},"example":{"api":"https://api.sb/patentpad.com","keyResult":{"$id":"https://api.sb/patentpad.com/key-results/key_result_1","$type":"KeyResult","baseline":1,"target":1,"deadline":"2026-10-22"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"KeyResult.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"KeyResult.updated"},"delete":{"operationId":"KeyResult.delete","summary":"KeyResult.delete","description":"Deletes a Key Result; its history is kept.","tags":["KeyResult"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Key Result."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"keyResult":{"$ref":"#/components/schemas/KeyResult","description":"The Key Result."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyResult","links"]},"example":{"api":"https://api.sb/shiftnote.app","keyResult":{"$id":"https://api.sb/shiftnote.app/key-results/key_result_1","$type":"KeyResult","baseline":1,"target":1,"deadline":"2026-10-22"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"KeyResult.delete","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"KeyResult.deleted"}},"/keywords":{"post":{"operationId":"Keyword.create","summary":"Keyword.create","description":"Creates a Keyword.","tags":["Keyword"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phrase":{"type":"string","description":"The words searched or asked."},"form":{"type":"string","description":"One of `search` or `question`.","enum":["search","question"]}},"required":["phrase"],"additionalProperties":false},"example":{"phrase":"Example phrase"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyword","links"]},"example":{"api":"https://api.sb/ledgerlark.com","keyword":{"$id":"https://api.sb/ledgerlark.com/keywords/keyword_1","$type":"Keyword","phrase":"Example phrase"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Keyword.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Keyword.created"},"get":{"operationId":"Keyword.list","summary":"Keyword.list","description":"Returns Keywords, newest first, one page at a time.","tags":["Keyword"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"keywords":{"type":"array","items":{"$ref":"#/components/schemas/Keyword","description":"One page of Keywords."},"description":"One page of Keywords."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keywords","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Keyword","keywords":[{"$id":"https://api.sb/ledgerlark.com/keywords/keyword_1","$type":"Keyword","phrase":"Example phrase"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/keywords?limit=20","next":"https://api.sb/ledgerlark.com/keywords?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/keywords/{id}":{"get":{"operationId":"Keyword.get","summary":"Keyword.get","description":"Returns one Keyword by id.","tags":["Keyword"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Keyword."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyword","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Keyword","$id":"https://api.sb/ledgerlark.com/keywords/keyword_1","keyword":{"$id":"https://api.sb/ledgerlark.com/keywords/keyword_1","$type":"Keyword","phrase":"Example phrase"},"links":{"self":"https://api.sb/ledgerlark.com/keywords/keyword_1","up":"https://api.sb/ledgerlark.com/keywords"},"actions":{"measure":"https://api.sb/ledgerlark.com/keywords/keyword_1/measure"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Keyword.update","summary":"Keyword.update","description":"Changes the given properties of a Keyword.","tags":["Keyword"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Keyword."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"phrase":{"type":"string","description":"The words searched or asked."},"form":{"type":"string","description":"One of `search` or `question`.","enum":["search","question"]}},"additionalProperties":false},"example":{"form":"search"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyword","links"]},"example":{"api":"https://api.sb/quietcopy.com","keyword":{"$id":"https://api.sb/quietcopy.com/keywords/keyword_1","$type":"Keyword","phrase":"Example phrase"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Keyword.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Keyword.updated"},"delete":{"operationId":"Keyword.delete","summary":"Keyword.delete","description":"Deletes a Keyword; its history is kept.","tags":["Keyword"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Keyword."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyword","links"]},"example":{"api":"https://api.sb/kilnbakery.com","keyword":{"$id":"https://api.sb/kilnbakery.com/keywords/keyword_1","$type":"Keyword","phrase":"Example phrase"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Keyword.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Keyword.deleted"}},"/keywords/{keyword}/measure":{"post":{"operationId":"Keyword.measure","summary":"Keyword.measure","description":"Measure records a Keyword’s monthly search volume, difficulty, cost per click and trend in one locale.","tags":["Keyword"],"parameters":[{"name":"keyword","in":"path","required":true,"schema":{"type":"string"},"description":"The Keyword to measure."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"locale":{"type":"string","description":"The market and language, such as `en-US`. Defaults to the Startup’s home Market."},"venue":{"type":"string","description":"The search venue, such as `google-search`. Defaults to the largest one in the Market."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword; each measure is a `Keyword.measured` Event with its method and observation time."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","keyword","links"]},"example":{"api":"https://api.sb/ledgerlark.com","keyword":{"$id":"https://api.sb/ledgerlark.com/keywords/keyword_1","$type":"Keyword","phrase":"Example phrase"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Keyword.measure","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Keyword.measured"}},"/leads":{"post":{"operationId":"Lead.create","summary":"Lead.create","description":"Creates a Lead.","tags":["Lead"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The primary email address."},"phone":{"type":"string","description":"The primary phone number."},"name":{"type":"string","description":"The name the Contact goes by."},"interest":{"type":"string","description":"What the Lead asked for."},"owner":{"type":"string","description":"The Worker who answers it. The Worker id."},"waitlist":{"type":"string","description":"Leads wait on a Waitlist in the order its Setting ranks them. The Waitlist id."},"form":{"type":"string","description":"Each Form submission creates a Lead. The Form id."},"acquisition":{"type":"string","description":"Each Lead keeps the Acquisition that first brought it, through either door: a Visit or an outbound reply. The Acquisition id."}},"additionalProperties":false},"example":{"email":"malik@tutorloop.com"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","links"]},"example":{"api":"https://api.sb/tutorloop.com","lead":{"$id":"https://api.sb/tutorloop.com/leads/lead_1","$type":"Lead","status":"new"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Lead.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lead.created"},"get":{"operationId":"Lead.list","summary":"Lead.list","description":"Returns Leads, newest first, one page at a time.","tags":["Lead"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"leads":{"type":"array","items":{"$ref":"#/components/schemas/Lead","description":"One page of Leads."},"description":"One page of Leads."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","leads","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Lead","leads":[{"$id":"https://api.sb/tutorloop.com/leads/lead_1","$type":"Lead","status":"new"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/leads?limit=20","next":"https://api.sb/tutorloop.com/leads?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/leads/{id}":{"get":{"operationId":"Lead.get","summary":"Lead.get","description":"Returns one Lead by id.","tags":["Lead"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Lead."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Lead","$id":"https://api.sb/petpantry.shop/leads/lead_1","lead":{"$id":"https://api.sb/petpantry.shop/leads/lead_1","$type":"Lead","status":"new"},"links":{"self":"https://api.sb/petpantry.shop/leads/lead_1","up":"https://api.sb/petpantry.shop/leads"},"actions":{"assign":"https://api.sb/petpantry.shop/leads/lead_1/assign","convert":"https://api.sb/petpantry.shop/leads/lead_1/convert","disqualify":"https://api.sb/petpantry.shop/leads/lead_1/disqualify"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Lead.update","summary":"Lead.update","description":"Changes the given properties of a Lead.","tags":["Lead"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Lead."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The primary email address."},"phone":{"type":"string","description":"The primary phone number."},"name":{"type":"string","description":"The name the Contact goes by."},"interest":{"type":"string","description":"What the Lead asked for."},"owner":{"type":"string","description":"The Worker who answers it. The Worker id."}},"additionalProperties":false},"example":{"owner":"worker_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","links"]},"example":{"api":"https://api.sb/ledgerlark.com","lead":{"$id":"https://api.sb/ledgerlark.com/leads/lead_1","$type":"Lead","status":"new"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Lead.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lead.updated"},"delete":{"operationId":"Lead.delete","summary":"Lead.delete","description":"Deletes a Lead; its history is kept.","tags":["Lead"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Lead."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","links"]},"example":{"api":"https://api.sb/patentpad.com","lead":{"$id":"https://api.sb/patentpad.com/leads/lead_1","$type":"Lead","status":"new"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Lead.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lead.deleted"}},"/leads/{lead}/assign":{"post":{"operationId":"Lead.assign","summary":"Lead.assign","description":"Assign gives a Lead one owner Worker, by round robin, territory or ICP fit, as the Startup’s routing Policy says.","tags":["Lead"],"parameters":[{"name":"lead","in":"path","required":true,"schema":{"type":"string"},"description":"The Lead to route."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"owner":{"type":"string","description":"The Worker to own it; omitted, the routing Policy picks. The Worker id."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, with its owner."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","links"]},"example":{"api":"https://api.sb/ledgerlark.com","lead":{"$id":"https://api.sb/ledgerlark.com/leads/lead_1","$type":"Lead","status":"new"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Lead.assign","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lead.assigned"}},"/leads/{lead}/convert":{"post":{"operationId":"Lead.convert","summary":"Lead.convert","description":"Convert ends a qualified Lead’s pursuit as a Lead: it opens a Deal or routes the Lead to self-serve checkout.","tags":["Lead"],"parameters":[{"name":"lead","in":"path","required":true,"schema":{"type":"string"},"description":"The qualified Lead."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offer":{"type":"string","description":"The Offer the Deal pursues, or the checkout sells. The Offer id."},"route":{"type":"string","description":"Where the Lead goes: `deal` for an assisted sale or `checkout` for self-serve."}},"required":["offer","route"],"additionalProperties":false},"example":{"offer":"offer_1","route":"Example route"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The opened Deal, when the route is `deal`."},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, now converted."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","links"]},"example":{"api":"https://api.sb/shiftnote.app","deal":{"$id":"https://api.sb/shiftnote.app/deals/deal_1","$type":"Deal","status":"Open"},"lead":{"$id":"https://api.sb/shiftnote.app/leads/lead_1","$type":"Lead","status":"converted"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Lead.convert","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lead.converted"}},"/leads/{lead}/disqualify":{"post":{"operationId":"Lead.disqualify","summary":"Lead.disqualify","description":"Disqualify ends a Lead’s pursuit because it fits no Offer, with the reason; its Contact record and Consent stay.","tags":["Lead"],"parameters":[{"name":"lead","in":"path","required":true,"schema":{"type":"string"},"description":"The Lead to disqualify."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it fits no Offer.","enum":["noFit","noNeed","noBudget","spam","unreachable"]}},"required":["reason"],"additionalProperties":false},"example":{"reason":"noFit"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, now `disqualified`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","links"]},"example":{"api":"https://api.sb/patentpad.com","lead":{"$id":"https://api.sb/patentpad.com/leads/lead_1","$type":"Lead","status":"disqualified"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Lead.disqualify","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lead.disqualified"}},"/leads/{lead}/nurture":{"post":{"operationId":"Lead.nurture","summary":"Lead.nurture","description":"Nurture takes a Lead that is not ready to buy off its owner’s queue and onto a Sequence, until it raises a hand again.","tags":["Lead"],"parameters":[{"name":"lead","in":"path","required":true,"schema":{"type":"string"},"description":"The Lead to nurture."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"sequence":{"type":"string","description":"The Sequence to enroll it in. The Sequence id."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, now in `nurture`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","links"]},"example":{"api":"https://api.sb/shiftnote.app","lead":{"$id":"https://api.sb/shiftnote.app/leads/lead_1","$type":"Lead","status":"new"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Lead.nurture","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lead.nurtured"}},"/leads/{lead}/qualify":{"post":{"operationId":"Lead.qualify","summary":"Lead.qualify","description":"Qualify confirms a Lead matches an Offer’s ICP and opens a Deal for it.","tags":["Lead"],"parameters":[{"name":"lead","in":"path","required":true,"schema":{"type":"string"},"description":"The Lead to qualify."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offer":{"type":"string","description":"The Offer whose ICP the Lead matches. The Offer id."}},"required":["offer"],"additionalProperties":false},"example":{"offer":"offer_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The open Deal."},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, now qualified."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","lead","links"]},"example":{"api":"https://api.sb/shiftnote.app","deal":{"$id":"https://api.sb/shiftnote.app/deals/deal_1","$type":"Deal","status":"Open"},"lead":{"$id":"https://api.sb/shiftnote.app/leads/lead_1","$type":"Lead","status":"new"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Lead.qualify","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lead.qualified"}},"/lifecycles/{id}":{"get":{"operationId":"Lifecycle.get","summary":"Lifecycle.get","description":"Returns one Lifecycle by id.","tags":["Lifecycle"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Lifecycle."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"lifecycle":{"$ref":"#/components/schemas/Lifecycle","description":"The Lifecycle."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lifecycle","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Lifecycle","$id":"https://api.sb/petpantry.shop/lifecycles/lifecycle_1","lifecycle":{"$id":"https://api.sb/petpantry.shop/lifecycles/lifecycle_1","$type":"Lifecycle","states":["Example states"],"initial":"Example initial"},"links":{"self":"https://api.sb/petpantry.shop/lifecycles/lifecycle_1","up":"https://api.sb/petpantry.shop/lifecycles"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Lifecycle.update","summary":"Lifecycle.update","description":"Changes the given properties of a Lifecycle.","tags":["Lifecycle"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Lifecycle."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"states":{"type":"array","items":{"type":"string","description":"The states, in order."},"description":"The states, in order."},"initial":{"type":"string","description":"The state a new Thing starts in."}},"additionalProperties":false},"example":{"states":["Example states"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lifecycle":{"$ref":"#/components/schemas/Lifecycle","description":"The Lifecycle."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lifecycle","links"]},"example":{"api":"https://api.sb/ledgerlark.com","lifecycle":{"$id":"https://api.sb/ledgerlark.com/lifecycles/lifecycle_1","$type":"Lifecycle","states":["Example states"],"initial":"Example initial"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Lifecycle.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lifecycle.updated"}},"/lifecycles":{"get":{"operationId":"Lifecycle.list","summary":"Lifecycle.list","description":"Returns Lifecycles, newest first, one page at a time.","tags":["Lifecycle"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"lifecycles":{"type":"array","items":{"$ref":"#/components/schemas/Lifecycle","description":"One page of Lifecycles."},"description":"One page of Lifecycles."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lifecycles","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Lifecycle","lifecycles":[{"$id":"https://api.sb/tutorloop.com/lifecycles/lifecycle_1","$type":"Lifecycle","states":["Example states"],"initial":"Example initial"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/lifecycles?limit=20","next":"https://api.sb/tutorloop.com/lifecycles?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/limits":{"post":{"operationId":"Limit.create","summary":"Limit.create","description":"Creates a Limit.","tags":["Limit"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The most money it allows."},"count":{"type":"integer","description":"The most calls or units it allows."},"period":{"type":"string","description":"The window a rate resets over, such as a month."},"percent":{"type":"number","description":"The largest share off a reference amount it allows, such as 15 percent off list Price."},"resets":{"type":"string","description":"One of `calendar`, `rolling`: a calendar Limit resets at the start of each period, a rolling one counts the last period from now.","enum":["calendar","rolling"]}},"additionalProperties":false},"example":{"amount":{"amount":400,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"limit":{"$ref":"#/components/schemas/Limit","description":"The Limit."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","limit","links"]},"example":{"api":"https://api.sb/ledgerlark.com","limit":{"$id":"https://api.sb/ledgerlark.com/limits/limit_1","$type":"Limit","amount":{"amount":400,"currency":"USD"},"count":1},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Limit.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Limit.created"},"get":{"operationId":"Limit.list","summary":"Limit.list","description":"Returns Limits, newest first, one page at a time.","tags":["Limit"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"limits":{"type":"array","items":{"$ref":"#/components/schemas/Limit","description":"One page of Limits."},"description":"One page of Limits."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","limits","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Limit","limits":[{"$id":"https://api.sb/ledgerlark.com/limits/limit_1","$type":"Limit","amount":{"amount":400,"currency":"USD"},"count":1}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/limits?limit=20","next":"https://api.sb/ledgerlark.com/limits?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/limits/{id}":{"get":{"operationId":"Limit.get","summary":"Limit.get","description":"Returns one Limit by id.","tags":["Limit"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Limit."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"limit":{"$ref":"#/components/schemas/Limit","description":"The Limit."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","limit","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Limit","$id":"https://api.sb/ledgerlark.com/limits/limit_1","limit":{"$id":"https://api.sb/ledgerlark.com/limits/limit_1","$type":"Limit","amount":{"amount":400,"currency":"USD"},"count":1},"links":{"self":"https://api.sb/ledgerlark.com/limits/limit_1","up":"https://api.sb/ledgerlark.com/limits"},"actions":{"raise":"https://api.sb/ledgerlark.com/limits/limit_1/raise"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Limit.update","summary":"Limit.update","description":"Changes the given properties of a Limit.","tags":["Limit"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Limit."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The most money it allows."},"count":{"type":"integer","description":"The most calls or units it allows."},"period":{"type":"string","description":"The window a rate resets over, such as a month."},"percent":{"type":"number","description":"The largest share off a reference amount it allows, such as 15 percent off list Price."},"resets":{"type":"string","description":"One of `calendar`, `rolling`: a calendar Limit resets at the start of each period, a rolling one counts the last period from now.","enum":["calendar","rolling"]}},"additionalProperties":false},"example":{"amount":{"amount":39,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"limit":{"$ref":"#/components/schemas/Limit","description":"The Limit."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","limit","links"]},"example":{"api":"https://api.sb/quietcopy.com","limit":{"$id":"https://api.sb/quietcopy.com/limits/limit_1","$type":"Limit","amount":{"amount":39,"currency":"USD"},"count":1},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Limit.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Limit.updated"},"delete":{"operationId":"Limit.delete","summary":"Limit.delete","description":"Deletes a Limit; its history is kept.","tags":["Limit"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Limit."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"limit":{"$ref":"#/components/schemas/Limit","description":"The Limit."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","limit","links"]},"example":{"api":"https://api.sb/kilnbakery.com","limit":{"$id":"https://api.sb/kilnbakery.com/limits/limit_1","$type":"Limit","amount":{"amount":9,"currency":"USD"},"count":1},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Limit.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Limit.deleted"}},"/limits/{limit}/raise":{"post":{"operationId":"Limit.raise","summary":"Limit.raise","description":"Raise lifts a Limit after an Approval allows it, and the Action that waited on it proceeds.","tags":["Limit"],"parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":"string"},"description":"The Limit to lift."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"description":"The new amount, count or rate."}},"required":["to"],"additionalProperties":false},"example":{"to":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"limit":{"$ref":"#/components/schemas/Limit","description":"The raised Limit."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","limit","links"]},"example":{"api":"https://api.sb/ledgerlark.com","limit":{"$id":"https://api.sb/ledgerlark.com/limits/limit_1","$type":"Limit","amount":{"amount":400,"currency":"USD"},"count":1},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Limit.raise","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Limit.raised"}},"/mailboxes":{"post":{"operationId":"Mailbox.create","summary":"Mailbox.create","description":"Creates a Mailbox.","tags":["Mailbox"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"medium":{"type":"string","description":"The platform type, such as `email`, `sms`, or `chat`.","enum":["email","sms","chat"]},"organization":{"type":"string","description":"The outside Organization the Channel is shared with; its new Messages open Conversations for that Customer. The Organization id."},"external":{"type":"boolean","description":"True when people from another Organization post in it, as in a channel two companies share."},"areaCode":{"type":"string","description":"For an `sms` Channel, the phone area code its number is drawn from, such as `512`."},"number":{"type":"string","description":"For an `sms` Channel, its phone number in international form, assigned when it is created."},"address":{"type":"string","format":"email","description":"The email address."},"stream":{"type":"string","description":"What it sends: receipts and resets, broadcasts, or cold outbound; one stream per Mailbox.","enum":["transactional","broadcast","outbound"]},"tenant":{"type":"string","description":"The Tenant it sends for, at a Domain that Tenant’s Customer holds; replies land in the Tenant’s Threads. The Tenant id."}},"required":["medium","address","stream"],"additionalProperties":false},"example":{"medium":"email","address":"mei@quietcopy.com","stream":"transactional"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mailbox","links"]},"example":{"api":"https://api.sb/quietcopy.com","mailbox":{"$id":"https://api.sb/quietcopy.com/mailboxes/mailbox_1","$type":"Mailbox","medium":"email","address":"mei@quietcopy.com","stream":"transactional"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Mailbox.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mailbox.created"},"get":{"operationId":"Mailbox.list","summary":"Mailbox.list","description":"Returns Mailboxes, newest first, one page at a time.","tags":["Mailbox"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"mailboxes":{"type":"array","items":{"$ref":"#/components/schemas/Mailbox","description":"One page of Mailboxes."},"description":"One page of Mailboxes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mailboxes","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Mailbox","mailboxes":[{"$id":"https://api.sb/quietcopy.com/mailboxes/mailbox_1","$type":"Mailbox","medium":"email","address":"mei@quietcopy.com","stream":"transactional"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/mailboxes?limit=20","next":"https://api.sb/quietcopy.com/mailboxes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/mailboxes/{id}":{"get":{"operationId":"Mailbox.get","summary":"Mailbox.get","description":"Returns one Mailbox by id.","tags":["Mailbox"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mailbox."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mailbox","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Mailbox","$id":"https://api.sb/kilnbakery.com/mailboxes/mailbox_1","mailbox":{"$id":"https://api.sb/kilnbakery.com/mailboxes/mailbox_1","$type":"Mailbox","medium":"email","address":"tomas@kilnbakery.com","stream":"transactional"},"links":{"self":"https://api.sb/kilnbakery.com/mailboxes/mailbox_1","up":"https://api.sb/kilnbakery.com/mailboxes"},"actions":{"rest":"https://api.sb/kilnbakery.com/mailboxes/mailbox_1/rest","retire":"https://api.sb/kilnbakery.com/mailboxes/mailbox_1/retire","warm":"https://api.sb/kilnbakery.com/mailboxes/mailbox_1/warm"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Mailbox.update","summary":"Mailbox.update","description":"Changes the given properties of a Mailbox.","tags":["Mailbox"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mailbox."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"medium":{"type":"string","description":"The platform type, such as `email`, `sms`, or `chat`.","enum":["email","sms","chat"]},"organization":{"type":"string","description":"The outside Organization the Channel is shared with; its new Messages open Conversations for that Customer. The Organization id."},"external":{"type":"boolean","description":"True when people from another Organization post in it, as in a channel two companies share."},"areaCode":{"type":"string","description":"For an `sms` Channel, the phone area code its number is drawn from, such as `512`."},"number":{"type":"string","description":"For an `sms` Channel, its phone number in international form, assigned when it is created."},"address":{"type":"string","format":"email","description":"The email address."},"stream":{"type":"string","description":"What it sends: receipts and resets, broadcasts, or cold outbound; one stream per Mailbox.","enum":["transactional","broadcast","outbound"]},"tenant":{"type":"string","description":"The Tenant it sends for, at a Domain that Tenant’s Customer holds; replies land in the Tenant’s Threads. The Tenant id."}},"additionalProperties":false},"example":{"address":"daniel@shiftnote.app"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mailbox","links"]},"example":{"api":"https://api.sb/shiftnote.app","mailbox":{"$id":"https://api.sb/shiftnote.app/mailboxes/mailbox_1","$type":"Mailbox","medium":"email","address":"daniel@shiftnote.app","stream":"transactional"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Mailbox.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mailbox.updated"}},"/mailboxes/{mailbox}/rest":{"post":{"operationId":"Mailbox.rest","summary":"Mailbox.rest","description":"Rest pauses a Mailbox’s sending when a brake fires and resumes it when the reading clears.","tags":["Mailbox"],"parameters":[{"name":"mailbox","in":"path","required":true,"schema":{"type":"string"},"description":"The Mailbox to pause."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"The brake that fired.","enum":["complaints","bounces","blocklist"]}},"required":["reason"],"additionalProperties":false},"example":{"reason":"complaints"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox, resting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mailbox","links"]},"example":{"api":"https://api.sb/kilnbakery.com","mailbox":{"$id":"https://api.sb/kilnbakery.com/mailboxes/mailbox_1","$type":"Mailbox","medium":"email","address":"tomas@kilnbakery.com","stream":"transactional"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Mailbox.rest","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mailbox.rested"}},"/mailboxes/{mailbox}/retire":{"post":{"operationId":"Mailbox.retire","summary":"Mailbox.retire","description":"Retire stops a Mailbox for good and keeps its address, Messages and sending history.","tags":["Mailbox"],"parameters":[{"name":"mailbox","in":"path","required":true,"schema":{"type":"string"},"description":"The Mailbox to retire."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The retired Mailbox."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mailbox","links"]},"example":{"api":"https://api.sb/patentpad.com","mailbox":{"$id":"https://api.sb/patentpad.com/mailboxes/mailbox_1","$type":"Mailbox","medium":"email","address":"rosa@patentpad.com","stream":"transactional"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Mailbox.retire","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mailbox.retired"}},"/mailboxes/{mailbox}/warm":{"post":{"operationId":"Mailbox.warm","summary":"Mailbox.warm","description":"Warm ramps a new Mailbox from a few sends a day to its cap over two to four weeks.","tags":["Mailbox"],"parameters":[{"name":"mailbox","in":"path","required":true,"schema":{"type":"string"},"description":"The new Mailbox."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cap":{"type":"integer","description":"The daily sends it ramps to."}},"required":["cap"],"additionalProperties":false},"example":{"cap":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox, warming."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mailbox","links"]},"example":{"api":"https://api.sb/ledgerlark.com","mailbox":{"$id":"https://api.sb/ledgerlark.com/mailboxes/mailbox_1","$type":"Mailbox","medium":"email","address":"priya@ledgerlark.com","stream":"transactional"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Mailbox.warm","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mailbox.warmed"}},"/mandates":{"post":{"operationId":"Mandate.create","summary":"Mandate.create","description":"Creates a Mandate.","tags":["Mandate"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","description":"When it lapses."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."},"verb":{"type":"string","description":"The Verb it covers, as `Noun.verb`."},"topics":{"type":"array","items":{"type":"string","description":"What it may act on; an Action outside them becomes an Approval."},"description":"What it may act on; an Action outside them becomes an Approval."},"channels":{"type":"array","items":{"type":"string","description":"The Channels it may send through. The Channel id."},"description":"The Channels it may send through."},"agent":{"type":"string","description":"A Mandate lets an Agent act without asking each time, within its Permissions and Limits, until it expires or is revoked. The Agent id."},"party":{"type":"string","description":"The Party who grants a Mandate is its principal: the Agent acts for them, and each Action records them as `for`. The Party id."}},"required":["expiresAt"],"additionalProperties":false},"example":{"expiresAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandate","links"]},"example":{"api":"https://api.sb/quietcopy.com","mandate":{"$id":"https://api.sb/quietcopy.com/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"active"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Mandate.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mandate.created"},"get":{"operationId":"Mandate.list","summary":"Mandate.list","description":"Returns Mandates, newest first, one page at a time.","tags":["Mandate"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"mandates":{"type":"array","items":{"$ref":"#/components/schemas/Mandate","description":"One page of Mandates."},"description":"One page of Mandates."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandates","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Mandate","mandates":[{"$id":"https://api.sb/quietcopy.com/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"active"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/mandates?limit=20","next":"https://api.sb/quietcopy.com/mandates?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/mandates/{id}":{"get":{"operationId":"Mandate.get","summary":"Mandate.get","description":"Returns one Mandate by id.","tags":["Mandate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mandate."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandate","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Mandate","$id":"https://api.sb/kilnbakery.com/mandates/mandate_1","mandate":{"$id":"https://api.sb/kilnbakery.com/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"active"},"links":{"self":"https://api.sb/kilnbakery.com/mandates/mandate_1","up":"https://api.sb/kilnbakery.com/mandates"},"actions":{"pause":"https://api.sb/kilnbakery.com/mandates/mandate_1/pause","resume":"https://api.sb/kilnbakery.com/mandates/mandate_1/resume","revoke":"https://api.sb/kilnbakery.com/mandates/mandate_1/revoke"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Mandate.update","summary":"Mandate.update","description":"Changes the given properties of a Mandate.","tags":["Mandate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mandate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","description":"When it lapses."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."},"verb":{"type":"string","description":"The Verb it covers, as `Noun.verb`."},"topics":{"type":"array","items":{"type":"string","description":"What it may act on; an Action outside them becomes an Approval."},"description":"What it may act on; an Action outside them becomes an Approval."},"channels":{"type":"array","items":{"type":"string","description":"The Channels it may send through. The Channel id."},"description":"The Channels it may send through."}},"additionalProperties":false},"example":{"expiresAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandate","links"]},"example":{"api":"https://api.sb/shiftnote.app","mandate":{"$id":"https://api.sb/shiftnote.app/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"active"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Mandate.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mandate.updated"},"delete":{"operationId":"Mandate.delete","summary":"Mandate.delete","description":"Deletes a Mandate; its history is kept.","tags":["Mandate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mandate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandate","links"]},"example":{"api":"https://api.sb/routewise.dev","mandate":{"$id":"https://api.sb/routewise.dev/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"active"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Mandate.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mandate.deleted"}},"/mandates/authorize":{"post":{"operationId":"Mandate.authorize","summary":"Mandate.authorize","description":"Authorize grants an Agent a standing Mandate to perform a Verb within a Limit, without asking each time.","tags":["Mandate"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agent":{"type":"string","description":"The agent that receives the Mandate. The Agent id."},"verb":{"type":"string","description":"The Verb it covers, as `Noun.verb`."},"limit":{"type":"string","description":"The bound the Mandate holds to. The Limit id."},"for":{"type":"string","description":"The person the agent acts for, under delegation: the principal and author of record. The Party id."},"channels":{"type":"array","items":{"type":"string","description":"The Channels it may send through. The Channel id."},"description":"The Channels it may send through."},"topics":{"type":"array","items":{"type":"string","description":"What it may send about; a send outside them becomes an Approval."},"description":"What it may send about; a send outside them becomes an Approval."},"approve":{"description":"The approval rule for one-way sends, such as the first 20 waiting for an Approval."},"window":{"type":"string","description":"The delay window each one-way send waits, as a duration."},"expiresAt":{"type":"string","format":"date-time","description":"When the Mandate lapses."}},"required":["agent","verb","limit"],"additionalProperties":false},"example":{"agent":"agent_1","verb":"Example verb","limit":"limit_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The active Mandate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandate","links"]},"example":{"api":"https://api.sb/ledgerlark.com","mandate":{"$id":"https://api.sb/ledgerlark.com/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"active"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Mandate.authorize","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mandate.authorized"}},"/mandates/{mandate}/pause":{"post":{"operationId":"Mandate.pause","summary":"Mandate.pause","description":"Pause stops every new Action under a Mandate at once and keeps its scope, so it can resume unchanged.","tags":["Mandate"],"parameters":[{"name":"mandate","in":"path","required":true,"schema":{"type":"string"},"description":"The Mandate to hold."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the Mandate stops."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The paused Mandate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandate","links"]},"example":{"api":"https://api.sb/quietcopy.com","mandate":{"$id":"https://api.sb/quietcopy.com/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"paused"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Mandate.pause","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mandate.paused"}},"/mandates/{mandate}/resume":{"post":{"operationId":"Mandate.resume","summary":"Mandate.resume","description":"Resume restarts a paused Mandate with its scope, Limits and approval rule unchanged.","tags":["Mandate"],"parameters":[{"name":"mandate","in":"path","required":true,"schema":{"type":"string"},"description":"The paused Mandate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The active Mandate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandate","links"]},"example":{"api":"https://api.sb/routewise.dev","mandate":{"$id":"https://api.sb/routewise.dev/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"active"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Mandate.resume","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mandate.resumed"}},"/mandates/{mandate}/revoke":{"post":{"operationId":"Mandate.revoke","summary":"Mandate.revoke","description":"Revoke ends a Mandate at once, so new Actions under it are refused and running ones finish.","tags":["Mandate"],"parameters":[{"name":"mandate","in":"path","required":true,"schema":{"type":"string"},"description":"The Mandate to end."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The revoked Mandate."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mandate","links"]},"example":{"api":"https://api.sb/petpantry.shop","mandate":{"$id":"https://api.sb/petpantry.shop/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"revoked"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Mandate.revoke","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mandate.revoked"}},"/mandates/{mandate}/spend":{"post":{"operationId":"Mandate.spend","summary":"Mandate.spend","description":"Spend pays an outside party for a Startup with a single-use card, within a Mandate and its Limit.","tags":["Mandate"],"parameters":[{"name":"mandate","in":"path","required":true,"schema":{"type":"string"},"description":"The Mandate that covers the purchase."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The amount to spend."},"payee":{"type":"string","description":"Who is paid."}},"required":["amount","payee"],"additionalProperties":false},"example":{"amount":{"amount":9,"currency":"USD"},"payee":"Example payee"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The card Transaction."},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate with its remaining Limit."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transaction","mandate","links"]},"example":{"api":"https://api.sb/kilnbakery.com","transaction":{"$id":"https://api.sb/kilnbakery.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":9,"currency":"USD"}},"mandate":{"$id":"https://api.sb/kilnbakery.com/mandates/mandate_1","$type":"Mandate","expiresAt":"2026-10-22T12:00:00Z","status":"active"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Mandate.spend","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mandate.spent"}},"/mappings":{"post":{"operationId":"Mapping.create","summary":"Mapping.create","description":"Creates a Mapping.","tags":["Mapping"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"verb":{"type":"string","description":"The Verb it serves, such as `Meeting.book`; a Verb has many Mappings, ranked."},"fields":{"description":"Each outside field or event and the Noun property or Event it maps to."},"direction":{"type":"string","description":"`both` still keeps db.sb the record; the outside tool never becomes a second one.","enum":["in","out","both"]},"convert":{"type":"string","description":"How a value changes on the way, such as cents to money or a picklist to closed values."},"rank":{"type":"integer","description":"Order tried when the preferred Mapping fails or finds nothing; the Policy orders it by cost per accepted result."},"preferred":{"type":"boolean","description":"True for the Mapping a Verb tries first."},"door":{"type":"string","description":"How the outside endpoint is classed; an unclassed write is one-way and waits its delay window.","enum":["oneWay","twoWay"]},"source":{"type":"string","description":"A Source reaches the registry’s Nouns and Verbs through its Mappings, one per Verb it serves. The Source id."}},"additionalProperties":false},"example":{"verb":"Meeting.book"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mapping":{"$ref":"#/components/schemas/Mapping","description":"The Mapping."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mapping","links"]},"example":{"api":"https://api.sb/kilnbakery.com","mapping":{"$id":"https://api.sb/kilnbakery.com/mappings/mapping_1","$type":"Mapping","verb":"Meeting.book","fields":{}},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Mapping.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mapping.created"},"get":{"operationId":"Mapping.list","summary":"Mapping.list","description":"Returns Mappings, newest first, one page at a time.","tags":["Mapping"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"mappings":{"type":"array","items":{"$ref":"#/components/schemas/Mapping","description":"One page of Mappings."},"description":"One page of Mappings."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mappings","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Mapping","mappings":[{"$id":"https://api.sb/petpantry.shop/mappings/mapping_1","$type":"Mapping","verb":"Meeting.book","fields":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/mappings?limit=20","next":"https://api.sb/petpantry.shop/mappings?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/mappings/{id}":{"get":{"operationId":"Mapping.get","summary":"Mapping.get","description":"Returns one Mapping by id.","tags":["Mapping"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mapping."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"mapping":{"$ref":"#/components/schemas/Mapping","description":"The Mapping."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mapping","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Mapping","$id":"https://api.sb/tutorloop.com/mappings/mapping_1","mapping":{"$id":"https://api.sb/tutorloop.com/mappings/mapping_1","$type":"Mapping","verb":"Meeting.book","fields":{}},"links":{"self":"https://api.sb/tutorloop.com/mappings/mapping_1","up":"https://api.sb/tutorloop.com/mappings"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Mapping.update","summary":"Mapping.update","description":"Changes the given properties of a Mapping.","tags":["Mapping"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mapping."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"verb":{"type":"string","description":"The Verb it serves, such as `Meeting.book`; a Verb has many Mappings, ranked."},"fields":{"description":"Each outside field or event and the Noun property or Event it maps to."},"direction":{"type":"string","description":"`both` still keeps db.sb the record; the outside tool never becomes a second one.","enum":["in","out","both"]},"convert":{"type":"string","description":"How a value changes on the way, such as cents to money or a picklist to closed values."},"rank":{"type":"integer","description":"Order tried when the preferred Mapping fails or finds nothing; the Policy orders it by cost per accepted result."},"preferred":{"type":"boolean","description":"True for the Mapping a Verb tries first."},"door":{"type":"string","description":"How the outside endpoint is classed; an unclassed write is one-way and waits its delay window.","enum":["oneWay","twoWay"]}},"additionalProperties":false},"example":{"verb":"Meeting.book"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mapping":{"$ref":"#/components/schemas/Mapping","description":"The Mapping."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mapping","links"]},"example":{"api":"https://api.sb/patentpad.com","mapping":{"$id":"https://api.sb/patentpad.com/mappings/mapping_1","$type":"Mapping","verb":"Meeting.book","fields":{}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Mapping.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mapping.updated"},"delete":{"operationId":"Mapping.delete","summary":"Mapping.delete","description":"Deletes a Mapping; its history is kept.","tags":["Mapping"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mapping."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"mapping":{"$ref":"#/components/schemas/Mapping","description":"The Mapping."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mapping","links"]},"example":{"api":"https://api.sb/shiftnote.app","mapping":{"$id":"https://api.sb/shiftnote.app/mappings/mapping_1","$type":"Mapping","verb":"Meeting.book","fields":{}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Mapping.delete","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Mapping.deleted"}},"/markets":{"post":{"operationId":"Market.create","summary":"Market.create","description":"Creates a Market.","tags":["Market"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"string","description":"ISO 3166-1 alpha-2 country codes."},"description":"ISO 3166-1 alpha-2 country codes."},"currency":{"type":"string","description":"The ISO 4217 currency Prices show in."},"locales":{"type":"array","items":{"type":"string","description":"BCP 47 locale tags, the default first."},"description":"BCP 47 locale tags, the default first."}},"required":["countries","currency","locales"],"additionalProperties":false},"example":{"countries":["Example countries"],"currency":"USD","locales":["Example locales"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"market":{"$ref":"#/components/schemas/Market","description":"The Market."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","market","links"]},"example":{"api":"https://api.sb/petpantry.shop","market":{"$id":"https://api.sb/petpantry.shop/markets/market_1","$type":"Market","countries":["Example countries"],"currency":"USD","locales":["Example locales"]},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Market.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Market.created"},"get":{"operationId":"Market.list","summary":"Market.list","description":"Returns Markets, newest first, one page at a time.","tags":["Market"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"markets":{"type":"array","items":{"$ref":"#/components/schemas/Market","description":"One page of Markets."},"description":"One page of Markets."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","markets","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Market","markets":[{"$id":"https://api.sb/kilnbakery.com/markets/market_1","$type":"Market","countries":["Example countries"],"currency":"USD","locales":["Example locales"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/markets?limit=20","next":"https://api.sb/kilnbakery.com/markets?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/markets/{id}":{"get":{"operationId":"Market.get","summary":"Market.get","description":"Returns one Market by id.","tags":["Market"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Market."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"market":{"$ref":"#/components/schemas/Market","description":"The Market."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","market","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Market","$id":"https://api.sb/quietcopy.com/markets/market_1","market":{"$id":"https://api.sb/quietcopy.com/markets/market_1","$type":"Market","countries":["Example countries"],"currency":"USD","locales":["Example locales"]},"links":{"self":"https://api.sb/quietcopy.com/markets/market_1","up":"https://api.sb/quietcopy.com/markets"},"actions":{"enter":"https://api.sb/quietcopy.com/markets/market_1/enter"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Market.update","summary":"Market.update","description":"Changes the given properties of a Market.","tags":["Market"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Market."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"string","description":"ISO 3166-1 alpha-2 country codes."},"description":"ISO 3166-1 alpha-2 country codes."},"currency":{"type":"string","description":"The ISO 4217 currency Prices show in."},"locales":{"type":"array","items":{"type":"string","description":"BCP 47 locale tags, the default first."},"description":"BCP 47 locale tags, the default first."}},"additionalProperties":false},"example":{"currency":"USD"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"market":{"$ref":"#/components/schemas/Market","description":"The Market."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","market","links"]},"example":{"api":"https://api.sb/routewise.dev","market":{"$id":"https://api.sb/routewise.dev/markets/market_1","$type":"Market","countries":["Example countries"],"currency":"USD","locales":["Example locales"]},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Market.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Market.updated"},"delete":{"operationId":"Market.delete","summary":"Market.delete","description":"Deletes a Market; its history is kept.","tags":["Market"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Market."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"market":{"$ref":"#/components/schemas/Market","description":"The Market."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","market","links"]},"example":{"api":"https://api.sb/ledgerlark.com","market":{"$id":"https://api.sb/ledgerlark.com/markets/market_1","$type":"Market","countries":["Example countries"],"currency":"USD","locales":["Example locales"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Market.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Market.deleted"}},"/markets/{market}/enter":{"post":{"operationId":"Market.enter","summary":"Market.enter","description":"Enter opens a Market to a Startup: Prices in its currency, the Site in its locales, and its floor rows woken.","tags":["Market"],"parameters":[{"name":"market","in":"path","required":true,"schema":{"type":"string"},"description":"The Market to open."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startup":{"type":"string","description":"The Startup that enters. The Startup id."}},"required":["startup"],"additionalProperties":false},"example":{"startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"market":{"$ref":"#/components/schemas/Market","description":"The Market, now open to the Startup."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","market","links"]},"example":{"api":"https://api.sb/petpantry.shop","market":{"$id":"https://api.sb/petpantry.shop/markets/market_1","$type":"Market","countries":["Example countries"],"currency":"USD","locales":["Example locales"]},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Market.enter","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Market.entered"}},"/meetings":{"post":{"operationId":"Meeting.create","summary":"Meeting.create","description":"Creates a Meeting.","tags":["Meeting"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"at":{"type":"string","format":"date-time","description":"When it starts."},"agenda":{"type":"string","description":"What it covers."},"transcript":{"type":"string","description":"What was said."},"deal":{"type":"string","description":"A Meeting moves one Deal forward. The Deal id."}},"required":["at"],"additionalProperties":false},"example":{"at":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"meeting":{"$ref":"#/components/schemas/Meeting","description":"The Meeting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meeting","links"]},"example":{"api":"https://api.sb/patentpad.com","meeting":{"$id":"https://api.sb/patentpad.com/meetings/meeting_1","$type":"Meeting","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Meeting.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Meeting.created"},"get":{"operationId":"Meeting.list","summary":"Meeting.list","description":"Returns Meetings, newest first, one page at a time.","tags":["Meeting"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"meetings":{"type":"array","items":{"$ref":"#/components/schemas/Meeting","description":"One page of Meetings."},"description":"One page of Meetings."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meetings","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Meeting","meetings":[{"$id":"https://api.sb/routewise.dev/meetings/meeting_1","$type":"Meeting","at":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/meetings?limit=20","next":"https://api.sb/routewise.dev/meetings?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/meetings/{id}":{"get":{"operationId":"Meeting.get","summary":"Meeting.get","description":"Returns one Meeting by id.","tags":["Meeting"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Meeting."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"meeting":{"$ref":"#/components/schemas/Meeting","description":"The Meeting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meeting","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Meeting","$id":"https://api.sb/patentpad.com/meetings/meeting_1","meeting":{"$id":"https://api.sb/patentpad.com/meetings/meeting_1","$type":"Meeting","at":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/patentpad.com/meetings/meeting_1","up":"https://api.sb/patentpad.com/meetings"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Meeting.update","summary":"Meeting.update","description":"Changes the given properties of a Meeting.","tags":["Meeting"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Meeting."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"at":{"type":"string","format":"date-time","description":"When it starts."},"agenda":{"type":"string","description":"What it covers."},"transcript":{"type":"string","description":"What was said."}},"additionalProperties":false},"example":{"at":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"meeting":{"$ref":"#/components/schemas/Meeting","description":"The Meeting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meeting","links"]},"example":{"api":"https://api.sb/petpantry.shop","meeting":{"$id":"https://api.sb/petpantry.shop/meetings/meeting_1","$type":"Meeting","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Meeting.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Meeting.updated"},"delete":{"operationId":"Meeting.delete","summary":"Meeting.delete","description":"Deletes a Meeting; its history is kept.","tags":["Meeting"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Meeting."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"meeting":{"$ref":"#/components/schemas/Meeting","description":"The Meeting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meeting","links"]},"example":{"api":"https://api.sb/quietcopy.com","meeting":{"$id":"https://api.sb/quietcopy.com/meetings/meeting_1","$type":"Meeting","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Meeting.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Meeting.deleted"}},"/meetings/book":{"post":{"operationId":"Meeting.book","summary":"Meeting.book","description":"Book schedules a Meeting with a Contact at a time both calendars hold free.","tags":["Meeting"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contact":{"type":"string","description":"Who to meet. The Contact id."},"at":{"type":"string","format":"date-time","description":"When."}},"required":["contact","at"],"additionalProperties":false},"example":{"contact":"contact_1","at":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"meeting":{"$ref":"#/components/schemas/Meeting","description":"The booked Meeting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meeting","links"]},"example":{"api":"https://api.sb/kilnbakery.com","meeting":{"$id":"https://api.sb/kilnbakery.com/meetings/meeting_1","$type":"Meeting","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Meeting.book","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Meeting.booked"}},"/member-directories":{"post":{"operationId":"MemberDirectory.create","summary":"MemberDirectory.create","description":"Creates a Member Directory.","tags":["MemberDirectory"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"groupRoles":{"description":"Which directory group fills which Role in the Tenant."},"lastChangeAt":{"type":"string","format":"date-time","description":"When the Customer’s directory last pushed a change."},"tenant":{"type":"string","description":"A Member Directory fills and empties Roles in one Tenant as people join and leave the Customer. The Tenant id."}},"additionalProperties":false},"example":{"groupRoles":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"memberDirectory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memberDirectory","links"]},"example":{"api":"https://api.sb/patentpad.com","memberDirectory":{"$id":"https://api.sb/patentpad.com/member-directories/member_directory_1","$type":"MemberDirectory","state":"draft"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"MemberDirectory.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"MemberDirectory.created"},"get":{"operationId":"MemberDirectory.list","summary":"MemberDirectory.list","description":"Returns Member Directories, newest first, one page at a time.","tags":["MemberDirectory"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"memberDirectories":{"type":"array","items":{"$ref":"#/components/schemas/MemberDirectory","description":"One page of Member Directories."},"description":"One page of Member Directories."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memberDirectories","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"MemberDirectory","memberDirectories":[{"$id":"https://api.sb/routewise.dev/member-directories/member_directory_1","$type":"MemberDirectory","state":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/member-directories?limit=20","next":"https://api.sb/routewise.dev/member-directories?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/member-directories/{id}":{"get":{"operationId":"MemberDirectory.get","summary":"MemberDirectory.get","description":"Returns one Member Directory by id.","tags":["MemberDirectory"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Member Directory."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"memberDirectory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memberDirectory","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"MemberDirectory","$id":"https://api.sb/patentpad.com/member-directories/member_directory_1","memberDirectory":{"$id":"https://api.sb/patentpad.com/member-directories/member_directory_1","$type":"MemberDirectory","state":"draft"},"links":{"self":"https://api.sb/patentpad.com/member-directories/member_directory_1","up":"https://api.sb/patentpad.com/member-directories"},"actions":{"deactivate":"https://api.sb/patentpad.com/member-directories/member_directory_1/deactivate","deprovision":"https://api.sb/patentpad.com/member-directories/member_directory_1/deprovision"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"MemberDirectory.update","summary":"MemberDirectory.update","description":"Changes the given properties of a Member Directory.","tags":["MemberDirectory"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Member Directory."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"groupRoles":{"description":"Which directory group fills which Role in the Tenant."},"lastChangeAt":{"type":"string","format":"date-time","description":"When the Customer’s directory last pushed a change."}},"additionalProperties":false},"example":{"groupRoles":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"memberDirectory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memberDirectory","links"]},"example":{"api":"https://api.sb/petpantry.shop","memberDirectory":{"$id":"https://api.sb/petpantry.shop/member-directories/member_directory_1","$type":"MemberDirectory","state":"draft"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"MemberDirectory.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"MemberDirectory.updated"}},"/member-directories/{directory}/deactivate":{"post":{"operationId":"MemberDirectory.deactivate","summary":"MemberDirectory.deactivate","description":"Deactivate stops a Member Directory’s pushes; everyone it added keeps their Roles until an admin removes them.","tags":["MemberDirectory"],"parameters":[{"name":"directory","in":"path","required":true,"schema":{"type":"string"},"description":"The Member Directory to turn off."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"directory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory, now `inactive`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","directory","links"]},"example":{"api":"https://api.sb/ledgerlark.com","directory":{"$id":"https://api.sb/ledgerlark.com/member-directories/member_directory_1","$type":"MemberDirectory","state":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"MemberDirectory.deactivate","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"MemberDirectory.deactivated"}},"/member-directories/{directory}/deprovision":{"post":{"operationId":"MemberDirectory.deprovision","summary":"MemberDirectory.deprovision","description":"Deprovision ends one person’s access to a Tenant in one Action when the Customer’s directory removes them.","tags":["MemberDirectory"],"parameters":[{"name":"directory","in":"path","required":true,"schema":{"type":"string"},"description":"The Member Directory that removed the person."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"person":{"type":"string","description":"The person removed. The Person id."}},"required":["person"],"additionalProperties":false},"example":{"person":"person_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"person":{"$ref":"#/components/schemas/Person","description":"The person, with no Role left in the Tenant."},"memberDirectory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory that removed the person."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","person","memberDirectory","links"]},"example":{"api":"https://api.sb/shiftnote.app","person":{"$id":"https://api.sb/shiftnote.app/people/person_1","$type":"Person","name":"Daniel Okafor"},"memberDirectory":{"$id":"https://api.sb/shiftnote.app/member-directories/member_directory_1","$type":"MemberDirectory","state":"draft"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"MemberDirectory.deprovision","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"MemberDirectory.deprovisioned"}},"/member-directories/provision":{"post":{"operationId":"MemberDirectory.provision","summary":"MemberDirectory.provision","description":"Provision starts a Customer’s Member Directory pushing people and groups into its Tenant, with groups mapped to Roles.","tags":["MemberDirectory"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tenant":{"type":"string","description":"The Tenant it fills. The Tenant id."},"groupRoles":{"description":"Which group fills which Role."}},"required":["tenant"],"additionalProperties":false},"example":{"tenant":"tenant_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"directory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory, now active."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","directory","links"]},"example":{"api":"https://api.sb/tutorloop.com","directory":{"$id":"https://api.sb/tutorloop.com/member-directories/member_directory_1","$type":"MemberDirectory","state":"draft"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"MemberDirectory.provision","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"MemberDirectory.provisioned"}},"/memories":{"post":{"operationId":"Memory.create","summary":"Memory.create","description":"Creates a Memory.","tags":["Memory"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."}},"required":["id","type"],"additionalProperties":false},"example":{"id":"memory_1","type":["noun_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"memory":{"$ref":"#/components/schemas/Memory","description":"The Memory."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memory","links"]},"example":{"api":"https://api.sb/routewise.dev","memory":{"$id":"https://api.sb/routewise.dev/memories/memory_1","$type":"Memory","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Memory.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Memory.created"},"get":{"operationId":"Memory.list","summary":"Memory.list","description":"Returns Memories, newest first, one page at a time.","tags":["Memory"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"memories":{"type":"array","items":{"$ref":"#/components/schemas/Memory","description":"One page of Memories."},"description":"One page of Memories."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memories","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Memory","memories":[{"$id":"https://api.sb/patentpad.com/memories/memory_1","$type":"Memory","id":"Example id","type":["noun_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/memories?limit=20","next":"https://api.sb/patentpad.com/memories?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/memories/{id}":{"get":{"operationId":"Memory.get","summary":"Memory.get","description":"Returns one Memory by id.","tags":["Memory"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Memory."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"memory":{"$ref":"#/components/schemas/Memory","description":"The Memory."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memory","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Memory","$id":"https://api.sb/routewise.dev/memories/memory_1","memory":{"$id":"https://api.sb/routewise.dev/memories/memory_1","$type":"Memory","id":"Example id","type":["noun_1"]},"links":{"self":"https://api.sb/routewise.dev/memories/memory_1","up":"https://api.sb/routewise.dev/memories"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Memory.update","summary":"Memory.update","description":"Changes the given properties of a Memory.","tags":["Memory"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Memory."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."}},"additionalProperties":false},"example":{"type":["noun_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"memory":{"$ref":"#/components/schemas/Memory","description":"The Memory."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memory","links"]},"example":{"api":"https://api.sb/kilnbakery.com","memory":{"$id":"https://api.sb/kilnbakery.com/memories/memory_1","$type":"Memory","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Memory.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Memory.updated"},"delete":{"operationId":"Memory.delete","summary":"Memory.delete","description":"Deletes a Memory; its history is kept.","tags":["Memory"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Memory."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"memory":{"$ref":"#/components/schemas/Memory","description":"The Memory."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","memory","links"]},"example":{"api":"https://api.sb/tutorloop.com","memory":{"$id":"https://api.sb/tutorloop.com/memories/memory_1","$type":"Memory","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Memory.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Memory.deleted"}},"/messages":{"post":{"operationId":"Message.create","summary":"Message.create","description":"Creates a Message.","tags":["Message"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"medium":{"type":"string","description":"One of `email`, `sms`, `voice`, or `chat`.","enum":["email","sms","voice","chat"]},"direction":{"type":"string","description":"One of `inbound` or `outbound`.","enum":["inbound","outbound"]},"body":{"type":"string","description":"What it says."},"from":{"type":"string","description":"The sender: an address, a number, or a Channel id."},"to":{"type":"string","description":"The recipient: an address, a number, or a Person id."},"subject":{"type":"string","description":"The subject line, for email."},"purpose":{"type":"string","description":"Why it goes out, such as onboarding; consent and suppression rules read it."},"sequence":{"type":"string","description":"A Sequence sends Messages, each at its own step and wait. The Sequence id."},"channel":{"type":"string","description":"Every Message flows through one Channel. The Channel id."},"thread":{"type":"string","description":"A Thread groups Messages that reply to one another. The Thread id."}},"required":["medium","direction","body"],"additionalProperties":false},"example":{"medium":"email","direction":"inbound","body":"Example body"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"message":{"$ref":"#/components/schemas/Message","description":"The Message."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","message","links"]},"example":{"api":"https://api.sb/ledgerlark.com","message":{"$id":"https://api.sb/ledgerlark.com/messages/message_1","$type":"Message","medium":"email","direction":"inbound","body":"Example body"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Message.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Message.created"},"get":{"operationId":"Message.list","summary":"Message.list","description":"Returns Messages, newest first, one page at a time.","tags":["Message"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/Message","description":"One page of Messages."},"description":"One page of Messages."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","messages","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Message","messages":[{"$id":"https://api.sb/ledgerlark.com/messages/message_1","$type":"Message","medium":"email","direction":"inbound","body":"Example body"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/messages?limit=20","next":"https://api.sb/ledgerlark.com/messages?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/messages/{id}":{"get":{"operationId":"Message.get","summary":"Message.get","description":"Returns one Message by id.","tags":["Message"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Message."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"message":{"$ref":"#/components/schemas/Message","description":"The Message."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","message","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Message","$id":"https://api.sb/ledgerlark.com/messages/message_1","message":{"$id":"https://api.sb/ledgerlark.com/messages/message_1","$type":"Message","medium":"email","direction":"inbound","body":"Example body"},"links":{"self":"https://api.sb/ledgerlark.com/messages/message_1","up":"https://api.sb/ledgerlark.com/messages"},"actions":{"broadcast":"https://api.sb/ledgerlark.com/messages/message_1/broadcast","schedule":"https://api.sb/ledgerlark.com/messages/message_1/schedule"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Message.update","summary":"Message.update","description":"Changes the given properties of a Message.","tags":["Message"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Message."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"medium":{"type":"string","description":"One of `email`, `sms`, `voice`, or `chat`.","enum":["email","sms","voice","chat"]},"direction":{"type":"string","description":"One of `inbound` or `outbound`.","enum":["inbound","outbound"]},"body":{"type":"string","description":"What it says."},"from":{"type":"string","description":"The sender: an address, a number, or a Channel id."},"to":{"type":"string","description":"The recipient: an address, a number, or a Person id."},"subject":{"type":"string","description":"The subject line, for email."},"purpose":{"type":"string","description":"Why it goes out, such as onboarding; consent and suppression rules read it."}},"additionalProperties":false},"example":{"medium":"email"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"message":{"$ref":"#/components/schemas/Message","description":"The Message."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","message","links"]},"example":{"api":"https://api.sb/quietcopy.com","message":{"$id":"https://api.sb/quietcopy.com/messages/message_1","$type":"Message","medium":"email","direction":"inbound","body":"Example body"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Message.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Message.updated"},"delete":{"operationId":"Message.delete","summary":"Message.delete","description":"Deletes a Message; its history is kept.","tags":["Message"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Message."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"message":{"$ref":"#/components/schemas/Message","description":"The Message."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","message","links"]},"example":{"api":"https://api.sb/kilnbakery.com","message":{"$id":"https://api.sb/kilnbakery.com/messages/message_1","$type":"Message","medium":"email","direction":"inbound","body":"Example body"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Message.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Message.deleted"}},"/messages/{message}/broadcast":{"post":{"operationId":"Message.broadcast","summary":"Message.broadcast","description":"Broadcast sends one Message to an Audience, now or at a set time, split by Variant when an Experiment runs.","tags":["Message"],"parameters":[{"name":"message","in":"path","required":true,"schema":{"type":"string"},"description":"The Message to send."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"audience":{"type":"string","description":"Who receives it. The Audience id."},"at":{"type":"string","format":"date-time","description":"When it goes out; omitted, now."}},"required":["audience"],"additionalProperties":false},"example":{"audience":"audience_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/Message","description":"One sent Message per Contact."},"description":"One sent Message per Contact."},"message":{"$ref":"#/components/schemas/Message","description":"The Message broadcast."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","messages","message","links"]},"example":{"api":"https://api.sb/kilnbakery.com","messages":[{"$id":"https://api.sb/kilnbakery.com/messages/message_1","$type":"Message","medium":"email","direction":"inbound","body":"Example body"}],"message":{"$id":"https://api.sb/kilnbakery.com/messages/message_1","$type":"Message","medium":"email","direction":"inbound","body":"Example body"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Message.broadcast","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Message.broadcasted"}},"/messages/{message}/schedule":{"post":{"operationId":"Message.schedule","summary":"Message.schedule","description":"Schedule holds a Message until a set time and sends it then, unless it is canceled first.","tags":["Message"],"parameters":[{"name":"message","in":"path","required":true,"schema":{"type":"string"},"description":"The Message to hold."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"at":{"type":"string","format":"date-time","description":"When it goes out."}},"required":["at"],"additionalProperties":false},"example":{"at":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"message":{"$ref":"#/components/schemas/Message","description":"The scheduled Message."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","message","links"]},"example":{"api":"https://api.sb/tutorloop.com","message":{"$id":"https://api.sb/tutorloop.com/messages/message_1","$type":"Message","medium":"email","direction":"inbound","body":"Example body"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Message.schedule","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Message.scheduled"}},"/meters":{"post":{"operationId":"Meter.create","summary":"Meter.create","description":"Creates a Meter.","tags":["Meter"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"unit":{"type":"string","description":"What it counts, such as calls or tokens."},"of":{"type":"string","description":"The declared Event the Meter counts."},"aggregation":{"type":"string","description":"How counted Events combine over the window: a sum of a value, a count, or the last value.","enum":["sum","count","last"]},"window":{"type":"string","description":"The period usage accrues over before it bills, such as a month."}},"required":["unit","of","aggregation","window"],"additionalProperties":false},"example":{"unit":"call","of":"Reminder.sent","aggregation":"sum","window":"month"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"meter":{"$ref":"#/components/schemas/Meter","description":"The Meter."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meter","links"]},"example":{"api":"https://api.sb/patentpad.com","meter":{"$id":"https://api.sb/patentpad.com/meters/meter_1","$type":"Meter","unit":"call","of":"Reminder.sent","aggregation":"sum","window":"month"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Meter.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Meter.created"},"get":{"operationId":"Meter.list","summary":"Meter.list","description":"Returns Meters, newest first, one page at a time.","tags":["Meter"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"meters":{"type":"array","items":{"$ref":"#/components/schemas/Meter","description":"One page of Meters."},"description":"One page of Meters."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meters","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Meter","meters":[{"$id":"https://api.sb/routewise.dev/meters/meter_1","$type":"Meter","unit":"call","of":"Reminder.sent","aggregation":"sum","window":"month"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/meters?limit=20","next":"https://api.sb/routewise.dev/meters?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/meters/{id}":{"get":{"operationId":"Meter.get","summary":"Meter.get","description":"Returns one Meter by id.","tags":["Meter"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Meter."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"meter":{"$ref":"#/components/schemas/Meter","description":"The Meter."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meter","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Meter","$id":"https://api.sb/patentpad.com/meters/meter_1","meter":{"$id":"https://api.sb/patentpad.com/meters/meter_1","$type":"Meter","unit":"call","of":"Reminder.sent","aggregation":"sum","window":"month"},"links":{"self":"https://api.sb/patentpad.com/meters/meter_1","up":"https://api.sb/patentpad.com/meters"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Meter.update","summary":"Meter.update","description":"Changes the given properties of a Meter.","tags":["Meter"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Meter."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"unit":{"type":"string","description":"What it counts, such as calls or tokens."},"of":{"type":"string","description":"The declared Event the Meter counts."},"aggregation":{"type":"string","description":"How counted Events combine over the window: a sum of a value, a count, or the last value.","enum":["sum","count","last"]},"window":{"type":"string","description":"The period usage accrues over before it bills, such as a month."}},"additionalProperties":false},"example":{"unit":"call"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"meter":{"$ref":"#/components/schemas/Meter","description":"The Meter."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meter","links"]},"example":{"api":"https://api.sb/petpantry.shop","meter":{"$id":"https://api.sb/petpantry.shop/meters/meter_1","$type":"Meter","unit":"call","of":"Reminder.sent","aggregation":"sum","window":"month"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Meter.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Meter.updated"},"delete":{"operationId":"Meter.delete","summary":"Meter.delete","description":"Deletes a Meter; its history is kept.","tags":["Meter"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Meter."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"meter":{"$ref":"#/components/schemas/Meter","description":"The Meter."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","meter","links"]},"example":{"api":"https://api.sb/quietcopy.com","meter":{"$id":"https://api.sb/quietcopy.com/meters/meter_1","$type":"Meter","unit":"call","of":"Reminder.sent","aggregation":"sum","window":"month"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Meter.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Meter.deleted"}},"/metrics":{"post":{"operationId":"Metric.create","summary":"Metric.create","description":"Creates a Metric.","tags":["Metric"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"How it is computed. An agent never varies the Metrics it is judged by."},"unit":{"type":"string","description":"The unit, such as dollars or percent."}},"required":["query"],"additionalProperties":false},"example":{"query":"Example query"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","metric","links"]},"example":{"api":"https://api.sb/petpantry.shop","metric":{"$id":"https://api.sb/petpantry.shop/metrics/metric_1","$type":"Metric","query":"Example query","status":"draft"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Metric.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Metric.created"},"get":{"operationId":"Metric.list","summary":"Metric.list","description":"Returns Metrics, newest first, one page at a time.","tags":["Metric"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/Metric","description":"One page of Metrics."},"description":"One page of Metrics."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","metrics","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Metric","metrics":[{"$id":"https://api.sb/kilnbakery.com/metrics/metric_1","$type":"Metric","query":"Example query","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/metrics?limit=20","next":"https://api.sb/kilnbakery.com/metrics?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/metrics/{id}":{"get":{"operationId":"Metric.get","summary":"Metric.get","description":"Returns one Metric by id.","tags":["Metric"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Metric."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","metric","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Metric","$id":"https://api.sb/quietcopy.com/metrics/metric_1","metric":{"$id":"https://api.sb/quietcopy.com/metrics/metric_1","$type":"Metric","query":"Example query","status":"draft"},"links":{"self":"https://api.sb/quietcopy.com/metrics/metric_1","up":"https://api.sb/quietcopy.com/metrics"},"actions":{"watch":"https://api.sb/quietcopy.com/metrics/metric_1/watch"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Metric.update","summary":"Metric.update","description":"Changes the given properties of a Metric.","tags":["Metric"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Metric."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"How it is computed. An agent never varies the Metrics it is judged by."},"unit":{"type":"string","description":"The unit, such as dollars or percent."}},"additionalProperties":false},"example":{"query":"Example query"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","metric","links"]},"example":{"api":"https://api.sb/routewise.dev","metric":{"$id":"https://api.sb/routewise.dev/metrics/metric_1","$type":"Metric","query":"Example query","status":"draft"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Metric.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Metric.updated"},"delete":{"operationId":"Metric.delete","summary":"Metric.delete","description":"Deletes a Metric; its history is kept.","tags":["Metric"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Metric."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","metric","links"]},"example":{"api":"https://api.sb/ledgerlark.com","metric":{"$id":"https://api.sb/ledgerlark.com/metrics/metric_1","$type":"Metric","query":"Example query","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Metric.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Metric.deleted"}},"/metrics/define":{"post":{"operationId":"Metric.define","summary":"Metric.define","description":"Define compiles a Metric’s query against the Startup’s Events and Entries and lists every Event it reads.","tags":["Metric"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The Metric’s name."},"query":{"type":"string","description":"The query, over Events and Entries."},"unit":{"type":"string","description":"What one unit of it is."}},"required":["name","query","unit"],"additionalProperties":false},"example":{"name":"LedgerLark","query":"Example query","unit":"Example unit"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"metric":{"$ref":"#/components/schemas/Metric","description":"The defined Metric."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","metric","links"]},"example":{"api":"https://api.sb/ledgerlark.com","metric":{"$id":"https://api.sb/ledgerlark.com/metrics/metric_1","$type":"Metric","query":"Example query","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Metric.define","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Metric.defined"}},"/metrics/query":{"post":{"operationId":"Metric.query","summary":"Metric.query","description":"Query reads Metrics or Events as a trend, funnel, retention curve, path or lifecycle, broken down by any property.","tags":["Metric"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"metric":{"type":"string","description":"The Metric to read; omitted, the query names Events directly. The Metric id."},"shape":{"type":"string","description":"The analysis to run.","enum":["trend","funnel","retention","paths","lifecycle"]},"breakdown":{"type":"string","description":"The property to split by, such as an Organization or a Motion."},"window":{"type":"string","description":"The time range, such as `30d`."}},"required":["shape"],"additionalProperties":false},"example":{"shape":"trend"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"rows":{"description":"The result rows, each number with its readability."},"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric read."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","rows","metric","links"]},"example":{"api":"https://api.sb/tutorloop.com","rows":{},"metric":{"$id":"https://api.sb/tutorloop.com/metrics/metric_1","$type":"Metric","query":"Example query","status":"draft"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Metric.query","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Metric.queried"}},"/metrics/{metric}/watch":{"post":{"operationId":"Metric.watch","summary":"Metric.watch","description":"Watch alerts the owner of a Metric when it crosses a threshold, by a Task or a Message.","tags":["Metric"],"parameters":[{"name":"metric","in":"path","required":true,"schema":{"type":"string"},"description":"The Metric to watch."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"threshold":{"type":"number","description":"The value that trips it."},"direction":{"type":"string","description":"Trip when the Metric goes above or below the threshold.","enum":["above","below"]}},"required":["threshold","direction"],"additionalProperties":false},"example":{"threshold":1,"direction":"above"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch that checks it."},"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric now watched."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","metric","links"]},"example":{"api":"https://api.sb/patentpad.com","watch":{"$id":"https://api.sb/patentpad.com/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://patentpad.com"},"metric":{"$id":"https://api.sb/patentpad.com/metrics/metric_1","$type":"Metric","query":"Example query","status":"draft"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Metric.watch","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Metric.watched"}},"/minimum-success-criteria":{"post":{"operationId":"MinimumSuccessCriteria.create","summary":"MinimumSuccessCriteria.create","description":"Creates a Minimum Success Criteria.","tags":["MinimumSuccessCriteria"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"objective":{"type":"string","description":"The qualitative outcome."},"horizon":{"type":"string","description":"One of `day`, `week`, `quarter`, `year`, or `three-years`.","enum":["day","week","quarter","year","three-years"]},"metric":{"type":"string","description":"The Metric the number is measured in. The Metric id."},"value":{"type":"number","description":"The number to reach."},"by":{"type":"string","format":"date","description":"The date it must be reached."},"fermi":{"description":"The Price, rates and volumes that show the number is reachable."}},"required":["objective","metric","value","by"],"additionalProperties":false},"example":{"objective":"Example objective","metric":"metric_1","value":1,"by":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"minimumSuccessCriteria":{"$ref":"#/components/schemas/MinimumSuccessCriteria","description":"The Minimum Success Criteria."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","minimumSuccessCriteria","links"]},"example":{"api":"https://api.sb/quietcopy.com","minimumSuccessCriteria":{"$id":"https://api.sb/quietcopy.com/minimum-success-criteria/minimum_success_criteria_1","$type":"MinimumSuccessCriteria","objective":"Example objective","metric":"metric_1","value":1,"by":"2026-10-22"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"MinimumSuccessCriteria.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"MinimumSuccessCriteria.created"},"get":{"operationId":"MinimumSuccessCriteria.list","summary":"MinimumSuccessCriteria.list","description":"Returns Minimum Success Criteria, newest first, one page at a time.","tags":["MinimumSuccessCriteria"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"minimumSuccessCriteria":{"type":"array","items":{"$ref":"#/components/schemas/MinimumSuccessCriteria","description":"One page of Minimum Success Criteria."},"description":"One page of Minimum Success Criteria."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","minimumSuccessCriteria","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"MinimumSuccessCriteria","minimumSuccessCriteria":[{"$id":"https://api.sb/quietcopy.com/minimum-success-criteria/minimum_success_criteria_1","$type":"MinimumSuccessCriteria","objective":"Example objective","metric":"metric_1","value":1,"by":"2026-10-22"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/minimum-success-criteria?limit=20","next":"https://api.sb/quietcopy.com/minimum-success-criteria?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/minimum-success-criteria/{id}":{"get":{"operationId":"MinimumSuccessCriteria.get","summary":"MinimumSuccessCriteria.get","description":"Returns one Minimum Success Criteria by id.","tags":["MinimumSuccessCriteria"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Minimum Success Criteria."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"minimumSuccessCriteria":{"$ref":"#/components/schemas/MinimumSuccessCriteria","description":"The Minimum Success Criteria."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","minimumSuccessCriteria","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"MinimumSuccessCriteria","$id":"https://api.sb/kilnbakery.com/minimum-success-criteria/minimum_success_criteria_1","minimumSuccessCriteria":{"$id":"https://api.sb/kilnbakery.com/minimum-success-criteria/minimum_success_criteria_1","$type":"MinimumSuccessCriteria","objective":"Example objective","metric":"metric_1","value":1,"by":"2026-10-22"},"links":{"self":"https://api.sb/kilnbakery.com/minimum-success-criteria/minimum_success_criteria_1","up":"https://api.sb/kilnbakery.com/minimum-success-criteria"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"MinimumSuccessCriteria.update","summary":"MinimumSuccessCriteria.update","description":"Changes the given properties of a Minimum Success Criteria.","tags":["MinimumSuccessCriteria"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Minimum Success Criteria."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"objective":{"type":"string","description":"The qualitative outcome."},"horizon":{"type":"string","description":"One of `day`, `week`, `quarter`, `year`, or `three-years`.","enum":["day","week","quarter","year","three-years"]},"metric":{"type":"string","description":"The Metric the number is measured in. The Metric id."},"value":{"type":"number","description":"The number to reach."},"by":{"type":"string","format":"date","description":"The date it must be reached."},"fermi":{"description":"The Price, rates and volumes that show the number is reachable."}},"additionalProperties":false},"example":{"metric":"metric_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"minimumSuccessCriteria":{"$ref":"#/components/schemas/MinimumSuccessCriteria","description":"The Minimum Success Criteria."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","minimumSuccessCriteria","links"]},"example":{"api":"https://api.sb/shiftnote.app","minimumSuccessCriteria":{"$id":"https://api.sb/shiftnote.app/minimum-success-criteria/minimum_success_criteria_1","$type":"MinimumSuccessCriteria","objective":"Example objective","metric":"metric_1","value":1,"by":"2026-10-22"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"MinimumSuccessCriteria.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"MinimumSuccessCriteria.updated"},"delete":{"operationId":"MinimumSuccessCriteria.delete","summary":"MinimumSuccessCriteria.delete","description":"Deletes a Minimum Success Criteria; its history is kept.","tags":["MinimumSuccessCriteria"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Minimum Success Criteria."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"minimumSuccessCriteria":{"$ref":"#/components/schemas/MinimumSuccessCriteria","description":"The Minimum Success Criteria."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","minimumSuccessCriteria","links"]},"example":{"api":"https://api.sb/routewise.dev","minimumSuccessCriteria":{"$id":"https://api.sb/routewise.dev/minimum-success-criteria/minimum_success_criteria_1","$type":"MinimumSuccessCriteria","objective":"Example objective","metric":"metric_1","value":1,"by":"2026-10-22"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"MinimumSuccessCriteria.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"MinimumSuccessCriteria.deleted"}},"/modes/{id}":{"get":{"operationId":"Mode.get","summary":"Mode.get","description":"Returns one Mode by id.","tags":["Mode"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Mode."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"mode":{"$ref":"#/components/schemas/Mode","description":"The Mode."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","mode","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Mode","$id":"https://api.sb/patentpad.com/modes/mode_1","mode":{"$id":"https://api.sb/patentpad.com/modes/mode_1","$type":"Mode","name":"try","durable":true,"waits":true},"links":{"self":"https://api.sb/patentpad.com/modes/mode_1","up":"https://api.sb/patentpad.com/modes"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/modes":{"get":{"operationId":"Mode.list","summary":"Mode.list","description":"Returns Modes, newest first, one page at a time.","tags":["Mode"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"modes":{"type":"array","items":{"$ref":"#/components/schemas/Mode","description":"One page of Modes."},"description":"One page of Modes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","modes","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Mode","modes":[{"$id":"https://api.sb/routewise.dev/modes/mode_1","$type":"Mode","name":"try","durable":true,"waits":true}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/modes?limit=20","next":"https://api.sb/routewise.dev/modes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/monitors":{"post":{"operationId":"Monitor.create","summary":"Monitor.create","description":"Creates a Monitor.","tags":["Monitor"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"`internal` watches the Startup’s own routes and jobs; `outside` watches the world, such as a rival’s price.","enum":["internal","outside"]},"target":{"type":"string","description":"What it checks: a route, a Domain, a Keyword, a prompt or a page."},"every":{"type":"string","description":"How often it runs, such as `1m` or `1d`."}},"required":["kind","target"],"additionalProperties":false},"example":{"kind":"internal","target":"/health"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"monitor":{"$ref":"#/components/schemas/Monitor","description":"The Monitor."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","monitor","links"]},"example":{"api":"https://api.sb/petpantry.shop","monitor":{"$id":"https://api.sb/petpantry.shop/monitors/monitor_1","$type":"Monitor","kind":"internal","target":"/health"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Monitor.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Monitor.created"},"get":{"operationId":"Monitor.list","summary":"Monitor.list","description":"Returns Monitors, newest first, one page at a time.","tags":["Monitor"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"monitors":{"type":"array","items":{"$ref":"#/components/schemas/Monitor","description":"One page of Monitors."},"description":"One page of Monitors."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","monitors","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Monitor","monitors":[{"$id":"https://api.sb/kilnbakery.com/monitors/monitor_1","$type":"Monitor","kind":"internal","target":"/health"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/monitors?limit=20","next":"https://api.sb/kilnbakery.com/monitors?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/monitors/{id}":{"get":{"operationId":"Monitor.get","summary":"Monitor.get","description":"Returns one Monitor by id.","tags":["Monitor"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Monitor."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"monitor":{"$ref":"#/components/schemas/Monitor","description":"The Monitor."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","monitor","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Monitor","$id":"https://api.sb/quietcopy.com/monitors/monitor_1","monitor":{"$id":"https://api.sb/quietcopy.com/monitors/monitor_1","$type":"Monitor","kind":"internal","target":"/health"},"links":{"self":"https://api.sb/quietcopy.com/monitors/monitor_1","up":"https://api.sb/quietcopy.com/monitors"},"actions":{"check":"https://api.sb/quietcopy.com/monitors/monitor_1/check"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Monitor.update","summary":"Monitor.update","description":"Changes the given properties of a Monitor.","tags":["Monitor"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Monitor."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"`internal` watches the Startup’s own routes and jobs; `outside` watches the world, such as a rival’s price.","enum":["internal","outside"]},"target":{"type":"string","description":"What it checks: a route, a Domain, a Keyword, a prompt or a page."},"every":{"type":"string","description":"How often it runs, such as `1m` or `1d`."}},"additionalProperties":false},"example":{"kind":"internal"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"monitor":{"$ref":"#/components/schemas/Monitor","description":"The Monitor."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","monitor","links"]},"example":{"api":"https://api.sb/routewise.dev","monitor":{"$id":"https://api.sb/routewise.dev/monitors/monitor_1","$type":"Monitor","kind":"internal","target":"/health"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Monitor.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Monitor.updated"}},"/monitors/{monitor}/check":{"post":{"operationId":"Monitor.check","summary":"Monitor.check","description":"Check runs a Monitor once now from several regions and records the result as an Event.","tags":["Monitor"],"parameters":[{"name":"monitor","in":"path","required":true,"schema":{"type":"string"},"description":"The Monitor to run."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"monitor":{"$ref":"#/components/schemas/Monitor","description":"The Monitor, with its latest result."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","monitor","links"]},"example":{"api":"https://api.sb/quietcopy.com","monitor":{"$id":"https://api.sb/quietcopy.com/monitors/monitor_1","$type":"Monitor","kind":"internal","target":"/health"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Monitor.check","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Monitor.checked"}},"/motions/{id}":{"get":{"operationId":"Motion.get","summary":"Motion.get","description":"Returns one Motion by id.","tags":["Motion"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Motion."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"motion":{"$ref":"#/components/schemas/Motion","description":"The Motion."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","motion","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Motion","$id":"https://api.sb/petpantry.shop/motions/motion_1","motion":{"$id":"https://api.sb/petpantry.shop/motions/motion_1","$type":"Motion","code":"Example code","buyer":"Example buyer"},"links":{"self":"https://api.sb/petpantry.shop/motions/motion_1","up":"https://api.sb/petpantry.shop/motions"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/motions":{"get":{"operationId":"Motion.list","summary":"Motion.list","description":"Returns Motions, newest first, one page at a time.","tags":["Motion"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"motions":{"type":"array","items":{"$ref":"#/components/schemas/Motion","description":"One page of Motions."},"description":"One page of Motions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","motions","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Motion","motions":[{"$id":"https://api.sb/tutorloop.com/motions/motion_1","$type":"Motion","code":"Example code","buyer":"Example buyer"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/motions?limit=20","next":"https://api.sb/tutorloop.com/motions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/nouns":{"post":{"operationId":"Noun.create","summary":"Noun.create","description":"Creates a Noun.","tags":["Noun"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The singular, capitalized name."},"properties":{"description":"Its properties, each with a name, a type, and whether it is required."},"publishedIn":{"type":"string","description":"The first published Version that serves it; from then on, edits go through a Change and `delete` refuses. The Version id."},"capability":{"type":"string","description":"A Capability exposes Verbs on one Noun family, metered, limited and logged under one key. The Capability id."}},"required":["name"],"additionalProperties":false},"example":{"name":"PetPantry"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","noun","links"]},"example":{"api":"https://api.sb/petpantry.shop","noun":{"$id":"https://api.sb/petpantry.shop/nouns/noun_1","$type":"Noun","name":"PetPantry","status":"draft"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Noun.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Noun.created"},"get":{"operationId":"Noun.list","summary":"Noun.list","description":"Returns Nouns, newest first, one page at a time.","tags":["Noun"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"nouns":{"type":"array","items":{"$ref":"#/components/schemas/Noun","description":"One page of Nouns."},"description":"One page of Nouns."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","nouns","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Noun","nouns":[{"$id":"https://api.sb/kilnbakery.com/nouns/noun_1","$type":"Noun","name":"Kiln Bakery","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/nouns?limit=20","next":"https://api.sb/kilnbakery.com/nouns?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/nouns/{id}":{"get":{"operationId":"Noun.get","summary":"Noun.get","description":"Returns one Noun by id.","tags":["Noun"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Noun."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","noun","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Noun","$id":"https://api.sb/quietcopy.com/nouns/noun_1","noun":{"$id":"https://api.sb/quietcopy.com/nouns/noun_1","$type":"Noun","name":"QuietCopy","status":"draft"},"links":{"self":"https://api.sb/quietcopy.com/nouns/noun_1","up":"https://api.sb/quietcopy.com/nouns"},"actions":{"retire":"https://api.sb/quietcopy.com/nouns/noun_1/retire","trace":"https://api.sb/quietcopy.com/nouns/noun_1/trace"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Noun.update","summary":"Noun.update","description":"Changes the given properties of a Noun.","tags":["Noun"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Noun."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The singular, capitalized name."},"properties":{"description":"Its properties, each with a name, a type, and whether it is required."},"publishedIn":{"type":"string","description":"The first published Version that serves it; from then on, edits go through a Change and `delete` refuses. The Version id."}},"additionalProperties":false},"example":{"name":"RouteWise"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","noun","links"]},"example":{"api":"https://api.sb/routewise.dev","noun":{"$id":"https://api.sb/routewise.dev/nouns/noun_1","$type":"Noun","name":"RouteWise","status":"draft"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Noun.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Noun.updated"},"delete":{"operationId":"Noun.delete","summary":"Noun.delete","description":"Deletes a Noun; its history is kept.","tags":["Noun"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Noun."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","noun","links"]},"example":{"api":"https://api.sb/ledgerlark.com","noun":{"$id":"https://api.sb/ledgerlark.com/nouns/noun_1","$type":"Noun","name":"LedgerLark","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Noun.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Noun.deleted"}},"/nouns/{noun}/retire":{"post":{"operationId":"Noun.retire","summary":"Noun.retire","description":"Retire removes a published Noun from new Versions; its records, its history and every pinned Version keep serving.","tags":["Noun"],"parameters":[{"name":"noun","in":"path","required":true,"schema":{"type":"string"},"description":"The Noun to retire."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"version":{"$ref":"#/components/schemas/Version","description":"The new Version, without the Noun."},"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun, now retired from new Versions."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","version","noun","links"]},"example":{"api":"https://api.sb/shiftnote.app","version":{"$id":"https://api.sb/shiftnote.app/versions/version_1","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"},"noun":{"$id":"https://api.sb/shiftnote.app/nouns/noun_1","$type":"Noun","name":"ShiftNote","status":"retired"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Noun.retire","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Noun.retired"}},"/nouns/{noun}/trace":{"post":{"operationId":"Noun.trace","summary":"Noun.trace","description":"Trace lists every Verb, Process, Offer, Dashboard and Version that references a Noun, so an edit or a retire shows its reach first.","tags":["Noun"],"parameters":[{"name":"noun","in":"path","required":true,"schema":{"type":"string"},"description":"The Noun to trace."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"uses":{"description":"Each referencing entry, by kind and id, with the published Versions that serve it."},"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun traced."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","uses","noun","links"]},"example":{"api":"https://api.sb/shiftnote.app","uses":{},"noun":{"$id":"https://api.sb/shiftnote.app/nouns/noun_1","$type":"Noun","name":"ShiftNote","status":"draft"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Noun.trace","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Noun.traced"}},"/offers":{"post":{"operationId":"Offer.create","summary":"Offer.create","description":"Creates an Offer.","tags":["Offer"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"price":{"$ref":"#/components/schemas/Money","description":"The amount, currency, and unit. Zero is a price."},"terms":{"type":"string","description":"The conditions the Customer accepts, refund rights included."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"activation":{"description":"The Event, count and window that mark a Customer activated, such as `Reminder.sent` 20 times within 7 days."},"credit":{"$ref":"#/components/schemas/Money","description":"The Credit Grant each purchase issues, for an Offer that sells prepaid credit, such as $50 of calls."},"atBound":{"type":"string","description":"What a call past an Entitlement’s Limit gets: `stop`, `overage` or `upgrade` (refuse it, bill it through the Meter, or move to the next Offer).","enum":["stop","overage","upgrade"]},"interval":{"type":"string","description":"How often it bills: `once`, `day`, `week`, `month` or `year`.","enum":["once","day","week","month","year"]},"availableFrom":{"type":"string","format":"date-time","description":"When it can first be bought. Unset: from when it is published."},"availableUntil":{"type":"string","format":"date-time","description":"When it can last be bought. Existing Subscriptions continue past it."},"trial":{"description":"The free trial every new Customer starts with: `days`, and `card` true to take a card up front. Unset: no trial."},"seats":{"type":"string","description":"How a per-seat Price counts: `manual` (the buyer sets the quantity) or `members` (people in the Customer’s Tenant, prorated as they change).","enum":["manual","members"]},"uptime":{"description":"The monthly uptime it promises, and the share of that month’s charge credited back below each level."},"license":{"type":"string","description":"What a buyer may do with the records it sells: use them `internal`ly, `display` them to its own users, or `redistribute` them.","enum":["internal","display","redistribute"]},"attribution":{"type":"string","description":"The credit line a buyer shows wherever the records appear."},"privateTo":{"type":"string","description":"The one Party who sees it and may accept it, making it a private Offer; no pricing page lists it. The Party id."},"product":{"type":"string","description":"Each Offer sells one Product; one Product sits inside many Offers at different prices and terms. The Product id."},"brand":{"type":"string","description":"Each Offer carries exactly one Brand, whose name, voice and logo the buyer sees. The Brand id."},"motion":{"type":"string","description":"Each Offer sells through one Motion, which says who buys and who acts for them. The Motion id."}},"required":["price"],"additionalProperties":false},"example":{"price":{"amount":9,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","offer","links"]},"example":{"api":"https://api.sb/kilnbakery.com","offer":{"$id":"https://api.sb/kilnbakery.com/offers/offer_1","$type":"Offer","price":{"amount":9,"currency":"USD"}},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Offer.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.created"},"get":{"operationId":"Offer.list","summary":"Offer.list","description":"Returns Offers, newest first, one page at a time.","tags":["Offer"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"offers":{"type":"array","items":{"$ref":"#/components/schemas/Offer","description":"One page of Offers."},"description":"One page of Offers."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","offers","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Offer","offers":[{"$id":"https://api.sb/petpantry.shop/offers/offer_1","$type":"Offer","price":{"amount":54,"currency":"USD"}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/offers?limit=20","next":"https://api.sb/petpantry.shop/offers?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/offers/{id}":{"get":{"operationId":"Offer.get","summary":"Offer.get","description":"Returns one Offer by id.","tags":["Offer"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Offer."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","offer","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Offer","$id":"https://api.sb/tutorloop.com/offers/offer_1","offer":{"$id":"https://api.sb/tutorloop.com/offers/offer_1","$type":"Offer","price":{"amount":60,"currency":"USD"}},"links":{"self":"https://api.sb/tutorloop.com/offers/offer_1","up":"https://api.sb/tutorloop.com/offers"},"actions":{"accept":"https://api.sb/tutorloop.com/offers/offer_1/accept","grant":"https://api.sb/tutorloop.com/offers/offer_1/grant","publish":"https://api.sb/tutorloop.com/offers/offer_1/publish"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Offer.update","summary":"Offer.update","description":"Changes the given properties of an Offer.","tags":["Offer"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Offer."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"price":{"$ref":"#/components/schemas/Money","description":"The amount, currency, and unit. Zero is a price."},"terms":{"type":"string","description":"The conditions the Customer accepts, refund rights included."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"activation":{"description":"The Event, count and window that mark a Customer activated, such as `Reminder.sent` 20 times within 7 days."},"credit":{"$ref":"#/components/schemas/Money","description":"The Credit Grant each purchase issues, for an Offer that sells prepaid credit, such as $50 of calls."},"atBound":{"type":"string","description":"What a call past an Entitlement’s Limit gets: `stop`, `overage` or `upgrade` (refuse it, bill it through the Meter, or move to the next Offer).","enum":["stop","overage","upgrade"]},"interval":{"type":"string","description":"How often it bills: `once`, `day`, `week`, `month` or `year`.","enum":["once","day","week","month","year"]},"availableFrom":{"type":"string","format":"date-time","description":"When it can first be bought. Unset: from when it is published."},"availableUntil":{"type":"string","format":"date-time","description":"When it can last be bought. Existing Subscriptions continue past it."},"trial":{"description":"The free trial every new Customer starts with: `days`, and `card` true to take a card up front. Unset: no trial."},"seats":{"type":"string","description":"How a per-seat Price counts: `manual` (the buyer sets the quantity) or `members` (people in the Customer’s Tenant, prorated as they change).","enum":["manual","members"]},"uptime":{"description":"The monthly uptime it promises, and the share of that month’s charge credited back below each level."},"license":{"type":"string","description":"What a buyer may do with the records it sells: use them `internal`ly, `display` them to its own users, or `redistribute` them.","enum":["internal","display","redistribute"]},"attribution":{"type":"string","description":"The credit line a buyer shows wherever the records appear."},"privateTo":{"type":"string","description":"The one Party who sees it and may accept it, making it a private Offer; no pricing page lists it. The Party id."}},"additionalProperties":false},"example":{"price":{"amount":499,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","offer","links"]},"example":{"api":"https://api.sb/patentpad.com","offer":{"$id":"https://api.sb/patentpad.com/offers/offer_1","$type":"Offer","price":{"amount":499,"currency":"USD"}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Offer.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.updated"},"delete":{"operationId":"Offer.delete","summary":"Offer.delete","description":"Deletes an Offer; its history is kept.","tags":["Offer"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Offer."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","offer","links"]},"example":{"api":"https://api.sb/shiftnote.app","offer":{"$id":"https://api.sb/shiftnote.app/offers/offer_1","$type":"Offer","price":{"amount":79,"currency":"USD"}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Offer.delete","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.deleted"}},"/offers/{offer}/accept":{"post":{"operationId":"Offer.accept","summary":"Offer.accept","description":"Accept records that a party takes an Offer, which makes that party a Customer of the Startup.","tags":["Offer"],"parameters":[{"name":"offer","in":"path","required":true,"schema":{"type":"string"},"description":"The Offer to accept."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"party":{"type":"string","description":"The person or organization accepting."}},"required":["party"],"additionalProperties":false},"example":{"party":"Lena Fischer"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer the party is or becomes."},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer accepted."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","customer","offer","links"]},"example":{"api":"https://api.sb/petpantry.shop","customer":{"$id":"https://api.sb/petpantry.shop/customers/customer_1","$type":"Customer","since":"2026-10-22T12:00:00Z"},"offer":{"$id":"https://api.sb/petpantry.shop/offers/offer_1","$type":"Offer","price":{"amount":54,"currency":"USD"}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Offer.accept","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.accepted"}},"/offers/{offer}/grant":{"post":{"operationId":"Offer.grant","summary":"Offer.grant","description":"Grant adds an Entitlement to an Offer: a Verb its Customers may call, optionally bounded by a Limit.","tags":["Offer"],"parameters":[{"name":"offer","in":"path","required":true,"schema":{"type":"string"},"description":"The Offer that grants it."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"verb":{"type":"string","description":"The Verb its Customers may call, as `Noun.verb`. The Verb id."},"limit":{"type":"string","description":"The Limit that bounds it. Unset: a feature, called as often as the Customer likes. The Limit id."}},"required":["verb"],"additionalProperties":false},"example":{"verb":"verb_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The new Entitlement, granted by the Offer."},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer, with the Entitlement added."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entitlement","offer","links"]},"example":{"api":"https://api.sb/kilnbakery.com","entitlement":{"$id":"https://api.sb/kilnbakery.com/entitlements/entitlement_1","$type":"Entitlement","verb":"verb_1"},"offer":{"$id":"https://api.sb/kilnbakery.com/offers/offer_1","$type":"Offer","price":{"amount":9,"currency":"USD"}},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Offer.grant","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.granted"}},"/offers/{offer}/publish":{"post":{"operationId":"Offer.publish","summary":"Offer.publish","description":"Publish makes an Offer available for parties to accept.","tags":["Offer"],"parameters":[{"name":"offer","in":"path","required":true,"schema":{"type":"string"},"description":"The Offer to publish."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer, now open to accept."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","offer","links"]},"example":{"api":"https://api.sb/routewise.dev","offer":{"$id":"https://api.sb/routewise.dev/offers/offer_1","$type":"Offer","price":{"amount":25,"currency":"USD"}},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Offer.publish","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.published"}},"/offers/{offer}/subscribe":{"post":{"operationId":"Offer.subscribe","summary":"Offer.subscribe","description":"Subscribe accepts a recurring Offer as a Subscription that renews each period until it ends.","tags":["Offer"],"parameters":[{"name":"offer","in":"path","required":true,"schema":{"type":"string"},"description":"The recurring Offer."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"quantity":{"type":"integer","description":"Seats or units. Defaults to 1."},"promotionCode":{"type":"string","description":"A promotion code the buyer typed; applies its Coupon for the Coupon’s duration."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The new Subscription."},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer subscribed to."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","offer","links"]},"example":{"api":"https://api.sb/quietcopy.com","subscription":{"$id":"https://api.sb/quietcopy.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"offer":{"$id":"https://api.sb/quietcopy.com/offers/offer_1","$type":"Offer","price":{"amount":39,"currency":"USD"}},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Offer.subscribe","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.subscribed"}},"/offers/{offer}/trial":{"post":{"operationId":"Offer.trial","summary":"Offer.trial","description":"Trial starts a Customer on an Offer free for a set number of days, with or without a card, converting or ending by its terms.","tags":["Offer"],"parameters":[{"name":"offer","in":"path","required":true,"schema":{"type":"string"},"description":"The Offer to try."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"type":"string","description":"The Customer who tries it. The Customer id."},"days":{"type":"integer","description":"How long the trial runs."},"card":{"type":"boolean","description":"True to take a card up front and charge it when the trial ends."}},"required":["customer","days"],"additionalProperties":false},"example":{"customer":"customer_1","days":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription, free until the trial ends."},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer the trial is on."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","offer","links"]},"example":{"api":"https://api.sb/quietcopy.com","subscription":{"$id":"https://api.sb/quietcopy.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"offer":{"$id":"https://api.sb/quietcopy.com/offers/offer_1","$type":"Offer","price":{"amount":39,"currency":"USD"}},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Offer.trial","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.trialed"}},"/offers/{offer}/withdraw":{"post":{"operationId":"Offer.withdraw","summary":"Offer.withdraw","description":"Withdraw closes a published Offer to new Customers and leaves every existing Order and Subscription in force.","tags":["Offer"],"parameters":[{"name":"offer","in":"path","required":true,"schema":{"type":"string"},"description":"The Offer to withdraw."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer, closed to new acceptance."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","offer","links"]},"example":{"api":"https://api.sb/tutorloop.com","offer":{"$id":"https://api.sb/tutorloop.com/offers/offer_1","$type":"Offer","price":{"amount":60,"currency":"USD"}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Offer.withdraw","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Offer.withdrawn"}},"/openings":{"post":{"operationId":"Opening.create","summary":"Opening.create","description":"Creates an Opening.","tags":["Opening"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","description":"The Role the Human joins, by taking a share of it. The Role id."},"kind":{"type":"string","description":"One of `floor`, `contractor`, `employee`, or `cofounder`.","enum":["floor","contractor","employee","cofounder"]},"reason":{"type":"string","description":"One of `floor`, `credential`, `edge`, `relationship`, `capital`, `capacity`, or `distribution`.","enum":["floor","credential","edge","relationship","capital","capacity","distribution"]},"hypothesis":{"type":"string","description":"The result a hire must beat the incumbent Agent on. The Hypothesis id."},"skills":{"type":"array","items":{"type":"string","description":"The Skills required, each citing the Evidence that shows the gap. The Skill id."},"description":"The Skills required, each citing the Evidence that shows the gap."},"credentials":{"type":"array","items":{"type":"string","description":"The Credentials a Reserved Act in the Role requires. The Credential id."},"description":"The Credentials a Reserved Act in the Role requires."},"commitment":{"type":"string","description":"Hours per week, from a few hours to full time."},"terms":{"type":"string","format":"uri","description":"The published terms for this kind of Opening."},"listed":{"type":"boolean","description":"True once the Opening is public; unlisted Openings reach only the talent pool."}},"required":["role","kind","reason","hypothesis"],"additionalProperties":false},"example":{"role":"role_1","kind":"floor","reason":"floor","hypothesis":"hypothesis_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"opening":{"$ref":"#/components/schemas/Opening","description":"The Opening."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","opening","links"]},"example":{"api":"https://api.sb/tutorloop.com","opening":{"$id":"https://api.sb/tutorloop.com/openings/opening_1","$type":"Opening","role":"role_1","kind":"floor","reason":"floor","hypothesis":"hypothesis_1"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Opening.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Opening.created"},"get":{"operationId":"Opening.list","summary":"Opening.list","description":"Returns Openings, newest first, one page at a time.","tags":["Opening"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"openings":{"type":"array","items":{"$ref":"#/components/schemas/Opening","description":"One page of Openings."},"description":"One page of Openings."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","openings","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Opening","openings":[{"$id":"https://api.sb/tutorloop.com/openings/opening_1","$type":"Opening","role":"role_1","kind":"floor","reason":"floor","hypothesis":"hypothesis_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/openings?limit=20","next":"https://api.sb/tutorloop.com/openings?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/openings/{id}":{"get":{"operationId":"Opening.get","summary":"Opening.get","description":"Returns one Opening by id.","tags":["Opening"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Opening."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"opening":{"$ref":"#/components/schemas/Opening","description":"The Opening."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","opening","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Opening","$id":"https://api.sb/petpantry.shop/openings/opening_1","opening":{"$id":"https://api.sb/petpantry.shop/openings/opening_1","$type":"Opening","role":"role_1","kind":"floor","reason":"floor","hypothesis":"hypothesis_1"},"links":{"self":"https://api.sb/petpantry.shop/openings/opening_1","up":"https://api.sb/petpantry.shop/openings"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Opening.update","summary":"Opening.update","description":"Changes the given properties of an Opening.","tags":["Opening"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Opening."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","description":"The Role the Human joins, by taking a share of it. The Role id."},"kind":{"type":"string","description":"One of `floor`, `contractor`, `employee`, or `cofounder`.","enum":["floor","contractor","employee","cofounder"]},"reason":{"type":"string","description":"One of `floor`, `credential`, `edge`, `relationship`, `capital`, `capacity`, or `distribution`.","enum":["floor","credential","edge","relationship","capital","capacity","distribution"]},"hypothesis":{"type":"string","description":"The result a hire must beat the incumbent Agent on. The Hypothesis id."},"skills":{"type":"array","items":{"type":"string","description":"The Skills required, each citing the Evidence that shows the gap. The Skill id."},"description":"The Skills required, each citing the Evidence that shows the gap."},"credentials":{"type":"array","items":{"type":"string","description":"The Credentials a Reserved Act in the Role requires. The Credential id."},"description":"The Credentials a Reserved Act in the Role requires."},"commitment":{"type":"string","description":"Hours per week, from a few hours to full time."},"terms":{"type":"string","format":"uri","description":"The published terms for this kind of Opening."},"listed":{"type":"boolean","description":"True once the Opening is public; unlisted Openings reach only the talent pool."}},"additionalProperties":false},"example":{"role":"role_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"opening":{"$ref":"#/components/schemas/Opening","description":"The Opening."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","opening","links"]},"example":{"api":"https://api.sb/ledgerlark.com","opening":{"$id":"https://api.sb/ledgerlark.com/openings/opening_1","$type":"Opening","role":"role_1","kind":"floor","reason":"floor","hypothesis":"hypothesis_1"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Opening.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Opening.updated"},"delete":{"operationId":"Opening.delete","summary":"Opening.delete","description":"Deletes an Opening; its history is kept.","tags":["Opening"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Opening."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"opening":{"$ref":"#/components/schemas/Opening","description":"The Opening."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","opening","links"]},"example":{"api":"https://api.sb/patentpad.com","opening":{"$id":"https://api.sb/patentpad.com/openings/opening_1","$type":"Opening","role":"role_1","kind":"floor","reason":"floor","hypothesis":"hypothesis_1"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Opening.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Opening.deleted"}},"/orders":{"post":{"operationId":"Order.create","summary":"Order.create","description":"Creates an Order.","tags":["Order"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/Money","description":"The amount charged."},"merchantOfRecord":{"type":"string","description":"The Party that charges and books the revenue. The Party id."},"outside":{"type":"boolean","description":"Computed: true when its Customer shares no owner, Studio account, Agreement, or sibling chain with the Startup."},"lines":{"description":"Each Offer bought, its quantity, amount and the Party that charges for it; a Service line carries its own verdict."},"fulfillment":{"type":"string","description":"Where a Service Order’s work stands between `paid` and `fulfilled`.","enum":["intake","working","delivered","revising","accepted","disputed"]},"payment":{"type":"string","description":"`authorized` when the Quote is accepted; `captured` on the Event the Outcome Contract `earns` names.","enum":["authorized","captured"]},"revisionsUsed":{"type":"integer","description":"Revisions the Customer has asked for, counted against the Outcome Contract’s `revisions`."},"risk":{"type":"number","description":"The payment’s fraud risk score from 0 to 99 at screening, as Stripe scored it."},"tax":{"$ref":"#/components/schemas/Money","description":"The sales tax, VAT or GST computed at placement for the buyer’s location and the Offer’s tax category."},"taxJurisdiction":{"type":"string","description":"Where the tax is owed, such as `US-CA` or `EU-DE`, or `none` when no registration applies.","enum":["US-CA","EU-DE","none"]},"brief":{"description":"The scope a Service Order bought, from its Quote request: sizes, inputs and turnaround. Intake checks the inputs against it."},"dueAt":{"type":"string","format":"date-time","description":"When a Service Order’s work is due; time waiting on the Customer moves it later."},"collectedBy":{"type":"string","description":"The id of the venue that charged the buyer and pays the Startup; unset when the Startup’s own checkout collected."},"customer":{"type":"string","description":"A Customer commits to one-time purchases as Orders. The Customer id."}},"required":["total"],"additionalProperties":false},"example":{"total":{"amount":60,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/tutorloop.com","order":{"$id":"https://api.sb/tutorloop.com/orders/order_1","$type":"Order","total":{"amount":60,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Order.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.created"},"get":{"operationId":"Order.list","summary":"Order.list","description":"Returns Orders, newest first, one page at a time.","tags":["Order"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"orders":{"type":"array","items":{"$ref":"#/components/schemas/Order","description":"One page of Orders."},"description":"One page of Orders."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","orders","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Order","orders":[{"$id":"https://api.sb/tutorloop.com/orders/order_1","$type":"Order","total":{"amount":60,"currency":"USD"},"status":"placed"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/orders?limit=20","next":"https://api.sb/tutorloop.com/orders?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/orders/{id}":{"get":{"operationId":"Order.get","summary":"Order.get","description":"Returns one Order by id.","tags":["Order"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Order."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"order":{"$ref":"#/components/schemas/Order","description":"The Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Order","$id":"https://api.sb/petpantry.shop/orders/order_1","order":{"$id":"https://api.sb/petpantry.shop/orders/order_1","$type":"Order","total":{"amount":54,"currency":"USD"},"status":"placed"},"links":{"self":"https://api.sb/petpantry.shop/orders/order_1","up":"https://api.sb/petpantry.shop/orders"},"actions":{"cancel":"https://api.sb/petpantry.shop/orders/order_1/cancel","confirm":"https://api.sb/petpantry.shop/orders/order_1/confirm","deliver":"https://api.sb/petpantry.shop/orders/order_1/deliver"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Order.update","summary":"Order.update","description":"Changes the given properties of an Order.","tags":["Order"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Order."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/Money","description":"The amount charged."},"merchantOfRecord":{"type":"string","description":"The Party that charges and books the revenue. The Party id."},"outside":{"type":"boolean","description":"Computed: true when its Customer shares no owner, Studio account, Agreement, or sibling chain with the Startup."},"lines":{"description":"Each Offer bought, its quantity, amount and the Party that charges for it; a Service line carries its own verdict."},"fulfillment":{"type":"string","description":"Where a Service Order’s work stands between `paid` and `fulfilled`.","enum":["intake","working","delivered","revising","accepted","disputed"]},"payment":{"type":"string","description":"`authorized` when the Quote is accepted; `captured` on the Event the Outcome Contract `earns` names.","enum":["authorized","captured"]},"revisionsUsed":{"type":"integer","description":"Revisions the Customer has asked for, counted against the Outcome Contract’s `revisions`."},"risk":{"type":"number","description":"The payment’s fraud risk score from 0 to 99 at screening, as Stripe scored it."},"tax":{"$ref":"#/components/schemas/Money","description":"The sales tax, VAT or GST computed at placement for the buyer’s location and the Offer’s tax category."},"taxJurisdiction":{"type":"string","description":"Where the tax is owed, such as `US-CA` or `EU-DE`, or `none` when no registration applies.","enum":["US-CA","EU-DE","none"]},"brief":{"description":"The scope a Service Order bought, from its Quote request: sizes, inputs and turnaround. Intake checks the inputs against it."},"dueAt":{"type":"string","format":"date-time","description":"When a Service Order’s work is due; time waiting on the Customer moves it later."},"collectedBy":{"type":"string","description":"The id of the venue that charged the buyer and pays the Startup; unset when the Startup’s own checkout collected."}},"additionalProperties":false},"example":{"total":{"amount":400,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/ledgerlark.com","order":{"$id":"https://api.sb/ledgerlark.com/orders/order_1","$type":"Order","total":{"amount":400,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Order.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.updated"}},"/orders/{order}/cancel":{"post":{"operationId":"Order.cancel","summary":"Order.cancel","description":"Cancel ends an Order before fulfillment and returns any payment in full.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The unfulfilled Order."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The canceled Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/petpantry.shop","order":{"$id":"https://api.sb/petpantry.shop/orders/order_1","$type":"Order","total":{"amount":54,"currency":"USD"},"status":"canceled"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Order.cancel","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.canceled"}},"/orders/{order}/confirm":{"post":{"operationId":"Order.confirm","summary":"Order.confirm","description":"Confirm records the Customer’s sign-off on delivered work, which closes the Order and earns the Startup its fee.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The delivered Order."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"lines":{"description":"The lines confirmed; every delivered line when absent. Each confirmed line bills on its own."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The closed Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/petpantry.shop","order":{"$id":"https://api.sb/petpantry.shop/orders/order_1","$type":"Order","total":{"amount":54,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Order.confirm","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.confirmed"}},"/orders/{order}/deliver":{"post":{"operationId":"Order.deliver","summary":"Order.deliver","description":"Deliver hands the finished work of a Service Order to its Customer and opens the acceptance window.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The Order whose work is done."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"work":{"description":"The deliverable and its evidence."},"lines":{"description":"The lines delivered; every open line when absent. Each delivered line opens its own acceptance window."}},"required":["work"],"additionalProperties":false},"example":{"work":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The delivered Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/patentpad.com","order":{"$id":"https://api.sb/patentpad.com/orders/order_1","$type":"Order","total":{"amount":499,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Order.deliver","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.delivered"}},"/orders/{order}/dispute":{"post":{"operationId":"Order.dispute","summary":"Order.dispute","description":"Dispute contests a delivered Order under its Outcome Contract and starts the remedy the contract names.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The delivered Order."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"What falls short of the promise."},"lines":{"description":"The lines disputed; every delivered line when absent. Undisputed lines stay open to confirm."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The disputed Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/kilnbakery.com","order":{"$id":"https://api.sb/kilnbakery.com/orders/order_1","$type":"Order","total":{"amount":9,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Order.dispute","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.disputed"}},"/orders/{order}/fulfill":{"post":{"operationId":"Order.fulfill","summary":"Order.fulfill","description":"Fulfill grants what an Order bought: Entitlements for software and data, a shipment for goods.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The paid Order."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The fulfilled Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/tutorloop.com","order":{"$id":"https://api.sb/tutorloop.com/orders/order_1","$type":"Order","total":{"amount":60,"currency":"USD"},"status":"fulfilled"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Order.fulfill","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.fulfilled"}},"/orders/{order}/pay":{"post":{"operationId":"Order.pay","summary":"Order.pay","description":"Pay settles an Order’s amount through the Startup’s payment account and posts the matching Entries.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The placed Order."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethod":{"type":"string","description":"The saved method to charge."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The paid Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/tutorloop.com","order":{"$id":"https://api.sb/tutorloop.com/orders/order_1","$type":"Order","total":{"amount":60,"currency":"USD"},"status":"paid"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Order.pay","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.paid"}},"/orders/place":{"post":{"operationId":"Order.place","summary":"Order.place","description":"Place commits a Customer to buy an Offer once and records the Offer Version and price at that moment.","tags":["Order"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offer":{"type":"string","description":"The Offer to buy. The Offer id."},"quantity":{"type":"integer","description":"Units. Defaults to 1."},"promotionCode":{"type":"string","description":"A promotion code the buyer typed; applies its Coupon when the Coupon covers the Offer."}},"required":["offer"],"additionalProperties":false},"example":{"offer":"offer_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The placed Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/ledgerlark.com","order":{"$id":"https://api.sb/ledgerlark.com/orders/order_1","$type":"Order","total":{"amount":400,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Order.place","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.placed"}},"/orders/{order}/refund":{"post":{"operationId":"Order.refund","summary":"Order.refund","description":"Refund returns all or part of an Order’s payment to the Customer and posts the reversing Entries.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The paid Order."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"The amount. Defaults to the full payment."},"reason":{"type":"string","description":"Why the money goes back."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The refunded Order."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/kilnbakery.com","order":{"$id":"https://api.sb/kilnbakery.com/orders/order_1","$type":"Order","total":{"amount":9,"currency":"USD"},"status":"refunded"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Order.refund","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.refunded"}},"/orders/{order}/revise":{"post":{"operationId":"Order.revise","summary":"Order.revise","description":"Revise sends delivered lines back for one counted revision, with the changes the Customer asks for.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The delivered Order."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lines":{"description":"The lines sent back; every delivered line when absent."},"changes":{"type":"string","description":"What the Customer wants changed, such as a shorter summary."}},"required":["changes"],"additionalProperties":false},"example":{"changes":"Example changes"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The Order, its `fulfillment` set to `revising`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/tutorloop.com","order":{"$id":"https://api.sb/tutorloop.com/orders/order_1","$type":"Order","total":{"amount":60,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Order.revise","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.revised"}},"/orders/{order}/screen":{"post":{"operationId":"Order.screen","summary":"Order.screen","description":"Screen scores an Order’s payment before it is charged and allows, authenticates, holds or blocks it by the Startup’s risk Policy.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The placed Order whose payment is screened."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"outcome":{"type":"string","description":"`allow` charges, `authenticate` asks the buyer to confirm with their card issuer, `review` waits for an Approval, `block` cancels.","enum":["allow","authenticate","review","block"]},"risk":{"type":"number","description":"The payment’s risk score from 0 to 99, as Stripe scored it."},"rule":{"type":"string","description":"The risk Policy rule that decided the outcome, when one did."},"order":{"$ref":"#/components/schemas/Order","description":"The Order screened."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","outcome","risk","order","links"]},"example":{"api":"https://api.sb/quietcopy.com","outcome":"allow","risk":1,"rule":"Example rule","order":{"$id":"https://api.sb/quietcopy.com/orders/order_1","$type":"Order","total":{"amount":39,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Order.screen","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.screened"}},"/orders/{order}/start":{"post":{"operationId":"Order.start","summary":"Order.start","description":"Start checks a Service Order’s inputs against its brief, then moves it from intake to working and starts its deadline.","tags":["Order"],"parameters":[{"name":"order","in":"path","required":true,"schema":{"type":"string"},"description":"The Order in intake."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"received":{"description":"What the Customer supplied, measured as the brief measures it, such as a 79,400-word manuscript."}},"required":["received"],"additionalProperties":false},"example":{"received":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The Order, its `fulfillment` set to `working`, or still `intake` while a Question is open."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","order","links"]},"example":{"api":"https://api.sb/kilnbakery.com","order":{"$id":"https://api.sb/kilnbakery.com/orders/order_1","$type":"Order","total":{"amount":9,"currency":"USD"},"status":"placed"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Order.start","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Order.started"}},"/organizations":{"post":{"operationId":"Organization.create","summary":"Organization.create","description":"Creates an Organization.","tags":["Organization"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name it trades under."},"hostname":{"type":"string","description":"The web domain that keys it."},"company":{"type":"string","description":"Each Startup’s own view of an outside party resolves to the one legal entity behind it. The Company id."},"partner":{"type":"string","description":"An Organization a Partner reserved before referring it, for the `partner.reservationWindow` Setting (90 days by default); outbound skips it. The Partner id."}},"required":["name"],"additionalProperties":false},"example":{"name":"PatentPad"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"organization":{"$ref":"#/components/schemas/Organization","description":"The Organization."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","organization","links"]},"example":{"api":"https://api.sb/patentpad.com","organization":{"$id":"https://api.sb/patentpad.com/organizations/organization_1","$type":"Organization","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Organization.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Organization.created"},"get":{"operationId":"Organization.list","summary":"Organization.list","description":"Returns Organizations, newest first, one page at a time.","tags":["Organization"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/Organization","description":"One page of Organizations."},"description":"One page of Organizations."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","organizations","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Organization","organizations":[{"$id":"https://api.sb/routewise.dev/organizations/organization_1","$type":"Organization","name":"RouteWise"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/organizations?limit=20","next":"https://api.sb/routewise.dev/organizations?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/organizations/{id}":{"get":{"operationId":"Organization.get","summary":"Organization.get","description":"Returns one Organization by id.","tags":["Organization"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Organization."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"organization":{"$ref":"#/components/schemas/Organization","description":"The Organization."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","organization","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Organization","$id":"https://api.sb/patentpad.com/organizations/organization_1","organization":{"$id":"https://api.sb/patentpad.com/organizations/organization_1","$type":"Organization","name":"PatentPad"},"links":{"self":"https://api.sb/patentpad.com/organizations/organization_1","up":"https://api.sb/patentpad.com/organizations"},"actions":{"merge":"https://api.sb/patentpad.com/organizations/organization_1/merge"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Organization.update","summary":"Organization.update","description":"Changes the given properties of an Organization.","tags":["Organization"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Organization."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name it trades under."},"hostname":{"type":"string","description":"The web domain that keys it."}},"additionalProperties":false},"example":{"name":"PetPantry"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"organization":{"$ref":"#/components/schemas/Organization","description":"The Organization."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","organization","links"]},"example":{"api":"https://api.sb/petpantry.shop","organization":{"$id":"https://api.sb/petpantry.shop/organizations/organization_1","$type":"Organization","name":"PetPantry"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Organization.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Organization.updated"},"delete":{"operationId":"Organization.delete","summary":"Organization.delete","description":"Deletes an Organization; its history is kept.","tags":["Organization"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Organization."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"organization":{"$ref":"#/components/schemas/Organization","description":"The Organization."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","organization","links"]},"example":{"api":"https://api.sb/quietcopy.com","organization":{"$id":"https://api.sb/quietcopy.com/organizations/organization_1","$type":"Organization","name":"QuietCopy"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Organization.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Organization.deleted"}},"/organizations/{organization}/merge":{"post":{"operationId":"Organization.merge","summary":"Organization.merge","description":"Merge joins a duplicate Organization into another, keeping every Contact, Deal and Event on the one that remains.","tags":["Organization"],"parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string"},"description":"The duplicate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"into":{"type":"string","description":"The Organization that remains. The Organization id."}},"required":["into"],"additionalProperties":false},"example":{"into":"organization_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"organization":{"$ref":"#/components/schemas/Organization","description":"The remaining Organization."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","organization","links"]},"example":{"api":"https://api.sb/patentpad.com","organization":{"$id":"https://api.sb/patentpad.com/organizations/organization_1","$type":"Organization","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Organization.merge","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Organization.merged"}},"/outcome-contracts/{id}":{"get":{"operationId":"OutcomeContract.get","summary":"OutcomeContract.get","description":"Returns one Outcome Contract by id.","tags":["OutcomeContract"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Outcome Contract."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"outcomeContract":{"$ref":"#/components/schemas/OutcomeContract","description":"The Outcome Contract."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","outcomeContract","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"OutcomeContract","$id":"https://api.sb/tutorloop.com/outcome-contracts/outcome_contract_1","outcomeContract":{"$id":"https://api.sb/tutorloop.com/outcome-contracts/outcome_contract_1","$type":"OutcomeContract","done":"Order.accepted","accept":"The buyer, within 5 business days of delivery","remedy":"Redo once, then refund in full"},"links":{"self":"https://api.sb/tutorloop.com/outcome-contracts/outcome_contract_1","up":"https://api.sb/tutorloop.com/outcome-contracts"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"OutcomeContract.update","summary":"OutcomeContract.update","description":"Changes the given properties of an Outcome Contract.","tags":["OutcomeContract"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Outcome Contract."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"done":{"type":"string","description":"The state or Event that counts as done."},"accept":{"type":"string","description":"Who accepts the result, and within what window."},"remedy":{"type":"string","description":"What happens on a miss: redo, refund, or credit."},"revisions":{"type":"integer","description":"How many times the Customer may send work back before the remedy applies, such as 1."},"silence":{"type":"string","description":"What the Customer’s silence means once the acceptance window passes.","enum":["accepts","disputes"]},"earns":{"type":"string","description":"The Event that captures payment and earns the fee."},"assurance":{"description":"The Evaluators that check done before every delivery, and the share of work a person grades, such as 2%."},"window":{"type":"string","description":"How long the Customer has to confirm, revise or dispute each delivery, as an ISO duration."}},"additionalProperties":false},"example":{"done":"Order.accepted"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"outcomeContract":{"$ref":"#/components/schemas/OutcomeContract","description":"The Outcome Contract."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","outcomeContract","links"]},"example":{"api":"https://api.sb/patentpad.com","outcomeContract":{"$id":"https://api.sb/patentpad.com/outcome-contracts/outcome_contract_1","$type":"OutcomeContract","done":"Order.accepted","accept":"The buyer, within 5 business days of delivery","remedy":"Redo once, then refund in full"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"OutcomeContract.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"OutcomeContract.updated"}},"/outcome-contracts":{"get":{"operationId":"OutcomeContract.list","summary":"OutcomeContract.list","description":"Returns Outcome Contracts, newest first, one page at a time.","tags":["OutcomeContract"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"outcomeContracts":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeContract","description":"One page of Outcome Contracts."},"description":"One page of Outcome Contracts."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","outcomeContracts","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"OutcomeContract","outcomeContracts":[{"$id":"https://api.sb/petpantry.shop/outcome-contracts/outcome_contract_1","$type":"OutcomeContract","done":"Order.accepted","accept":"The buyer, within 5 business days of delivery","remedy":"Redo once, then refund in full"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/outcome-contracts?limit=20","next":"https://api.sb/petpantry.shop/outcome-contracts?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/pages":{"post":{"operationId":"Page.create","summary":"Page.create","description":"Creates a Page.","tags":["Page"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string","description":"The path under its Site, such as `/pricing`."},"kind":{"type":"string","description":"The page type, such as `landing`, `pricing`, or `terms`.","enum":["landing","pricing","terms"]},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"site":{"type":"string","description":"A Site serves its Pages, each at its own path. The Site id."},"template":{"type":"string","description":"A Template fills one Page per Thing or per member of a Collection. The Template id."}},"required":["path"],"additionalProperties":false},"example":{"path":"/"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"page":{"$ref":"#/components/schemas/Page","description":"The Page."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","page","links"]},"example":{"api":"https://api.sb/routewise.dev","page":{"$id":"https://api.sb/routewise.dev/pages/page_1","$type":"Page","path":"/"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Page.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Page.created"},"get":{"operationId":"Page.list","summary":"Page.list","description":"Returns Pages, newest first, one page at a time.","tags":["Page"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"pages":{"type":"array","items":{"$ref":"#/components/schemas/Page","description":"One page of Pages."},"description":"One page of Pages."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","pages","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Page","pages":[{"$id":"https://api.sb/patentpad.com/pages/page_1","$type":"Page","path":"/"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/pages?limit=20","next":"https://api.sb/patentpad.com/pages?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/pages/{id}":{"get":{"operationId":"Page.get","summary":"Page.get","description":"Returns one Page by id.","tags":["Page"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Page."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"page":{"$ref":"#/components/schemas/Page","description":"The Page."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","page","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Page","$id":"https://api.sb/routewise.dev/pages/page_1","page":{"$id":"https://api.sb/routewise.dev/pages/page_1","$type":"Page","path":"/"},"links":{"self":"https://api.sb/routewise.dev/pages/page_1","up":"https://api.sb/routewise.dev/pages"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Page.update","summary":"Page.update","description":"Changes the given properties of a Page.","tags":["Page"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Page."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string","description":"The path under its Site, such as `/pricing`."},"kind":{"type":"string","description":"The page type, such as `landing`, `pricing`, or `terms`.","enum":["landing","pricing","terms"]},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."}},"additionalProperties":false},"example":{"path":"/"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"page":{"$ref":"#/components/schemas/Page","description":"The Page."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","page","links"]},"example":{"api":"https://api.sb/kilnbakery.com","page":{"$id":"https://api.sb/kilnbakery.com/pages/page_1","$type":"Page","path":"/"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Page.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Page.updated"},"delete":{"operationId":"Page.delete","summary":"Page.delete","description":"Deletes a Page; its history is kept.","tags":["Page"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Page."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"page":{"$ref":"#/components/schemas/Page","description":"The Page."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","page","links"]},"example":{"api":"https://api.sb/tutorloop.com","page":{"$id":"https://api.sb/tutorloop.com/pages/page_1","$type":"Page","path":"/"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Page.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Page.deleted"}},"/partners":{"post":{"operationId":"Partner.create","summary":"Partner.create","description":"Creates a Partner.","tags":["Partner"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name it trades under."},"hostname":{"type":"string","description":"The web domain that keys it."},"side":{"type":"string","description":"One of `supply`, `distribution`, or `both`.","enum":["supply","distribution","both"]}},"required":["name","side"],"additionalProperties":false},"example":{"name":"PetPantry","side":"supply"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"partner":{"$ref":"#/components/schemas/Partner","description":"The Partner."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","partner","links"]},"example":{"api":"https://api.sb/petpantry.shop","partner":{"$id":"https://api.sb/petpantry.shop/partners/partner_1","$type":"Partner","name":"PetPantry","side":"supply"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Partner.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Partner.created"},"get":{"operationId":"Partner.list","summary":"Partner.list","description":"Returns Partners, newest first, one page at a time.","tags":["Partner"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"partners":{"type":"array","items":{"$ref":"#/components/schemas/Partner","description":"One page of Partners."},"description":"One page of Partners."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","partners","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Partner","partners":[{"$id":"https://api.sb/kilnbakery.com/partners/partner_1","$type":"Partner","name":"Kiln Bakery","side":"supply"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/partners?limit=20","next":"https://api.sb/kilnbakery.com/partners?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/partners/{id}":{"get":{"operationId":"Partner.get","summary":"Partner.get","description":"Returns one Partner by id.","tags":["Partner"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Partner."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"partner":{"$ref":"#/components/schemas/Partner","description":"The Partner."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","partner","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Partner","$id":"https://api.sb/quietcopy.com/partners/partner_1","partner":{"$id":"https://api.sb/quietcopy.com/partners/partner_1","$type":"Partner","name":"QuietCopy","side":"supply"},"links":{"self":"https://api.sb/quietcopy.com/partners/partner_1","up":"https://api.sb/quietcopy.com/partners"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Partner.update","summary":"Partner.update","description":"Changes the given properties of a Partner.","tags":["Partner"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Partner."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name it trades under."},"hostname":{"type":"string","description":"The web domain that keys it."},"side":{"type":"string","description":"One of `supply`, `distribution`, or `both`.","enum":["supply","distribution","both"]}},"additionalProperties":false},"example":{"side":"supply"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"partner":{"$ref":"#/components/schemas/Partner","description":"The Partner."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","partner","links"]},"example":{"api":"https://api.sb/routewise.dev","partner":{"$id":"https://api.sb/routewise.dev/partners/partner_1","$type":"Partner","name":"RouteWise","side":"supply"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Partner.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Partner.updated"},"delete":{"operationId":"Partner.delete","summary":"Partner.delete","description":"Deletes a Partner; its history is kept.","tags":["Partner"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Partner."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"partner":{"$ref":"#/components/schemas/Partner","description":"The Partner."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","partner","links"]},"example":{"api":"https://api.sb/ledgerlark.com","partner":{"$id":"https://api.sb/ledgerlark.com/partners/partner_1","$type":"Partner","name":"LedgerLark","side":"supply"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Partner.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Partner.deleted"}},"/parties":{"post":{"operationId":"Party.create","summary":"Party.create","description":"Creates a Party.","tags":["Party"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The legal or personal name."}},"required":["name"],"additionalProperties":false},"example":{"name":"TutorLoop"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"party":{"$ref":"#/components/schemas/Party","description":"The Party."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","party","links"]},"example":{"api":"https://api.sb/tutorloop.com","party":{"$id":"https://api.sb/tutorloop.com/parties/party_1","$type":"Party","name":"TutorLoop"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Party.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Party.created"},"get":{"operationId":"Party.list","summary":"Party.list","description":"Returns Parties, newest first, one page at a time.","tags":["Party"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"parties":{"type":"array","items":{"$ref":"#/components/schemas/Party","description":"One page of Parties."},"description":"One page of Parties."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","parties","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Party","parties":[{"$id":"https://api.sb/tutorloop.com/parties/party_1","$type":"Party","name":"TutorLoop"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/parties?limit=20","next":"https://api.sb/tutorloop.com/parties?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/parties/{id}":{"get":{"operationId":"Party.get","summary":"Party.get","description":"Returns one Party by id.","tags":["Party"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Party."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"party":{"$ref":"#/components/schemas/Party","description":"The Party."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","party","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Party","$id":"https://api.sb/petpantry.shop/parties/party_1","party":{"$id":"https://api.sb/petpantry.shop/parties/party_1","$type":"Party","name":"PetPantry"},"links":{"self":"https://api.sb/petpantry.shop/parties/party_1","up":"https://api.sb/petpantry.shop/parties"},"actions":{"screen":"https://api.sb/petpantry.shop/parties/party_1/screen"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Party.update","summary":"Party.update","description":"Changes the given properties of a Party.","tags":["Party"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Party."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The legal or personal name."}},"additionalProperties":false},"example":{"name":"LedgerLark"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"party":{"$ref":"#/components/schemas/Party","description":"The Party."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","party","links"]},"example":{"api":"https://api.sb/ledgerlark.com","party":{"$id":"https://api.sb/ledgerlark.com/parties/party_1","$type":"Party","name":"LedgerLark"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Party.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Party.updated"},"delete":{"operationId":"Party.delete","summary":"Party.delete","description":"Deletes a Party; its history is kept.","tags":["Party"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Party."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"party":{"$ref":"#/components/schemas/Party","description":"The Party."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","party","links"]},"example":{"api":"https://api.sb/patentpad.com","party":{"$id":"https://api.sb/patentpad.com/parties/party_1","$type":"Party","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Party.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Party.deleted"}},"/parties/{party}/screen":{"post":{"operationId":"Party.screen","summary":"Party.screen","description":"Screen checks a Party against official registers and restricted-party lists and keeps the result as a Screening.","tags":["Party"],"parameters":[{"name":"party","in":"path","required":true,"schema":{"type":"string"},"description":"The Party to check: a Customer, Supplier, Partner or the Company’s own owners."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"markets":{"type":"array","items":{"type":"string","description":"The Markets whose lists apply. Defaults to the Party’s and the Startup’s Markets. The Market id."},"description":"The Markets whose lists apply. Defaults to the Party’s and the Startup’s Markets."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"screening":{"$ref":"#/components/schemas/Screening","description":"The Screening, with the lists checked, their versions, any matches and the outcome."},"party":{"$ref":"#/components/schemas/Party","description":"The Party screened."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","screening","party","links"]},"example":{"api":"https://api.sb/quietcopy.com","screening":{"$id":"https://api.sb/quietcopy.com/screenings/screening_1","$type":"Screening","lists":{},"outcome":"clear","via":"platform"},"party":{"$id":"https://api.sb/quietcopy.com/parties/party_1","$type":"Party","name":"QuietCopy"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Party.screen","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Party.screened"}},"/pay-runs/{id}":{"get":{"operationId":"PayRun.get","summary":"PayRun.get","description":"Returns one Pay Run by id.","tags":["PayRun"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Pay Run."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"payRun":{"$ref":"#/components/schemas/PayRun","description":"The Pay Run."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","payRun","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"PayRun","$id":"https://api.sb/routewise.dev/pay-runs/pay_run_1","payRun":{"$id":"https://api.sb/routewise.dev/pay-runs/pay_run_1","$type":"PayRun","company":"company_1","periodStart":"2026-10-22","periodEnd":"2026-10-22","payDate":"2026-10-22"},"links":{"self":"https://api.sb/routewise.dev/pay-runs/pay_run_1","up":"https://api.sb/routewise.dev/pay-runs"},"actions":{"approve":"https://api.sb/routewise.dev/pay-runs/pay_run_1/approve","pay":"https://api.sb/routewise.dev/pay-runs/pay_run_1/pay","void":"https://api.sb/routewise.dev/pay-runs/pay_run_1/void"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/pay-runs":{"get":{"operationId":"PayRun.list","summary":"PayRun.list","description":"Returns Pay Runs, newest first, one page at a time.","tags":["PayRun"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"payRuns":{"type":"array","items":{"$ref":"#/components/schemas/PayRun","description":"One page of Pay Runs."},"description":"One page of Pay Runs."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","payRuns","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"PayRun","payRuns":[{"$id":"https://api.sb/patentpad.com/pay-runs/pay_run_1","$type":"PayRun","company":"company_1","periodStart":"2026-10-22","periodEnd":"2026-10-22","payDate":"2026-10-22"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/pay-runs?limit=20","next":"https://api.sb/patentpad.com/pay-runs?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/pay-runs/{payRun}/approve":{"post":{"operationId":"PayRun.approve","summary":"PayRun.approve","description":"Approve accepts a prepared Pay Run within the approver’s Mandate, books its cost, and schedules payment to land on the pay date.","tags":["PayRun"],"parameters":[{"name":"payRun","in":"path","required":true,"schema":{"type":"string"},"description":"The prepared Pay Run."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"payRun":{"$ref":"#/components/schemas/PayRun","description":"The approved Pay Run, scheduled for its pay date."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","payRun","links"]},"example":{"api":"https://api.sb/kilnbakery.com","payRun":{"$id":"https://api.sb/kilnbakery.com/pay-runs/pay_run_1","$type":"PayRun","company":"company_1","periodStart":"2026-10-22","periodEnd":"2026-10-22","payDate":"2026-10-22"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"PayRun.approve","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"PayRun.approved"}},"/pay-runs/{payRun}/pay":{"post":{"operationId":"PayRun.pay","summary":"PayRun.pay","description":"Pay funds an approved Pay Run: net pay to each employee’s bank on the pay date, taxes and deductions to the payroll provider.","tags":["PayRun"],"parameters":[{"name":"payRun","in":"path","required":true,"schema":{"type":"string"},"description":"The approved Pay Run."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"payRun":{"$ref":"#/components/schemas/PayRun","description":"The paid Pay Run."},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The funding Transaction."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","payRun","transaction","links"]},"example":{"api":"https://api.sb/shiftnote.app","payRun":{"$id":"https://api.sb/shiftnote.app/pay-runs/pay_run_1","$type":"PayRun","company":"company_1","periodStart":"2026-10-22","periodEnd":"2026-10-22","payDate":"2026-10-22"},"transaction":{"$id":"https://api.sb/shiftnote.app/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":79,"currency":"USD"}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"PayRun.pay","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"PayRun.paid"}},"/pay-runs/prepare":{"post":{"operationId":"PayRun.prepare","summary":"PayRun.prepare","description":"Prepare computes one pay period’s gross pay, withholding, deductions and employer taxes for each employee, and holds the Pay Run for approval.","tags":["PayRun"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company":{"type":"string","description":"The employer Company. The Company id."},"periodStart":{"type":"string","format":"date","description":"The first day of the pay period."},"periodEnd":{"type":"string","format":"date","description":"The last day of the pay period."},"payDate":{"type":"string","format":"date","description":"The day net pay should land."},"kind":{"type":"string","description":"Defaults to `regular`; `offCycle` pays outside the schedule.","enum":["regular","offCycle"]},"humans":{"type":"array","items":{"type":"string","description":"Only these employees. Defaults to every employee of the Company. The Human id."},"description":"Only these employees. Defaults to every employee of the Company."}},"required":["company","periodStart","periodEnd","payDate"],"additionalProperties":false},"example":{"company":"company_1","periodStart":"2026-10-22","periodEnd":"2026-10-22","payDate":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"payRun":{"$ref":"#/components/schemas/PayRun","description":"The prepared Pay Run, with every amount per employee."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","payRun","links"]},"example":{"api":"https://api.sb/tutorloop.com","payRun":{"$id":"https://api.sb/tutorloop.com/pay-runs/pay_run_1","$type":"PayRun","company":"company_1","periodStart":"2026-10-22","periodEnd":"2026-10-22","payDate":"2026-10-22"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"PayRun.prepare","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"PayRun.prepared"}},"/pay-runs/{payRun}/void":{"post":{"operationId":"PayRun.void","summary":"PayRun.void","description":"Void sets aside a prepared Pay Run that is wrong, so a corrected one can be prepared; the record stays.","tags":["PayRun"],"parameters":[{"name":"payRun","in":"path","required":true,"schema":{"type":"string"},"description":"The prepared Pay Run."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it was set aside."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"payRun":{"$ref":"#/components/schemas/PayRun","description":"The voided Pay Run."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","payRun","links"]},"example":{"api":"https://api.sb/ledgerlark.com","payRun":{"$id":"https://api.sb/ledgerlark.com/pay-runs/pay_run_1","$type":"PayRun","company":"company_1","periodStart":"2026-10-22","periodEnd":"2026-10-22","payDate":"2026-10-22"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"PayRun.void","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"PayRun.voided"}},"/payment-sources/{id}":{"get":{"operationId":"PaymentSource.get","summary":"PaymentSource.get","description":"Returns one Payment Source by id.","tags":["PaymentSource"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Payment Source."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"paymentSource":{"$ref":"#/components/schemas/PaymentSource","description":"The Payment Source."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","paymentSource","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"PaymentSource","$id":"https://api.sb/ledgerlark.com/payment-sources/payment_source_1","paymentSource":{"$id":"https://api.sb/ledgerlark.com/payment-sources/payment_source_1","$type":"PaymentSource","kind":"card","label":"Visa 4242"},"links":{"self":"https://api.sb/ledgerlark.com/payment-sources/payment_source_1","up":"https://api.sb/ledgerlark.com/payment-sources"},"actions":{"remove":"https://api.sb/ledgerlark.com/payment-sources/payment_source_1/remove"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"PaymentSource.update","summary":"PaymentSource.update","description":"Changes the given properties of a Payment Source.","tags":["PaymentSource"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Payment Source."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"How it pays: a card, a bank debit from the Customer’s account, or a wallet on the Customer’s phone or browser.","enum":["card","bankDebit","wallet"]},"label":{"type":"string","description":"What the Customer sees, such as the card brand and last four digits; never the full number."},"expiresOn":{"type":"string","format":"date","description":"When a card expires; the billing portal asks for a new one 30 days before."},"default":{"type":"boolean","description":"True for the one Payment Source that new Invoices and renewals charge."},"removedAt":{"type":"string","format":"date-time","description":"When the Customer removed it; nothing charges it after, and the record stays."}},"additionalProperties":false},"example":{"kind":"card"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"paymentSource":{"$ref":"#/components/schemas/PaymentSource","description":"The Payment Source."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","paymentSource","links"]},"example":{"api":"https://api.sb/quietcopy.com","paymentSource":{"$id":"https://api.sb/quietcopy.com/payment-sources/payment_source_1","$type":"PaymentSource","kind":"card","label":"Visa 4242"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"PaymentSource.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"PaymentSource.updated"}},"/payment-sources":{"get":{"operationId":"PaymentSource.list","summary":"PaymentSource.list","description":"Returns Payment Sources, newest first, one page at a time.","tags":["PaymentSource"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"paymentSources":{"type":"array","items":{"$ref":"#/components/schemas/PaymentSource","description":"One page of Payment Sources."},"description":"One page of Payment Sources."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","paymentSources","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"PaymentSource","paymentSources":[{"$id":"https://api.sb/ledgerlark.com/payment-sources/payment_source_1","$type":"PaymentSource","kind":"card","label":"Visa 4242"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/payment-sources?limit=20","next":"https://api.sb/ledgerlark.com/payment-sources?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/payment-sources/add":{"post":{"operationId":"PaymentSource.add","summary":"PaymentSource.add","description":"Add saves a new Payment Source for a Customer through Stripe’s embedded form on the Startup’s Domain, and can make it the default.","tags":["PaymentSource"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"type":"string","description":"The Customer who saves it. The Customer id."},"kind":{"type":"string","description":"How it pays; the form offers only the kinds the Customer’s Market accepts.","enum":["card","bankDebit","wallet"]},"default":{"type":"boolean","description":"True to charge it for every new Invoice and renewal."}},"required":["customer","kind"],"additionalProperties":false},"example":{"customer":"customer_1","kind":"card"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"paymentSource":{"$ref":"#/components/schemas/PaymentSource","description":"The saved Payment Source; Stripe holds its details."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","paymentSource","links"]},"example":{"api":"https://api.sb/petpantry.shop","paymentSource":{"$id":"https://api.sb/petpantry.shop/payment-sources/payment_source_1","$type":"PaymentSource","kind":"card","label":"Visa 4242"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"PaymentSource.add","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"PaymentSource.added"}},"/payment-sources/{paymentSource}/remove":{"post":{"operationId":"PaymentSource.remove","summary":"PaymentSource.remove","description":"Remove detaches a saved Payment Source so nothing charges it again, and keeps the record.","tags":["PaymentSource"],"parameters":[{"name":"paymentSource","in":"path","required":true,"schema":{"type":"string"},"description":"The saved Payment Source."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"paymentSource":{"$ref":"#/components/schemas/PaymentSource","description":"The removed Payment Source, kept on record."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","paymentSource","links"]},"example":{"api":"https://api.sb/ledgerlark.com","paymentSource":{"$id":"https://api.sb/ledgerlark.com/payment-sources/payment_source_1","$type":"PaymentSource","kind":"card","label":"Visa 4242"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"PaymentSource.remove","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"PaymentSource.removed"}},"/periods/{id}":{"get":{"operationId":"Period.get","summary":"Period.get","description":"Returns one Period by id.","tags":["Period"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Period."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"period":{"$ref":"#/components/schemas/Period","description":"The Period."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","period","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Period","$id":"https://api.sb/ledgerlark.com/periods/period_1","period":{"$id":"https://api.sb/ledgerlark.com/periods/period_1","$type":"Period","month":"2026-10-22","status":"Open"},"links":{"self":"https://api.sb/ledgerlark.com/periods/period_1","up":"https://api.sb/ledgerlark.com/periods"},"actions":{"close":"https://api.sb/ledgerlark.com/periods/period_1/close","lock":"https://api.sb/ledgerlark.com/periods/period_1/lock","recognize":"https://api.sb/ledgerlark.com/periods/period_1/recognize"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Period.update","summary":"Period.update","description":"Changes the given properties of a Period.","tags":["Period"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Period."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"month":{"type":"string","format":"date","description":"The first day of the month it covers."}},"additionalProperties":false},"example":{"month":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"period":{"$ref":"#/components/schemas/Period","description":"The Period."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","period","links"]},"example":{"api":"https://api.sb/quietcopy.com","period":{"$id":"https://api.sb/quietcopy.com/periods/period_1","$type":"Period","month":"2026-10-22","status":"Open"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Period.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Period.updated"}},"/periods":{"get":{"operationId":"Period.list","summary":"Period.list","description":"Returns Periods, newest first, one page at a time.","tags":["Period"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"periods":{"type":"array","items":{"$ref":"#/components/schemas/Period","description":"One page of Periods."},"description":"One page of Periods."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","periods","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Period","periods":[{"$id":"https://api.sb/ledgerlark.com/periods/period_1","$type":"Period","month":"2026-10-22","status":"Open"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/periods?limit=20","next":"https://api.sb/ledgerlark.com/periods?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/periods/{period}/close":{"post":{"operationId":"Period.close","summary":"Period.close","description":"Close ends a month’s books once every Entry in the Period is reconciled, and makes its statements final.","tags":["Period"],"parameters":[{"name":"period","in":"path","required":true,"schema":{"type":"string"},"description":"The open Period."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"period":{"$ref":"#/components/schemas/Period","description":"The closed Period."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","period","links"]},"example":{"api":"https://api.sb/ledgerlark.com","period":{"$id":"https://api.sb/ledgerlark.com/periods/period_1","$type":"Period","month":"2026-10-22","status":"Closed"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Period.close","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Period.closed"}},"/periods/{period}/lock":{"post":{"operationId":"Period.lock","summary":"Period.lock","description":"Lock seals a closed Period, so any later correction posts to the next open Period.","tags":["Period"],"parameters":[{"name":"period","in":"path","required":true,"schema":{"type":"string"},"description":"The closed Period."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"period":{"$ref":"#/components/schemas/Period","description":"The locked Period."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","period","links"]},"example":{"api":"https://api.sb/kilnbakery.com","period":{"$id":"https://api.sb/kilnbakery.com/periods/period_1","$type":"Period","month":"2026-10-22","status":"Locked"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Period.lock","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Period.locked"}},"/periods/{period}/recognize":{"post":{"operationId":"Period.recognize","summary":"Period.recognize","description":"Recognize moves the revenue a Period earned out of deferred revenue, by the Startup’s revenue-recognition Policy.","tags":["Period"],"parameters":[{"name":"period","in":"path","required":true,"schema":{"type":"string"},"description":"The open Period to recognize."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Entry","description":"The recognition Entries it posted."},"description":"The recognition Entries it posted."},"period":{"$ref":"#/components/schemas/Period","description":"The Period whose revenue was recognized."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","entries","period","links"]},"example":{"api":"https://api.sb/ledgerlark.com","entries":[{"$id":"https://api.sb/ledgerlark.com/entries/entry_1","$type":"Entry","account":"cash","amount":{"amount":400,"currency":"USD"},"direction":"debit","startup":"startup_1"}],"period":{"$id":"https://api.sb/ledgerlark.com/periods/period_1","$type":"Period","month":"2026-10-22","status":"Open"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Period.recognize","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Period.recognized"}},"/permissions":{"post":{"operationId":"Permission.create","summary":"Permission.create","description":"Creates a Permission.","tags":["Permission"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"string","description":"Where it applies, such as a Startup or a Tenant."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."},"role":{"type":"string","description":"A Role’s Permissions are what its Worker may do: Verbs on Nouns within a scope and a Limit. The Role id."},"verb":{"type":"string","description":"Each Permission allows one Verb, within its scope and Limit. The Verb id."}},"required":["scope"],"additionalProperties":false},"example":{"scope":"Example scope"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"permission":{"$ref":"#/components/schemas/Permission","description":"The Permission."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","permission","links"]},"example":{"api":"https://api.sb/patentpad.com","permission":{"$id":"https://api.sb/patentpad.com/permissions/permission_1","$type":"Permission","scope":"Example scope"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Permission.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Permission.created"},"get":{"operationId":"Permission.list","summary":"Permission.list","description":"Returns Permissions, newest first, one page at a time.","tags":["Permission"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/Permission","description":"One page of Permissions."},"description":"One page of Permissions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","permissions","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Permission","permissions":[{"$id":"https://api.sb/routewise.dev/permissions/permission_1","$type":"Permission","scope":"Example scope"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/permissions?limit=20","next":"https://api.sb/routewise.dev/permissions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/permissions/{id}":{"get":{"operationId":"Permission.get","summary":"Permission.get","description":"Returns one Permission by id.","tags":["Permission"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Permission."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"permission":{"$ref":"#/components/schemas/Permission","description":"The Permission."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","permission","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Permission","$id":"https://api.sb/patentpad.com/permissions/permission_1","permission":{"$id":"https://api.sb/patentpad.com/permissions/permission_1","$type":"Permission","scope":"Example scope"},"links":{"self":"https://api.sb/patentpad.com/permissions/permission_1","up":"https://api.sb/patentpad.com/permissions"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Permission.update","summary":"Permission.update","description":"Changes the given properties of a Permission.","tags":["Permission"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Permission."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"string","description":"Where it applies, such as a Startup or a Tenant."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."}},"additionalProperties":false},"example":{"limit":"limit_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"permission":{"$ref":"#/components/schemas/Permission","description":"The Permission."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","permission","links"]},"example":{"api":"https://api.sb/petpantry.shop","permission":{"$id":"https://api.sb/petpantry.shop/permissions/permission_1","$type":"Permission","scope":"Example scope"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Permission.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Permission.updated"},"delete":{"operationId":"Permission.delete","summary":"Permission.delete","description":"Deletes a Permission; its history is kept.","tags":["Permission"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Permission."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"permission":{"$ref":"#/components/schemas/Permission","description":"The Permission."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","permission","links"]},"example":{"api":"https://api.sb/quietcopy.com","permission":{"$id":"https://api.sb/quietcopy.com/permissions/permission_1","$type":"Permission","scope":"Example scope"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Permission.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Permission.deleted"}},"/people":{"post":{"operationId":"Person.create","summary":"Person.create","description":"Creates a Person.","tags":["Person"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The legal or personal name."},"verified":{"type":"boolean","description":"True once the identity is verified."}},"required":["name"],"additionalProperties":false},"example":{"name":"ShiftNote"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"person":{"$ref":"#/components/schemas/Person","description":"The Person."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","person","links"]},"example":{"api":"https://api.sb/shiftnote.app","person":{"$id":"https://api.sb/shiftnote.app/people/person_1","$type":"Person","name":"Daniel Okafor"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Person.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Person.created"},"get":{"operationId":"Person.list","summary":"Person.list","description":"Returns People, newest first, one page at a time.","tags":["Person"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"people":{"type":"array","items":{"$ref":"#/components/schemas/Person","description":"One page of People."},"description":"One page of People."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","people","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Person","people":[{"$id":"https://api.sb/shiftnote.app/people/person_1","$type":"Person","name":"Daniel Okafor"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/people?limit=20","next":"https://api.sb/shiftnote.app/people?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/people/{id}":{"get":{"operationId":"Person.get","summary":"Person.get","description":"Returns one Person by id.","tags":["Person"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Person."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"person":{"$ref":"#/components/schemas/Person","description":"The Person."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","person","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Person","$id":"https://api.sb/shiftnote.app/people/person_1","person":{"$id":"https://api.sb/shiftnote.app/people/person_1","$type":"Person","name":"Daniel Okafor"},"links":{"self":"https://api.sb/shiftnote.app/people/person_1","up":"https://api.sb/shiftnote.app/people"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Person.update","summary":"Person.update","description":"Changes the given properties of a Person.","tags":["Person"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Person."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The legal or personal name."},"verified":{"type":"boolean","description":"True once the identity is verified."}},"additionalProperties":false},"example":{"verified":true}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"person":{"$ref":"#/components/schemas/Person","description":"The Person."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","person","links"]},"example":{"api":"https://api.sb/tutorloop.com","person":{"$id":"https://api.sb/tutorloop.com/people/person_1","$type":"Person","name":"Malik Owens"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Person.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Person.updated"},"delete":{"operationId":"Person.delete","summary":"Person.delete","description":"Deletes a Person; its history is kept.","tags":["Person"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Person."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"person":{"$ref":"#/components/schemas/Person","description":"The Person."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","person","links"]},"example":{"api":"https://api.sb/petpantry.shop","person":{"$id":"https://api.sb/petpantry.shop/people/person_1","$type":"Person","name":"Lena Fischer"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Person.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Person.deleted"}},"/personas":{"post":{"operationId":"Persona.create","summary":"Persona.create","description":"Creates a Persona.","tags":["Persona"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"job":{"type":"string","description":"What they come to get done."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"icp":{"type":"string","description":"A Persona is one named role inside an ICP, such as its buyer or its admin. The ICP id."},"role":{"type":"string","description":"The Role whose Permissions a Persona signs in with, so an App compiles its Dashboards and Verbs from one record. The Role id."}},"required":["job"],"additionalProperties":false},"example":{"job":"Example job"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"persona":{"$ref":"#/components/schemas/Persona","description":"The Persona."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","persona","links"]},"example":{"api":"https://api.sb/quietcopy.com","persona":{"$id":"https://api.sb/quietcopy.com/personas/persona_1","$type":"Persona","job":"Example job"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Persona.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Persona.created"},"get":{"operationId":"Persona.list","summary":"Persona.list","description":"Returns Personas, newest first, one page at a time.","tags":["Persona"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"personas":{"type":"array","items":{"$ref":"#/components/schemas/Persona","description":"One page of Personas."},"description":"One page of Personas."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","personas","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Persona","personas":[{"$id":"https://api.sb/quietcopy.com/personas/persona_1","$type":"Persona","job":"Example job"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/personas?limit=20","next":"https://api.sb/quietcopy.com/personas?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/personas/{id}":{"get":{"operationId":"Persona.get","summary":"Persona.get","description":"Returns one Persona by id.","tags":["Persona"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Persona."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"persona":{"$ref":"#/components/schemas/Persona","description":"The Persona."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","persona","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Persona","$id":"https://api.sb/kilnbakery.com/personas/persona_1","persona":{"$id":"https://api.sb/kilnbakery.com/personas/persona_1","$type":"Persona","job":"Example job"},"links":{"self":"https://api.sb/kilnbakery.com/personas/persona_1","up":"https://api.sb/kilnbakery.com/personas"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Persona.update","summary":"Persona.update","description":"Changes the given properties of a Persona.","tags":["Persona"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Persona."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"job":{"type":"string","description":"What they come to get done."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."}},"additionalProperties":false},"example":{"from":"Hypothesis#approach@v1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"persona":{"$ref":"#/components/schemas/Persona","description":"The Persona."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","persona","links"]},"example":{"api":"https://api.sb/shiftnote.app","persona":{"$id":"https://api.sb/shiftnote.app/personas/persona_1","$type":"Persona","job":"Example job"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Persona.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Persona.updated"},"delete":{"operationId":"Persona.delete","summary":"Persona.delete","description":"Deletes a Persona; its history is kept.","tags":["Persona"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Persona."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"persona":{"$ref":"#/components/schemas/Persona","description":"The Persona."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","persona","links"]},"example":{"api":"https://api.sb/routewise.dev","persona":{"$id":"https://api.sb/routewise.dev/personas/persona_1","$type":"Persona","job":"Example job"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Persona.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Persona.deleted"}},"/plays":{"post":{"operationId":"Play.create","summary":"Play.create","description":"Creates a Play.","tags":["Play"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"family":{"type":"string","description":"The job it does, such as `demand`, `retention`, or `pricing`.","enum":["demand","retention","pricing"]},"cost":{"$ref":"#/components/schemas/Money","description":"What one run costs."},"cohort":{"description":"The Portfolio query a Studio rolls it out to."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."}},"required":["family"],"additionalProperties":false},"example":{"family":"demand"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"play":{"$ref":"#/components/schemas/Play","description":"The Play."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","play","links"]},"example":{"api":"https://api.sb/quietcopy.com","play":{"$id":"https://api.sb/quietcopy.com/plays/play_1","$type":"Play","family":"demand"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Play.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Play.created"},"get":{"operationId":"Play.list","summary":"Play.list","description":"Returns Plays, newest first, one page at a time.","tags":["Play"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"plays":{"type":"array","items":{"$ref":"#/components/schemas/Play","description":"One page of Plays."},"description":"One page of Plays."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","plays","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Play","plays":[{"$id":"https://api.sb/quietcopy.com/plays/play_1","$type":"Play","family":"demand"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/plays?limit=20","next":"https://api.sb/quietcopy.com/plays?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/plays/{id}":{"get":{"operationId":"Play.get","summary":"Play.get","description":"Returns one Play by id.","tags":["Play"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Play."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"play":{"$ref":"#/components/schemas/Play","description":"The Play."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","play","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Play","$id":"https://api.sb/kilnbakery.com/plays/play_1","play":{"$id":"https://api.sb/kilnbakery.com/plays/play_1","$type":"Play","family":"demand"},"links":{"self":"https://api.sb/kilnbakery.com/plays/play_1","up":"https://api.sb/kilnbakery.com/plays"},"actions":{"apply":"https://api.sb/kilnbakery.com/plays/play_1/apply"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Play.update","summary":"Play.update","description":"Changes the given properties of a Play.","tags":["Play"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Play."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"family":{"type":"string","description":"The job it does, such as `demand`, `retention`, or `pricing`.","enum":["demand","retention","pricing"]},"cost":{"$ref":"#/components/schemas/Money","description":"What one run costs."},"cohort":{"description":"The Portfolio query a Studio rolls it out to."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."}},"additionalProperties":false},"example":{"family":"demand"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"play":{"$ref":"#/components/schemas/Play","description":"The Play."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","play","links"]},"example":{"api":"https://api.sb/shiftnote.app","play":{"$id":"https://api.sb/shiftnote.app/plays/play_1","$type":"Play","family":"demand"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Play.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Play.updated"},"delete":{"operationId":"Play.delete","summary":"Play.delete","description":"Deletes a Play; its history is kept.","tags":["Play"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Play."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"play":{"$ref":"#/components/schemas/Play","description":"The Play."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","play","links"]},"example":{"api":"https://api.sb/routewise.dev","play":{"$id":"https://api.sb/routewise.dev/plays/play_1","$type":"Play","family":"demand"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Play.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Play.deleted"}},"/plays/{play}/apply":{"post":{"operationId":"Play.apply","summary":"Play.apply","description":"Apply runs a Play across a Portfolio cohort, one wave at a time, measured as an Experiment.","tags":["Play"],"parameters":[{"name":"play","in":"path","required":true,"schema":{"type":"string"},"description":"The Play to run."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cohort":{"type":"string","description":"The Portfolio query that selects the Startups."}},"required":["cohort"],"additionalProperties":false},"example":{"cohort":"Example cohort"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"experiment":{"$ref":"#/components/schemas/Experiment","description":"The Experiment that measures the rollout."},"play":{"$ref":"#/components/schemas/Play","description":"The Play applied."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","experiment","play","links"]},"example":{"api":"https://api.sb/kilnbakery.com","experiment":{"$id":"https://api.sb/kilnbakery.com/experiments/experiment_1","$type":"Experiment","variants":{}},"play":{"$id":"https://api.sb/kilnbakery.com/plays/play_1","$type":"Play","family":"demand"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Play.apply","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Play.applied"}},"/play-mixes/{id}":{"get":{"operationId":"PlayMix.get","summary":"PlayMix.get","description":"Returns one Play Mix by id.","tags":["PlayMix"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Play Mix."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"playMix":{"$ref":"#/components/schemas/PlayMix","description":"The Play Mix."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","playMix","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"PlayMix","$id":"https://api.sb/kilnbakery.com/play-mixes/play_mix_1","playMix":{"$id":"https://api.sb/kilnbakery.com/play-mixes/play_mix_1","$type":"PlayMix","version":1,"plays":{},"compiledAt":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/kilnbakery.com/play-mixes/play_mix_1","up":"https://api.sb/kilnbakery.com/play-mixes"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/play-mixes":{"get":{"operationId":"PlayMix.list","summary":"PlayMix.list","description":"Returns Play Mixes, newest first, one page at a time.","tags":["PlayMix"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"playMixes":{"type":"array","items":{"$ref":"#/components/schemas/PlayMix","description":"One page of Play Mixes."},"description":"One page of Play Mixes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","playMixes","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"PlayMix","playMixes":[{"$id":"https://api.sb/quietcopy.com/play-mixes/play_mix_1","$type":"PlayMix","version":1,"plays":{},"compiledAt":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/play-mixes?limit=20","next":"https://api.sb/quietcopy.com/play-mixes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/play-mixes/compile":{"post":{"operationId":"PlayMix.compile","summary":"PlayMix.compile","description":"Compile builds the next Play Mix from the Demand Budget, each Play’s ledger and last week’s Acquisitions, and records the diff.","tags":["PlayMix"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startup":{"type":"string","description":"The Startup whose Play Mix is compiled. The Startup id."}},"required":["startup"],"additionalProperties":false},"example":{"startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"playMix":{"$ref":"#/components/schemas/PlayMix","description":"The new version, or the current one when nothing moved."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","playMix","links"]},"example":{"api":"https://api.sb/routewise.dev","playMix":{"$id":"https://api.sb/routewise.dev/play-mixes/play_mix_1","$type":"PlayMix","version":1,"plays":{},"compiledAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"PlayMix.compile","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"PlayMix.compiled"}},"/policies":{"post":{"operationId":"Policy.create","summary":"Policy.create","description":"Creates a Policy.","tags":["Policy"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"rule":{"type":"string","description":"The ruling, stated so code can apply it."}},"required":["rule"],"additionalProperties":false},"example":{"rule":"Example rule"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"policy":{"$ref":"#/components/schemas/Policy","description":"The Policy."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","policy","links"]},"example":{"api":"https://api.sb/tutorloop.com","policy":{"$id":"https://api.sb/tutorloop.com/policies/policy_1","$type":"Policy","rule":"Example rule"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Policy.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Policy.created"},"get":{"operationId":"Policy.list","summary":"Policy.list","description":"Returns Policies, newest first, one page at a time.","tags":["Policy"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"policies":{"type":"array","items":{"$ref":"#/components/schemas/Policy","description":"One page of Policies."},"description":"One page of Policies."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","policies","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Policy","policies":[{"$id":"https://api.sb/tutorloop.com/policies/policy_1","$type":"Policy","rule":"Example rule"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/policies?limit=20","next":"https://api.sb/tutorloop.com/policies?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/policies/{id}":{"get":{"operationId":"Policy.get","summary":"Policy.get","description":"Returns one Policy by id.","tags":["Policy"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Policy."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"policy":{"$ref":"#/components/schemas/Policy","description":"The Policy."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","policy","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Policy","$id":"https://api.sb/petpantry.shop/policies/policy_1","policy":{"$id":"https://api.sb/petpantry.shop/policies/policy_1","$type":"Policy","rule":"Example rule"},"links":{"self":"https://api.sb/petpantry.shop/policies/policy_1","up":"https://api.sb/petpantry.shop/policies"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Policy.update","summary":"Policy.update","description":"Changes the given properties of a Policy.","tags":["Policy"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Policy."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"rule":{"type":"string","description":"The ruling, stated so code can apply it."}},"additionalProperties":false},"example":{"rule":"Example rule"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"policy":{"$ref":"#/components/schemas/Policy","description":"The Policy."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","policy","links"]},"example":{"api":"https://api.sb/ledgerlark.com","policy":{"$id":"https://api.sb/ledgerlark.com/policies/policy_1","$type":"Policy","rule":"Example rule"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Policy.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Policy.updated"},"delete":{"operationId":"Policy.delete","summary":"Policy.delete","description":"Deletes a Policy; its history is kept.","tags":["Policy"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Policy."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"policy":{"$ref":"#/components/schemas/Policy","description":"The Policy."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","policy","links"]},"example":{"api":"https://api.sb/patentpad.com","policy":{"$id":"https://api.sb/patentpad.com/policies/policy_1","$type":"Policy","rule":"Example rule"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Policy.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Policy.deleted"}},"/portals":{"post":{"operationId":"Portal.create","summary":"Portal.create","description":"Creates a Portal.","tags":["Portal"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string","description":"Where it is mounted on the Site, `/portal` by default."},"tools":{"type":"array","items":{"type":"string","description":"Developer tools a keyed Offer adds: `keys`, `usage`, `requests`, `watches`, `version` and `testMode`.","enum":["keys","usage","requests","watches","version","testMode"]},"description":"Developer tools a keyed Offer adds: `keys`, `usage`, `requests`, `watches`, `version` and `testMode`."}},"required":["path"],"additionalProperties":false},"example":{"path":"/"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"portal":{"$ref":"#/components/schemas/Portal","description":"The Portal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portal","links"]},"example":{"api":"https://api.sb/quietcopy.com","portal":{"$id":"https://api.sb/quietcopy.com/portals/portal_1","$type":"Portal","path":"/"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Portal.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Portal.created"},"get":{"operationId":"Portal.list","summary":"Portal.list","description":"Returns Portals, newest first, one page at a time.","tags":["Portal"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"portals":{"type":"array","items":{"$ref":"#/components/schemas/Portal","description":"One page of Portals."},"description":"One page of Portals."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portals","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Portal","portals":[{"$id":"https://api.sb/quietcopy.com/portals/portal_1","$type":"Portal","path":"/"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/portals?limit=20","next":"https://api.sb/quietcopy.com/portals?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/portals/{id}":{"get":{"operationId":"Portal.get","summary":"Portal.get","description":"Returns one Portal by id.","tags":["Portal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Portal."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"portal":{"$ref":"#/components/schemas/Portal","description":"The Portal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portal","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Portal","$id":"https://api.sb/kilnbakery.com/portals/portal_1","portal":{"$id":"https://api.sb/kilnbakery.com/portals/portal_1","$type":"Portal","path":"/"},"links":{"self":"https://api.sb/kilnbakery.com/portals/portal_1","up":"https://api.sb/kilnbakery.com/portals"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Portal.update","summary":"Portal.update","description":"Changes the given properties of a Portal.","tags":["Portal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Portal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string","description":"Where it is mounted on the Site, `/portal` by default."},"tools":{"type":"array","items":{"type":"string","description":"Developer tools a keyed Offer adds: `keys`, `usage`, `requests`, `watches`, `version` and `testMode`.","enum":["keys","usage","requests","watches","version","testMode"]},"description":"Developer tools a keyed Offer adds: `keys`, `usage`, `requests`, `watches`, `version` and `testMode`."}},"additionalProperties":false},"example":{"path":"/"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"portal":{"$ref":"#/components/schemas/Portal","description":"The Portal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portal","links"]},"example":{"api":"https://api.sb/shiftnote.app","portal":{"$id":"https://api.sb/shiftnote.app/portals/portal_1","$type":"Portal","path":"/"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Portal.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Portal.updated"},"delete":{"operationId":"Portal.delete","summary":"Portal.delete","description":"Deletes a Portal; its history is kept.","tags":["Portal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Portal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"portal":{"$ref":"#/components/schemas/Portal","description":"The Portal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portal","links"]},"example":{"api":"https://api.sb/routewise.dev","portal":{"$id":"https://api.sb/routewise.dev/portals/portal_1","$type":"Portal","path":"/"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Portal.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Portal.deleted"}},"/portfolios":{"post":{"operationId":"Portfolio.create","summary":"Portfolio.create","description":"Creates a Portfolio.","tags":["Portfolio"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."},"membership":{"type":"string","description":"How each member belongs: `held`, `owned`, `contracted`, or `made`.","enum":["held","owned","contracted","made"]},"studio":{"type":"string","description":"A Studio allocates attention and money across the members of each Portfolio it manages. The Studio id."}},"required":["id","type"],"additionalProperties":false},"example":{"id":"portfolio_1","type":["noun_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portfolio","links"]},"example":{"api":"https://api.sb/quietcopy.com","portfolio":{"$id":"https://api.sb/quietcopy.com/portfolios/portfolio_1","$type":"Portfolio","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Portfolio.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Portfolio.created"},"get":{"operationId":"Portfolio.list","summary":"Portfolio.list","description":"Returns Portfolios, newest first, one page at a time.","tags":["Portfolio"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"portfolios":{"type":"array","items":{"$ref":"#/components/schemas/Portfolio","description":"One page of Portfolios."},"description":"One page of Portfolios."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portfolios","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Portfolio","portfolios":[{"$id":"https://api.sb/quietcopy.com/portfolios/portfolio_1","$type":"Portfolio","id":"Example id","type":["noun_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/portfolios?limit=20","next":"https://api.sb/quietcopy.com/portfolios?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/portfolios/{id}":{"get":{"operationId":"Portfolio.get","summary":"Portfolio.get","description":"Returns one Portfolio by id.","tags":["Portfolio"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Portfolio."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portfolio","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Portfolio","$id":"https://api.sb/kilnbakery.com/portfolios/portfolio_1","portfolio":{"$id":"https://api.sb/kilnbakery.com/portfolios/portfolio_1","$type":"Portfolio","id":"Example id","type":["noun_1"]},"links":{"self":"https://api.sb/kilnbakery.com/portfolios/portfolio_1","up":"https://api.sb/kilnbakery.com/portfolios"},"actions":{"brake":"https://api.sb/kilnbakery.com/portfolios/portfolio_1/brake","lift":"https://api.sb/kilnbakery.com/portfolios/portfolio_1/lift"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Portfolio.update","summary":"Portfolio.update","description":"Changes the given properties of a Portfolio.","tags":["Portfolio"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Portfolio."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."},"membership":{"type":"string","description":"How each member belongs: `held`, `owned`, `contracted`, or `made`.","enum":["held","owned","contracted","made"]}},"additionalProperties":false},"example":{"membership":"held"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portfolio","links"]},"example":{"api":"https://api.sb/shiftnote.app","portfolio":{"$id":"https://api.sb/shiftnote.app/portfolios/portfolio_1","$type":"Portfolio","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Portfolio.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Portfolio.updated"},"delete":{"operationId":"Portfolio.delete","summary":"Portfolio.delete","description":"Deletes a Portfolio; its history is kept.","tags":["Portfolio"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Portfolio."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","portfolio","links"]},"example":{"api":"https://api.sb/routewise.dev","portfolio":{"$id":"https://api.sb/routewise.dev/portfolios/portfolio_1","$type":"Portfolio","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Portfolio.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Portfolio.deleted"}},"/portfolios/{portfolio}/brake":{"post":{"operationId":"Portfolio.brake","summary":"Portfolio.brake","description":"Brake stops one class of effects, such as sends, spend, publishes, or price changes, across a Portfolio query until it expires or is lifted.","tags":["Portfolio"],"parameters":[{"name":"portfolio","in":"path","required":true,"schema":{"type":"string"},"description":"The Portfolio whose Startups the brake covers."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"effects":{"type":"array","items":{"type":"string","description":"Any of `send`, `spend`, `publish`, and `price`.","enum":["send","spend","publish","price"]},"description":"Any of `send`, `spend`, `publish`, and `price`."},"reason":{"type":"string","description":"Why the effects stop."},"until":{"type":"string","format":"date-time","description":"When the brake expires."},"query":{"type":"string","description":"Narrows the brake to the Startups that match, such as one Startup Template Version or one Cohort."}},"required":["effects","reason","until"],"additionalProperties":false},"example":{"effects":["send"],"reason":"Example reason","until":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"brake":{"$ref":"#/components/schemas/Setting","description":"The brake, held as a Setting that every matching Startup inherits."},"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio under the brake."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","brake","portfolio","links"]},"example":{"api":"https://api.sb/ledgerlark.com","brake":{"$id":"https://api.sb/ledgerlark.com/settings/setting_1","$type":"Setting","key":"Example key","value":{}},"portfolio":{"$id":"https://api.sb/ledgerlark.com/portfolios/portfolio_1","$type":"Portfolio","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Portfolio.brake","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Portfolio.braked"}},"/portfolios/{portfolio}/lift":{"post":{"operationId":"Portfolio.lift","summary":"Portfolio.lift","description":"Lift ends a brake before it expires, and the Actions it held resume their review and delay windows.","tags":["Portfolio"],"parameters":[{"name":"portfolio","in":"path","required":true,"schema":{"type":"string"},"description":"The braked Portfolio."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"brake":{"type":"string","description":"The brake to lift. The Setting id."},"reason":{"type":"string","description":"Why the effects may resume."}},"required":["brake","reason"],"additionalProperties":false},"example":{"brake":"setting_1","reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"brake":{"$ref":"#/components/schemas/Setting","description":"The lifted brake, kept on record."},"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio, its brake lifted."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","brake","portfolio","links"]},"example":{"api":"https://api.sb/ledgerlark.com","brake":{"$id":"https://api.sb/ledgerlark.com/settings/setting_1","$type":"Setting","key":"Example key","value":{}},"portfolio":{"$id":"https://api.sb/ledgerlark.com/portfolios/portfolio_1","$type":"Portfolio","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Portfolio.lift","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Portfolio.lifted"}},"/posts":{"post":{"operationId":"Post.create","summary":"Post.create","description":"Creates a Post.","tags":["Post"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"type":"string","description":"The venue’s format, such as `shortVideo` or `thread`."},"publishAt":{"type":"string","format":"date-time","description":"When it goes out."},"claims":{"description":"The facts it states, each resolving to a record."},"reach":{"type":"integer","description":"How many people saw it, as the venue reports."},"handle":{"type":"string","description":"Every Post goes out from one Handle, so its reach and replies count toward that Handle. The Handle id."}},"required":["format"],"additionalProperties":false},"example":{"format":"Example format"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"post":{"$ref":"#/components/schemas/Post","description":"The Post."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","post","links"]},"example":{"api":"https://api.sb/tutorloop.com","post":{"$id":"https://api.sb/tutorloop.com/posts/post_1","$type":"Post","format":"Example format","status":"draft"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Post.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Post.created"},"get":{"operationId":"Post.list","summary":"Post.list","description":"Returns Posts, newest first, one page at a time.","tags":["Post"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"posts":{"type":"array","items":{"$ref":"#/components/schemas/Post","description":"One page of Posts."},"description":"One page of Posts."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","posts","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Post","posts":[{"$id":"https://api.sb/tutorloop.com/posts/post_1","$type":"Post","format":"Example format","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/posts?limit=20","next":"https://api.sb/tutorloop.com/posts?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/posts/{id}":{"get":{"operationId":"Post.get","summary":"Post.get","description":"Returns one Post by id.","tags":["Post"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Post."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"post":{"$ref":"#/components/schemas/Post","description":"The Post."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","post","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Post","$id":"https://api.sb/petpantry.shop/posts/post_1","post":{"$id":"https://api.sb/petpantry.shop/posts/post_1","$type":"Post","format":"Example format","status":"draft"},"links":{"self":"https://api.sb/petpantry.shop/posts/post_1","up":"https://api.sb/petpantry.shop/posts"},"actions":{"publish":"https://api.sb/petpantry.shop/posts/post_1/publish","schedule":"https://api.sb/petpantry.shop/posts/post_1/schedule","withdraw":"https://api.sb/petpantry.shop/posts/post_1/withdraw"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Post.update","summary":"Post.update","description":"Changes the given properties of a Post.","tags":["Post"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Post."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"type":"string","description":"The venue’s format, such as `shortVideo` or `thread`."},"publishAt":{"type":"string","format":"date-time","description":"When it goes out."},"claims":{"description":"The facts it states, each resolving to a record."},"reach":{"type":"integer","description":"How many people saw it, as the venue reports."}},"additionalProperties":false},"example":{"publishAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"post":{"$ref":"#/components/schemas/Post","description":"The Post."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","post","links"]},"example":{"api":"https://api.sb/ledgerlark.com","post":{"$id":"https://api.sb/ledgerlark.com/posts/post_1","$type":"Post","format":"Example format","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Post.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Post.updated"}},"/posts/{post}/publish":{"post":{"operationId":"Post.publish","summary":"Post.publish","description":"Publish sends a Post out through its Handle once every claim it states resolves to a live record.","tags":["Post"],"parameters":[{"name":"post","in":"path","required":true,"schema":{"type":"string"},"description":"The Post to publish."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"post":{"$ref":"#/components/schemas/Post","description":"The published Post."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","post","links"]},"example":{"api":"https://api.sb/ledgerlark.com","post":{"$id":"https://api.sb/ledgerlark.com/posts/post_1","$type":"Post","format":"Example format","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Post.publish","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Post.published"}},"/posts/{post}/schedule":{"post":{"operationId":"Post.schedule","summary":"Post.schedule","description":"Schedule puts a drafted Post on its Handle’s calendar for a set time.","tags":["Post"],"parameters":[{"name":"post","in":"path","required":true,"schema":{"type":"string"},"description":"The drafted Post."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"at":{"type":"string","format":"date-time","description":"When it goes out."}},"required":["at"],"additionalProperties":false},"example":{"at":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"post":{"$ref":"#/components/schemas/Post","description":"The scheduled Post."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","post","links"]},"example":{"api":"https://api.sb/ledgerlark.com","post":{"$id":"https://api.sb/ledgerlark.com/posts/post_1","$type":"Post","format":"Example format","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Post.schedule","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Post.scheduled"}},"/posts/{post}/withdraw":{"post":{"operationId":"Post.withdraw","summary":"Post.withdraw","description":"Withdraw takes a published Post down from its venue and keeps the record, its reach and its replies.","tags":["Post"],"parameters":[{"name":"post","in":"path","required":true,"schema":{"type":"string"},"description":"The Post to take down."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it comes down."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"post":{"$ref":"#/components/schemas/Post","description":"The withdrawn Post."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","post","links"]},"example":{"api":"https://api.sb/kilnbakery.com","post":{"$id":"https://api.sb/kilnbakery.com/posts/post_1","$type":"Post","format":"Example format","status":"draft"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Post.withdraw","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Post.withdrawn"}},"/problems":{"post":{"operationId":"Problem.create","summary":"Problem.create","description":"Creates a Problem.","tags":["Problem"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"statement":{"type":"string","description":"The struggle, in the words of the ICP."},"costPerPeriod":{"description":"What the Problem costs the ICP per period: hours times wage, or the spend on what they hire today."},"address":{"description":"The opportunity map cell it sits on: an occupation, a task it performs, and an industry."},"moment":{"type":"string","description":"The moment the job starts, with the observable trigger that marks it."},"progress":{"type":"string","description":"The progress the ICP wants, from the state before to the state after."},"hiredToday":{"description":"What the ICP hires for the job today, by kind and cost: software, a Service, their own hands, or nothing."}},"required":["statement"],"additionalProperties":false},"example":{"statement":"Keeps the books for independent contractors."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","problem","links"]},"example":{"api":"https://api.sb/ledgerlark.com","problem":{"$id":"https://api.sb/ledgerlark.com/problems/problem_1","$type":"Problem","statement":"Keeps the books for independent contractors."},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Problem.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Problem.created"},"get":{"operationId":"Problem.list","summary":"Problem.list","description":"Returns Problems, newest first, one page at a time.","tags":["Problem"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"problems":{"type":"array","items":{"$ref":"#/components/schemas/Problem","description":"One page of Problems."},"description":"One page of Problems."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","problems","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Problem","problems":[{"$id":"https://api.sb/ledgerlark.com/problems/problem_1","$type":"Problem","statement":"Keeps the books for independent contractors."}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/problems?limit=20","next":"https://api.sb/ledgerlark.com/problems?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/problems/{id}":{"get":{"operationId":"Problem.get","summary":"Problem.get","description":"Returns one Problem by id.","tags":["Problem"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Problem."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","problem","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Problem","$id":"https://api.sb/ledgerlark.com/problems/problem_1","problem":{"$id":"https://api.sb/ledgerlark.com/problems/problem_1","$type":"Problem","statement":"Keeps the books for independent contractors."},"links":{"self":"https://api.sb/ledgerlark.com/problems/problem_1","up":"https://api.sb/ledgerlark.com/problems"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Problem.update","summary":"Problem.update","description":"Changes the given properties of a Problem.","tags":["Problem"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Problem."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"statement":{"type":"string","description":"The struggle, in the words of the ICP."},"costPerPeriod":{"description":"What the Problem costs the ICP per period: hours times wage, or the spend on what they hire today."},"address":{"description":"The opportunity map cell it sits on: an occupation, a task it performs, and an industry."},"moment":{"type":"string","description":"The moment the job starts, with the observable trigger that marks it."},"progress":{"type":"string","description":"The progress the ICP wants, from the state before to the state after."},"hiredToday":{"description":"What the ICP hires for the job today, by kind and cost: software, a Service, their own hands, or nothing."}},"additionalProperties":false},"example":{"statement":"Reviews résumés against the job they target."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","problem","links"]},"example":{"api":"https://api.sb/quietcopy.com","problem":{"$id":"https://api.sb/quietcopy.com/problems/problem_1","$type":"Problem","statement":"Reviews résumés against the job they target."},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Problem.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Problem.updated"},"delete":{"operationId":"Problem.delete","summary":"Problem.delete","description":"Deletes a Problem; its history is kept.","tags":["Problem"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Problem."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","problem","links"]},"example":{"api":"https://api.sb/kilnbakery.com","problem":{"$id":"https://api.sb/kilnbakery.com/problems/problem_1","$type":"Problem","statement":"Bakes sourdough for neighborhood pickup."},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Problem.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Problem.deleted"}},"/problems/rank":{"post":{"operationId":"Problem.rank","summary":"Problem.rank","description":"Rank orders Problems by revenue at stake, Evidence grade and effort, so the next Project addresses the top one.","tags":["Problem"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"icp":{"type":"string","description":"The ICP whose Problems to rank; omitted, every ICP. The ICP id."}},"additionalProperties":false},"example":{"icp":"icp_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"problems":{"type":"array","items":{"$ref":"#/components/schemas/Problem","description":"Problems, highest first, each with its score."},"description":"Problems, highest first, each with its score."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","problems","links"]},"example":{"api":"https://api.sb/patentpad.com","problems":[{"$id":"https://api.sb/patentpad.com/problems/problem_1","$type":"Problem","statement":"Drafts provisional patents for solo inventors."}],"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Problem.rank","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Problem.ranked"}},"/problems/suggest":{"post":{"operationId":"Problem.suggest","summary":"Problem.suggest","description":"Suggest records a Customer’s ask for something the Product lacks as Evidence on a Problem, with the asker attached.","tags":["Problem"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"The ask, in the asker’s words."},"problem":{"type":"string","description":"The Problem it bears on; an Agent maps it when the asker names none. The Problem id."},"via":{"type":"string","description":"Where it was asked: an App, the Portal, or an Agent’s answer."}},"required":["text"],"additionalProperties":false},"example":{"text":"Example text"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"evidence":{"$ref":"#/components/schemas/Evidence","description":"The Evidence, Opinion grade, with `askedBy` set."},"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem with the new Evidence attached."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","evidence","problem","links"]},"example":{"api":"https://api.sb/routewise.dev","evidence":{"$id":"https://api.sb/routewise.dev/evidence/evidence_1","$type":"Evidence","grade":"Behavior"},"problem":{"$id":"https://api.sb/routewise.dev/problems/problem_1","$type":"Problem","statement":"Plans delivery routes for courier fleets through an API."},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Problem.suggest","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Problem.suggested"}},"/processes":{"post":{"operationId":"Process.create","summary":"Process.create","description":"Creates a Process.","tags":["Process"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name in sentence case, such as `Month-end close`."},"says":{"type":"array","items":{"type":"string","description":"What a founder says to run, turn on, or ask about it."},"description":"What a founder says to run, turn on, or ask about it."},"settings":{"description":"The Settings it reads: key, type, default, the founder’s sentence and the Verb that sets each."},"defaultOn":{"type":"array","items":{"type":"string","description":"The Product Templates it is on in by default."},"description":"The Product Templates it is on in by default."},"wakes":{"description":"The Events that wake it in the Startup’s own records."},"inputs":{"type":"array","items":{"type":"string","description":"The Nouns an Action reads at its start."},"description":"The Nouns an Action reads at its start."},"outputs":{"type":"array","items":{"type":"string","description":"The Nouns a finished Action leaves behind, rolled up from its Workflows."},"description":"The Nouns a finished Action leaves behind, rolled up from its Workflows."},"outcome":{"type":"string","description":"What a finished Action leaves true, in one sentence."},"serviceLevel":{"description":"Its target duration, clock, escalation Role, and the waits that stop the clock."},"scope":{"type":"string","description":"Where it runs: `startup`, `studio`, or `any`.","enum":["startup","studio","any"]},"play":{"type":"string","description":"A Process runs the steps of a Play each time the Startup runs it. The Play id."}},"required":["name"],"additionalProperties":false},"example":{"name":"PatentPad"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"process":{"$ref":"#/components/schemas/Process","description":"The Process."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","process","links"]},"example":{"api":"https://api.sb/patentpad.com","process":{"$id":"https://api.sb/patentpad.com/processes/process_1","$type":"Process","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Process.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Process.created"},"get":{"operationId":"Process.list","summary":"Process.list","description":"Returns Processes, newest first, one page at a time.","tags":["Process"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"processes":{"type":"array","items":{"$ref":"#/components/schemas/Process","description":"One page of Processes."},"description":"One page of Processes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","processes","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Process","processes":[{"$id":"https://api.sb/routewise.dev/processes/process_1","$type":"Process","name":"RouteWise"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/processes?limit=20","next":"https://api.sb/routewise.dev/processes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/processes/{id}":{"get":{"operationId":"Process.get","summary":"Process.get","description":"Returns one Process by id.","tags":["Process"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Process."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"process":{"$ref":"#/components/schemas/Process","description":"The Process."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","process","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Process","$id":"https://api.sb/patentpad.com/processes/process_1","process":{"$id":"https://api.sb/patentpad.com/processes/process_1","$type":"Process","name":"PatentPad"},"links":{"self":"https://api.sb/patentpad.com/processes/process_1","up":"https://api.sb/patentpad.com/processes"},"actions":{"enable":"https://api.sb/patentpad.com/processes/process_1/enable","pause":"https://api.sb/patentpad.com/processes/process_1/pause"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Process.update","summary":"Process.update","description":"Changes the given properties of a Process.","tags":["Process"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Process."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name in sentence case, such as `Month-end close`."},"says":{"type":"array","items":{"type":"string","description":"What a founder says to run, turn on, or ask about it."},"description":"What a founder says to run, turn on, or ask about it."},"settings":{"description":"The Settings it reads: key, type, default, the founder’s sentence and the Verb that sets each."},"defaultOn":{"type":"array","items":{"type":"string","description":"The Product Templates it is on in by default."},"description":"The Product Templates it is on in by default."},"wakes":{"description":"The Events that wake it in the Startup’s own records."},"inputs":{"type":"array","items":{"type":"string","description":"The Nouns an Action reads at its start."},"description":"The Nouns an Action reads at its start."},"outputs":{"type":"array","items":{"type":"string","description":"The Nouns a finished Action leaves behind, rolled up from its Workflows."},"description":"The Nouns a finished Action leaves behind, rolled up from its Workflows."},"outcome":{"type":"string","description":"What a finished Action leaves true, in one sentence."},"serviceLevel":{"description":"Its target duration, clock, escalation Role, and the waits that stop the clock."},"scope":{"type":"string","description":"Where it runs: `startup`, `studio`, or `any`.","enum":["startup","studio","any"]}},"additionalProperties":false},"example":{"name":"PetPantry"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"process":{"$ref":"#/components/schemas/Process","description":"The Process."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","process","links"]},"example":{"api":"https://api.sb/petpantry.shop","process":{"$id":"https://api.sb/petpantry.shop/processes/process_1","$type":"Process","name":"PetPantry"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Process.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Process.updated"},"delete":{"operationId":"Process.delete","summary":"Process.delete","description":"Deletes a Process; its history is kept.","tags":["Process"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Process."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"process":{"$ref":"#/components/schemas/Process","description":"The Process."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","process","links"]},"example":{"api":"https://api.sb/quietcopy.com","process":{"$id":"https://api.sb/quietcopy.com/processes/process_1","$type":"Process","name":"QuietCopy"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Process.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Process.deleted"}},"/processes/{process}/enable":{"post":{"operationId":"Process.enable","summary":"Process.enable","description":"Enable turns a Process on for a Startup, so its Workflows start on their Triggers.","tags":["Process"],"parameters":[{"name":"process","in":"path","required":true,"schema":{"type":"string"},"description":"The Process to turn on."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"process":{"$ref":"#/components/schemas/Process","description":"The Process, now on."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","process","links"]},"example":{"api":"https://api.sb/tutorloop.com","process":{"$id":"https://api.sb/tutorloop.com/processes/process_1","$type":"Process","name":"TutorLoop"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Process.enable","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Process.enabled"}},"/processes/{process}/pause":{"post":{"operationId":"Process.pause","summary":"Process.pause","description":"Pause stops a Process from starting new Actions; Actions already in progress finish.","tags":["Process"],"parameters":[{"name":"process","in":"path","required":true,"schema":{"type":"string"},"description":"The Process to pause."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"process":{"$ref":"#/components/schemas/Process","description":"The paused Process."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","process","links"]},"example":{"api":"https://api.sb/shiftnote.app","process":{"$id":"https://api.sb/shiftnote.app/processes/process_1","$type":"Process","name":"ShiftNote"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Process.pause","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Process.paused"}},"/products":{"post":{"operationId":"Product.create","summary":"Product.create","description":"Creates a Product.","tags":["Product"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."}},"required":["name","promise"],"additionalProperties":false},"example":{"name":"LedgerLark","promise":"Books closed by the fifth of each month."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"product":{"$ref":"#/components/schemas/Product","description":"The Product."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","product","links"]},"example":{"api":"https://api.sb/ledgerlark.com","product":{"$id":"https://api.sb/ledgerlark.com/products/product_1","$type":"Product","name":"LedgerLark","promise":"Books closed by the fifth of each month.","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Product.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Product.created"},"get":{"operationId":"Product.list","summary":"Product.list","description":"Returns Products, newest first, one page at a time.","tags":["Product"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"products":{"type":"array","items":{"$ref":"#/components/schemas/Product","description":"One page of Products."},"description":"One page of Products."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","products","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Product","products":[{"$id":"https://api.sb/ledgerlark.com/products/product_1","$type":"Product","name":"LedgerLark","promise":"Books closed by the fifth of each month.","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/products?limit=20","next":"https://api.sb/ledgerlark.com/products?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/products/{id}":{"get":{"operationId":"Product.get","summary":"Product.get","description":"Returns one Product by id.","tags":["Product"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Product."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"product":{"$ref":"#/components/schemas/Product","description":"The Product."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","product","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Product","$id":"https://api.sb/ledgerlark.com/products/product_1","product":{"$id":"https://api.sb/ledgerlark.com/products/product_1","$type":"Product","name":"LedgerLark","promise":"Books closed by the fifth of each month.","status":"draft"},"links":{"self":"https://api.sb/ledgerlark.com/products/product_1","up":"https://api.sb/ledgerlark.com/products"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Product.update","summary":"Product.update","description":"Changes the given properties of a Product.","tags":["Product"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Product."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."}},"additionalProperties":false},"example":{"name":"QuietCopy"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"product":{"$ref":"#/components/schemas/Product","description":"The Product."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","product","links"]},"example":{"api":"https://api.sb/quietcopy.com","product":{"$id":"https://api.sb/quietcopy.com/products/product_1","$type":"Product","name":"QuietCopy","promise":"Line-by-line edits within one day.","status":"draft"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Product.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Product.updated"},"delete":{"operationId":"Product.delete","summary":"Product.delete","description":"Deletes a Product; its history is kept.","tags":["Product"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Product."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"product":{"$ref":"#/components/schemas/Product","description":"The Product."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","product","links"]},"example":{"api":"https://api.sb/kilnbakery.com","product":{"$id":"https://api.sb/kilnbakery.com/products/product_1","$type":"Product","name":"Kiln Bakery","promise":"Bread out of the oven by 8 a.m.","status":"draft"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Product.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Product.deleted"}},"/product-templates":{"post":{"operationId":"ProductTemplate.create","summary":"ProductTemplate.create","description":"Creates a Product Template.","tags":["ProductTemplate"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","description":"The page path under `/start/templates/products`."},"kind":{"type":"string","description":"The abstract Product: `data`, `software`, `agent`, or `service`.","enum":["data","software","agent","service"]},"supply":{"type":"string","description":"Who supplies the work: `digital`, which is unlimited, or `human`, which is recruited and credentialed."},"worker":{"type":"string","description":"Who does the work: `agents`, `humans`, or `agents-and-humans`.","enum":["agents","humans","agents-and-humans"]},"buyer":{"type":"string","description":"Who buys: `human`, `agent`, or `human-or-agent`.","enum":["human","agent","human-or-agent"]},"earningModel":{"type":"string","description":"How it earns: `subscription`, `usage`, `commerce`, `marketplace`, or `directory`.","enum":["subscription","usage","commerce","marketplace","directory"]},"assurance":{"type":"string","description":"What the buyer can rely on, in one sentence."}},"required":["slug","kind","supply","worker","buyer","earningModel"],"additionalProperties":false},"example":{"slug":"route-wise","kind":"data","supply":"Example supply","worker":"agents","buyer":"human","earningModel":"subscription"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"productTemplate":{"$ref":"#/components/schemas/ProductTemplate","description":"The Product Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","productTemplate","links"]},"example":{"api":"https://api.sb/routewise.dev","productTemplate":{"$id":"https://api.sb/routewise.dev/product-templates/product_template_1","$type":"ProductTemplate","slug":"route-wise","kind":"data","supply":"Example supply","worker":"agents"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"ProductTemplate.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ProductTemplate.created"},"get":{"operationId":"ProductTemplate.list","summary":"ProductTemplate.list","description":"Returns Product Templates, newest first, one page at a time.","tags":["ProductTemplate"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"productTemplates":{"type":"array","items":{"$ref":"#/components/schemas/ProductTemplate","description":"One page of Product Templates."},"description":"One page of Product Templates."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","productTemplates","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"ProductTemplate","productTemplates":[{"$id":"https://api.sb/patentpad.com/product-templates/product_template_1","$type":"ProductTemplate","slug":"patent-pad","kind":"data","supply":"Example supply","worker":"agents"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/product-templates?limit=20","next":"https://api.sb/patentpad.com/product-templates?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/product-templates/{id}":{"get":{"operationId":"ProductTemplate.get","summary":"ProductTemplate.get","description":"Returns one Product Template by id.","tags":["ProductTemplate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Product Template."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"productTemplate":{"$ref":"#/components/schemas/ProductTemplate","description":"The Product Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","productTemplate","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"ProductTemplate","$id":"https://api.sb/routewise.dev/product-templates/product_template_1","productTemplate":{"$id":"https://api.sb/routewise.dev/product-templates/product_template_1","$type":"ProductTemplate","slug":"route-wise","kind":"data","supply":"Example supply","worker":"agents"},"links":{"self":"https://api.sb/routewise.dev/product-templates/product_template_1","up":"https://api.sb/routewise.dev/product-templates"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"ProductTemplate.update","summary":"ProductTemplate.update","description":"Changes the given properties of a Product Template.","tags":["ProductTemplate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Product Template."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","description":"The page path under `/start/templates/products`."},"kind":{"type":"string","description":"The abstract Product: `data`, `software`, `agent`, or `service`.","enum":["data","software","agent","service"]},"supply":{"type":"string","description":"Who supplies the work: `digital`, which is unlimited, or `human`, which is recruited and credentialed."},"worker":{"type":"string","description":"Who does the work: `agents`, `humans`, or `agents-and-humans`.","enum":["agents","humans","agents-and-humans"]},"buyer":{"type":"string","description":"Who buys: `human`, `agent`, or `human-or-agent`.","enum":["human","agent","human-or-agent"]},"earningModel":{"type":"string","description":"How it earns: `subscription`, `usage`, `commerce`, `marketplace`, or `directory`.","enum":["subscription","usage","commerce","marketplace","directory"]},"assurance":{"type":"string","description":"What the buyer can rely on, in one sentence."}},"additionalProperties":false},"example":{"slug":"kiln-bakery"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"productTemplate":{"$ref":"#/components/schemas/ProductTemplate","description":"The Product Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","productTemplate","links"]},"example":{"api":"https://api.sb/kilnbakery.com","productTemplate":{"$id":"https://api.sb/kilnbakery.com/product-templates/product_template_1","$type":"ProductTemplate","slug":"kiln-bakery","kind":"data","supply":"Example supply","worker":"agents"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"ProductTemplate.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ProductTemplate.updated"},"delete":{"operationId":"ProductTemplate.delete","summary":"ProductTemplate.delete","description":"Deletes a Product Template; its history is kept.","tags":["ProductTemplate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Product Template."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"productTemplate":{"$ref":"#/components/schemas/ProductTemplate","description":"The Product Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","productTemplate","links"]},"example":{"api":"https://api.sb/tutorloop.com","productTemplate":{"$id":"https://api.sb/tutorloop.com/product-templates/product_template_1","$type":"ProductTemplate","slug":"tutor-loop","kind":"data","supply":"Example supply","worker":"agents"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"ProductTemplate.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ProductTemplate.deleted"}},"/projects":{"post":{"operationId":"Project.create","summary":"Project.create","description":"Creates a Project.","tags":["Project"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"startsOn":{"type":"string","format":"date","description":"When work begins."},"targetDate":{"type":"string","format":"date","description":"When it should be done."},"goal":{"type":"string","description":"A Project’s work serves one Goal. The Goal id."}},"additionalProperties":false},"example":{"startsOn":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"project":{"$ref":"#/components/schemas/Project","description":"The Project."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","project","links"]},"example":{"api":"https://api.sb/routewise.dev","project":{"$id":"https://api.sb/routewise.dev/projects/project_1","$type":"Project","startsOn":"2026-10-22","targetDate":"2026-10-22"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Project.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Project.created"},"get":{"operationId":"Project.list","summary":"Project.list","description":"Returns Projects, newest first, one page at a time.","tags":["Project"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/Project","description":"One page of Projects."},"description":"One page of Projects."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","projects","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Project","projects":[{"$id":"https://api.sb/patentpad.com/projects/project_1","$type":"Project","startsOn":"2026-10-22","targetDate":"2026-10-22"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/projects?limit=20","next":"https://api.sb/patentpad.com/projects?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/projects/{id}":{"get":{"operationId":"Project.get","summary":"Project.get","description":"Returns one Project by id.","tags":["Project"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Project."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"project":{"$ref":"#/components/schemas/Project","description":"The Project."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","project","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Project","$id":"https://api.sb/routewise.dev/projects/project_1","project":{"$id":"https://api.sb/routewise.dev/projects/project_1","$type":"Project","startsOn":"2026-10-22","targetDate":"2026-10-22"},"links":{"self":"https://api.sb/routewise.dev/projects/project_1","up":"https://api.sb/routewise.dev/projects"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Project.update","summary":"Project.update","description":"Changes the given properties of a Project.","tags":["Project"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Project."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"startsOn":{"type":"string","format":"date","description":"When work begins."},"targetDate":{"type":"string","format":"date","description":"When it should be done."}},"additionalProperties":false},"example":{"startsOn":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"project":{"$ref":"#/components/schemas/Project","description":"The Project."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","project","links"]},"example":{"api":"https://api.sb/kilnbakery.com","project":{"$id":"https://api.sb/kilnbakery.com/projects/project_1","$type":"Project","startsOn":"2026-10-22","targetDate":"2026-10-22"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Project.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Project.updated"},"delete":{"operationId":"Project.delete","summary":"Project.delete","description":"Deletes a Project; its history is kept.","tags":["Project"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Project."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"project":{"$ref":"#/components/schemas/Project","description":"The Project."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","project","links"]},"example":{"api":"https://api.sb/tutorloop.com","project":{"$id":"https://api.sb/tutorloop.com/projects/project_1","$type":"Project","startsOn":"2026-10-22","targetDate":"2026-10-22"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Project.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Project.deleted"}},"/proofs/{id}":{"get":{"operationId":"Proof.get","summary":"Proof.get","description":"Returns one Proof by id.","tags":["Proof"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Proof."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"proof":{"$ref":"#/components/schemas/Proof","description":"The Proof."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","proof","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Proof","$id":"https://api.sb/quietcopy.com/proofs/proof_1","proof":{"$id":"https://api.sb/quietcopy.com/proofs/proof_1","$type":"Proof","control":"control_1","namespace":"Example namespace","from":"2026-10-22T12:00:00Z","to":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/quietcopy.com/proofs/proof_1","up":"https://api.sb/quietcopy.com/proofs"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/proofs":{"get":{"operationId":"Proof.list","summary":"Proof.list","description":"Returns Proofs, newest first, one page at a time.","tags":["Proof"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"proofs":{"type":"array","items":{"$ref":"#/components/schemas/Proof","description":"One page of Proofs."},"description":"One page of Proofs."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","proofs","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Proof","proofs":[{"$id":"https://api.sb/kilnbakery.com/proofs/proof_1","$type":"Proof","control":"control_1","namespace":"Example namespace","from":"2026-10-22T12:00:00Z","to":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/proofs?limit=20","next":"https://api.sb/kilnbakery.com/proofs?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/prospects":{"post":{"operationId":"Prospect.create","summary":"Prospect.create","description":"Creates a Prospect.","tags":["Prospect"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"foundIn":{"type":"string","description":"Where the Startup found them."},"basis":{"type":"string","description":"The legal basis for contacting them."},"acquisition":{"type":"string","description":"A Prospect’s Acquisition names the outbound Play and Mailbox that first reached it. The Acquisition id."}},"required":["foundIn","basis"],"additionalProperties":false},"example":{"foundIn":"Example found in","basis":"Example basis"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","prospect","links"]},"example":{"api":"https://api.sb/kilnbakery.com","prospect":{"$id":"https://api.sb/kilnbakery.com/prospects/prospect_1","$type":"Prospect","foundIn":"Example found in","basis":"Example basis"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Prospect.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Prospect.created"},"get":{"operationId":"Prospect.list","summary":"Prospect.list","description":"Returns Prospects, newest first, one page at a time.","tags":["Prospect"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"prospects":{"type":"array","items":{"$ref":"#/components/schemas/Prospect","description":"One page of Prospects."},"description":"One page of Prospects."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","prospects","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Prospect","prospects":[{"$id":"https://api.sb/petpantry.shop/prospects/prospect_1","$type":"Prospect","foundIn":"Example found in","basis":"Example basis"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/prospects?limit=20","next":"https://api.sb/petpantry.shop/prospects?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/prospects/{id}":{"get":{"operationId":"Prospect.get","summary":"Prospect.get","description":"Returns one Prospect by id.","tags":["Prospect"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Prospect."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","prospect","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Prospect","$id":"https://api.sb/tutorloop.com/prospects/prospect_1","prospect":{"$id":"https://api.sb/tutorloop.com/prospects/prospect_1","$type":"Prospect","foundIn":"Example found in","basis":"Example basis"},"links":{"self":"https://api.sb/tutorloop.com/prospects/prospect_1","up":"https://api.sb/tutorloop.com/prospects"},"actions":{"engage":"https://api.sb/tutorloop.com/prospects/prospect_1/engage"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Prospect.update","summary":"Prospect.update","description":"Changes the given properties of a Prospect.","tags":["Prospect"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Prospect."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"foundIn":{"type":"string","description":"Where the Startup found them."},"basis":{"type":"string","description":"The legal basis for contacting them."}},"additionalProperties":false},"example":{"foundIn":"Example found in"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","prospect","links"]},"example":{"api":"https://api.sb/patentpad.com","prospect":{"$id":"https://api.sb/patentpad.com/prospects/prospect_1","$type":"Prospect","foundIn":"Example found in","basis":"Example basis"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Prospect.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Prospect.updated"},"delete":{"operationId":"Prospect.delete","summary":"Prospect.delete","description":"Deletes a Prospect; its history is kept.","tags":["Prospect"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Prospect."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","prospect","links"]},"example":{"api":"https://api.sb/shiftnote.app","prospect":{"$id":"https://api.sb/shiftnote.app/prospects/prospect_1","$type":"Prospect","foundIn":"Example found in","basis":"Example basis"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Prospect.delete","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Prospect.deleted"}},"/prospects/{prospect}/engage":{"post":{"operationId":"Prospect.engage","summary":"Prospect.engage","description":"Engage records a Prospect’s first reply or raised hand and makes it a Lead that keeps its Acquisition.","tags":["Prospect"],"parameters":[{"name":"prospect","in":"path","required":true,"schema":{"type":"string"},"description":"The Prospect that replied or raised a hand."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The reply or Form submission that shows the engagement. The Message id."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lead":{"$ref":"#/components/schemas/Lead","description":"The new Lead, with status `new` and the Prospect’s Acquisition."},"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect who engaged."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","prospect","links"]},"example":{"api":"https://api.sb/ledgerlark.com","lead":{"$id":"https://api.sb/ledgerlark.com/leads/lead_1","$type":"Lead","status":"new"},"prospect":{"$id":"https://api.sb/ledgerlark.com/prospects/prospect_1","$type":"Prospect","foundIn":"Example found in","basis":"Example basis"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Prospect.engage","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Prospect.engaged"}},"/publications/{id}":{"get":{"operationId":"Publication.get","summary":"Publication.get","description":"Returns one Publication by id.","tags":["Publication"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Publication."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"publication":{"$ref":"#/components/schemas/Publication","description":"The Publication."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","publication","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Publication","$id":"https://api.sb/tutorloop.com/publications/publication_1","publication":{"$id":"https://api.sb/tutorloop.com/publications/publication_1","$type":"Publication","brand":"brand_1","version":"version_1","domain":"domain_1","api":"https://transcribe.fm/api"},"links":{"self":"https://api.sb/tutorloop.com/publications/publication_1","up":"https://api.sb/tutorloop.com/publications"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/publications":{"get":{"operationId":"Publication.list","summary":"Publication.list","description":"Returns Publications, newest first, one page at a time.","tags":["Publication"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"publications":{"type":"array","items":{"$ref":"#/components/schemas/Publication","description":"One page of Publications."},"description":"One page of Publications."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","publications","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Publication","publications":[{"$id":"https://api.sb/petpantry.shop/publications/publication_1","$type":"Publication","brand":"brand_1","version":"version_1","domain":"domain_1","api":"https://transcribe.fm/api"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/publications?limit=20","next":"https://api.sb/petpantry.shop/publications?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/purposes":{"post":{"operationId":"Purpose.create","summary":"Purpose.create","description":"Creates a Purpose.","tags":["Purpose"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The reason, such as marketing email or call recording."}},"required":["name"],"additionalProperties":false},"example":{"name":"PetPantry"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"purpose":{"$ref":"#/components/schemas/Purpose","description":"The Purpose."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","purpose","links"]},"example":{"api":"https://api.sb/petpantry.shop","purpose":{"$id":"https://api.sb/petpantry.shop/purposes/purpose_1","$type":"Purpose","name":"PetPantry"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Purpose.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Purpose.created"},"get":{"operationId":"Purpose.list","summary":"Purpose.list","description":"Returns Purposes, newest first, one page at a time.","tags":["Purpose"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"purposes":{"type":"array","items":{"$ref":"#/components/schemas/Purpose","description":"One page of Purposes."},"description":"One page of Purposes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","purposes","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Purpose","purposes":[{"$id":"https://api.sb/kilnbakery.com/purposes/purpose_1","$type":"Purpose","name":"Kiln Bakery"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/purposes?limit=20","next":"https://api.sb/kilnbakery.com/purposes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/purposes/{id}":{"get":{"operationId":"Purpose.get","summary":"Purpose.get","description":"Returns one Purpose by id.","tags":["Purpose"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Purpose."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"purpose":{"$ref":"#/components/schemas/Purpose","description":"The Purpose."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","purpose","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Purpose","$id":"https://api.sb/quietcopy.com/purposes/purpose_1","purpose":{"$id":"https://api.sb/quietcopy.com/purposes/purpose_1","$type":"Purpose","name":"QuietCopy"},"links":{"self":"https://api.sb/quietcopy.com/purposes/purpose_1","up":"https://api.sb/quietcopy.com/purposes"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Purpose.update","summary":"Purpose.update","description":"Changes the given properties of a Purpose.","tags":["Purpose"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Purpose."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The reason, such as marketing email or call recording."}},"additionalProperties":false},"example":{"name":"RouteWise"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"purpose":{"$ref":"#/components/schemas/Purpose","description":"The Purpose."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","purpose","links"]},"example":{"api":"https://api.sb/routewise.dev","purpose":{"$id":"https://api.sb/routewise.dev/purposes/purpose_1","$type":"Purpose","name":"RouteWise"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Purpose.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Purpose.updated"},"delete":{"operationId":"Purpose.delete","summary":"Purpose.delete","description":"Deletes a Purpose; its history is kept.","tags":["Purpose"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Purpose."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"purpose":{"$ref":"#/components/schemas/Purpose","description":"The Purpose."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","purpose","links"]},"example":{"api":"https://api.sb/ledgerlark.com","purpose":{"$id":"https://api.sb/ledgerlark.com/purposes/purpose_1","$type":"Purpose","name":"LedgerLark"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Purpose.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Purpose.deleted"}},"/questions/{id}":{"get":{"operationId":"Question.get","summary":"Question.get","description":"Returns one Question by id.","tags":["Question"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Question."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"question":{"$ref":"#/components/schemas/Question","description":"The Question."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","question","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Question","$id":"https://api.sb/tutorloop.com/questions/question_1","question":{"$id":"https://api.sb/tutorloop.com/questions/question_1","$type":"Question","to":"thing_1","text":"Example text"},"links":{"self":"https://api.sb/tutorloop.com/questions/question_1","up":"https://api.sb/tutorloop.com/questions"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/questions":{"get":{"operationId":"Question.list","summary":"Question.list","description":"Returns Questions, newest first, one page at a time.","tags":["Question"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"questions":{"type":"array","items":{"$ref":"#/components/schemas/Question","description":"One page of Questions."},"description":"One page of Questions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","questions","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Question","questions":[{"$id":"https://api.sb/petpantry.shop/questions/question_1","$type":"Question","to":"thing_1","text":"Example text"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/questions?limit=20","next":"https://api.sb/petpantry.shop/questions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/quotes":{"post":{"operationId":"Quote.create","summary":"Quote.create","description":"Creates a Quote.","tags":["Quote"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/Money","description":"The quoted total."},"validUntil":{"type":"string","format":"date","description":"The last day it may be accepted."},"lines":{"description":"One line per Offer: quantity, list Price, discount percent, net amount, term, and start, one line per ramp year."},"concessions":{"type":"array","items":{"type":"string","description":"Concessions granted, each from the Startup’s fixed concession list, such as a 60-day termination for convenience."},"description":"Concessions granted, each from the Startup’s fixed concession list, such as a 60-day termination for convenience."},"paymentTerms":{"description":"The `collection`, `terms` and `purchaseOrder` every Invoice from the accepted Quote carries."},"deal":{"type":"string","description":"A Deal sends Quotes, each a priced proposal valid until a date. The Deal id."}},"required":["total","validUntil","lines"],"additionalProperties":false},"example":{"total":{"amount":60,"currency":"USD"},"validUntil":"2026-10-22","lines":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/tutorloop.com","quote":{"$id":"https://api.sb/tutorloop.com/quotes/quote_1","$type":"Quote","total":{"amount":60,"currency":"USD"},"validUntil":"2026-10-22","status":"draft","lines":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Quote.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.created"},"get":{"operationId":"Quote.list","summary":"Quote.list","description":"Returns Quotes, newest first, one page at a time.","tags":["Quote"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"quotes":{"type":"array","items":{"$ref":"#/components/schemas/Quote","description":"One page of Quotes."},"description":"One page of Quotes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quotes","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Quote","quotes":[{"$id":"https://api.sb/tutorloop.com/quotes/quote_1","$type":"Quote","total":{"amount":60,"currency":"USD"},"validUntil":"2026-10-22","status":"draft","lines":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/quotes?limit=20","next":"https://api.sb/tutorloop.com/quotes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/quotes/{id}":{"get":{"operationId":"Quote.get","summary":"Quote.get","description":"Returns one Quote by id.","tags":["Quote"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Quote."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Quote","$id":"https://api.sb/petpantry.shop/quotes/quote_1","quote":{"$id":"https://api.sb/petpantry.shop/quotes/quote_1","$type":"Quote","total":{"amount":54,"currency":"USD"},"validUntil":"2026-10-22","status":"draft","lines":{}},"links":{"self":"https://api.sb/petpantry.shop/quotes/quote_1","up":"https://api.sb/petpantry.shop/quotes"},"actions":{"accept":"https://api.sb/petpantry.shop/quotes/quote_1/accept","decline":"https://api.sb/petpantry.shop/quotes/quote_1/decline","expire":"https://api.sb/petpantry.shop/quotes/quote_1/expire"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Quote.update","summary":"Quote.update","description":"Changes the given properties of a Quote.","tags":["Quote"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Quote."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/Money","description":"The quoted total."},"validUntil":{"type":"string","format":"date","description":"The last day it may be accepted."},"lines":{"description":"One line per Offer: quantity, list Price, discount percent, net amount, term, and start, one line per ramp year."},"concessions":{"type":"array","items":{"type":"string","description":"Concessions granted, each from the Startup’s fixed concession list, such as a 60-day termination for convenience."},"description":"Concessions granted, each from the Startup’s fixed concession list, such as a 60-day termination for convenience."},"paymentTerms":{"description":"The `collection`, `terms` and `purchaseOrder` every Invoice from the accepted Quote carries."}},"additionalProperties":false},"example":{"total":{"amount":400,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/ledgerlark.com","quote":{"$id":"https://api.sb/ledgerlark.com/quotes/quote_1","$type":"Quote","total":{"amount":400,"currency":"USD"},"validUntil":"2026-10-22","status":"draft","lines":{}},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Quote.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.updated"},"delete":{"operationId":"Quote.delete","summary":"Quote.delete","description":"Deletes a Quote; its history is kept.","tags":["Quote"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Quote."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/patentpad.com","quote":{"$id":"https://api.sb/patentpad.com/quotes/quote_1","$type":"Quote","total":{"amount":499,"currency":"USD"},"validUntil":"2026-10-22","status":"draft","lines":{}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Quote.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.deleted"}},"/quotes/{quote}/accept":{"post":{"operationId":"Quote.accept","summary":"Quote.accept","description":"Accept takes a sent Quote before it expires, turning one-time lines into an Order and recurring lines into a Subscription.","tags":["Quote"],"parameters":[{"name":"quote","in":"path","required":true,"schema":{"type":"string"},"description":"The sent Quote."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"party":{"type":"string","description":"The Contact or Organization accepting, who becomes the Customer. The Party id."}},"required":["party"],"additionalProperties":false},"example":{"party":"party_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"order":{"$ref":"#/components/schemas/Order","description":"The Order for the one-time lines, when the Quote has any."},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription for the recurring lines, at each line’s quantity and term."},"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote, now accepted."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/quietcopy.com","order":{"$id":"https://api.sb/quietcopy.com/orders/order_1","$type":"Order","total":{"amount":39,"currency":"USD"},"status":"placed"},"subscription":{"$id":"https://api.sb/quietcopy.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"quote":{"$id":"https://api.sb/quietcopy.com/quotes/quote_1","$type":"Quote","total":{"amount":39,"currency":"USD"},"validUntil":"2026-10-22","status":"accepted","lines":{}},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Quote.accept","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.accepted"}},"/quotes/{quote}/decline":{"post":{"operationId":"Quote.decline","summary":"Quote.decline","description":"Decline records the buyer’s refusal of a sent Quote, with the reason in their words.","tags":["Quote"],"parameters":[{"name":"quote","in":"path","required":true,"schema":{"type":"string"},"description":"The sent Quote."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the buyer declined, kept verbatim."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"quote":{"$ref":"#/components/schemas/Quote","description":"The declined Quote."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/tutorloop.com","quote":{"$id":"https://api.sb/tutorloop.com/quotes/quote_1","$type":"Quote","total":{"amount":60,"currency":"USD"},"validUntil":"2026-10-22","status":"declined","lines":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Quote.decline","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.declined"}},"/quotes/{quote}/expire":{"post":{"operationId":"Quote.expire","summary":"Quote.expire","description":"Expire closes a sent Quote that reached its validUntil date unaccepted; it never converts afterward.","tags":["Quote"],"parameters":[{"name":"quote","in":"path","required":true,"schema":{"type":"string"},"description":"The Quote past its date."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"quote":{"$ref":"#/components/schemas/Quote","description":"The expired Quote."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/routewise.dev","quote":{"$id":"https://api.sb/routewise.dev/quotes/quote_1","$type":"Quote","total":{"amount":25,"currency":"USD"},"validUntil":"2026-10-22","status":"expired","lines":{}},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Quote.expire","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.expired"}},"/quotes/request":{"post":{"operationId":"Quote.request","summary":"Quote.request","description":"Request asks a Startup for terms on one or more Offers, with the volume, term or scope wanted.","tags":["Quote"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offers":{"type":"array","items":{"type":"string","description":"The Offers wanted. The Offer id."},"description":"The Offers wanted."},"deal":{"type":"string","description":"The open Deal the terms are for; without one, a new Deal opens. The Deal id."},"volume":{"type":"integer","description":"Units wanted, such as seats or calls a month."},"term":{"type":"string","description":"Contract length wanted, such as 12 months."},"brief":{"description":"A Service buyer’s scope, sizes and due dates, such as 82,000 words in three weeks."}},"required":["offers"],"additionalProperties":false},"example":{"offers":["offer_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal, waiting on a Quote."},"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote requested, in `draft`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","deal","quote","links"]},"example":{"api":"https://api.sb/routewise.dev","deal":{"$id":"https://api.sb/routewise.dev/deals/deal_1","$type":"Deal","status":"Open"},"quote":{"$id":"https://api.sb/routewise.dev/quotes/quote_1","$type":"Quote","total":{"amount":25,"currency":"USD"},"validUntil":"2026-10-22","status":"draft","lines":{}},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Quote.request","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.requested"}},"/quotes/{quote}/send":{"post":{"operationId":"Quote.send","summary":"Quote.send","description":"Send presents a drafted Quote to its buyer and freezes its lines, total and payment terms.","tags":["Quote"],"parameters":[{"name":"quote","in":"path","required":true,"schema":{"type":"string"},"description":"The draft Quote."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"quote":{"$ref":"#/components/schemas/Quote","description":"The sent Quote."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/petpantry.shop","quote":{"$id":"https://api.sb/petpantry.shop/quotes/quote_1","$type":"Quote","total":{"amount":54,"currency":"USD"},"validUntil":"2026-10-22","status":"sent","lines":{}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Quote.send","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.sent"}},"/quotes/{quote}/supersede":{"post":{"operationId":"Quote.supersede","summary":"Quote.supersede","description":"Supersede replaces a sent Quote with a newer one on the same Deal; only the newest Quote can be accepted.","tags":["Quote"],"parameters":[{"name":"quote","in":"path","required":true,"schema":{"type":"string"},"description":"The Quote being replaced."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The newer Quote that replaces it. The Quote id."}},"required":["by"],"additionalProperties":false},"example":{"by":"quote_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"quote":{"$ref":"#/components/schemas/Quote","description":"The superseded Quote, kept on record."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","quote","links"]},"example":{"api":"https://api.sb/kilnbakery.com","quote":{"$id":"https://api.sb/kilnbakery.com/quotes/quote_1","$type":"Quote","total":{"amount":9,"currency":"USD"},"validUntil":"2026-10-22","status":"superseded","lines":{}},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Quote.supersede","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Quote.superseded"}},"/readouts":{"post":{"operationId":"Readout.create","summary":"Readout.create","description":"Creates a Readout.","tags":["Readout"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"number","description":"The Metric’s value for the Variant."},"n":{"type":"integer","description":"How many exposed units it counts."},"interval":{"description":"The low and high bounds of the estimate."},"readability":{"type":"string","description":"One of `A`, `B`, `C`, or `inadmissible`: how far the number can be trusted.","enum":["A","B","C","inadmissible"]},"pooled":{"type":"boolean","description":"True when exposures from sibling Startups or earlier Portfolio results are pooled in."},"experiment":{"type":"string","description":"The Experiment the result belongs to; the learn step drafts the next Variant from it. The Experiment id."},"variant":{"type":"string","description":"The Variant the number describes. The Variant id."}},"required":["value","n","readability"],"additionalProperties":false},"example":{"value":1,"n":1,"readability":"A"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"readout":{"$ref":"#/components/schemas/Readout","description":"The Readout."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","readout","links"]},"example":{"api":"https://api.sb/tutorloop.com","readout":{"$id":"https://api.sb/tutorloop.com/readouts/readout_1","$type":"Readout","value":1,"n":1,"readability":"A"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Readout.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Readout.created"},"get":{"operationId":"Readout.list","summary":"Readout.list","description":"Returns Readouts, newest first, one page at a time.","tags":["Readout"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"readouts":{"type":"array","items":{"$ref":"#/components/schemas/Readout","description":"One page of Readouts."},"description":"One page of Readouts."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","readouts","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Readout","readouts":[{"$id":"https://api.sb/tutorloop.com/readouts/readout_1","$type":"Readout","value":1,"n":1,"readability":"A"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/readouts?limit=20","next":"https://api.sb/tutorloop.com/readouts?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/readouts/{id}":{"get":{"operationId":"Readout.get","summary":"Readout.get","description":"Returns one Readout by id.","tags":["Readout"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Readout."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"readout":{"$ref":"#/components/schemas/Readout","description":"The Readout."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","readout","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Readout","$id":"https://api.sb/petpantry.shop/readouts/readout_1","readout":{"$id":"https://api.sb/petpantry.shop/readouts/readout_1","$type":"Readout","value":1,"n":1,"readability":"A"},"links":{"self":"https://api.sb/petpantry.shop/readouts/readout_1","up":"https://api.sb/petpantry.shop/readouts"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Readout.update","summary":"Readout.update","description":"Changes the given properties of a Readout.","tags":["Readout"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Readout."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"number","description":"The Metric’s value for the Variant."},"n":{"type":"integer","description":"How many exposed units it counts."},"interval":{"description":"The low and high bounds of the estimate."},"readability":{"type":"string","description":"One of `A`, `B`, `C`, or `inadmissible`: how far the number can be trusted.","enum":["A","B","C","inadmissible"]},"pooled":{"type":"boolean","description":"True when exposures from sibling Startups or earlier Portfolio results are pooled in."}},"additionalProperties":false},"example":{"value":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"readout":{"$ref":"#/components/schemas/Readout","description":"The Readout."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","readout","links"]},"example":{"api":"https://api.sb/ledgerlark.com","readout":{"$id":"https://api.sb/ledgerlark.com/readouts/readout_1","$type":"Readout","value":1,"n":1,"readability":"A"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Readout.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Readout.updated"},"delete":{"operationId":"Readout.delete","summary":"Readout.delete","description":"Deletes a Readout; its history is kept.","tags":["Readout"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Readout."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"readout":{"$ref":"#/components/schemas/Readout","description":"The Readout."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","readout","links"]},"example":{"api":"https://api.sb/patentpad.com","readout":{"$id":"https://api.sb/patentpad.com/readouts/readout_1","$type":"Readout","value":1,"n":1,"readability":"A"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Readout.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Readout.deleted"}},"/recordings/{id}":{"get":{"operationId":"Recording.get","summary":"Recording.get","description":"Returns one Recording by id.","tags":["Recording"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Recording."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"recording":{"$ref":"#/components/schemas/Recording","description":"The Recording."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","recording","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Recording","$id":"https://api.sb/ledgerlark.com/recordings/recording_1","recording":{"$id":"https://api.sb/ledgerlark.com/recordings/recording_1","$type":"Recording","visit":"visit_1","action":"action_1"},"links":{"self":"https://api.sb/ledgerlark.com/recordings/recording_1","up":"https://api.sb/ledgerlark.com/recordings"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/recordings":{"get":{"operationId":"Recording.list","summary":"Recording.list","description":"Returns Recordings, newest first, one page at a time.","tags":["Recording"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"recordings":{"type":"array","items":{"$ref":"#/components/schemas/Recording","description":"One page of Recordings."},"description":"One page of Recordings."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","recordings","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Recording","recordings":[{"$id":"https://api.sb/ledgerlark.com/recordings/recording_1","$type":"Recording","visit":"visit_1","action":"action_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/recordings?limit=20","next":"https://api.sb/ledgerlark.com/recordings?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/recovery-objectives":{"post":{"operationId":"RecoveryObjective.create","summary":"RecoveryObjective.create","description":"Creates a Recovery Objective.","tags":["RecoveryObjective"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recoveryPoint":{"type":"string","description":"The most data a failure may lose, as a window such as `15m`."},"recoveryTime":{"type":"string","description":"How fast the Capability returns after a failure, as a window such as `4h`."},"drillEvery":{"type":"string","description":"The restore drill cadence, such as `quarterly`."},"lastDrill":{"type":"string","format":"date-time","description":"When the last restore drill met both objectives."},"capability":{"type":"string","description":"The Capability the objective restores. The Capability id."}},"required":["recoveryPoint","recoveryTime","drillEvery"],"additionalProperties":false},"example":{"recoveryPoint":"Example recovery point","recoveryTime":"Example recovery time","drillEvery":"Example drill every"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"recoveryObjective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The Recovery Objective."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","recoveryObjective","links"]},"example":{"api":"https://api.sb/petpantry.shop","recoveryObjective":{"$id":"https://api.sb/petpantry.shop/recovery-objectives/recovery_objective_1","$type":"RecoveryObjective","recoveryPoint":"Example recovery point","recoveryTime":"Example recovery time","drillEvery":"Example drill every"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"RecoveryObjective.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"RecoveryObjective.created"},"get":{"operationId":"RecoveryObjective.list","summary":"RecoveryObjective.list","description":"Returns Recovery Objectives, newest first, one page at a time.","tags":["RecoveryObjective"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"recoveryObjectives":{"type":"array","items":{"$ref":"#/components/schemas/RecoveryObjective","description":"One page of Recovery Objectives."},"description":"One page of Recovery Objectives."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","recoveryObjectives","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"RecoveryObjective","recoveryObjectives":[{"$id":"https://api.sb/kilnbakery.com/recovery-objectives/recovery_objective_1","$type":"RecoveryObjective","recoveryPoint":"Example recovery point","recoveryTime":"Example recovery time","drillEvery":"Example drill every"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/recovery-objectives?limit=20","next":"https://api.sb/kilnbakery.com/recovery-objectives?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/recovery-objectives/{id}":{"get":{"operationId":"RecoveryObjective.get","summary":"RecoveryObjective.get","description":"Returns one Recovery Objective by id.","tags":["RecoveryObjective"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Recovery Objective."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"recoveryObjective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The Recovery Objective."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","recoveryObjective","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"RecoveryObjective","$id":"https://api.sb/quietcopy.com/recovery-objectives/recovery_objective_1","recoveryObjective":{"$id":"https://api.sb/quietcopy.com/recovery-objectives/recovery_objective_1","$type":"RecoveryObjective","recoveryPoint":"Example recovery point","recoveryTime":"Example recovery time","drillEvery":"Example drill every"},"links":{"self":"https://api.sb/quietcopy.com/recovery-objectives/recovery_objective_1","up":"https://api.sb/quietcopy.com/recovery-objectives"},"actions":{"drill":"https://api.sb/quietcopy.com/recovery-objectives/recovery_objective_1/drill"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"RecoveryObjective.update","summary":"RecoveryObjective.update","description":"Changes the given properties of a Recovery Objective.","tags":["RecoveryObjective"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Recovery Objective."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"recoveryPoint":{"type":"string","description":"The most data a failure may lose, as a window such as `15m`."},"recoveryTime":{"type":"string","description":"How fast the Capability returns after a failure, as a window such as `4h`."},"drillEvery":{"type":"string","description":"The restore drill cadence, such as `quarterly`."},"lastDrill":{"type":"string","format":"date-time","description":"When the last restore drill met both objectives."}},"additionalProperties":false},"example":{"lastDrill":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"recoveryObjective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The Recovery Objective."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","recoveryObjective","links"]},"example":{"api":"https://api.sb/routewise.dev","recoveryObjective":{"$id":"https://api.sb/routewise.dev/recovery-objectives/recovery_objective_1","$type":"RecoveryObjective","recoveryPoint":"Example recovery point","recoveryTime":"Example recovery time","drillEvery":"Example drill every"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"RecoveryObjective.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"RecoveryObjective.updated"},"delete":{"operationId":"RecoveryObjective.delete","summary":"RecoveryObjective.delete","description":"Deletes a Recovery Objective; its history is kept.","tags":["RecoveryObjective"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Recovery Objective."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"recoveryObjective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The Recovery Objective."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","recoveryObjective","links"]},"example":{"api":"https://api.sb/ledgerlark.com","recoveryObjective":{"$id":"https://api.sb/ledgerlark.com/recovery-objectives/recovery_objective_1","$type":"RecoveryObjective","recoveryPoint":"Example recovery point","recoveryTime":"Example recovery time","drillEvery":"Example drill every"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"RecoveryObjective.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"RecoveryObjective.deleted"}},"/recovery-objectives/{objective}/drill":{"post":{"operationId":"RecoveryObjective.drill","summary":"RecoveryObjective.drill","description":"Drill restores one Capability’s records into an isolated namespace and records whether the restore met both objectives.","tags":["RecoveryObjective"],"parameters":[{"name":"objective","in":"path","required":true,"schema":{"type":"string"},"description":"The Recovery Objective to prove."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"objective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The objective with its last drill result."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","objective","links"]},"example":{"api":"https://api.sb/shiftnote.app","objective":{"$id":"https://api.sb/shiftnote.app/recovery-objectives/recovery_objective_1","$type":"RecoveryObjective","recoveryPoint":"Example recovery point","recoveryTime":"Example recovery time","drillEvery":"Example drill every"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"RecoveryObjective.drill","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"RecoveryObjective.drilled"}},"/referrals":{"post":{"operationId":"Referral.create","summary":"Referral.create","description":"Creates a Referral.","tags":["Referral"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reward":{"$ref":"#/components/schemas/Money","description":"What the referrer earns."},"rewardKind":{"type":"string","description":"What the referrer earns: earlier `access`, or `cash`, which pays only after Live.","enum":["access","cash"]},"party":{"type":"string","description":"The Party who sends a Referral earns its reward. The Party id."}},"additionalProperties":false},"example":{"reward":{"amount":79,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"referral":{"$ref":"#/components/schemas/Referral","description":"The Referral."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","referral","links"]},"example":{"api":"https://api.sb/shiftnote.app","referral":{"$id":"https://api.sb/shiftnote.app/referrals/referral_1","$type":"Referral","reward":{"amount":79,"currency":"USD"},"rewardKind":"access"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Referral.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Referral.created"},"get":{"operationId":"Referral.list","summary":"Referral.list","description":"Returns Referrals, newest first, one page at a time.","tags":["Referral"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"referrals":{"type":"array","items":{"$ref":"#/components/schemas/Referral","description":"One page of Referrals."},"description":"One page of Referrals."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","referrals","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Referral","referrals":[{"$id":"https://api.sb/shiftnote.app/referrals/referral_1","$type":"Referral","reward":{"amount":79,"currency":"USD"},"rewardKind":"access"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/referrals?limit=20","next":"https://api.sb/shiftnote.app/referrals?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/referrals/{id}":{"get":{"operationId":"Referral.get","summary":"Referral.get","description":"Returns one Referral by id.","tags":["Referral"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Referral."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"referral":{"$ref":"#/components/schemas/Referral","description":"The Referral."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","referral","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Referral","$id":"https://api.sb/shiftnote.app/referrals/referral_1","referral":{"$id":"https://api.sb/shiftnote.app/referrals/referral_1","$type":"Referral","reward":{"amount":79,"currency":"USD"},"rewardKind":"access"},"links":{"self":"https://api.sb/shiftnote.app/referrals/referral_1","up":"https://api.sb/shiftnote.app/referrals"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Referral.update","summary":"Referral.update","description":"Changes the given properties of a Referral.","tags":["Referral"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Referral."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reward":{"$ref":"#/components/schemas/Money","description":"What the referrer earns."},"rewardKind":{"type":"string","description":"What the referrer earns: earlier `access`, or `cash`, which pays only after Live.","enum":["access","cash"]}},"additionalProperties":false},"example":{"reward":{"amount":60,"currency":"USD"}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"referral":{"$ref":"#/components/schemas/Referral","description":"The Referral."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","referral","links"]},"example":{"api":"https://api.sb/tutorloop.com","referral":{"$id":"https://api.sb/tutorloop.com/referrals/referral_1","$type":"Referral","reward":{"amount":60,"currency":"USD"},"rewardKind":"access"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Referral.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Referral.updated"},"delete":{"operationId":"Referral.delete","summary":"Referral.delete","description":"Deletes a Referral; its history is kept.","tags":["Referral"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Referral."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"referral":{"$ref":"#/components/schemas/Referral","description":"The Referral."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","referral","links"]},"example":{"api":"https://api.sb/petpantry.shop","referral":{"$id":"https://api.sb/petpantry.shop/referrals/referral_1","$type":"Referral","reward":{"amount":54,"currency":"USD"},"rewardKind":"access"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Referral.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Referral.deleted"}},"/registrations":{"post":{"operationId":"Registration.create","summary":"Registration.create","description":"Creates a Registration.","tags":["Registration"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"registeredAt":{"type":"string","format":"date-time","description":"When the place was confirmed."},"gathering":{"type":"string","description":"A Gathering admits Registrations up to its capacity, then waitlists the rest. The Gathering id."},"contact":{"type":"string","description":"Each Registration holds one Contact’s place; one Contact registers for many Gatherings. The Contact id."}},"additionalProperties":false},"example":{"registeredAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registration","links"]},"example":{"api":"https://api.sb/shiftnote.app","registration":{"$id":"https://api.sb/shiftnote.app/registrations/registration_1","$type":"Registration","status":"invited"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Registration.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Registration.created"},"get":{"operationId":"Registration.list","summary":"Registration.list","description":"Returns Registrations, newest first, one page at a time.","tags":["Registration"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"registrations":{"type":"array","items":{"$ref":"#/components/schemas/Registration","description":"One page of Registrations."},"description":"One page of Registrations."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registrations","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Registration","registrations":[{"$id":"https://api.sb/shiftnote.app/registrations/registration_1","$type":"Registration","status":"invited"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/registrations?limit=20","next":"https://api.sb/shiftnote.app/registrations?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/registrations/{id}":{"get":{"operationId":"Registration.get","summary":"Registration.get","description":"Returns one Registration by id.","tags":["Registration"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Registration."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registration","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Registration","$id":"https://api.sb/shiftnote.app/registrations/registration_1","registration":{"$id":"https://api.sb/shiftnote.app/registrations/registration_1","$type":"Registration","status":"invited"},"links":{"self":"https://api.sb/shiftnote.app/registrations/registration_1","up":"https://api.sb/shiftnote.app/registrations"},"actions":{"admit":"https://api.sb/shiftnote.app/registrations/registration_1/admit","approve":"https://api.sb/shiftnote.app/registrations/registration_1/approve","attend":"https://api.sb/shiftnote.app/registrations/registration_1/attend"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Registration.update","summary":"Registration.update","description":"Changes the given properties of a Registration.","tags":["Registration"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Registration."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"registeredAt":{"type":"string","format":"date-time","description":"When the place was confirmed."}},"additionalProperties":false},"example":{"registeredAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registration","links"]},"example":{"api":"https://api.sb/tutorloop.com","registration":{"$id":"https://api.sb/tutorloop.com/registrations/registration_1","$type":"Registration","status":"invited"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Registration.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Registration.updated"},"delete":{"operationId":"Registration.delete","summary":"Registration.delete","description":"Deletes a Registration; its history is kept.","tags":["Registration"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Registration."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registration","links"]},"example":{"api":"https://api.sb/petpantry.shop","registration":{"$id":"https://api.sb/petpantry.shop/registrations/registration_1","$type":"Registration","status":"invited"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Registration.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Registration.deleted"}},"/registrations/{registration}/admit":{"post":{"operationId":"Registration.admit","summary":"Registration.admit","description":"Admit gives the next Contact in line a place at a Gathering when one frees up or its capacity rises.","tags":["Registration"],"parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"string"},"description":"The waitlisted Registration."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration, now `registered`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registration","links"]},"example":{"api":"https://api.sb/tutorloop.com","registration":{"$id":"https://api.sb/tutorloop.com/registrations/registration_1","$type":"Registration","status":"invited"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Registration.admit","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Registration.admitted"}},"/registrations/{registration}/approve":{"post":{"operationId":"Registration.approve","summary":"Registration.approve","description":"Approve gives a requested place at a Gathering to the Contact who asked, or a place in line when the Gathering is full.","tags":["Registration"],"parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"string"},"description":"The requested Registration."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration, `registered` or `waitlisted`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registration","links"]},"example":{"api":"https://api.sb/tutorloop.com","registration":{"$id":"https://api.sb/tutorloop.com/registrations/registration_1","$type":"Registration","status":"invited"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Registration.approve","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Registration.approved"}},"/registrations/{registration}/attend":{"post":{"operationId":"Registration.attend","summary":"Registration.attend","description":"Attend records that a registered Contact joined the Gathering; an online room calls it on join.","tags":["Registration"],"parameters":[{"name":"registration","in":"path","required":true,"schema":{"type":"string"},"description":"The Registration of the Contact who joined."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration, now `attended`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","registration","links"]},"example":{"api":"https://api.sb/shiftnote.app","registration":{"$id":"https://api.sb/shiftnote.app/registrations/registration_1","$type":"Registration","status":"attended"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Registration.attend","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Registration.attended"}},"/relationships":{"post":{"operationId":"Relationship.create","summary":"Relationship.create","description":"Creates a Relationship.","tags":["Relationship"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"predicate":{"type":"string","description":"The name read from the source, such as `makes`."},"inverse":{"type":"string","description":"The name read from the target, such as `madeBy`."},"provenance":{"type":"string","description":"Who asserted it: `Stated`, `Ratified`, `Inferred`, or `Observed`.","enum":["Stated","Ratified","Inferred","Observed"]},"verb":{"type":"string","description":"A Relationship reads through a Verb whose forms name it from each side, such as `makes` and `madeBy`. The Verb id."}},"required":["predicate","inverse"],"additionalProperties":false},"example":{"predicate":"Example predicate","inverse":"Example inverse"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","relationship","links"]},"example":{"api":"https://api.sb/quietcopy.com","relationship":{"$id":"https://api.sb/quietcopy.com/relationships/relationship_1","$type":"Relationship","predicate":"Example predicate","inverse":"Example inverse"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Relationship.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Relationship.created"},"get":{"operationId":"Relationship.list","summary":"Relationship.list","description":"Returns Relationships, newest first, one page at a time.","tags":["Relationship"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"relationships":{"type":"array","items":{"$ref":"#/components/schemas/Relationship","description":"One page of Relationships."},"description":"One page of Relationships."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","relationships","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Relationship","relationships":[{"$id":"https://api.sb/quietcopy.com/relationships/relationship_1","$type":"Relationship","predicate":"Example predicate","inverse":"Example inverse"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/relationships?limit=20","next":"https://api.sb/quietcopy.com/relationships?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/relationships/{id}":{"get":{"operationId":"Relationship.get","summary":"Relationship.get","description":"Returns one Relationship by id.","tags":["Relationship"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Relationship."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","relationship","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Relationship","$id":"https://api.sb/kilnbakery.com/relationships/relationship_1","relationship":{"$id":"https://api.sb/kilnbakery.com/relationships/relationship_1","$type":"Relationship","predicate":"Example predicate","inverse":"Example inverse"},"links":{"self":"https://api.sb/kilnbakery.com/relationships/relationship_1","up":"https://api.sb/kilnbakery.com/relationships"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Relationship.update","summary":"Relationship.update","description":"Changes the given properties of a Relationship.","tags":["Relationship"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Relationship."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"predicate":{"type":"string","description":"The name read from the source, such as `makes`."},"inverse":{"type":"string","description":"The name read from the target, such as `madeBy`."},"provenance":{"type":"string","description":"Who asserted it: `Stated`, `Ratified`, `Inferred`, or `Observed`.","enum":["Stated","Ratified","Inferred","Observed"]}},"additionalProperties":false},"example":{"provenance":"Stated"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","relationship","links"]},"example":{"api":"https://api.sb/shiftnote.app","relationship":{"$id":"https://api.sb/shiftnote.app/relationships/relationship_1","$type":"Relationship","predicate":"Example predicate","inverse":"Example inverse"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Relationship.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Relationship.updated"},"delete":{"operationId":"Relationship.delete","summary":"Relationship.delete","description":"Deletes a Relationship; its history is kept.","tags":["Relationship"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Relationship."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","relationship","links"]},"example":{"api":"https://api.sb/routewise.dev","relationship":{"$id":"https://api.sb/routewise.dev/relationships/relationship_1","$type":"Relationship","predicate":"Example predicate","inverse":"Example inverse"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Relationship.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Relationship.deleted"}},"/renewals":{"post":{"operationId":"Renewal.create","summary":"Renewal.create","description":"Creates a Renewal.","tags":["Renewal"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Money","description":"What the Deal is worth if won."},"owner":{"type":"string","description":"The Worker who runs it. The Worker id."},"closesOn":{"type":"string","format":"date","description":"The date the buyer expects to decide."},"nextStep":{"type":"string","description":"The next dated step agreed with the buyer."},"termEndsAt":{"type":"string","format":"date-time","description":"When the current term ends, read from the Subscription."},"openedAt":{"type":"string","format":"date-time","description":"When it opened: by default 90 days before the term ends."},"usageReview":{"type":"string","description":"Usage against each Entitlement over the term, written before any Quote."},"noticeSentAt":{"type":"string","format":"date-time","description":"When the renewal notice the legal floor requires went out, with the date, Price and cancel link."},"saveOffer":{"type":"string","description":"The one save offer shown on cancel; it never blocks the cancel."},"subscription":{"type":"string","description":"Each Renewal decides one term of one Subscription; a Subscription has one Renewal per term. The Subscription id."}},"required":["termEndsAt","openedAt"],"additionalProperties":false},"example":{"termEndsAt":"2026-10-22T12:00:00Z","openedAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"renewal":{"$ref":"#/components/schemas/Renewal","description":"The Renewal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","renewal","links"]},"example":{"api":"https://api.sb/quietcopy.com","renewal":{"$id":"https://api.sb/quietcopy.com/renewals/renewal_1","$type":"Renewal","status":"Open","termEndsAt":"2026-10-22T12:00:00Z","openedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Renewal.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Renewal.created"},"get":{"operationId":"Renewal.list","summary":"Renewal.list","description":"Returns Renewals, newest first, one page at a time.","tags":["Renewal"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"renewals":{"type":"array","items":{"$ref":"#/components/schemas/Renewal","description":"One page of Renewals."},"description":"One page of Renewals."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","renewals","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Renewal","renewals":[{"$id":"https://api.sb/quietcopy.com/renewals/renewal_1","$type":"Renewal","status":"Open","termEndsAt":"2026-10-22T12:00:00Z","openedAt":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/renewals?limit=20","next":"https://api.sb/quietcopy.com/renewals?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/renewals/{id}":{"get":{"operationId":"Renewal.get","summary":"Renewal.get","description":"Returns one Renewal by id.","tags":["Renewal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Renewal."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"renewal":{"$ref":"#/components/schemas/Renewal","description":"The Renewal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","renewal","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Renewal","$id":"https://api.sb/kilnbakery.com/renewals/renewal_1","renewal":{"$id":"https://api.sb/kilnbakery.com/renewals/renewal_1","$type":"Renewal","status":"Open","termEndsAt":"2026-10-22T12:00:00Z","openedAt":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/kilnbakery.com/renewals/renewal_1","up":"https://api.sb/kilnbakery.com/renewals"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Renewal.update","summary":"Renewal.update","description":"Changes the given properties of a Renewal.","tags":["Renewal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Renewal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Money","description":"What the Deal is worth if won."},"owner":{"type":"string","description":"The Worker who runs it. The Worker id."},"closesOn":{"type":"string","format":"date","description":"The date the buyer expects to decide."},"nextStep":{"type":"string","description":"The next dated step agreed with the buyer."},"termEndsAt":{"type":"string","format":"date-time","description":"When the current term ends, read from the Subscription."},"openedAt":{"type":"string","format":"date-time","description":"When it opened: by default 90 days before the term ends."},"usageReview":{"type":"string","description":"Usage against each Entitlement over the term, written before any Quote."},"noticeSentAt":{"type":"string","format":"date-time","description":"When the renewal notice the legal floor requires went out, with the date, Price and cancel link."},"saveOffer":{"type":"string","description":"The one save offer shown on cancel; it never blocks the cancel."}},"additionalProperties":false},"example":{"termEndsAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"renewal":{"$ref":"#/components/schemas/Renewal","description":"The Renewal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","renewal","links"]},"example":{"api":"https://api.sb/shiftnote.app","renewal":{"$id":"https://api.sb/shiftnote.app/renewals/renewal_1","$type":"Renewal","status":"Open","termEndsAt":"2026-10-22T12:00:00Z","openedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Renewal.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Renewal.updated"},"delete":{"operationId":"Renewal.delete","summary":"Renewal.delete","description":"Deletes a Renewal; its history is kept.","tags":["Renewal"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Renewal."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"renewal":{"$ref":"#/components/schemas/Renewal","description":"The Renewal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","renewal","links"]},"example":{"api":"https://api.sb/routewise.dev","renewal":{"$id":"https://api.sb/routewise.dev/renewals/renewal_1","$type":"Renewal","status":"Open","termEndsAt":"2026-10-22T12:00:00Z","openedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Renewal.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Renewal.deleted"}},"/renewals/open":{"post":{"operationId":"Renewal.open","summary":"Renewal.open","description":"Open starts the Renewal for a term Subscription before its term ends, with a usage review and any notice the legal floor requires.","tags":["Renewal"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subscription":{"type":"string","description":"The Subscription whose term is ending. The Subscription id."}},"required":["subscription"],"additionalProperties":false},"example":{"subscription":"subscription_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"renewal":{"$ref":"#/components/schemas/Renewal","description":"The open Renewal."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","renewal","links"]},"example":{"api":"https://api.sb/tutorloop.com","renewal":{"$id":"https://api.sb/tutorloop.com/renewals/renewal_1","$type":"Renewal","status":"Open","termEndsAt":"2026-10-22T12:00:00Z","openedAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Renewal.open","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Renewal.opened"}},"/reserved-acts":{"post":{"operationId":"ReservedAct.create","summary":"ReservedAct.create","description":"Creates a Reserved Act.","tags":["ReservedAct"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jurisdiction":{"type":"string","description":"Where the law reserves it."},"verb":{"type":"string","description":"The Verb the law reserves to a credentialed Human in the act’s jurisdiction. The Verb id."}},"required":["jurisdiction"],"additionalProperties":false},"example":{"jurisdiction":"US-DE"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"reservedAct":{"$ref":"#/components/schemas/ReservedAct","description":"The Reserved Act."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","reservedAct","links"]},"example":{"api":"https://api.sb/quietcopy.com","reservedAct":{"$id":"https://api.sb/quietcopy.com/reserved-acts/reserved_act_1","$type":"ReservedAct","jurisdiction":"US-DE"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"ReservedAct.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ReservedAct.created"},"get":{"operationId":"ReservedAct.list","summary":"ReservedAct.list","description":"Returns Reserved Acts, newest first, one page at a time.","tags":["ReservedAct"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"reservedActs":{"type":"array","items":{"$ref":"#/components/schemas/ReservedAct","description":"One page of Reserved Acts."},"description":"One page of Reserved Acts."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","reservedActs","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"ReservedAct","reservedActs":[{"$id":"https://api.sb/quietcopy.com/reserved-acts/reserved_act_1","$type":"ReservedAct","jurisdiction":"US-DE"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/reserved-acts?limit=20","next":"https://api.sb/quietcopy.com/reserved-acts?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/reserved-acts/{id}":{"get":{"operationId":"ReservedAct.get","summary":"ReservedAct.get","description":"Returns one Reserved Act by id.","tags":["ReservedAct"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Reserved Act."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"reservedAct":{"$ref":"#/components/schemas/ReservedAct","description":"The Reserved Act."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","reservedAct","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"ReservedAct","$id":"https://api.sb/kilnbakery.com/reserved-acts/reserved_act_1","reservedAct":{"$id":"https://api.sb/kilnbakery.com/reserved-acts/reserved_act_1","$type":"ReservedAct","jurisdiction":"US-DE"},"links":{"self":"https://api.sb/kilnbakery.com/reserved-acts/reserved_act_1","up":"https://api.sb/kilnbakery.com/reserved-acts"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"ReservedAct.update","summary":"ReservedAct.update","description":"Changes the given properties of a Reserved Act.","tags":["ReservedAct"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Reserved Act."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"jurisdiction":{"type":"string","description":"Where the law reserves it."}},"additionalProperties":false},"example":{"jurisdiction":"US-DE"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"reservedAct":{"$ref":"#/components/schemas/ReservedAct","description":"The Reserved Act."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","reservedAct","links"]},"example":{"api":"https://api.sb/shiftnote.app","reservedAct":{"$id":"https://api.sb/shiftnote.app/reserved-acts/reserved_act_1","$type":"ReservedAct","jurisdiction":"US-DE"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"ReservedAct.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ReservedAct.updated"},"delete":{"operationId":"ReservedAct.delete","summary":"ReservedAct.delete","description":"Deletes a Reserved Act; its history is kept.","tags":["ReservedAct"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Reserved Act."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"reservedAct":{"$ref":"#/components/schemas/ReservedAct","description":"The Reserved Act."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","reservedAct","links"]},"example":{"api":"https://api.sb/routewise.dev","reservedAct":{"$id":"https://api.sb/routewise.dev/reserved-acts/reserved_act_1","$type":"ReservedAct","jurisdiction":"US-DE"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"ReservedAct.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"ReservedAct.deleted"}},"/reviews":{"post":{"operationId":"Review.create","summary":"Review.create","description":"Creates a Review.","tags":["Review"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"rating":{"type":"integer","description":"The score, from 1 to 5."},"body":{"type":"string","description":"The reviewer’s words."},"venue":{"type":"string","description":"The venue it was posted on, by id; empty for the Startup’s own Site."},"displayConsent":{"type":"boolean","description":"True once the reviewer agreed it may be shown on the Startup’s own Pages."},"customer":{"type":"string","description":"The Customer who wrote it, when known. The Customer id."},"offer":{"type":"string","description":"A Review evaluates one Offer; Reviews of a Product or Brand roll up through its Offers. The Offer id."}},"required":["rating"],"additionalProperties":false},"example":{"rating":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"review":{"$ref":"#/components/schemas/Review","description":"The Review."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","review","links"]},"example":{"api":"https://api.sb/petpantry.shop","review":{"$id":"https://api.sb/petpantry.shop/reviews/review_1","$type":"Review","rating":1,"status":"submitted"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Review.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Review.created"},"get":{"operationId":"Review.list","summary":"Review.list","description":"Returns Reviews, newest first, one page at a time.","tags":["Review"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/Review","description":"One page of Reviews."},"description":"One page of Reviews."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","reviews","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Review","reviews":[{"$id":"https://api.sb/kilnbakery.com/reviews/review_1","$type":"Review","rating":1,"status":"submitted"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/reviews?limit=20","next":"https://api.sb/kilnbakery.com/reviews?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/reviews/{id}":{"get":{"operationId":"Review.get","summary":"Review.get","description":"Returns one Review by id.","tags":["Review"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Review."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"review":{"$ref":"#/components/schemas/Review","description":"The Review."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","review","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Review","$id":"https://api.sb/quietcopy.com/reviews/review_1","review":{"$id":"https://api.sb/quietcopy.com/reviews/review_1","$type":"Review","rating":1,"status":"submitted"},"links":{"self":"https://api.sb/quietcopy.com/reviews/review_1","up":"https://api.sb/quietcopy.com/reviews"},"actions":{"publish":"https://api.sb/quietcopy.com/reviews/review_1/publish","remove":"https://api.sb/quietcopy.com/reviews/review_1/remove","withhold":"https://api.sb/quietcopy.com/reviews/review_1/withhold"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Review.update","summary":"Review.update","description":"Changes the given properties of a Review.","tags":["Review"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Review."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"rating":{"type":"integer","description":"The score, from 1 to 5."},"body":{"type":"string","description":"The reviewer’s words."},"venue":{"type":"string","description":"The venue it was posted on, by id; empty for the Startup’s own Site."},"displayConsent":{"type":"boolean","description":"True once the reviewer agreed it may be shown on the Startup’s own Pages."},"customer":{"type":"string","description":"The Customer who wrote it, when known. The Customer id."}},"additionalProperties":false},"example":{"rating":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"review":{"$ref":"#/components/schemas/Review","description":"The Review."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","review","links"]},"example":{"api":"https://api.sb/routewise.dev","review":{"$id":"https://api.sb/routewise.dev/reviews/review_1","$type":"Review","rating":1,"status":"submitted"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Review.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Review.updated"}},"/reviews/{review}/publish":{"post":{"operationId":"Review.publish","summary":"Review.publish","description":"Publish shows a Review on the Startup’s Pages with its rating counted, whatever the rating.","tags":["Review"],"parameters":[{"name":"review","in":"path","required":true,"schema":{"type":"string"},"description":"The Review to show."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"review":{"$ref":"#/components/schemas/Review","description":"The Review, now `published`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","review","links"]},"example":{"api":"https://api.sb/patentpad.com","review":{"$id":"https://api.sb/patentpad.com/reviews/review_1","$type":"Review","rating":1,"status":"submitted"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Review.publish","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Review.published"}},"/reviews/{review}/remove":{"post":{"operationId":"Review.remove","summary":"Review.remove","description":"Remove takes a Review down for good when its author or its venue asks; the record is kept.","tags":["Review"],"parameters":[{"name":"review","in":"path","required":true,"schema":{"type":"string"},"description":"The Review to take down."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Who asked.","enum":["authorRequest","venueRemoved","legalNotice"]}},"required":["reason"],"additionalProperties":false},"example":{"reason":"authorRequest"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"review":{"$ref":"#/components/schemas/Review","description":"The Review, now `removed`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","review","links"]},"example":{"api":"https://api.sb/petpantry.shop","review":{"$id":"https://api.sb/petpantry.shop/reviews/review_1","$type":"Review","rating":1,"status":"submitted"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Review.remove","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Review.removed"}},"/reviews/{review}/withhold":{"post":{"operationId":"Review.withhold","summary":"Review.withhold","description":"Withhold keeps a Review off display for one of five reasons, none of them its rating or its tone.","tags":["Review"],"parameters":[{"name":"review","in":"path","required":true,"schema":{"type":"string"},"description":"The Review to withhold."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it is not shown.","enum":["fake","conflictOfInterest","offTopic","personalData","unlawful"]}},"required":["reason"],"additionalProperties":false},"example":{"reason":"fake"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"review":{"$ref":"#/components/schemas/Review","description":"The Review, now `withheld`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","review","links"]},"example":{"api":"https://api.sb/routewise.dev","review":{"$id":"https://api.sb/routewise.dev/reviews/review_1","$type":"Review","rating":1,"status":"submitted"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Review.withhold","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Review.withheld"}},"/risks":{"post":{"operationId":"Risk.create","summary":"Risk.create","description":"Creates a Risk.","tags":["Risk"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"string","description":"Whose Risk it is: `startup` or `portfolio`, for exposure shared across siblings."},"likelihood":{"type":"integer","description":"How likely it is within a year, from 1 (rare) to 5 (expected)."},"impact":{"type":"integer","description":"How much harm it does if it happens, from 1 (minor) to 5 (ends the Startup)."},"treatment":{"type":"string","description":"The chosen response: `treat`, `accept`, `transfer`, or `avoid`.","enum":["treat","accept","transfer","avoid"]},"owner":{"type":"string","description":"The Role that owns the Risk and its next review. The Role id."},"reviewBy":{"type":"string","format":"date","description":"When the owner next scores it again."},"portfolio":{"type":"string","description":"Exposure shared across sibling Startups, such as one upstream every sibling relies on. The Portfolio id."}},"required":["scope","likelihood","impact","owner"],"additionalProperties":false},"example":{"scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"risk":{"$ref":"#/components/schemas/Risk","description":"The Risk."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","risk","links"]},"example":{"api":"https://api.sb/patentpad.com","risk":{"$id":"https://api.sb/patentpad.com/risks/risk_1","$type":"Risk","scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Risk.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Risk.created"},"get":{"operationId":"Risk.list","summary":"Risk.list","description":"Returns Risks, newest first, one page at a time.","tags":["Risk"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"risks":{"type":"array","items":{"$ref":"#/components/schemas/Risk","description":"One page of Risks."},"description":"One page of Risks."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","risks","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Risk","risks":[{"$id":"https://api.sb/routewise.dev/risks/risk_1","$type":"Risk","scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/risks?limit=20","next":"https://api.sb/routewise.dev/risks?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/risks/{id}":{"get":{"operationId":"Risk.get","summary":"Risk.get","description":"Returns one Risk by id.","tags":["Risk"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Risk."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"risk":{"$ref":"#/components/schemas/Risk","description":"The Risk."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","risk","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Risk","$id":"https://api.sb/patentpad.com/risks/risk_1","risk":{"$id":"https://api.sb/patentpad.com/risks/risk_1","$type":"Risk","scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"},"links":{"self":"https://api.sb/patentpad.com/risks/risk_1","up":"https://api.sb/patentpad.com/risks"},"actions":{"accept":"https://api.sb/patentpad.com/risks/risk_1/accept","assess":"https://api.sb/patentpad.com/risks/risk_1/assess","close":"https://api.sb/patentpad.com/risks/risk_1/close"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Risk.update","summary":"Risk.update","description":"Changes the given properties of a Risk.","tags":["Risk"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Risk."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"string","description":"Whose Risk it is: `startup` or `portfolio`, for exposure shared across siblings."},"likelihood":{"type":"integer","description":"How likely it is within a year, from 1 (rare) to 5 (expected)."},"impact":{"type":"integer","description":"How much harm it does if it happens, from 1 (minor) to 5 (ends the Startup)."},"treatment":{"type":"string","description":"The chosen response: `treat`, `accept`, `transfer`, or `avoid`.","enum":["treat","accept","transfer","avoid"]},"owner":{"type":"string","description":"The Role that owns the Risk and its next review. The Role id."},"reviewBy":{"type":"string","format":"date","description":"When the owner next scores it again."}},"additionalProperties":false},"example":{"likelihood":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"risk":{"$ref":"#/components/schemas/Risk","description":"The Risk."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","risk","links"]},"example":{"api":"https://api.sb/petpantry.shop","risk":{"$id":"https://api.sb/petpantry.shop/risks/risk_1","$type":"Risk","scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Risk.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Risk.updated"}},"/risks/{risk}/accept":{"post":{"operationId":"Risk.accept","summary":"Risk.accept","description":"Accept records an officer’s signed Decision to carry a Risk untreated until its next review.","tags":["Risk"],"parameters":[{"name":"risk","in":"path","required":true,"schema":{"type":"string"},"description":"The Risk to carry."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it is carried, recorded as a Decision."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"risk":{"$ref":"#/components/schemas/Risk","description":"The accepted Risk."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","risk","links"]},"example":{"api":"https://api.sb/routewise.dev","risk":{"$id":"https://api.sb/routewise.dev/risks/risk_1","$type":"Risk","scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Risk.accept","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Risk.accepted"}},"/risks/{risk}/assess":{"post":{"operationId":"Risk.assess","summary":"Risk.assess","description":"Assess scores a Risk’s likelihood and impact from the Startup’s records and sets its next review date.","tags":["Risk"],"parameters":[{"name":"risk","in":"path","required":true,"schema":{"type":"string"},"description":"The Risk to score."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"likelihood":{"type":"integer","description":"Likelihood from 1 to 5."},"impact":{"type":"integer","description":"Impact from 1 to 5."}},"required":["likelihood","impact"],"additionalProperties":false},"example":{"likelihood":1,"impact":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"risk":{"$ref":"#/components/schemas/Risk","description":"The scored Risk."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","risk","links"]},"example":{"api":"https://api.sb/shiftnote.app","risk":{"$id":"https://api.sb/shiftnote.app/risks/risk_1","$type":"Risk","scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Risk.assess","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Risk.assessed"}},"/risks/{risk}/close":{"post":{"operationId":"Risk.close","summary":"Risk.close","description":"Close ends a Risk that can no longer happen and keeps it, with its scores and treatments, forever.","tags":["Risk"],"parameters":[{"name":"risk","in":"path","required":true,"schema":{"type":"string"},"description":"The Risk to close."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why it can no longer happen."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"risk":{"$ref":"#/components/schemas/Risk","description":"The closed Risk, kept forever."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","risk","links"]},"example":{"api":"https://api.sb/patentpad.com","risk":{"$id":"https://api.sb/patentpad.com/risks/risk_1","$type":"Risk","scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Risk.close","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Risk.closed"}},"/risks/{risk}/treat":{"post":{"operationId":"Risk.treat","summary":"Risk.treat","description":"Treat links a Risk to the Controls that lower it and records the score it should reach.","tags":["Risk"],"parameters":[{"name":"risk","in":"path","required":true,"schema":{"type":"string"},"description":"The Risk to treat."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"controls":{"type":"array","items":{"type":"string","description":"The Controls that lower it. The Control id."},"description":"The Controls that lower it."}},"required":["controls"],"additionalProperties":false},"example":{"controls":["control_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"risk":{"$ref":"#/components/schemas/Risk","description":"The treated Risk."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","risk","links"]},"example":{"api":"https://api.sb/routewise.dev","risk":{"$id":"https://api.sb/routewise.dev/risks/risk_1","$type":"Risk","scope":"Example scope","likelihood":1,"impact":1,"owner":"role_1"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Risk.treat","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Risk.treated"}},"/roles":{"post":{"operationId":"Role.create","summary":"Role.create","description":"Creates a Role.","tags":["Role"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The title of the seat."},"responsibilities":{"type":"string","description":"The work the seat owns."},"autonomy":{"description":"How much its agent does without asking: a rung, `assist`, `supervised` or `full`, with another rung per decision class where it differs."},"team":{"type":"string","description":"A Team groups the Roles that do one kind of work under one owner. The Team id."}},"required":["name"],"additionalProperties":false},"example":{"name":"PetPantry"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"role":{"$ref":"#/components/schemas/Role","description":"The Role."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","role","links"]},"example":{"api":"https://api.sb/petpantry.shop","role":{"$id":"https://api.sb/petpantry.shop/roles/role_1","$type":"Role","name":"PetPantry","status":"vacant"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Role.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Role.created"},"get":{"operationId":"Role.list","summary":"Role.list","description":"Returns Roles, newest first, one page at a time.","tags":["Role"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role","description":"One page of Roles."},"description":"One page of Roles."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","roles","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Role","roles":[{"$id":"https://api.sb/kilnbakery.com/roles/role_1","$type":"Role","name":"Kiln Bakery","status":"vacant"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/roles?limit=20","next":"https://api.sb/kilnbakery.com/roles?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/roles/{id}":{"get":{"operationId":"Role.get","summary":"Role.get","description":"Returns one Role by id.","tags":["Role"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Role."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"role":{"$ref":"#/components/schemas/Role","description":"The Role."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","role","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Role","$id":"https://api.sb/quietcopy.com/roles/role_1","role":{"$id":"https://api.sb/quietcopy.com/roles/role_1","$type":"Role","name":"QuietCopy","status":"vacant"},"links":{"self":"https://api.sb/quietcopy.com/roles/role_1","up":"https://api.sb/quietcopy.com/roles"},"actions":{"review":"https://api.sb/quietcopy.com/roles/role_1/review","staff":"https://api.sb/quietcopy.com/roles/role_1/staff","vacate":"https://api.sb/quietcopy.com/roles/role_1/vacate"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Role.update","summary":"Role.update","description":"Changes the given properties of a Role.","tags":["Role"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Role."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The title of the seat."},"responsibilities":{"type":"string","description":"The work the seat owns."},"autonomy":{"description":"How much its agent does without asking: a rung, `assist`, `supervised` or `full`, with another rung per decision class where it differs."}},"additionalProperties":false},"example":{"name":"RouteWise"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"role":{"$ref":"#/components/schemas/Role","description":"The Role."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","role","links"]},"example":{"api":"https://api.sb/routewise.dev","role":{"$id":"https://api.sb/routewise.dev/roles/role_1","$type":"Role","name":"RouteWise","status":"vacant"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Role.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Role.updated"},"delete":{"operationId":"Role.delete","summary":"Role.delete","description":"Deletes a Role; its history is kept.","tags":["Role"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Role."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"role":{"$ref":"#/components/schemas/Role","description":"The Role."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","role","links"]},"example":{"api":"https://api.sb/ledgerlark.com","role":{"$id":"https://api.sb/ledgerlark.com/roles/role_1","$type":"Role","name":"LedgerLark","status":"vacant"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Role.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Role.deleted"}},"/roles/{role}/review":{"post":{"operationId":"Role.review","summary":"Role.review","description":"Review checks one Role against its contract for a period and records a Role Review.","tags":["Role"],"parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"string"},"description":"The Role to review."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"period":{"type":"string","description":"The period it covers, such as `2026-W43`."}},"required":["period"],"additionalProperties":false},"example":{"period":"Example period"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"role":{"$ref":"#/components/schemas/Role","description":"The reviewed Role."},"roleReview":{"$ref":"#/components/schemas/RoleReview","description":"The recorded Role Review."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","role","roleReview","links"]},"example":{"api":"https://api.sb/kilnbakery.com","role":{"$id":"https://api.sb/kilnbakery.com/roles/role_1","$type":"Role","name":"Kiln Bakery","status":"vacant"},"roleReview":{"$id":"https://api.sb/kilnbakery.com/role-reviews/role_review_1","$type":"RoleReview","role":"role_1","period":"2026-W43"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Role.review","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Role.reviewed"}},"/roles/{role}/staff":{"post":{"operationId":"Role.staff","summary":"Role.staff","description":"Staff fills a Role with a Worker, human or agent, who then performs the Role’s Verbs under its Permissions.","tags":["Role"],"parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"string"},"description":"The Role to fill."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"worker":{"type":"string","description":"The Worker who fills it. The Worker id."}},"required":["worker"],"additionalProperties":false},"example":{"worker":"worker_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"role":{"$ref":"#/components/schemas/Role","description":"The staffed Role."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","role","links"]},"example":{"api":"https://api.sb/kilnbakery.com","role":{"$id":"https://api.sb/kilnbakery.com/roles/role_1","$type":"Role","name":"Kiln Bakery","status":"vacant"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Role.staff","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Role.staffed"}},"/roles/{role}/vacate":{"post":{"operationId":"Role.vacate","summary":"Role.vacate","description":"Vacate takes the Worker out of a Role, and the seat’s Tasks route to the Role it escalates to until a new Worker is staffed.","tags":["Role"],"parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"string"},"description":"The Role to empty."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the seat empties."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"role":{"$ref":"#/components/schemas/Role","description":"The vacant Role."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","role","links"]},"example":{"api":"https://api.sb/tutorloop.com","role":{"$id":"https://api.sb/tutorloop.com/roles/role_1","$type":"Role","name":"TutorLoop","status":"vacant"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Role.vacate","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Role.vacated"}},"/role-reviews/{id}":{"get":{"operationId":"RoleReview.get","summary":"RoleReview.get","description":"Returns one Role Review by id.","tags":["RoleReview"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Role Review."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"roleReview":{"$ref":"#/components/schemas/RoleReview","description":"The Role Review."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","roleReview","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"RoleReview","$id":"https://api.sb/tutorloop.com/role-reviews/role_review_1","roleReview":{"$id":"https://api.sb/tutorloop.com/role-reviews/role_review_1","$type":"RoleReview","role":"role_1","period":"2026-W43"},"links":{"self":"https://api.sb/tutorloop.com/role-reviews/role_review_1","up":"https://api.sb/tutorloop.com/role-reviews"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/role-reviews":{"get":{"operationId":"RoleReview.list","summary":"RoleReview.list","description":"Returns Role Reviews, newest first, one page at a time.","tags":["RoleReview"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"roleReviews":{"type":"array","items":{"$ref":"#/components/schemas/RoleReview","description":"One page of Role Reviews."},"description":"One page of Role Reviews."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","roleReviews","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"RoleReview","roleReviews":[{"$id":"https://api.sb/petpantry.shop/role-reviews/role_review_1","$type":"RoleReview","role":"role_1","period":"2026-W43"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/role-reviews?limit=20","next":"https://api.sb/petpantry.shop/role-reviews?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/screenings/{id}":{"get":{"operationId":"Screening.get","summary":"Screening.get","description":"Returns one Screening by id.","tags":["Screening"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Screening."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"screening":{"$ref":"#/components/schemas/Screening","description":"The Screening."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","screening","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Screening","$id":"https://api.sb/petpantry.shop/screenings/screening_1","screening":{"$id":"https://api.sb/petpantry.shop/screenings/screening_1","$type":"Screening","lists":{},"outcome":"clear","via":"platform"},"links":{"self":"https://api.sb/petpantry.shop/screenings/screening_1","up":"https://api.sb/petpantry.shop/screenings"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/screenings":{"get":{"operationId":"Screening.list","summary":"Screening.list","description":"Returns Screenings, newest first, one page at a time.","tags":["Screening"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"screenings":{"type":"array","items":{"$ref":"#/components/schemas/Screening","description":"One page of Screenings."},"description":"One page of Screenings."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","screenings","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Screening","screenings":[{"$id":"https://api.sb/tutorloop.com/screenings/screening_1","$type":"Screening","lists":{},"outcome":"clear","via":"platform"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/screenings?limit=20","next":"https://api.sb/tutorloop.com/screenings?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/secrets/{id}":{"get":{"operationId":"Secret.get","summary":"Secret.get","description":"Returns one Secret by id.","tags":["Secret"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Secret."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"secret":{"$ref":"#/components/schemas/Secret","description":"The Secret."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","secret","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Secret","$id":"https://api.sb/quietcopy.com/secrets/secret_1","secret":{"$id":"https://api.sb/quietcopy.com/secrets/secret_1","$type":"Secret","name":"MAPS_KEY","environment":"test","scope":"startup"},"links":{"self":"https://api.sb/quietcopy.com/secrets/secret_1","up":"https://api.sb/quietcopy.com/secrets"},"actions":{"revoke":"https://api.sb/quietcopy.com/secrets/secret_1/revoke","rotate":"https://api.sb/quietcopy.com/secrets/secret_1/rotate"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/secrets":{"get":{"operationId":"Secret.list","summary":"Secret.list","description":"Returns Secrets, newest first, one page at a time.","tags":["Secret"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"secrets":{"type":"array","items":{"$ref":"#/components/schemas/Secret","description":"One page of Secrets."},"description":"One page of Secrets."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","secrets","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Secret","secrets":[{"$id":"https://api.sb/kilnbakery.com/secrets/secret_1","$type":"Secret","name":"MAPS_KEY","environment":"test","scope":"startup"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/secrets?limit=20","next":"https://api.sb/kilnbakery.com/secrets?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/secrets/{secret}/revoke":{"post":{"operationId":"Secret.revoke","summary":"Secret.revoke","description":"Revoke ends a Secret so no call fills it again; the record and its history stay.","tags":["Secret"],"parameters":[{"name":"secret","in":"path","required":true,"schema":{"type":"string"},"description":"The Secret to revoke."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why, such as a leaked value."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"secret":{"$ref":"#/components/schemas/Secret","description":"The revoked Secret."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","secret","links"]},"example":{"api":"https://api.sb/tutorloop.com","secret":{"$id":"https://api.sb/tutorloop.com/secrets/secret_1","$type":"Secret","name":"MAPS_KEY","environment":"test","scope":"startup"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Secret.revoke","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Secret.revoked"}},"/secrets/{secret}/rotate":{"post":{"operationId":"Secret.rotate","summary":"Secret.rotate","description":"Rotate replaces a Secret’s value, and calls already running finish on the old one.","tags":["Secret"],"parameters":[{"name":"secret","in":"path","required":true,"schema":{"type":"string"},"description":"The Secret to rotate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"string","description":"The new value; omitted when the upstream issues one."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"secret":{"$ref":"#/components/schemas/Secret","description":"The Secret, with its new `rotatedAt`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","secret","links"]},"example":{"api":"https://api.sb/ledgerlark.com","secret":{"$id":"https://api.sb/ledgerlark.com/secrets/secret_1","$type":"Secret","name":"MAPS_KEY","environment":"test","scope":"startup"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Secret.rotate","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Secret.rotated"}},"/secrets/store":{"post":{"operationId":"Secret.store","summary":"Secret.store","description":"Store writes a Secret’s value for one environment; the value is never returned by any Interface.","tags":["Secret"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name Functions declare."},"value":{"type":"string","description":"The credential; write-only."},"environment":{"type":"string","description":"Where it holds.","enum":["test","live"]}},"required":["name","value","environment"],"additionalProperties":false},"example":{"name":"MAPS_KEY","value":"Example value","environment":"test"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"secret":{"$ref":"#/components/schemas/Secret","description":"The Secret, without its value."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","secret","links"]},"example":{"api":"https://api.sb/shiftnote.app","secret":{"$id":"https://api.sb/shiftnote.app/secrets/secret_1","$type":"Secret","name":"MAPS_KEY","environment":"test","scope":"startup"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Secret.store","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Secret.stored"}},"/sequences":{"post":{"operationId":"Sequence.create","summary":"Sequence.create","description":"Creates a Sequence.","tags":["Sequence"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"steps":{"description":"The steps, waits, and branches."},"exitOn":{"type":"string","description":"The Events that end it from any step, such as a reply or a purchase."}},"required":["steps"],"additionalProperties":false},"example":{"steps":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"sequence":{"$ref":"#/components/schemas/Sequence","description":"The Sequence."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","sequence","links"]},"example":{"api":"https://api.sb/shiftnote.app","sequence":{"$id":"https://api.sb/shiftnote.app/sequences/sequence_1","$type":"Sequence","steps":{}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Sequence.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Sequence.created"},"get":{"operationId":"Sequence.list","summary":"Sequence.list","description":"Returns Sequences, newest first, one page at a time.","tags":["Sequence"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"sequences":{"type":"array","items":{"$ref":"#/components/schemas/Sequence","description":"One page of Sequences."},"description":"One page of Sequences."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","sequences","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Sequence","sequences":[{"$id":"https://api.sb/shiftnote.app/sequences/sequence_1","$type":"Sequence","steps":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/sequences?limit=20","next":"https://api.sb/shiftnote.app/sequences?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/sequences/{id}":{"get":{"operationId":"Sequence.get","summary":"Sequence.get","description":"Returns one Sequence by id.","tags":["Sequence"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Sequence."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"sequence":{"$ref":"#/components/schemas/Sequence","description":"The Sequence."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","sequence","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Sequence","$id":"https://api.sb/shiftnote.app/sequences/sequence_1","sequence":{"$id":"https://api.sb/shiftnote.app/sequences/sequence_1","$type":"Sequence","steps":{}},"links":{"self":"https://api.sb/shiftnote.app/sequences/sequence_1","up":"https://api.sb/shiftnote.app/sequences"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Sequence.update","summary":"Sequence.update","description":"Changes the given properties of a Sequence.","tags":["Sequence"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Sequence."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"steps":{"description":"The steps, waits, and branches."},"exitOn":{"type":"string","description":"The Events that end it from any step, such as a reply or a purchase."}},"additionalProperties":false},"example":{"steps":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"sequence":{"$ref":"#/components/schemas/Sequence","description":"The Sequence."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","sequence","links"]},"example":{"api":"https://api.sb/tutorloop.com","sequence":{"$id":"https://api.sb/tutorloop.com/sequences/sequence_1","$type":"Sequence","steps":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Sequence.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Sequence.updated"},"delete":{"operationId":"Sequence.delete","summary":"Sequence.delete","description":"Deletes a Sequence; its history is kept.","tags":["Sequence"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Sequence."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"sequence":{"$ref":"#/components/schemas/Sequence","description":"The Sequence."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","sequence","links"]},"example":{"api":"https://api.sb/petpantry.shop","sequence":{"$id":"https://api.sb/petpantry.shop/sequences/sequence_1","$type":"Sequence","steps":{}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Sequence.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Sequence.deleted"}},"/services":{"post":{"operationId":"Service.create","summary":"Service.create","description":"Creates a Service.","tags":["Service"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"floor":{"type":"string","description":"The human floor: `none`, `sign`, or `practice`.","enum":["none","sign","practice"]}},"required":["name","promise"],"additionalProperties":false},"example":{"name":"LedgerLark","promise":"Books closed by the fifth of each month."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"service":{"$ref":"#/components/schemas/Service","description":"The Service."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","service","links"]},"example":{"api":"https://api.sb/ledgerlark.com","service":{"$id":"https://api.sb/ledgerlark.com/services/service_1","$type":"Service","name":"LedgerLark","promise":"Books closed by the fifth of each month.","status":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Service.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Service.created"},"get":{"operationId":"Service.list","summary":"Service.list","description":"Returns Services, newest first, one page at a time.","tags":["Service"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"services":{"type":"array","items":{"$ref":"#/components/schemas/Service","description":"One page of Services."},"description":"One page of Services."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","services","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Service","services":[{"$id":"https://api.sb/ledgerlark.com/services/service_1","$type":"Service","name":"LedgerLark","promise":"Books closed by the fifth of each month.","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/services?limit=20","next":"https://api.sb/ledgerlark.com/services?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/services/{id}":{"get":{"operationId":"Service.get","summary":"Service.get","description":"Returns one Service by id.","tags":["Service"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Service."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"service":{"$ref":"#/components/schemas/Service","description":"The Service."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","service","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Service","$id":"https://api.sb/ledgerlark.com/services/service_1","service":{"$id":"https://api.sb/ledgerlark.com/services/service_1","$type":"Service","name":"LedgerLark","promise":"Books closed by the fifth of each month.","status":"draft"},"links":{"self":"https://api.sb/ledgerlark.com/services/service_1","up":"https://api.sb/ledgerlark.com/services"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Service.update","summary":"Service.update","description":"Changes the given properties of a Service.","tags":["Service"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Service."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"floor":{"type":"string","description":"The human floor: `none`, `sign`, or `practice`.","enum":["none","sign","practice"]}},"additionalProperties":false},"example":{"floor":"none"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"service":{"$ref":"#/components/schemas/Service","description":"The Service."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","service","links"]},"example":{"api":"https://api.sb/quietcopy.com","service":{"$id":"https://api.sb/quietcopy.com/services/service_1","$type":"Service","name":"QuietCopy","promise":"Line-by-line edits within one day.","status":"draft"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Service.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Service.updated"},"delete":{"operationId":"Service.delete","summary":"Service.delete","description":"Deletes a Service; its history is kept.","tags":["Service"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Service."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"service":{"$ref":"#/components/schemas/Service","description":"The Service."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","service","links"]},"example":{"api":"https://api.sb/kilnbakery.com","service":{"$id":"https://api.sb/kilnbakery.com/services/service_1","$type":"Service","name":"Kiln Bakery","promise":"Bread out of the oven by 8 a.m.","status":"draft"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Service.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Service.deleted"}},"/settings":{"post":{"operationId":"Setting.create","summary":"Setting.create","description":"Creates a Setting.","tags":["Setting"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The name of the choice."},"value":{"description":"The chosen value."},"locked":{"type":"boolean","description":"True when no holder below may override it."},"thing":{"type":"string","description":"The Thing whose choice a Setting holds; everything below it inherits the value unless it sets its own. The Thing id."}},"required":["key","value"],"additionalProperties":false},"example":{"key":"Example key","value":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"setting":{"$ref":"#/components/schemas/Setting","description":"The Setting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","setting","links"]},"example":{"api":"https://api.sb/quietcopy.com","setting":{"$id":"https://api.sb/quietcopy.com/settings/setting_1","$type":"Setting","key":"Example key","value":{}},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Setting.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Setting.created"},"get":{"operationId":"Setting.list","summary":"Setting.list","description":"Returns Settings, newest first, one page at a time.","tags":["Setting"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/Setting","description":"One page of Settings."},"description":"One page of Settings."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","settings","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Setting","settings":[{"$id":"https://api.sb/quietcopy.com/settings/setting_1","$type":"Setting","key":"Example key","value":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/settings?limit=20","next":"https://api.sb/quietcopy.com/settings?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/settings/{id}":{"get":{"operationId":"Setting.get","summary":"Setting.get","description":"Returns one Setting by id.","tags":["Setting"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Setting."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"setting":{"$ref":"#/components/schemas/Setting","description":"The Setting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","setting","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Setting","$id":"https://api.sb/kilnbakery.com/settings/setting_1","setting":{"$id":"https://api.sb/kilnbakery.com/settings/setting_1","$type":"Setting","key":"Example key","value":{}},"links":{"self":"https://api.sb/kilnbakery.com/settings/setting_1","up":"https://api.sb/kilnbakery.com/settings"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Setting.update","summary":"Setting.update","description":"Changes the given properties of a Setting.","tags":["Setting"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Setting."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The name of the choice."},"value":{"description":"The chosen value."},"locked":{"type":"boolean","description":"True when no holder below may override it."}},"additionalProperties":false},"example":{"value":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"setting":{"$ref":"#/components/schemas/Setting","description":"The Setting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","setting","links"]},"example":{"api":"https://api.sb/shiftnote.app","setting":{"$id":"https://api.sb/shiftnote.app/settings/setting_1","$type":"Setting","key":"Example key","value":{}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Setting.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Setting.updated"},"delete":{"operationId":"Setting.delete","summary":"Setting.delete","description":"Deletes a Setting; its history is kept.","tags":["Setting"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Setting."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"setting":{"$ref":"#/components/schemas/Setting","description":"The Setting."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","setting","links"]},"example":{"api":"https://api.sb/routewise.dev","setting":{"$id":"https://api.sb/routewise.dev/settings/setting_1","$type":"Setting","key":"Example key","value":{}},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Setting.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Setting.deleted"}},"/shares/{id}":{"get":{"operationId":"Share.get","summary":"Share.get","description":"Returns one Share by id.","tags":["Share"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Share."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"share":{"$ref":"#/components/schemas/Share","description":"The Share."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","share","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Share","$id":"https://api.sb/shiftnote.app/shares/share_1","share":{"$id":"https://api.sb/shiftnote.app/shares/share_1","$type":"Share","class":"common","quantity":1},"links":{"self":"https://api.sb/shiftnote.app/shares/share_1","up":"https://api.sb/shiftnote.app/shares"},"actions":{"transfer":"https://api.sb/shiftnote.app/shares/share_1/transfer"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/shares":{"get":{"operationId":"Share.list","summary":"Share.list","description":"Returns Shares, newest first, one page at a time.","tags":["Share"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"shares":{"type":"array","items":{"$ref":"#/components/schemas/Share","description":"One page of Shares."},"description":"One page of Shares."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","shares","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Share","shares":[{"$id":"https://api.sb/shiftnote.app/shares/share_1","$type":"Share","class":"common","quantity":1}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/shares?limit=20","next":"https://api.sb/shiftnote.app/shares?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/shares/issue":{"post":{"operationId":"Share.issue","summary":"Share.issue","description":"Issue records new Shares of one class to a Holder under a board-approved Agreement, with the certificate or book entry.","tags":["Share"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"holder":{"type":"string","description":"The Holder who receives the Shares. The Holder id."},"class":{"type":"string","description":"The share class."},"quantity":{"type":"integer","description":"How many Shares."},"price":{"$ref":"#/components/schemas/Money","description":"The price paid per Share."},"agreement":{"type":"string","description":"The board-approved Agreement that authorizes the issue. The Agreement id."}},"required":["holder","class","quantity","price","agreement"],"additionalProperties":false},"example":{"holder":"holder_1","class":"Example class","quantity":1,"price":{"amount":9,"currency":"USD"},"agreement":"agreement_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"share":{"$ref":"#/components/schemas/Share","description":"The issued Share record."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","share","links"]},"example":{"api":"https://api.sb/kilnbakery.com","share":{"$id":"https://api.sb/kilnbakery.com/shares/share_1","$type":"Share","class":"common","quantity":1},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Share.issue","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Share.issued"}},"/shares/{share}/transfer":{"post":{"operationId":"Share.transfer","summary":"Share.transfer","description":"Transfer moves Shares from one Holder to another under a signed Agreement, within the Company’s transfer restrictions.","tags":["Share"],"parameters":[{"name":"share","in":"path","required":true,"schema":{"type":"string"},"description":"The Share record to transfer from."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"The Holder who receives them. The Holder id."},"quantity":{"type":"integer","description":"How many Shares move."},"agreement":{"type":"string","description":"The signed transfer Agreement. The Agreement id."}},"required":["to","quantity","agreement"],"additionalProperties":false},"example":{"to":"holder_1","quantity":1,"agreement":"agreement_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"share":{"$ref":"#/components/schemas/Share","description":"The new Share record held by the receiving Holder."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","share","links"]},"example":{"api":"https://api.sb/kilnbakery.com","share":{"$id":"https://api.sb/kilnbakery.com/shares/share_1","$type":"Share","class":"common","quantity":1},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Share.transfer","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Share.transferred"}},"/sites":{"post":{"operationId":"Site.create","summary":"Site.create","description":"Creates a Site.","tags":["Site"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `api`, `mcp`, `cli`, `sdk`, `site`, `app`, `docs`, or `webhooks`.","enum":["api","mcp","cli","sdk","site","app","docs","webhooks"]},"path":{"type":"string","description":"Where it is mounted on its Domain, such as `/api`."},"conformsTo":{"description":"The Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs."},"navigation":{"description":"The menus that link its Pages."},"brand":{"type":"string","description":"A Site renders one Brand’s name, voice and Theme. The Brand id."}},"required":["kind"],"additionalProperties":false},"example":{"kind":"api"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"site":{"$ref":"#/components/schemas/Site","description":"The Site."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","site","links"]},"example":{"api":"https://api.sb/routewise.dev","site":{"$id":"https://api.sb/routewise.dev/sites/site_1","$type":"Site","kind":"api"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Site.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Site.created"},"get":{"operationId":"Site.list","summary":"Site.list","description":"Returns Sites, newest first, one page at a time.","tags":["Site"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"sites":{"type":"array","items":{"$ref":"#/components/schemas/Site","description":"One page of Sites."},"description":"One page of Sites."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","sites","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Site","sites":[{"$id":"https://api.sb/patentpad.com/sites/site_1","$type":"Site","kind":"api"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/sites?limit=20","next":"https://api.sb/patentpad.com/sites?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/sites/{id}":{"get":{"operationId":"Site.get","summary":"Site.get","description":"Returns one Site by id.","tags":["Site"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Site."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"site":{"$ref":"#/components/schemas/Site","description":"The Site."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","site","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Site","$id":"https://api.sb/routewise.dev/sites/site_1","site":{"$id":"https://api.sb/routewise.dev/sites/site_1","$type":"Site","kind":"api"},"links":{"self":"https://api.sb/routewise.dev/sites/site_1","up":"https://api.sb/routewise.dev/sites"},"actions":{"publish":"https://api.sb/routewise.dev/sites/site_1/publish"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Site.update","summary":"Site.update","description":"Changes the given properties of a Site.","tags":["Site"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Site."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","description":"One of `api`, `mcp`, `cli`, `sdk`, `site`, `app`, `docs`, or `webhooks`.","enum":["api","mcp","cli","sdk","site","app","docs","webhooks"]},"path":{"type":"string","description":"Where it is mounted on its Domain, such as `/api`."},"conformsTo":{"description":"The Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs."},"navigation":{"description":"The menus that link its Pages."}},"additionalProperties":false},"example":{"navigation":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"site":{"$ref":"#/components/schemas/Site","description":"The Site."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","site","links"]},"example":{"api":"https://api.sb/kilnbakery.com","site":{"$id":"https://api.sb/kilnbakery.com/sites/site_1","$type":"Site","kind":"api"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Site.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Site.updated"},"delete":{"operationId":"Site.delete","summary":"Site.delete","description":"Deletes a Site; its history is kept.","tags":["Site"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Site."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"site":{"$ref":"#/components/schemas/Site","description":"The Site."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","site","links"]},"example":{"api":"https://api.sb/tutorloop.com","site":{"$id":"https://api.sb/tutorloop.com/sites/site_1","$type":"Site","kind":"api"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Site.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Site.deleted"}},"/sites/{site}/publish":{"post":{"operationId":"Site.publish","summary":"Site.publish","description":"Publish puts a Site’s current Pages live on its Domains, under its Brand.","tags":["Site"],"parameters":[{"name":"site","in":"path","required":true,"schema":{"type":"string"},"description":"The Site to publish."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"site":{"$ref":"#/components/schemas/Site","description":"The Site, now live."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","site","links"]},"example":{"api":"https://api.sb/tutorloop.com","site":{"$id":"https://api.sb/tutorloop.com/sites/site_1","$type":"Site","kind":"api"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Site.publish","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Site.published"}},"/skills":{"post":{"operationId":"Skill.create","summary":"Skill.create","description":"Creates a Skill.","tags":["Skill"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"level":{"type":"integer","description":"How well the Worker performs it."}},"additionalProperties":false},"example":{"level":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"skill":{"$ref":"#/components/schemas/Skill","description":"The Skill."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","skill","links"]},"example":{"api":"https://api.sb/routewise.dev","skill":{"$id":"https://api.sb/routewise.dev/skills/skill_1","$type":"Skill","level":1},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Skill.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Skill.created"},"get":{"operationId":"Skill.list","summary":"Skill.list","description":"Returns Skills, newest first, one page at a time.","tags":["Skill"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"skills":{"type":"array","items":{"$ref":"#/components/schemas/Skill","description":"One page of Skills."},"description":"One page of Skills."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","skills","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Skill","skills":[{"$id":"https://api.sb/patentpad.com/skills/skill_1","$type":"Skill","level":1}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/skills?limit=20","next":"https://api.sb/patentpad.com/skills?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/skills/{id}":{"get":{"operationId":"Skill.get","summary":"Skill.get","description":"Returns one Skill by id.","tags":["Skill"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Skill."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"skill":{"$ref":"#/components/schemas/Skill","description":"The Skill."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","skill","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Skill","$id":"https://api.sb/routewise.dev/skills/skill_1","skill":{"$id":"https://api.sb/routewise.dev/skills/skill_1","$type":"Skill","level":1},"links":{"self":"https://api.sb/routewise.dev/skills/skill_1","up":"https://api.sb/routewise.dev/skills"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Skill.update","summary":"Skill.update","description":"Changes the given properties of a Skill.","tags":["Skill"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Skill."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"level":{"type":"integer","description":"How well the Worker performs it."}},"additionalProperties":false},"example":{"level":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"skill":{"$ref":"#/components/schemas/Skill","description":"The Skill."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","skill","links"]},"example":{"api":"https://api.sb/kilnbakery.com","skill":{"$id":"https://api.sb/kilnbakery.com/skills/skill_1","$type":"Skill","level":1},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Skill.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Skill.updated"},"delete":{"operationId":"Skill.delete","summary":"Skill.delete","description":"Deletes a Skill; its history is kept.","tags":["Skill"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Skill."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"skill":{"$ref":"#/components/schemas/Skill","description":"The Skill."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","skill","links"]},"example":{"api":"https://api.sb/tutorloop.com","skill":{"$id":"https://api.sb/tutorloop.com/skills/skill_1","$type":"Skill","level":1},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Skill.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Skill.deleted"}},"/software":{"post":{"operationId":"Software.create","summary":"Software.create","description":"Creates a Software.","tags":["Software"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"headless":{"type":"boolean","description":"True when it ships without screens of its own."}},"required":["name","promise"],"additionalProperties":false},"example":{"name":"ShiftNote","promise":"Every open shift filled 48 hours ahead."}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"software":{"$ref":"#/components/schemas/Software","description":"The Software."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","software","links"]},"example":{"api":"https://api.sb/shiftnote.app","software":{"$id":"https://api.sb/shiftnote.app/software/software_1","$type":"Software","name":"ShiftNote","promise":"Every open shift filled 48 hours ahead.","status":"draft"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Software.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Software.created"},"get":{"operationId":"Software.list","summary":"Software.list","description":"Returns Software, newest first, one page at a time.","tags":["Software"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"software":{"type":"array","items":{"$ref":"#/components/schemas/Software","description":"One page of Software."},"description":"One page of Software."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","software","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Software","software":[{"$id":"https://api.sb/shiftnote.app/software/software_1","$type":"Software","name":"ShiftNote","promise":"Every open shift filled 48 hours ahead.","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/software?limit=20","next":"https://api.sb/shiftnote.app/software?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/software/{id}":{"get":{"operationId":"Software.get","summary":"Software.get","description":"Returns one Software by id.","tags":["Software"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Software."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"software":{"$ref":"#/components/schemas/Software","description":"The Software."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","software","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Software","$id":"https://api.sb/shiftnote.app/software/software_1","software":{"$id":"https://api.sb/shiftnote.app/software/software_1","$type":"Software","name":"ShiftNote","promise":"Every open shift filled 48 hours ahead.","status":"draft"},"links":{"self":"https://api.sb/shiftnote.app/software/software_1","up":"https://api.sb/shiftnote.app/software"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Software.update","summary":"Software.update","description":"Changes the given properties of a Software.","tags":["Software"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Software."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"headless":{"type":"boolean","description":"True when it ships without screens of its own."}},"additionalProperties":false},"example":{"headless":true}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"software":{"$ref":"#/components/schemas/Software","description":"The Software."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","software","links"]},"example":{"api":"https://api.sb/tutorloop.com","software":{"$id":"https://api.sb/tutorloop.com/software/software_1","$type":"Software","name":"TutorLoop","promise":"A tutor confirmed within one hour.","status":"draft"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Software.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Software.updated"},"delete":{"operationId":"Software.delete","summary":"Software.delete","description":"Deletes a Software; its history is kept.","tags":["Software"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Software."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"software":{"$ref":"#/components/schemas/Software","description":"The Software."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","software","links"]},"example":{"api":"https://api.sb/petpantry.shop","software":{"$id":"https://api.sb/petpantry.shop/software/software_1","$type":"Software","name":"PetPantry","promise":"The next bag arrives before the last one runs out.","status":"draft"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Software.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Software.deleted"}},"/sources":{"post":{"operationId":"Source.create","summary":"Source.create","description":"Creates a Source.","tags":["Source"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"acquired":{"type":"string","description":"One of `owned`, `wrapped`, or `recruited`.","enum":["owned","wrapped","recruited"]},"terms":{"type":"string","description":"The terms the Startup holds the right to use and resell it under."}},"required":["acquired"],"additionalProperties":false},"example":{"acquired":"owned"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"source":{"$ref":"#/components/schemas/Source","description":"The Source."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","source","links"]},"example":{"api":"https://api.sb/shiftnote.app","source":{"$id":"https://api.sb/shiftnote.app/sources/source_1","$type":"Source","acquired":"owned"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Source.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Source.created"},"get":{"operationId":"Source.list","summary":"Source.list","description":"Returns Sources, newest first, one page at a time.","tags":["Source"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source","description":"One page of Sources."},"description":"One page of Sources."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","sources","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Source","sources":[{"$id":"https://api.sb/shiftnote.app/sources/source_1","$type":"Source","acquired":"owned"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/sources?limit=20","next":"https://api.sb/shiftnote.app/sources?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/sources/{id}":{"get":{"operationId":"Source.get","summary":"Source.get","description":"Returns one Source by id.","tags":["Source"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Source."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"source":{"$ref":"#/components/schemas/Source","description":"The Source."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","source","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Source","$id":"https://api.sb/shiftnote.app/sources/source_1","source":{"$id":"https://api.sb/shiftnote.app/sources/source_1","$type":"Source","acquired":"owned"},"links":{"self":"https://api.sb/shiftnote.app/sources/source_1","up":"https://api.sb/shiftnote.app/sources"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Source.update","summary":"Source.update","description":"Changes the given properties of a Source.","tags":["Source"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Source."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"acquired":{"type":"string","description":"One of `owned`, `wrapped`, or `recruited`.","enum":["owned","wrapped","recruited"]},"terms":{"type":"string","description":"The terms the Startup holds the right to use and resell it under."}},"additionalProperties":false},"example":{"acquired":"owned"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"source":{"$ref":"#/components/schemas/Source","description":"The Source."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","source","links"]},"example":{"api":"https://api.sb/tutorloop.com","source":{"$id":"https://api.sb/tutorloop.com/sources/source_1","$type":"Source","acquired":"owned"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Source.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Source.updated"},"delete":{"operationId":"Source.delete","summary":"Source.delete","description":"Deletes a Source; its history is kept.","tags":["Source"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Source."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"source":{"$ref":"#/components/schemas/Source","description":"The Source."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","source","links"]},"example":{"api":"https://api.sb/petpantry.shop","source":{"$id":"https://api.sb/petpantry.shop/sources/source_1","$type":"Source","acquired":"owned"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Source.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Source.deleted"}},"/sso-connections":{"post":{"operationId":"SSOConnection.create","summary":"SSOConnection.create","description":"Creates a SSO Connection.","tags":["SSOConnection"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"protocol":{"type":"string","description":"How sign-in is asserted: `saml` or `oidc`.","enum":["saml","oidc"]},"certificateExpiresAt":{"type":"string","format":"date-time","description":"When the signing certificate expires; the Customer’s admin hears 30 days before."},"testedAt":{"type":"string","format":"date-time","description":"When the Customer’s admin last completed a test sign-in."},"tenant":{"type":"string","description":"A Tenant’s people sign in through its SSO Connections; the Customer’s admin owns each one. The Tenant id."}},"required":["protocol"],"additionalProperties":false},"example":{"protocol":"saml"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"ssoConnection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ssoConnection","links"]},"example":{"api":"https://api.sb/ledgerlark.com","ssoConnection":{"$id":"https://api.sb/ledgerlark.com/sso-connections/sso_connection_1","$type":"SSOConnection","protocol":"saml","state":"draft"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"SSOConnection.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"SSOConnection.created"},"get":{"operationId":"SSOConnection.list","summary":"SSOConnection.list","description":"Returns SSO Connections, newest first, one page at a time.","tags":["SSOConnection"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"ssoConnections":{"type":"array","items":{"$ref":"#/components/schemas/SSOConnection","description":"One page of SSO Connections."},"description":"One page of SSO Connections."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ssoConnections","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"SSOConnection","ssoConnections":[{"$id":"https://api.sb/ledgerlark.com/sso-connections/sso_connection_1","$type":"SSOConnection","protocol":"saml","state":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/sso-connections?limit=20","next":"https://api.sb/ledgerlark.com/sso-connections?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/sso-connections/{id}":{"get":{"operationId":"SSOConnection.get","summary":"SSOConnection.get","description":"Returns one SSO Connection by id.","tags":["SSOConnection"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the SSO Connection."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"ssoConnection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ssoConnection","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"SSOConnection","$id":"https://api.sb/ledgerlark.com/sso-connections/sso_connection_1","ssoConnection":{"$id":"https://api.sb/ledgerlark.com/sso-connections/sso_connection_1","$type":"SSOConnection","protocol":"saml","state":"draft"},"links":{"self":"https://api.sb/ledgerlark.com/sso-connections/sso_connection_1","up":"https://api.sb/ledgerlark.com/sso-connections"},"actions":{"activate":"https://api.sb/ledgerlark.com/sso-connections/sso_connection_1/activate","deactivate":"https://api.sb/ledgerlark.com/sso-connections/sso_connection_1/deactivate"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"SSOConnection.update","summary":"SSOConnection.update","description":"Changes the given properties of a SSO Connection.","tags":["SSOConnection"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the SSO Connection."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"protocol":{"type":"string","description":"How sign-in is asserted: `saml` or `oidc`.","enum":["saml","oidc"]},"certificateExpiresAt":{"type":"string","format":"date-time","description":"When the signing certificate expires; the Customer’s admin hears 30 days before."},"testedAt":{"type":"string","format":"date-time","description":"When the Customer’s admin last completed a test sign-in."}},"additionalProperties":false},"example":{"protocol":"saml"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"ssoConnection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","ssoConnection","links"]},"example":{"api":"https://api.sb/quietcopy.com","ssoConnection":{"$id":"https://api.sb/quietcopy.com/sso-connections/sso_connection_1","$type":"SSOConnection","protocol":"saml","state":"draft"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"SSOConnection.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"SSOConnection.updated"}},"/sso-connections/{connection}/activate":{"post":{"operationId":"SSOConnection.activate","summary":"SSOConnection.activate","description":"Activate turns an SSO Connection on after a test sign-in passes, so the Tenant’s people sign in through it.","tags":["SSOConnection"],"parameters":[{"name":"connection","in":"path","required":true,"schema":{"type":"string"},"description":"The SSO Connection to turn on."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"connection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection, now active."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","connection","links"]},"example":{"api":"https://api.sb/quietcopy.com","connection":{"$id":"https://api.sb/quietcopy.com/sso-connections/sso_connection_1","$type":"SSOConnection","protocol":"saml","state":"draft"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"SSOConnection.activate","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"SSOConnection.activated"}},"/sso-connections/{connection}/deactivate":{"post":{"operationId":"SSOConnection.deactivate","summary":"SSOConnection.deactivate","description":"Deactivate turns an SSO Connection off, so nobody signs in through it; its configuration is kept.","tags":["SSOConnection"],"parameters":[{"name":"connection","in":"path","required":true,"schema":{"type":"string"},"description":"The SSO Connection to turn off."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"connection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection, now `inactive`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","connection","links"]},"example":{"api":"https://api.sb/routewise.dev","connection":{"$id":"https://api.sb/routewise.dev/sso-connections/sso_connection_1","$type":"SSOConnection","protocol":"saml","state":"draft"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"SSOConnection.deactivate","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"SSOConnection.deactivated"}},"/standards/{id}":{"get":{"operationId":"Standard.get","summary":"Standard.get","description":"Returns one Standard by id.","tags":["Standard"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Standard."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"standard":{"$ref":"#/components/schemas/Standard","description":"The Standard."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","standard","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Standard","$id":"https://api.sb/shiftnote.app/standards/standard_1","standard":{"$id":"https://api.sb/shiftnote.app/standards/standard_1","$type":"Standard","spec":"https://shiftnote.app","path":"/","operations":["chat.completions.create"]},"links":{"self":"https://api.sb/shiftnote.app/standards/standard_1","up":"https://api.sb/shiftnote.app/standards"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/standards":{"get":{"operationId":"Standard.list","summary":"Standard.list","description":"Returns Standards, newest first, one page at a time.","tags":["Standard"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"standards":{"type":"array","items":{"$ref":"#/components/schemas/Standard","description":"One page of Standards."},"description":"One page of Standards."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","standards","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Standard","standards":[{"$id":"https://api.sb/shiftnote.app/standards/standard_1","$type":"Standard","spec":"https://shiftnote.app","path":"/","operations":["chat.completions.create"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/standards?limit=20","next":"https://api.sb/shiftnote.app/standards?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/startups":{"post":{"operationId":"Startup.create","summary":"Startup.create","description":"Creates a Startup.","tags":["Startup"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name the Startup trades under."},"domain":{"type":"string","format":"uri","description":"The canonical hostname of the Startup."},"launchedAt":{"type":"string","format":"date-time","description":"When the Startup went live."},"template":{"type":"string","description":"The slug of the template it extends; the root one when none is named."},"idea":{"type":"string","description":"The Idea it starts from, in a sentence, recorded as its Idea."},"spendState":{"type":"string","description":"How freely money Limits allow spend: `free`, `tight` (discretionary Limits halved) or `hold` (one-way spend stops).","enum":["free","tight","hold"]},"studio":{"type":"string","description":"A Studio founds and builds its Startups and runs Plays across them. The Studio id."},"company":{"type":"string","description":"The holding Company is the Startup’s owner of record: it signs its Agreements and owns its profit rights. The Company id."}},"required":["name"],"additionalProperties":false},"example":{"name":"PatentPad"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/patentpad.com","startup":{"$id":"https://api.sb/patentpad.com/startups/startup_1","$type":"Startup","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Startup.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.created"},"get":{"operationId":"Startup.list","summary":"Startup.list","description":"Returns Startups, newest first, one page at a time.","tags":["Startup"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"startups":{"type":"array","items":{"$ref":"#/components/schemas/Startup","description":"One page of Startups."},"description":"One page of Startups."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startups","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Startup","startups":[{"$id":"https://api.sb/routewise.dev/startups/startup_1","$type":"Startup","name":"RouteWise"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/startups?limit=20","next":"https://api.sb/routewise.dev/startups?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/startups/{id}":{"get":{"operationId":"Startup.get","summary":"Startup.get","description":"Returns one Startup by id.","tags":["Startup"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Startup."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Startup","$id":"https://api.sb/patentpad.com/startups/startup_1","startup":{"$id":"https://api.sb/patentpad.com/startups/startup_1","$type":"Startup","name":"PatentPad"},"links":{"self":"https://api.sb/patentpad.com/startups/startup_1","up":"https://api.sb/patentpad.com/startups"},"actions":{"advance":"https://api.sb/patentpad.com/startups/startup_1/advance","build":"https://api.sb/patentpad.com/startups/startup_1/build","claim":"https://api.sb/patentpad.com/startups/startup_1/claim"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Startup.update","summary":"Startup.update","description":"Changes the given properties of a Startup.","tags":["Startup"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Startup."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name the Startup trades under."},"domain":{"type":"string","format":"uri","description":"The canonical hostname of the Startup."},"launchedAt":{"type":"string","format":"date-time","description":"When the Startup went live."},"template":{"type":"string","description":"The slug of the template it extends; the root one when none is named."},"idea":{"type":"string","description":"The Idea it starts from, in a sentence, recorded as its Idea."},"spendState":{"type":"string","description":"How freely money Limits allow spend: `free`, `tight` (discretionary Limits halved) or `hold` (one-way spend stops).","enum":["free","tight","hold"]}},"additionalProperties":false},"example":{"name":"PetPantry"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/petpantry.shop","startup":{"$id":"https://api.sb/petpantry.shop/startups/startup_1","$type":"Startup","name":"PetPantry"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Startup.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.updated"},"delete":{"operationId":"Startup.delete","summary":"Startup.delete","description":"Deletes a Startup; its history is kept.","tags":["Startup"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Startup."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/quietcopy.com","startup":{"$id":"https://api.sb/quietcopy.com/startups/startup_1","$type":"Startup","name":"QuietCopy"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Startup.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.deleted"}},"/startups/{startup}/advance":{"post":{"operationId":"Startup.advance","summary":"Startup.advance","description":"Advance moves a Startup to its next Lifecycle state once every entry check of that state passes.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to advance."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"The target state. Defaults to the next state."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup in its new state."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/shiftnote.app","startup":{"$id":"https://api.sb/shiftnote.app/startups/startup_1","$type":"Startup","name":"ShiftNote"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Startup.advance","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.advanced"}},"/startups/{startup}/build":{"post":{"operationId":"Startup.build","summary":"Startup.build","description":"Build provisions the Systems, Sites and Interfaces a Startup’s definition declares, and moves the Startup to Building.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to build."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now Building."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/routewise.dev","startup":{"$id":"https://api.sb/routewise.dev/startups/startup_1","$type":"Startup","name":"RouteWise"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Startup.build","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.built"}},"/startups/{startup}/claim":{"post":{"operationId":"Startup.claim","summary":"Startup.claim","description":"Claim binds a provisional Startup to a verified owner, which enables payments and every Verb that moves money.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The provisional Startup."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claimToken":{"type":"string","description":"The token issued when the Startup was created."}},"required":["claimToken"],"additionalProperties":false},"example":{"claimToken":"Example claim token"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now owned."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/patentpad.com","startup":{"$id":"https://api.sb/patentpad.com/startups/startup_1","$type":"Startup","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Startup.claim","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.claimed"}},"/startups/{startup}/clone":{"post":{"operationId":"Startup.clone","summary":"Startup.clone","description":"Clone copies a Startup’s definition into a new Startup once, with no link back to the source.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to copy."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The new Startup’s name."}},"required":["name"],"additionalProperties":false},"example":{"name":"Kiln Bakery"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"clone":{"$ref":"#/components/schemas/Startup","description":"The new Startup, in Idea."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","clone","links"]},"example":{"api":"https://api.sb/kilnbakery.com","clone":{"$id":"https://api.sb/kilnbakery.com/startups/startup_1","$type":"Startup","name":"Kiln Bakery"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Startup.clone","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.cloned"}},"/startups/{startup}/graduate":{"post":{"operationId":"Startup.graduate","summary":"Startup.graduate","description":"Graduate moves a Startup to a Company of its own, with its Customers, Domains and records intact.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to graduate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company":{"type":"string","description":"The Company that holds it next. The Company id."}},"required":["company"],"additionalProperties":false},"example":{"company":"company_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, held by its new Company."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/kilnbakery.com","startup":{"$id":"https://api.sb/kilnbakery.com/startups/startup_1","$type":"Startup","name":"Kiln Bakery"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Startup.graduate","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.graduated"}},"/startups/{startup}/hold":{"post":{"operationId":"Startup.hold","summary":"Startup.hold","description":"Hold keeps a Startup running in its current Lifecycle state with no new investment from the Studio.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to hold."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the Studio holds it."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now on Hold."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/kilnbakery.com","startup":{"$id":"https://api.sb/kilnbakery.com/startups/startup_1","$type":"Startup","name":"Kiln Bakery"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Startup.hold","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.held"}},"/startups/import":{"post":{"operationId":"Startup.import","summary":"Startup.import","description":"Import builds a new Startup from an existing business’s definition: its Offers, Pages, Nouns and Processes.","tags":["Startup"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"source":{"type":"string","format":"uri","description":"The existing business’s site or export."},"template":{"type":"string","description":"The Template to map the definition onto. The Template id."}},"required":["source"],"additionalProperties":false},"example":{"source":"https://kilnbakery.com"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The new Startup, in Idea."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/kilnbakery.com","startup":{"$id":"https://api.sb/kilnbakery.com/startups/startup_1","$type":"Startup","name":"Kiln Bakery"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Startup.import","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.imported"}},"/startups/{startup}/launch":{"post":{"operationId":"Startup.launch","summary":"Startup.launch","description":"Launch puts a Startup live on its domain, serving its Offers to Customers.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to launch."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now live."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/quietcopy.com","startup":{"$id":"https://api.sb/quietcopy.com/startups/startup_1","$type":"Startup","name":"QuietCopy"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Startup.launch","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.launched"}},"/startups/{startup}/pause":{"post":{"operationId":"Startup.pause","summary":"Startup.pause","description":"Pause moves a Startup to Dormant: its scheduled Workflows stop, and its Sites and records stay in place.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to pause."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the Startup pauses."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now Dormant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/shiftnote.app","startup":{"$id":"https://api.sb/shiftnote.app/startups/startup_1","$type":"Startup","name":"ShiftNote"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Startup.pause","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.paused"}},"/startups/{startup}/pivot":{"post":{"operationId":"Startup.pivot","summary":"Startup.pivot","description":"Pivot records a Decision that moves a Live Startup back to Building under a new Founding Hypothesis version.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Live Startup."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string","description":"The pivot Decision, citing the Evidence behind it. The Decision id."}},"required":["decision"],"additionalProperties":false},"example":{"decision":"decision_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now Building."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/patentpad.com","startup":{"$id":"https://api.sb/patentpad.com/startups/startup_1","$type":"Startup","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Startup.pivot","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.pivoted"}},"/startups/{startup}/read":{"post":{"operationId":"Startup.read","summary":"Startup.read","description":"Read compiles a Startup’s records into one scoped room, such as a diligence room, with every number citing its Proof.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to read."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"string","description":"What the room holds: `diligence` for a raise, a sale or an LP look-through.","enum":["diligence","summary"]},"reader":{"type":"string","description":"Who reads it; access is a Permission that expires, readable over MCP. The Party id."}},"required":["scope"],"additionalProperties":false},"example":{"scope":"diligence"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"room":{"description":"Statements, Metrics, cap table, Agreements in force, Control Proofs and open Disputes, each linked to its record."},"gaps":{"description":"Each failed readiness check with its fix, such as a Period still open."},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup the room was compiled from."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","room","gaps","startup","links"]},"example":{"api":"https://api.sb/patentpad.com","room":{},"gaps":{},"startup":{"$id":"https://api.sb/patentpad.com/startups/startup_1","$type":"Startup","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Startup.read","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.read"}},"/startups/{startup}/resume":{"post":{"operationId":"Startup.resume","summary":"Startup.resume","description":"Resume returns a Dormant Startup to the Lifecycle state it held when it paused.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Dormant Startup."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup in its prior state."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/quietcopy.com","startup":{"$id":"https://api.sb/quietcopy.com/startups/startup_1","$type":"Startup","name":"QuietCopy"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Startup.resume","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.resumed"}},"/startups/{startup}/sell":{"post":{"operationId":"Startup.sell","summary":"Startup.sell","description":"Sell transfers a Startup, with its Customers, Domains and records, to a buyer under a signed Agreement.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup to sell."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agreement":{"type":"string","description":"The signed sale Agreement. The Agreement id."}},"required":["agreement"],"additionalProperties":false},"example":{"agreement":"agreement_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, held by the buyer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/patentpad.com","startup":{"$id":"https://api.sb/patentpad.com/startups/startup_1","$type":"Startup","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Startup.sell","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Startup.sold"}},"/startup-templates":{"post":{"operationId":"StartupTemplate.create","summary":"StartupTemplate.create","description":"Creates a Startup Template.","tags":["StartupTemplate"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","description":"The argument to `create --template` and the page path under `/start/templates`."},"operatingModel":{"type":"string","description":"The human and Agent mix: `autonomous`, `single-human`, or `multi-human`.","enum":["autonomous","single-human","multi-human"]},"motions":{"type":"array","items":{"type":"string","description":"The Motions its Offers sell through, such as `b2b` or `b2a`."},"description":"The Motions its Offers sell through, such as `b2b` or `b2a`."},"extends":{"type":"string","description":"The base Startup Template whose Product Templates, Systems, Processes, and Roles it inherits. The Startup Template id."}},"required":["slug","operatingModel","motions"],"additionalProperties":false},"example":{"slug":"ledger-lark","operatingModel":"autonomous","motions":["Example motions"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startupTemplate","links"]},"example":{"api":"https://api.sb/ledgerlark.com","startupTemplate":{"$id":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1","$type":"StartupTemplate","slug":"ledger-lark","operatingModel":"autonomous","motions":["Example motions"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"StartupTemplate.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"StartupTemplate.created"},"get":{"operationId":"StartupTemplate.list","summary":"StartupTemplate.list","description":"Returns Startup Templates, newest first, one page at a time.","tags":["StartupTemplate"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"startupTemplates":{"type":"array","items":{"$ref":"#/components/schemas/StartupTemplate","description":"One page of Startup Templates."},"description":"One page of Startup Templates."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startupTemplates","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"StartupTemplate","startupTemplates":[{"$id":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1","$type":"StartupTemplate","slug":"ledger-lark","operatingModel":"autonomous","motions":["Example motions"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/startup-templates?limit=20","next":"https://api.sb/ledgerlark.com/startup-templates?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/startup-templates/{id}":{"get":{"operationId":"StartupTemplate.get","summary":"StartupTemplate.get","description":"Returns one Startup Template by id.","tags":["StartupTemplate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Startup Template."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startupTemplate","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"StartupTemplate","$id":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1","startupTemplate":{"$id":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1","$type":"StartupTemplate","slug":"ledger-lark","operatingModel":"autonomous","motions":["Example motions"]},"links":{"self":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1","up":"https://api.sb/ledgerlark.com/startup-templates"},"actions":{"extend":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1/extend","promote":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1/promote","upgrade":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1/upgrade"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"StartupTemplate.update","summary":"StartupTemplate.update","description":"Changes the given properties of a Startup Template.","tags":["StartupTemplate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Startup Template."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","description":"The argument to `create --template` and the page path under `/start/templates`."},"operatingModel":{"type":"string","description":"The human and Agent mix: `autonomous`, `single-human`, or `multi-human`.","enum":["autonomous","single-human","multi-human"]},"motions":{"type":"array","items":{"type":"string","description":"The Motions its Offers sell through, such as `b2b` or `b2a`."},"description":"The Motions its Offers sell through, such as `b2b` or `b2a`."},"extends":{"type":"string","description":"The base Startup Template whose Product Templates, Systems, Processes, and Roles it inherits. The Startup Template id."}},"additionalProperties":false},"example":{"slug":"quiet-copy"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startupTemplate","links"]},"example":{"api":"https://api.sb/quietcopy.com","startupTemplate":{"$id":"https://api.sb/quietcopy.com/startup-templates/startup_template_1","$type":"StartupTemplate","slug":"quiet-copy","operatingModel":"autonomous","motions":["Example motions"]},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"StartupTemplate.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"StartupTemplate.updated"},"delete":{"operationId":"StartupTemplate.delete","summary":"StartupTemplate.delete","description":"Deletes a Startup Template; its history is kept.","tags":["StartupTemplate"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Startup Template."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startupTemplate","links"]},"example":{"api":"https://api.sb/kilnbakery.com","startupTemplate":{"$id":"https://api.sb/kilnbakery.com/startup-templates/startup_template_1","$type":"StartupTemplate","slug":"kiln-bakery","operatingModel":"autonomous","motions":["Example motions"]},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"StartupTemplate.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"StartupTemplate.deleted"}},"/startup-templates/{startupTemplate}/extend":{"post":{"operationId":"StartupTemplate.extend","summary":"StartupTemplate.extend","description":"Extend adds a Startup Template to a Startup’s bases, pinned to a Version, so the Startup inherits its definition.","tags":["StartupTemplate"],"parameters":[{"name":"startupTemplate","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup Template to inherit."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startup":{"type":"string","description":"The Startup that extends it. The Startup id."}},"required":["startup"],"additionalProperties":false},"example":{"startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, with the Startup Template among its bases."},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template extended."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","startupTemplate","links"]},"example":{"api":"https://api.sb/ledgerlark.com","startup":{"$id":"https://api.sb/ledgerlark.com/startups/startup_1","$type":"Startup","name":"LedgerLark"},"startupTemplate":{"$id":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1","$type":"StartupTemplate","slug":"ledger-lark","operatingModel":"autonomous","motions":["Example motions"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"StartupTemplate.extend","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"StartupTemplate.extended"}},"/startup-templates/{startupTemplate}/promote":{"post":{"operationId":"StartupTemplate.promote","summary":"StartupTemplate.promote","description":"Promote moves one Startup’s refinement into a Startup Template, so every Startup that extends it inherits the refinement.","tags":["StartupTemplate"],"parameters":[{"name":"startupTemplate","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup Template that receives the refinement."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startup":{"type":"string","description":"The Startup that holds the refinement. The Startup id."}},"required":["startup"],"additionalProperties":false},"example":{"startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"change":{"$ref":"#/components/schemas/Change","description":"The Change against the Startup Template."},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template that received the refinement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","change","startupTemplate","links"]},"example":{"api":"https://api.sb/ledgerlark.com","change":{"$id":"https://api.sb/ledgerlark.com/changes/change_1","$type":"Change","status":"Open","base":"version_1"},"startupTemplate":{"$id":"https://api.sb/ledgerlark.com/startup-templates/startup_template_1","$type":"StartupTemplate","slug":"ledger-lark","operatingModel":"autonomous","motions":["Example motions"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"StartupTemplate.promote","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"StartupTemplate.promoted"}},"/startup-templates/{startupTemplate}/upgrade":{"post":{"operationId":"StartupTemplate.upgrade","summary":"StartupTemplate.upgrade","description":"Upgrade moves a Startup to a newer Version of a Startup Template it extends, through a Change it can review.","tags":["StartupTemplate"],"parameters":[{"name":"startupTemplate","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup Template to upgrade."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startup":{"type":"string","description":"The Startup that extends it. The Startup id."},"version":{"type":"string","description":"The target Version; the latest when absent. The Version id."}},"required":["startup"],"additionalProperties":false},"example":{"startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"change":{"$ref":"#/components/schemas/Change","description":"The Change that moves the pin, with its three-way diff."},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template upgraded to."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","change","startupTemplate","links"]},"example":{"api":"https://api.sb/shiftnote.app","change":{"$id":"https://api.sb/shiftnote.app/changes/change_1","$type":"Change","status":"Open","base":"version_1"},"startupTemplate":{"$id":"https://api.sb/shiftnote.app/startup-templates/startup_template_1","$type":"StartupTemplate","slug":"shift-note","operatingModel":"autonomous","motions":["Example motions"]},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"StartupTemplate.upgrade","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"StartupTemplate.upgraded"}},"/statements/{id}":{"get":{"operationId":"Statement.get","summary":"Statement.get","description":"Returns one Statement by id.","tags":["Statement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Statement."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"statement":{"$ref":"#/components/schemas/Statement","description":"The Statement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","statement","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Statement","$id":"https://api.sb/routewise.dev/statements/statement_1","statement":{"$id":"https://api.sb/routewise.dev/statements/statement_1","$type":"Statement","kind":"profitAndLoss","period":"period_1","scope":"startup","lines":{}},"links":{"self":"https://api.sb/routewise.dev/statements/statement_1","up":"https://api.sb/routewise.dev/statements"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/statements":{"get":{"operationId":"Statement.list","summary":"Statement.list","description":"Returns Statements, newest first, one page at a time.","tags":["Statement"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"statements":{"type":"array","items":{"$ref":"#/components/schemas/Statement","description":"One page of Statements."},"description":"One page of Statements."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","statements","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Statement","statements":[{"$id":"https://api.sb/patentpad.com/statements/statement_1","$type":"Statement","kind":"profitAndLoss","period":"period_1","scope":"startup","lines":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/statements?limit=20","next":"https://api.sb/patentpad.com/statements?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/stories":{"post":{"operationId":"Story.create","summary":"Story.create","description":"Creates a Story.","tags":["Story"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"icp":{"type":"string","description":"The ICP it speaks to: one Story per ICP. The ICP id."},"hero":{"type":"string","description":"Who the customer is and what they want."},"problem":{"type":"string","description":"The Problem: external, internal, and the villain behind it. The Problem id."},"guide":{"type":"string","description":"The Startup’s empathy and authority, the authority read from Metrics and Evidence."},"plan":{"type":"string","description":"Three steps, each naming a declared Event."},"success":{"type":"string","description":"What the customer gains."},"failure":{"type":"string","description":"What the customer risks without it."},"oneLiner":{"type":"string","description":"The Story in one sentence."},"direct":{"type":"string","description":"The direct call to action: an Offer that makes a Customer. The Offer id."},"transitional":{"type":"string","description":"The transitional call to action: a Funnel opt-in that makes a Lead. The Funnel id."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"stance":{"type":"string","description":"The positioning the Positioning tournament chose, graded Behavior; every compiled asset recompiles when it changes.","enum":["headToHead","subcategory","newCategory"]},"category":{"type":"string","description":"The market category name the Story claims, as answer engines repeat it."},"hypothesis":{"type":"string","description":"The Founding Hypothesis whose slots the Story compiles from; a pivot recompiles it. The Hypothesis id."}},"required":["icp","hero","problem","from"],"additionalProperties":false},"example":{"icp":"icp_1","hero":"Example hero","problem":"problem_1","from":"Hypothesis#approach@v1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"story":{"$ref":"#/components/schemas/Story","description":"The Story."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","story","links"]},"example":{"api":"https://api.sb/patentpad.com","story":{"$id":"https://api.sb/patentpad.com/stories/story_1","$type":"Story","icp":"icp_1","hero":"Example hero","problem":"problem_1","from":"Hypothesis#approach@v1"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Story.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Story.created"},"get":{"operationId":"Story.list","summary":"Story.list","description":"Returns Stories, newest first, one page at a time.","tags":["Story"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"stories":{"type":"array","items":{"$ref":"#/components/schemas/Story","description":"One page of Stories."},"description":"One page of Stories."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","stories","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Story","stories":[{"$id":"https://api.sb/routewise.dev/stories/story_1","$type":"Story","icp":"icp_1","hero":"Example hero","problem":"problem_1","from":"Hypothesis#approach@v1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/stories?limit=20","next":"https://api.sb/routewise.dev/stories?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/stories/{id}":{"get":{"operationId":"Story.get","summary":"Story.get","description":"Returns one Story by id.","tags":["Story"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Story."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"story":{"$ref":"#/components/schemas/Story","description":"The Story."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","story","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Story","$id":"https://api.sb/patentpad.com/stories/story_1","story":{"$id":"https://api.sb/patentpad.com/stories/story_1","$type":"Story","icp":"icp_1","hero":"Example hero","problem":"problem_1","from":"Hypothesis#approach@v1"},"links":{"self":"https://api.sb/patentpad.com/stories/story_1","up":"https://api.sb/patentpad.com/stories"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Story.update","summary":"Story.update","description":"Changes the given properties of a Story.","tags":["Story"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Story."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"icp":{"type":"string","description":"The ICP it speaks to: one Story per ICP. The ICP id."},"hero":{"type":"string","description":"Who the customer is and what they want."},"problem":{"type":"string","description":"The Problem: external, internal, and the villain behind it. The Problem id."},"guide":{"type":"string","description":"The Startup’s empathy and authority, the authority read from Metrics and Evidence."},"plan":{"type":"string","description":"Three steps, each naming a declared Event."},"success":{"type":"string","description":"What the customer gains."},"failure":{"type":"string","description":"What the customer risks without it."},"oneLiner":{"type":"string","description":"The Story in one sentence."},"direct":{"type":"string","description":"The direct call to action: an Offer that makes a Customer. The Offer id."},"transitional":{"type":"string","description":"The transitional call to action: a Funnel opt-in that makes a Lead. The Funnel id."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"stance":{"type":"string","description":"The positioning the Positioning tournament chose, graded Behavior; every compiled asset recompiles when it changes.","enum":["headToHead","subcategory","newCategory"]},"category":{"type":"string","description":"The market category name the Story claims, as answer engines repeat it."}},"additionalProperties":false},"example":{"icp":"icp_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"story":{"$ref":"#/components/schemas/Story","description":"The Story."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","story","links"]},"example":{"api":"https://api.sb/petpantry.shop","story":{"$id":"https://api.sb/petpantry.shop/stories/story_1","$type":"Story","icp":"icp_1","hero":"Example hero","problem":"problem_1","from":"Hypothesis#approach@v1"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Story.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Story.updated"},"delete":{"operationId":"Story.delete","summary":"Story.delete","description":"Deletes a Story; its history is kept.","tags":["Story"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Story."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"story":{"$ref":"#/components/schemas/Story","description":"The Story."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","story","links"]},"example":{"api":"https://api.sb/quietcopy.com","story":{"$id":"https://api.sb/quietcopy.com/stories/story_1","$type":"Story","icp":"icp_1","hero":"Example hero","problem":"problem_1","from":"Hypothesis#approach@v1"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Story.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Story.deleted"}},"/studios":{"post":{"operationId":"Studio.create","summary":"Studio.create","description":"Creates a Studio.","tags":["Studio"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Studio."}},"required":["name"],"additionalProperties":false},"example":{"name":"QuietCopy"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"studio":{"$ref":"#/components/schemas/Studio","description":"The Studio."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","studio","links"]},"example":{"api":"https://api.sb/quietcopy.com","studio":{"$id":"https://api.sb/quietcopy.com/studios/studio_1","$type":"Studio","name":"QuietCopy"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Studio.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Studio.created"},"get":{"operationId":"Studio.list","summary":"Studio.list","description":"Returns Studios, newest first, one page at a time.","tags":["Studio"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"studios":{"type":"array","items":{"$ref":"#/components/schemas/Studio","description":"One page of Studios."},"description":"One page of Studios."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","studios","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Studio","studios":[{"$id":"https://api.sb/quietcopy.com/studios/studio_1","$type":"Studio","name":"QuietCopy"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/studios?limit=20","next":"https://api.sb/quietcopy.com/studios?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/studios/{id}":{"get":{"operationId":"Studio.get","summary":"Studio.get","description":"Returns one Studio by id.","tags":["Studio"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Studio."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"studio":{"$ref":"#/components/schemas/Studio","description":"The Studio."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","studio","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Studio","$id":"https://api.sb/kilnbakery.com/studios/studio_1","studio":{"$id":"https://api.sb/kilnbakery.com/studios/studio_1","$type":"Studio","name":"Kiln Bakery"},"links":{"self":"https://api.sb/kilnbakery.com/studios/studio_1","up":"https://api.sb/kilnbakery.com/studios"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Studio.update","summary":"Studio.update","description":"Changes the given properties of a Studio.","tags":["Studio"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Studio."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Studio."}},"additionalProperties":false},"example":{"name":"ShiftNote"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"studio":{"$ref":"#/components/schemas/Studio","description":"The Studio."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","studio","links"]},"example":{"api":"https://api.sb/shiftnote.app","studio":{"$id":"https://api.sb/shiftnote.app/studios/studio_1","$type":"Studio","name":"ShiftNote"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Studio.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Studio.updated"},"delete":{"operationId":"Studio.delete","summary":"Studio.delete","description":"Deletes a Studio; its history is kept.","tags":["Studio"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Studio."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"studio":{"$ref":"#/components/schemas/Studio","description":"The Studio."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","studio","links"]},"example":{"api":"https://api.sb/routewise.dev","studio":{"$id":"https://api.sb/routewise.dev/studios/studio_1","$type":"Studio","name":"RouteWise"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Studio.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Studio.deleted"}},"/subscriptions":{"post":{"operationId":"Subscription.create","summary":"Subscription.create","description":"Creates a Subscription.","tags":["Subscription"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"renewsAt":{"type":"string","format":"date-time","description":"When it next renews."},"quantity":{"type":"integer","description":"How many units of the Offer’s Price it holds, such as 12 members; 1 by default."},"trialEndsAt":{"type":"string","format":"date-time","description":"When a trial ends and the first paid period starts."},"termEndsAt":{"type":"string","format":"date-time","description":"When a committed term ends; the Renewal and the renewal notice read it."},"customer":{"type":"string","description":"A Customer holds Subscriptions, each billed once per Period. The Customer id."},"offer":{"type":"string","description":"A Subscription bills one recurring Offer each Period until canceled. The Offer id."}},"additionalProperties":false},"example":{"renewsAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/ledgerlark.com","subscription":{"$id":"https://api.sb/ledgerlark.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Subscription.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.created"},"get":{"operationId":"Subscription.list","summary":"Subscription.list","description":"Returns Subscriptions, newest first, one page at a time.","tags":["Subscription"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription","description":"One page of Subscriptions."},"description":"One page of Subscriptions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscriptions","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Subscription","subscriptions":[{"$id":"https://api.sb/ledgerlark.com/subscriptions/subscription_1","$type":"Subscription","status":"active"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/subscriptions?limit=20","next":"https://api.sb/ledgerlark.com/subscriptions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/subscriptions/{id}":{"get":{"operationId":"Subscription.get","summary":"Subscription.get","description":"Returns one Subscription by id.","tags":["Subscription"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Subscription."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Subscription","$id":"https://api.sb/ledgerlark.com/subscriptions/subscription_1","subscription":{"$id":"https://api.sb/ledgerlark.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"links":{"self":"https://api.sb/ledgerlark.com/subscriptions/subscription_1","up":"https://api.sb/ledgerlark.com/subscriptions"},"actions":{"keep":"https://api.sb/ledgerlark.com/subscriptions/subscription_1/keep","pause":"https://api.sb/ledgerlark.com/subscriptions/subscription_1/pause","renew":"https://api.sb/ledgerlark.com/subscriptions/subscription_1/renew"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Subscription.update","summary":"Subscription.update","description":"Changes the given properties of a Subscription.","tags":["Subscription"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Subscription."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"renewsAt":{"type":"string","format":"date-time","description":"When it next renews."},"quantity":{"type":"integer","description":"How many units of the Offer’s Price it holds, such as 12 members; 1 by default."},"trialEndsAt":{"type":"string","format":"date-time","description":"When a trial ends and the first paid period starts."},"termEndsAt":{"type":"string","format":"date-time","description":"When a committed term ends; the Renewal and the renewal notice read it."}},"additionalProperties":false},"example":{"renewsAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/quietcopy.com","subscription":{"$id":"https://api.sb/quietcopy.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Subscription.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.updated"}},"/subscriptions/{subscription}/keep":{"post":{"operationId":"Subscription.keep","summary":"Subscription.keep","description":"Keep takes back a cancel before the period closes, so the Subscription renews on its date at the same terms.","tags":["Subscription"],"parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"},"description":"The ending Subscription."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"offer":{"type":"string","description":"The Offer to renew on, when the Customer took the save offer. The Offer id."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription, active again."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/tutorloop.com","subscription":{"$id":"https://api.sb/tutorloop.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Subscription.keep","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.kept"}},"/subscriptions/{subscription}/pause":{"post":{"operationId":"Subscription.pause","summary":"Subscription.pause","description":"Pause stops billing and Entitlements on a Subscription until a date, without ending it.","tags":["Subscription"],"parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"},"description":"The active Subscription."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"until":{"type":"string","format":"date","description":"When billing resumes on its own."}},"required":["until"],"additionalProperties":false},"example":{"until":"2026-10-22"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The paused Subscription."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/patentpad.com","subscription":{"$id":"https://api.sb/patentpad.com/subscriptions/subscription_1","$type":"Subscription","status":"paused"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Subscription.pause","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.paused"}},"/subscriptions/{subscription}/renew":{"post":{"operationId":"Subscription.renew","summary":"Subscription.renew","description":"Renew starts a Subscription’s next period and bills it at the Offer Version the Customer accepted.","tags":["Subscription"],"parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"},"description":"The Subscription to renew."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice for the new period."},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription in its new period."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","invoice","subscription","links"]},"example":{"api":"https://api.sb/tutorloop.com","invoice":{"$id":"https://api.sb/tutorloop.com/invoices/invoice_1","$type":"Invoice","total":{"amount":60,"currency":"USD"},"due":"2026-10-22"},"subscription":{"$id":"https://api.sb/tutorloop.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Subscription.renew","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.renewed"}},"/subscriptions/{subscription}/resize":{"post":{"operationId":"Subscription.resize","summary":"Subscription.resize","description":"Resize changes how many units a Subscription holds and prorates the current period.","tags":["Subscription"],"parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"},"description":"The Subscription to change."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quantity":{"type":"integer","description":"The new unit count."}},"required":["quantity"],"additionalProperties":false},"example":{"quantity":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription at its new quantity."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/ledgerlark.com","subscription":{"$id":"https://api.sb/ledgerlark.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Subscription.resize","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.resized"}},"/subscriptions/{subscription}/resume":{"post":{"operationId":"Subscription.resume","summary":"Subscription.resume","description":"Resume restarts billing and Entitlements on a paused Subscription before its pause ends.","tags":["Subscription"],"parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"},"description":"The paused Subscription."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The active Subscription."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/kilnbakery.com","subscription":{"$id":"https://api.sb/kilnbakery.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Subscription.resume","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.resumed"}},"/subscriptions/{subscription}/switch":{"post":{"operationId":"Subscription.switch","summary":"Subscription.switch","description":"Switch moves a Subscription to another Offer and prorates the current period.","tags":["Subscription"],"parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"},"description":"The Subscription to move."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offer":{"type":"string","description":"The Offer to move to. The Offer id."},"effectiveAt":{"type":"string","format":"date-time","description":"When the move takes effect; moving existing Customers to a higher Price waits at least the notice period."}},"required":["offer"],"additionalProperties":false},"example":{"offer":"offer_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription on its new Offer."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/shiftnote.app","subscription":{"$id":"https://api.sb/shiftnote.app/subscriptions/subscription_1","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Subscription.switch","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.switched"}},"/subscriptions/{subscription}/unsubscribe":{"post":{"operationId":"Subscription.unsubscribe","summary":"Subscription.unsubscribe","description":"Unsubscribe ends a Subscription at the close of its current period, and the Customer keeps access until then.","tags":["Subscription"],"parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"},"description":"The Subscription to end."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the Customer leaves."},"comment":{"type":"string","description":"The Customer’s own words, kept verbatim as the Evidence quote."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription, ending."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","subscription","links"]},"example":{"api":"https://api.sb/tutorloop.com","subscription":{"$id":"https://api.sb/tutorloop.com/subscriptions/subscription_1","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Subscription.unsubscribe","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Subscription.unsubscribed"}},"/suppliers":{"post":{"operationId":"Supplier.create","summary":"Supplier.create","description":"Creates a Supplier.","tags":["Supplier"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The legal or personal name."},"payoutAccount":{"type":"string","description":"Where payouts land, held through Stripe."}},"required":["name"],"additionalProperties":false},"example":{"name":"PetPantry"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"supplier":{"$ref":"#/components/schemas/Supplier","description":"The Supplier."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","supplier","links"]},"example":{"api":"https://api.sb/petpantry.shop","supplier":{"$id":"https://api.sb/petpantry.shop/suppliers/supplier_1","$type":"Supplier","name":"PetPantry","status":"recruited"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Supplier.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Supplier.created"},"get":{"operationId":"Supplier.list","summary":"Supplier.list","description":"Returns Suppliers, newest first, one page at a time.","tags":["Supplier"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/Supplier","description":"One page of Suppliers."},"description":"One page of Suppliers."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","suppliers","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Supplier","suppliers":[{"$id":"https://api.sb/kilnbakery.com/suppliers/supplier_1","$type":"Supplier","name":"Kiln Bakery","status":"recruited"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/suppliers?limit=20","next":"https://api.sb/kilnbakery.com/suppliers?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/suppliers/{id}":{"get":{"operationId":"Supplier.get","summary":"Supplier.get","description":"Returns one Supplier by id.","tags":["Supplier"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Supplier."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"supplier":{"$ref":"#/components/schemas/Supplier","description":"The Supplier."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","supplier","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Supplier","$id":"https://api.sb/quietcopy.com/suppliers/supplier_1","supplier":{"$id":"https://api.sb/quietcopy.com/suppliers/supplier_1","$type":"Supplier","name":"QuietCopy","status":"recruited"},"links":{"self":"https://api.sb/quietcopy.com/suppliers/supplier_1","up":"https://api.sb/quietcopy.com/suppliers"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Supplier.update","summary":"Supplier.update","description":"Changes the given properties of a Supplier.","tags":["Supplier"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Supplier."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The legal or personal name."},"payoutAccount":{"type":"string","description":"Where payouts land, held through Stripe."}},"additionalProperties":false},"example":{"payoutAccount":"Example payout account"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"supplier":{"$ref":"#/components/schemas/Supplier","description":"The Supplier."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","supplier","links"]},"example":{"api":"https://api.sb/routewise.dev","supplier":{"$id":"https://api.sb/routewise.dev/suppliers/supplier_1","$type":"Supplier","name":"RouteWise","status":"recruited"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Supplier.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Supplier.updated"},"delete":{"operationId":"Supplier.delete","summary":"Supplier.delete","description":"Deletes a Supplier; its history is kept.","tags":["Supplier"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Supplier."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"supplier":{"$ref":"#/components/schemas/Supplier","description":"The Supplier."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","supplier","links"]},"example":{"api":"https://api.sb/ledgerlark.com","supplier":{"$id":"https://api.sb/ledgerlark.com/suppliers/supplier_1","$type":"Supplier","name":"LedgerLark","status":"recruited"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Supplier.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Supplier.deleted"}},"/suppressions":{"post":{"operationId":"Suppression.create","summary":"Suppression.create","description":"Creates a Suppression.","tags":["Suppression"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"The email address or phone number."},"reason":{"type":"string","description":"Why it is suppressed, such as an opt-out or a bounce."},"company":{"type":"string","description":"A Company’s Suppressions bind every Startup it holds: no commercial Message goes to a suppressed address. The Company id."}},"required":["address"],"additionalProperties":false},"example":{"address":"Example address"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"suppression":{"$ref":"#/components/schemas/Suppression","description":"The Suppression."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","suppression","links"]},"example":{"api":"https://api.sb/shiftnote.app","suppression":{"$id":"https://api.sb/shiftnote.app/suppressions/suppression_1","$type":"Suppression","address":"Example address"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Suppression.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Suppression.created"},"get":{"operationId":"Suppression.list","summary":"Suppression.list","description":"Returns Suppressions, newest first, one page at a time.","tags":["Suppression"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"suppressions":{"type":"array","items":{"$ref":"#/components/schemas/Suppression","description":"One page of Suppressions."},"description":"One page of Suppressions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","suppressions","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Suppression","suppressions":[{"$id":"https://api.sb/shiftnote.app/suppressions/suppression_1","$type":"Suppression","address":"Example address"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/suppressions?limit=20","next":"https://api.sb/shiftnote.app/suppressions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/suppressions/{id}":{"get":{"operationId":"Suppression.get","summary":"Suppression.get","description":"Returns one Suppression by id.","tags":["Suppression"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Suppression."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"suppression":{"$ref":"#/components/schemas/Suppression","description":"The Suppression."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","suppression","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Suppression","$id":"https://api.sb/shiftnote.app/suppressions/suppression_1","suppression":{"$id":"https://api.sb/shiftnote.app/suppressions/suppression_1","$type":"Suppression","address":"Example address"},"links":{"self":"https://api.sb/shiftnote.app/suppressions/suppression_1","up":"https://api.sb/shiftnote.app/suppressions"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/surveys":{"post":{"operationId":"Survey.create","summary":"Survey.create","description":"Creates a Survey.","tags":["Survey"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"description":"The fields and their types."}},"required":["fields"],"additionalProperties":false},"example":{"fields":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"survey":{"$ref":"#/components/schemas/Survey","description":"The Survey."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","survey","links"]},"example":{"api":"https://api.sb/tutorloop.com","survey":{"$id":"https://api.sb/tutorloop.com/surveys/survey_1","$type":"Survey","fields":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Survey.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Survey.created"},"get":{"operationId":"Survey.list","summary":"Survey.list","description":"Returns Surveys, newest first, one page at a time.","tags":["Survey"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"surveys":{"type":"array","items":{"$ref":"#/components/schemas/Survey","description":"One page of Surveys."},"description":"One page of Surveys."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","surveys","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Survey","surveys":[{"$id":"https://api.sb/tutorloop.com/surveys/survey_1","$type":"Survey","fields":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/surveys?limit=20","next":"https://api.sb/tutorloop.com/surveys?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/surveys/{id}":{"get":{"operationId":"Survey.get","summary":"Survey.get","description":"Returns one Survey by id.","tags":["Survey"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Survey."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"survey":{"$ref":"#/components/schemas/Survey","description":"The Survey."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","survey","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Survey","$id":"https://api.sb/petpantry.shop/surveys/survey_1","survey":{"$id":"https://api.sb/petpantry.shop/surveys/survey_1","$type":"Survey","fields":{}},"links":{"self":"https://api.sb/petpantry.shop/surveys/survey_1","up":"https://api.sb/petpantry.shop/surveys"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Survey.update","summary":"Survey.update","description":"Changes the given properties of a Survey.","tags":["Survey"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Survey."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"description":"The fields and their types."}},"additionalProperties":false},"example":{"fields":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"survey":{"$ref":"#/components/schemas/Survey","description":"The Survey."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","survey","links"]},"example":{"api":"https://api.sb/ledgerlark.com","survey":{"$id":"https://api.sb/ledgerlark.com/surveys/survey_1","$type":"Survey","fields":{}},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Survey.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Survey.updated"},"delete":{"operationId":"Survey.delete","summary":"Survey.delete","description":"Deletes a Survey; its history is kept.","tags":["Survey"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Survey."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"survey":{"$ref":"#/components/schemas/Survey","description":"The Survey."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","survey","links"]},"example":{"api":"https://api.sb/patentpad.com","survey":{"$id":"https://api.sb/patentpad.com/surveys/survey_1","$type":"Survey","fields":{}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Survey.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Survey.deleted"}},"/systems":{"post":{"operationId":"System.create","summary":"System.create","description":"Creates a System.","tags":["System"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"job":{"type":"string","description":"The one job it does."}},"required":["job"],"additionalProperties":false},"example":{"job":"Example job"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"system":{"$ref":"#/components/schemas/System","description":"The System."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","system","links"]},"example":{"api":"https://api.sb/ledgerlark.com","system":{"$id":"https://api.sb/ledgerlark.com/systems/system_1","$type":"System","job":"Example job"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"System.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"System.created"},"get":{"operationId":"System.list","summary":"System.list","description":"Returns Systems, newest first, one page at a time.","tags":["System"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"systems":{"type":"array","items":{"$ref":"#/components/schemas/System","description":"One page of Systems."},"description":"One page of Systems."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","systems","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"System","systems":[{"$id":"https://api.sb/ledgerlark.com/systems/system_1","$type":"System","job":"Example job"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/systems?limit=20","next":"https://api.sb/ledgerlark.com/systems?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/systems/{id}":{"get":{"operationId":"System.get","summary":"System.get","description":"Returns one System by id.","tags":["System"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the System."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"system":{"$ref":"#/components/schemas/System","description":"The System."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","system","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"System","$id":"https://api.sb/ledgerlark.com/systems/system_1","system":{"$id":"https://api.sb/ledgerlark.com/systems/system_1","$type":"System","job":"Example job"},"links":{"self":"https://api.sb/ledgerlark.com/systems/system_1","up":"https://api.sb/ledgerlark.com/systems"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"System.update","summary":"System.update","description":"Changes the given properties of a System.","tags":["System"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the System."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"job":{"type":"string","description":"The one job it does."}},"additionalProperties":false},"example":{"job":"Example job"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"system":{"$ref":"#/components/schemas/System","description":"The System."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","system","links"]},"example":{"api":"https://api.sb/quietcopy.com","system":{"$id":"https://api.sb/quietcopy.com/systems/system_1","$type":"System","job":"Example job"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"System.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"System.updated"},"delete":{"operationId":"System.delete","summary":"System.delete","description":"Deletes a System; its history is kept.","tags":["System"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the System."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"system":{"$ref":"#/components/schemas/System","description":"The System."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","system","links"]},"example":{"api":"https://api.sb/kilnbakery.com","system":{"$id":"https://api.sb/kilnbakery.com/systems/system_1","$type":"System","job":"Example job"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"System.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"System.deleted"}},"/tasks":{"post":{"operationId":"Task.create","summary":"Task.create","description":"Creates a Task.","tags":["Task"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"project":{"type":"string","description":"A Project is made of Tasks. The Project id."}},"additionalProperties":false},"example":{"by":"worker_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The Task."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/ledgerlark.com","task":{"$id":"https://api.sb/ledgerlark.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Task.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.created"},"get":{"operationId":"Task.list","summary":"Task.list","description":"Returns Tasks, newest first, one page at a time.","tags":["Task"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/Task","description":"One page of Tasks."},"description":"One page of Tasks."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tasks","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Task","tasks":[{"$id":"https://api.sb/ledgerlark.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/tasks?limit=20","next":"https://api.sb/ledgerlark.com/tasks?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/tasks/{id}":{"get":{"operationId":"Task.get","summary":"Task.get","description":"Returns one Task by id.","tags":["Task"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Task."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"task":{"$ref":"#/components/schemas/Task","description":"The Task."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Task","$id":"https://api.sb/ledgerlark.com/tasks/task_1","task":{"$id":"https://api.sb/ledgerlark.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"links":{"self":"https://api.sb/ledgerlark.com/tasks/task_1","up":"https://api.sb/ledgerlark.com/tasks"},"actions":{"assign":"https://api.sb/ledgerlark.com/tasks/task_1/assign","claim":"https://api.sb/ledgerlark.com/tasks/task_1/claim","complete":"https://api.sb/ledgerlark.com/tasks/task_1/complete"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Task.update","summary":"Task.update","description":"Changes the given properties of a Task.","tags":["Task"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Task."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."}},"additionalProperties":false},"example":{"due":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The Task."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/quietcopy.com","task":{"$id":"https://api.sb/quietcopy.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Task.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.updated"},"delete":{"operationId":"Task.delete","summary":"Task.delete","description":"Deletes a Task; its history is kept.","tags":["Task"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Task."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The Task."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/kilnbakery.com","task":{"$id":"https://api.sb/kilnbakery.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Task.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.deleted"}},"/tasks/{task}/assign":{"post":{"operationId":"Task.assign","summary":"Task.assign","description":"Assign gives a Task to a Worker, human or agent, and places it in that Worker’s worklist.","tags":["Task"],"parameters":[{"name":"task","in":"path","required":true,"schema":{"type":"string"},"description":"The Task to assign."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"worker":{"type":"string","description":"The Worker who takes it. The Worker id."}},"required":["worker"],"additionalProperties":false},"example":{"worker":"worker_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The assigned Task."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/quietcopy.com","task":{"$id":"https://api.sb/quietcopy.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Task.assign","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.assigned"}},"/tasks/{task}/claim":{"post":{"operationId":"Task.claim","summary":"Task.claim","description":"Claim takes an offered Task from a shared queue or a handoff and makes the calling Worker its assignee.","tags":["Task"],"parameters":[{"name":"task","in":"path","required":true,"schema":{"type":"string"},"description":"The offered Task."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The Task, assigned to the caller."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/ledgerlark.com","task":{"$id":"https://api.sb/ledgerlark.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Task.claim","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.claimed"}},"/tasks/{task}/complete":{"post":{"operationId":"Task.complete","summary":"Task.complete","description":"Complete marks a Task done and resumes the Action that waited on it.","tags":["Task"],"parameters":[{"name":"task","in":"path","required":true,"schema":{"type":"string"},"description":"The assigned Task."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"description":"What the Worker produced."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The completed Task."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/petpantry.shop","task":{"$id":"https://api.sb/petpantry.shop/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Task.complete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.completed"}},"/tasks/{task}/delegate":{"post":{"operationId":"Task.delegate","summary":"Task.delegate","description":"Delegate passes a Task to another Role along a declared handoff and keeps its history.","tags":["Task"],"parameters":[{"name":"task","in":"path","required":true,"schema":{"type":"string"},"description":"The Task to pass on."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","description":"The Role that receives it. The Role id."}},"required":["role"],"additionalProperties":false},"example":{"role":"role_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The Task, held by the new Role."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/kilnbakery.com","task":{"$id":"https://api.sb/kilnbakery.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Task.delegate","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.delegated"}},"/tasks/{task}/escalate":{"post":{"operationId":"Task.escalate","summary":"Task.escalate","description":"Escalate moves a Task to the Role its current Role escalates to, with the reason attached.","tags":["Task"],"parameters":[{"name":"task","in":"path","required":true,"schema":{"type":"string"},"description":"The Task to escalate."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the current Role cannot finish it."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The Task, assigned upward."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/shiftnote.app","task":{"$id":"https://api.sb/shiftnote.app/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Task.escalate","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.escalated"}},"/tasks/next":{"post":{"operationId":"Task.next","summary":"Task.next","description":"Next returns the oldest open Task the calling Worker’s Roles may claim, without claiming it.","tags":["Task"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The Task to claim next; empty when the queue is drained."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","links"]},"example":{"api":"https://api.sb/tutorloop.com","task":{"$id":"https://api.sb/tutorloop.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Task.next","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.offered"}},"/tasks/{task}/return":{"post":{"operationId":"Task.return","summary":"Task.return","description":"Return hands an offered Task back to its sender, unchanged, with the reason the receiver cannot take it.","tags":["Task"],"parameters":[{"name":"task","in":"path","required":true,"schema":{"type":"string"},"description":"The Task to hand back."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"What is missing, or why the Task is outside the receiver’s lane."}},"required":["reason"],"additionalProperties":false},"example":{"reason":"Example reason"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"task":{"$ref":"#/components/schemas/Task","description":"The Task, back with its sender."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","task","links"]},"example":{"api":"https://api.sb/patentpad.com","task":{"$id":"https://api.sb/patentpad.com/tasks/task_1","$type":"Task","status":"pending","mode":"try"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Task.return","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Task.returned"}},"/teams":{"post":{"operationId":"Team.create","summary":"Team.create","description":"Creates a Team.","tags":["Team"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mission":{"type":"string","description":"What the Team is for, in one sentence."}},"required":["mission"],"additionalProperties":false},"example":{"mission":"Example mission"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"team":{"$ref":"#/components/schemas/Team","description":"The Team."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","team","links"]},"example":{"api":"https://api.sb/ledgerlark.com","team":{"$id":"https://api.sb/ledgerlark.com/teams/team_1","$type":"Team","mission":"Example mission","status":"asleep"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Team.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Team.created"},"get":{"operationId":"Team.list","summary":"Team.list","description":"Returns Teams, newest first, one page at a time.","tags":["Team"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"teams":{"type":"array","items":{"$ref":"#/components/schemas/Team","description":"One page of Teams."},"description":"One page of Teams."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","teams","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Team","teams":[{"$id":"https://api.sb/ledgerlark.com/teams/team_1","$type":"Team","mission":"Example mission","status":"asleep"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/teams?limit=20","next":"https://api.sb/ledgerlark.com/teams?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/teams/{id}":{"get":{"operationId":"Team.get","summary":"Team.get","description":"Returns one Team by id.","tags":["Team"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Team."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"team":{"$ref":"#/components/schemas/Team","description":"The Team."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","team","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Team","$id":"https://api.sb/ledgerlark.com/teams/team_1","team":{"$id":"https://api.sb/ledgerlark.com/teams/team_1","$type":"Team","mission":"Example mission","status":"asleep"},"links":{"self":"https://api.sb/ledgerlark.com/teams/team_1","up":"https://api.sb/ledgerlark.com/teams"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Team.update","summary":"Team.update","description":"Changes the given properties of a Team.","tags":["Team"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Team."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"mission":{"type":"string","description":"What the Team is for, in one sentence."}},"additionalProperties":false},"example":{"mission":"Example mission"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"team":{"$ref":"#/components/schemas/Team","description":"The Team."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","team","links"]},"example":{"api":"https://api.sb/quietcopy.com","team":{"$id":"https://api.sb/quietcopy.com/teams/team_1","$type":"Team","mission":"Example mission","status":"asleep"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Team.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Team.updated"},"delete":{"operationId":"Team.delete","summary":"Team.delete","description":"Deletes a Team; its history is kept.","tags":["Team"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Team."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"team":{"$ref":"#/components/schemas/Team","description":"The Team."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","team","links"]},"example":{"api":"https://api.sb/kilnbakery.com","team":{"$id":"https://api.sb/kilnbakery.com/teams/team_1","$type":"Team","mission":"Example mission","status":"asleep"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Team.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Team.deleted"}},"/templates":{"post":{"operationId":"Template.create","summary":"Template.create","description":"Creates a Template.","tags":["Template"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"The MDX source with its variables."}},"required":["body"],"additionalProperties":false},"example":{"body":"Example body"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"template":{"$ref":"#/components/schemas/Template","description":"The Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","template","links"]},"example":{"api":"https://api.sb/quietcopy.com","template":{"$id":"https://api.sb/quietcopy.com/templates/template_1","$type":"Template","body":"Example body"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Template.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Template.created"},"get":{"operationId":"Template.list","summary":"Template.list","description":"Returns Templates, newest first, one page at a time.","tags":["Template"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"templates":{"type":"array","items":{"$ref":"#/components/schemas/Template","description":"One page of Templates."},"description":"One page of Templates."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","templates","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Template","templates":[{"$id":"https://api.sb/quietcopy.com/templates/template_1","$type":"Template","body":"Example body"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/templates?limit=20","next":"https://api.sb/quietcopy.com/templates?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/templates/{id}":{"get":{"operationId":"Template.get","summary":"Template.get","description":"Returns one Template by id.","tags":["Template"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Template."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"template":{"$ref":"#/components/schemas/Template","description":"The Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","template","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Template","$id":"https://api.sb/kilnbakery.com/templates/template_1","template":{"$id":"https://api.sb/kilnbakery.com/templates/template_1","$type":"Template","body":"Example body"},"links":{"self":"https://api.sb/kilnbakery.com/templates/template_1","up":"https://api.sb/kilnbakery.com/templates"},"actions":{"extend":"https://api.sb/kilnbakery.com/templates/template_1/extend","promote":"https://api.sb/kilnbakery.com/templates/template_1/promote","upgrade":"https://api.sb/kilnbakery.com/templates/template_1/upgrade"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Template.update","summary":"Template.update","description":"Changes the given properties of a Template.","tags":["Template"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Template."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"The MDX source with its variables."}},"additionalProperties":false},"example":{"body":"Example body"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"template":{"$ref":"#/components/schemas/Template","description":"The Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","template","links"]},"example":{"api":"https://api.sb/shiftnote.app","template":{"$id":"https://api.sb/shiftnote.app/templates/template_1","$type":"Template","body":"Example body"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Template.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Template.updated"},"delete":{"operationId":"Template.delete","summary":"Template.delete","description":"Deletes a Template; its history is kept.","tags":["Template"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Template."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"template":{"$ref":"#/components/schemas/Template","description":"The Template."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","template","links"]},"example":{"api":"https://api.sb/routewise.dev","template":{"$id":"https://api.sb/routewise.dev/templates/template_1","$type":"Template","body":"Example body"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Template.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Template.deleted"}},"/templates/{template}/extend":{"post":{"operationId":"Template.extend","summary":"Template.extend","description":"Extend adds a Template to a Startup’s bases, pinned to a Version, so the Startup inherits its definition.","tags":["Template"],"parameters":[{"name":"template","in":"path","required":true,"schema":{"type":"string"},"description":"The Template to inherit."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startup":{"type":"string","description":"The Startup that extends it. The Startup id."}},"required":["startup"],"additionalProperties":false},"example":{"startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup with the Template among its bases."},"template":{"$ref":"#/components/schemas/Template","description":"The Template extended."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","template","links"]},"example":{"api":"https://api.sb/quietcopy.com","startup":{"$id":"https://api.sb/quietcopy.com/startups/startup_1","$type":"Startup","name":"QuietCopy"},"template":{"$id":"https://api.sb/quietcopy.com/templates/template_1","$type":"Template","body":"Example body"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Template.extend","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Template.extended"}},"/templates/{template}/promote":{"post":{"operationId":"Template.promote","summary":"Template.promote","description":"Promote moves one Startup’s refinement into a Template, so every Startup that extends the Template inherits it.","tags":["Template"],"parameters":[{"name":"template","in":"path","required":true,"schema":{"type":"string"},"description":"The Template that receives the refinement."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startup":{"type":"string","description":"The Startup that holds the refinement. The Startup id."}},"required":["startup"],"additionalProperties":false},"example":{"startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"change":{"$ref":"#/components/schemas/Change","description":"The Change against the Template."},"template":{"$ref":"#/components/schemas/Template","description":"The Template that received the refinement."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","change","template","links"]},"example":{"api":"https://api.sb/petpantry.shop","change":{"$id":"https://api.sb/petpantry.shop/changes/change_1","$type":"Change","status":"Open","base":"version_1"},"template":{"$id":"https://api.sb/petpantry.shop/templates/template_1","$type":"Template","body":"Example body"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Template.promote","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Template.promoted"}},"/templates/{template}/upgrade":{"post":{"operationId":"Template.upgrade","summary":"Template.upgrade","description":"Upgrade moves a Startup to a newer Version of a Template it extends, through a Change it can review.","tags":["Template"],"parameters":[{"name":"template","in":"path","required":true,"schema":{"type":"string"},"description":"The Template to upgrade."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startup":{"type":"string","description":"The Startup that extends it. The Startup id."},"version":{"type":"string","description":"The target Version. Defaults to the latest. The Version id."}},"required":["startup"],"additionalProperties":false},"example":{"startup":"startup_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"change":{"$ref":"#/components/schemas/Change","description":"The Change that moves the pin."},"template":{"$ref":"#/components/schemas/Template","description":"The Template upgraded to."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","change","template","links"]},"example":{"api":"https://api.sb/petpantry.shop","change":{"$id":"https://api.sb/petpantry.shop/changes/change_1","$type":"Change","status":"Open","base":"version_1"},"template":{"$id":"https://api.sb/petpantry.shop/templates/template_1","$type":"Template","body":"Example body"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Template.upgrade","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Template.upgraded"}},"/tenants":{"post":{"operationId":"Tenant.create","summary":"Tenant.create","description":"Creates a Tenant.","tags":["Tenant"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"placement":{"type":"string","description":"Where the Tenant sits in an address: `path` or `host`."},"apiVersion":{"type":"string","description":"The API version an unversioned call with this Tenant’s keys answers at; set at creation, moved only by `pin`."}},"additionalProperties":false},"example":{"placement":"path"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tenant","links"]},"example":{"api":"https://api.sb/kilnbakery.com","tenant":{"$id":"https://api.sb/kilnbakery.com/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Tenant.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tenant.created"},"get":{"operationId":"Tenant.list","summary":"Tenant.list","description":"Returns Tenants, newest first, one page at a time.","tags":["Tenant"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"tenants":{"type":"array","items":{"$ref":"#/components/schemas/Tenant","description":"One page of Tenants."},"description":"One page of Tenants."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tenants","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Tenant","tenants":[{"$id":"https://api.sb/petpantry.shop/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/petpantry.shop/tenants?limit=20","next":"https://api.sb/petpantry.shop/tenants?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/tenants/{id}":{"get":{"operationId":"Tenant.get","summary":"Tenant.get","description":"Returns one Tenant by id.","tags":["Tenant"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Tenant."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tenant","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Tenant","$id":"https://api.sb/tutorloop.com/tenants/tenant_1","tenant":{"$id":"https://api.sb/tutorloop.com/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"},"links":{"self":"https://api.sb/tutorloop.com/tenants/tenant_1","up":"https://api.sb/tutorloop.com/tenants"},"actions":{"invite":"https://api.sb/tutorloop.com/tenants/tenant_1/invite","pin":"https://api.sb/tutorloop.com/tenants/tenant_1/pin","requestSetup":"https://api.sb/tutorloop.com/tenants/tenant_1/requestSetup"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Tenant.update","summary":"Tenant.update","description":"Changes the given properties of a Tenant.","tags":["Tenant"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Tenant."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"placement":{"type":"string","description":"Where the Tenant sits in an address: `path` or `host`."},"apiVersion":{"type":"string","description":"The API version an unversioned call with this Tenant’s keys answers at; set at creation, moved only by `pin`."}},"additionalProperties":false},"example":{"placement":"path"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tenant","links"]},"example":{"api":"https://api.sb/patentpad.com","tenant":{"$id":"https://api.sb/patentpad.com/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Tenant.update","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tenant.updated"},"delete":{"operationId":"Tenant.delete","summary":"Tenant.delete","description":"Deletes a Tenant; its history is kept.","tags":["Tenant"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Tenant."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tenant","links"]},"example":{"api":"https://api.sb/shiftnote.app","tenant":{"$id":"https://api.sb/shiftnote.app/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Tenant.delete","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tenant.deleted"}},"/tenants/{tenant}/invite":{"post":{"operationId":"Tenant.invite","summary":"Tenant.invite","description":"Invite asks a Person to join a Customer’s Tenant, and resizes the Subscription when the Offer prices per member.","tags":["Tenant"],"parameters":[{"name":"tenant","in":"path","required":true,"schema":{"type":"string"},"description":"The Customer’s Tenant."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Where the invitation goes."}},"required":["email"],"additionalProperties":false},"example":{"email":"hana@routewise.dev"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"person":{"$ref":"#/components/schemas/Person","description":"The invited Person."},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant the Person was invited to."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","person","tenant","links"]},"example":{"api":"https://api.sb/routewise.dev","person":{"$id":"https://api.sb/routewise.dev/people/person_1","$type":"Person","name":"Hana Sato"},"tenant":{"$id":"https://api.sb/routewise.dev/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Tenant.invite","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tenant.invited"}},"/tenants/{tenant}/pin":{"post":{"operationId":"Tenant.pin","summary":"Tenant.pin","description":"Pin moves a Tenant’s keys to another API version, or to `latest`, once a call with its test key passes there.","tags":["Tenant"],"parameters":[{"name":"tenant","in":"path","required":true,"schema":{"type":"string"},"description":"The Tenant whose keys move."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"apiVersion":{"type":"string","description":"The version to answer at, such as `v2`, or `latest` to track the newest.","enum":["v2","latest"]}},"required":["apiVersion"],"additionalProperties":false},"example":{"apiVersion":"v2"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant, answering at its new version."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tenant","links"]},"example":{"api":"https://api.sb/patentpad.com","tenant":{"$id":"https://api.sb/patentpad.com/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Tenant.pin","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tenant.pinned"}},"/tenants/provision":{"post":{"operationId":"Tenant.provision","summary":"Tenant.provision","description":"Provision creates a Customer’s Tenant in a Startup’s App, holding that Customer’s records apart from every other.","tags":["Tenant"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"type":"string","description":"The Customer the Tenant serves. The Customer id."}},"required":["customer"],"additionalProperties":false},"example":{"customer":"customer_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The new Tenant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tenant","links"]},"example":{"api":"https://api.sb/routewise.dev","tenant":{"$id":"https://api.sb/routewise.dev/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Tenant.provision","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tenant.provisioned"}},"/tenants/{tenant}/requestSetup":{"post":{"operationId":"Tenant.requestSetup","summary":"Tenant.requestSetup","description":"RequestSetup sends a Customer’s admin a link to connect their own sign-in, directory or verified domain to the Tenant.","tags":["Tenant"],"parameters":[{"name":"tenant","in":"path","required":true,"schema":{"type":"string"},"description":"The Tenant to set up."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"admin":{"type":"string","description":"The Customer’s admin who receives the link. The Person id."},"intent":{"type":"string","description":"What the link sets up.","enum":["sso","directory","domain","auditStream"]}},"required":["admin","intent"],"additionalProperties":false},"example":{"admin":"person_1","intent":"sso"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"link":{"type":"string","format":"uri","description":"The single-use setup link, valid for 7 days."},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant being set up."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","link","tenant","links"]},"example":{"api":"https://api.sb/tutorloop.com","link":"https://tutorloop.com","tenant":{"$id":"https://api.sb/tutorloop.com/tenants/tenant_1","$type":"Tenant","placement":"path","apiVersion":"v2"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Tenant.requestSetup","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tenant.setupRequested"}},"/themes":{"post":{"operationId":"Theme.create","summary":"Theme.create","description":"Creates a Theme.","tags":["Theme"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tokens":{"description":"The token values, in light and dark modes."},"css":{"type":"string","description":"Extra CSS, applied after the tokens."}},"required":["tokens"],"additionalProperties":false},"example":{"tokens":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"theme":{"$ref":"#/components/schemas/Theme","description":"The Theme."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","theme","links"]},"example":{"api":"https://api.sb/patentpad.com","theme":{"$id":"https://api.sb/patentpad.com/themes/theme_1","$type":"Theme","tokens":{}},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Theme.create","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Theme.created"},"get":{"operationId":"Theme.list","summary":"Theme.list","description":"Returns Themes, newest first, one page at a time.","tags":["Theme"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"themes":{"type":"array","items":{"$ref":"#/components/schemas/Theme","description":"One page of Themes."},"description":"One page of Themes."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","themes","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Theme","themes":[{"$id":"https://api.sb/routewise.dev/themes/theme_1","$type":"Theme","tokens":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/routewise.dev/themes?limit=20","next":"https://api.sb/routewise.dev/themes?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/themes/{id}":{"get":{"operationId":"Theme.get","summary":"Theme.get","description":"Returns one Theme by id.","tags":["Theme"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Theme."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"theme":{"$ref":"#/components/schemas/Theme","description":"The Theme."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","theme","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Theme","$id":"https://api.sb/patentpad.com/themes/theme_1","theme":{"$id":"https://api.sb/patentpad.com/themes/theme_1","$type":"Theme","tokens":{}},"links":{"self":"https://api.sb/patentpad.com/themes/theme_1","up":"https://api.sb/patentpad.com/themes"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Theme.update","summary":"Theme.update","description":"Changes the given properties of a Theme.","tags":["Theme"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Theme."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokens":{"description":"The token values, in light and dark modes."},"css":{"type":"string","description":"Extra CSS, applied after the tokens."}},"additionalProperties":false},"example":{"tokens":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"theme":{"$ref":"#/components/schemas/Theme","description":"The Theme."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","theme","links"]},"example":{"api":"https://api.sb/petpantry.shop","theme":{"$id":"https://api.sb/petpantry.shop/themes/theme_1","$type":"Theme","tokens":{}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Theme.update","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Theme.updated"},"delete":{"operationId":"Theme.delete","summary":"Theme.delete","description":"Deletes a Theme; its history is kept.","tags":["Theme"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Theme."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"theme":{"$ref":"#/components/schemas/Theme","description":"The Theme."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","theme","links"]},"example":{"api":"https://api.sb/quietcopy.com","theme":{"$id":"https://api.sb/quietcopy.com/themes/theme_1","$type":"Theme","tokens":{}},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Theme.delete","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Theme.deleted"}},"/things":{"post":{"operationId":"Thing.create","summary":"Thing.create","description":"Creates a Thing.","tags":["Thing"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."}},"required":["id","type"],"additionalProperties":false},"example":{"id":"thing_1","type":["noun_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thing","links"]},"example":{"api":"https://api.sb/tutorloop.com","thing":{"$id":"https://api.sb/tutorloop.com/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Thing.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thing.created"},"get":{"operationId":"Thing.list","summary":"Thing.list","description":"Returns Things, newest first, one page at a time.","tags":["Thing"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"things":{"type":"array","items":{"$ref":"#/components/schemas/Thing","description":"One page of Things."},"description":"One page of Things."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","things","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Thing","things":[{"$id":"https://api.sb/tutorloop.com/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/things?limit=20","next":"https://api.sb/tutorloop.com/things?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/things/{id}":{"get":{"operationId":"Thing.get","summary":"Thing.get","description":"Returns one Thing by id.","tags":["Thing"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Thing."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thing","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Thing","$id":"https://api.sb/petpantry.shop/things/thing_1","thing":{"$id":"https://api.sb/petpantry.shop/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]},"links":{"self":"https://api.sb/petpantry.shop/things/thing_1","up":"https://api.sb/petpantry.shop/things"},"actions":{"relate":"https://api.sb/petpantry.shop/things/thing_1/relate","share":"https://api.sb/petpantry.shop/things/thing_1/share","unrelate":"https://api.sb/petpantry.shop/things/thing_1/unrelate"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Thing.update","summary":"Thing.update","description":"Changes the given properties of a Thing.","tags":["Thing"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Thing."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."}},"additionalProperties":false},"example":{"type":["noun_1"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thing","links"]},"example":{"api":"https://api.sb/ledgerlark.com","thing":{"$id":"https://api.sb/ledgerlark.com/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Thing.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thing.updated"},"delete":{"operationId":"Thing.delete","summary":"Thing.delete","description":"Deletes a Thing; its history is kept.","tags":["Thing"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Thing."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thing","links"]},"example":{"api":"https://api.sb/patentpad.com","thing":{"$id":"https://api.sb/patentpad.com/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Thing.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thing.deleted"}},"/things/{thing}/relate":{"post":{"operationId":"Thing.relate","summary":"Thing.relate","description":"Relate links two Things by a Relationship their Nouns declare, readable from both ends at once.","tags":["Thing"],"parameters":[{"name":"thing","in":"path","required":true,"schema":{"type":"string"},"description":"The source Thing."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"predicate":{"type":"string","description":"The Relationship as read from the source, such as `places`."},"to":{"type":"string","description":"The target Thing. The Thing id."}},"required":["predicate","to"],"additionalProperties":false},"example":{"predicate":"Example predicate","to":"thing_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship, with its provenance."},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing the Relationship starts from."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","relationship","thing","links"]},"example":{"api":"https://api.sb/shiftnote.app","relationship":{"$id":"https://api.sb/shiftnote.app/relationships/relationship_1","$type":"Relationship","predicate":"Example predicate","inverse":"Example inverse"},"thing":{"$id":"https://api.sb/shiftnote.app/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Thing.relate","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thing.related"}},"/things/resolve":{"post":{"operationId":"Thing.resolve","summary":"Thing.resolve","description":"Resolve finds the one Thing of a Noun that matches given properties, or creates it, and says which it did.","tags":["Thing"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"noun":{"type":"string","description":"The Noun to resolve. The Noun id."},"match":{"description":"The properties that identify the Thing, such as an email address."},"set":{"description":"Properties to write on the found or created Thing."}},"required":["noun","match"],"additionalProperties":false},"example":{"noun":"noun_1","match":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing found or created; empty when held."},"decision":{"type":"string","description":"What happened: `found`, `created`, or `held` when two or more Things match.","enum":["found","created","held"]},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","decision","links"]},"example":{"api":"https://api.sb/petpantry.shop","thing":{"$id":"https://api.sb/petpantry.shop/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]},"decision":"found","action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Thing.resolve","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thing.resolved"}},"/things/{thing}/share":{"post":{"operationId":"Thing.share","summary":"Thing.share","description":"Share grants a person, a Role or a guest Verbs on one record and everything it contains.","tags":["Thing"],"parameters":[{"name":"thing","in":"path","required":true,"schema":{"type":"string"},"description":"The record to share."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"Who receives the grant: a person, or a guest who fills only the `guest` Role. The Party id."},"verbs":{"type":"array","items":{"type":"string","description":"The Verbs granted, such as `get` and `comment`."},"description":"The Verbs granted, such as `get` and `comment`."}},"required":["to","verbs"],"additionalProperties":false},"example":{"to":"party_1","verbs":["Example verbs"]}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"permission":{"$ref":"#/components/schemas/Permission","description":"The grant, scoped to the record and its contents."},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing shared."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","permission","thing","links"]},"example":{"api":"https://api.sb/ledgerlark.com","permission":{"$id":"https://api.sb/ledgerlark.com/permissions/permission_1","$type":"Permission","scope":"Example scope"},"thing":{"$id":"https://api.sb/ledgerlark.com/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Thing.share","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thing.shared"}},"/things/{thing}/unrelate":{"post":{"operationId":"Thing.unrelate","summary":"Thing.unrelate","description":"Unrelate ends a Relationship between two Things; the link stays in history and reads back at any earlier moment.","tags":["Thing"],"parameters":[{"name":"thing","in":"path","required":true,"schema":{"type":"string"},"description":"The source Thing."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"predicate":{"type":"string","description":"The Relationship as read from the source."},"to":{"type":"string","description":"The target Thing. The Thing id."}},"required":["predicate","to"],"additionalProperties":false},"example":{"predicate":"Example predicate","to":"thing_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"relationship":{"$ref":"#/components/schemas/Relationship","description":"The ended Relationship."},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing the Relationship started from."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","relationship","thing","links"]},"example":{"api":"https://api.sb/kilnbakery.com","relationship":{"$id":"https://api.sb/kilnbakery.com/relationships/relationship_1","$type":"Relationship","predicate":"Example predicate","inverse":"Example inverse"},"thing":{"$id":"https://api.sb/kilnbakery.com/things/thing_1","$type":"Thing","id":"Example id","type":["noun_1"]},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Thing.unrelate","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thing.unrelated"}},"/threads":{"post":{"operationId":"Thread.create","summary":"Thread.create","description":"Creates a Thread.","tags":["Thread"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string","description":"What the Thread is about."},"channel":{"type":"string","description":"A Channel holds Threads. The Channel id."},"conversation":{"type":"string","description":"The intake Threads a support Conversation opens, each deadline counted from the Conversation’s first Message. The Conversation id."}},"additionalProperties":false},"example":{"subject":"Example subject"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"thread":{"$ref":"#/components/schemas/Thread","description":"The Thread."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thread","links"]},"example":{"api":"https://api.sb/petpantry.shop","thread":{"$id":"https://api.sb/petpantry.shop/threads/thread_1","$type":"Thread","subject":"Example subject"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Thread.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thread.created"},"get":{"operationId":"Thread.list","summary":"Thread.list","description":"Returns Threads, newest first, one page at a time.","tags":["Thread"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"threads":{"type":"array","items":{"$ref":"#/components/schemas/Thread","description":"One page of Threads."},"description":"One page of Threads."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","threads","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Thread","threads":[{"$id":"https://api.sb/kilnbakery.com/threads/thread_1","$type":"Thread","subject":"Example subject"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/threads?limit=20","next":"https://api.sb/kilnbakery.com/threads?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/threads/{id}":{"get":{"operationId":"Thread.get","summary":"Thread.get","description":"Returns one Thread by id.","tags":["Thread"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Thread."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"thread":{"$ref":"#/components/schemas/Thread","description":"The Thread."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thread","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Thread","$id":"https://api.sb/quietcopy.com/threads/thread_1","thread":{"$id":"https://api.sb/quietcopy.com/threads/thread_1","$type":"Thread","subject":"Example subject"},"links":{"self":"https://api.sb/quietcopy.com/threads/thread_1","up":"https://api.sb/quietcopy.com/threads"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Thread.update","summary":"Thread.update","description":"Changes the given properties of a Thread.","tags":["Thread"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Thread."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string","description":"What the Thread is about."}},"additionalProperties":false},"example":{"subject":"Example subject"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"thread":{"$ref":"#/components/schemas/Thread","description":"The Thread."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thread","links"]},"example":{"api":"https://api.sb/routewise.dev","thread":{"$id":"https://api.sb/routewise.dev/threads/thread_1","$type":"Thread","subject":"Example subject"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Thread.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thread.updated"},"delete":{"operationId":"Thread.delete","summary":"Thread.delete","description":"Deletes a Thread; its history is kept.","tags":["Thread"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Thread."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"thread":{"$ref":"#/components/schemas/Thread","description":"The Thread."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thread","links"]},"example":{"api":"https://api.sb/ledgerlark.com","thread":{"$id":"https://api.sb/ledgerlark.com/threads/thread_1","$type":"Thread","subject":"Example subject"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Thread.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Thread.deleted"}},"/tools":{"post":{"operationId":"Tool.create","summary":"Tool.create","description":"Creates a Tool.","tags":["Tool"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The `Noun.verb` name, such as `Contact.create`."},"verb":{"type":"string","description":"A Tool is one Verb under one name on every Interface, such as `Contact.create`. The Verb id."}},"required":["name"],"additionalProperties":false},"example":{"name":"TutorLoop"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"tool":{"$ref":"#/components/schemas/Tool","description":"The Tool."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tool","links"]},"example":{"api":"https://api.sb/tutorloop.com","tool":{"$id":"https://api.sb/tutorloop.com/tools/tool_1","$type":"Tool","name":"TutorLoop"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Tool.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tool.created"},"get":{"operationId":"Tool.list","summary":"Tool.list","description":"Returns Tools, newest first, one page at a time.","tags":["Tool"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"tools":{"type":"array","items":{"$ref":"#/components/schemas/Tool","description":"One page of Tools."},"description":"One page of Tools."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tools","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Tool","tools":[{"$id":"https://api.sb/tutorloop.com/tools/tool_1","$type":"Tool","name":"TutorLoop"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/tools?limit=20","next":"https://api.sb/tutorloop.com/tools?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/tools/{id}":{"get":{"operationId":"Tool.get","summary":"Tool.get","description":"Returns one Tool by id.","tags":["Tool"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Tool."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"tool":{"$ref":"#/components/schemas/Tool","description":"The Tool."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tool","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Tool","$id":"https://api.sb/petpantry.shop/tools/tool_1","tool":{"$id":"https://api.sb/petpantry.shop/tools/tool_1","$type":"Tool","name":"PetPantry"},"links":{"self":"https://api.sb/petpantry.shop/tools/tool_1","up":"https://api.sb/petpantry.shop/tools"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Tool.update","summary":"Tool.update","description":"Changes the given properties of a Tool.","tags":["Tool"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Tool."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The `Noun.verb` name, such as `Contact.create`."}},"additionalProperties":false},"example":{"name":"LedgerLark"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"tool":{"$ref":"#/components/schemas/Tool","description":"The Tool."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tool","links"]},"example":{"api":"https://api.sb/ledgerlark.com","tool":{"$id":"https://api.sb/ledgerlark.com/tools/tool_1","$type":"Tool","name":"LedgerLark"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Tool.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tool.updated"},"delete":{"operationId":"Tool.delete","summary":"Tool.delete","description":"Deletes a Tool; its history is kept.","tags":["Tool"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Tool."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"tool":{"$ref":"#/components/schemas/Tool","description":"The Tool."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","tool","links"]},"example":{"api":"https://api.sb/patentpad.com","tool":{"$id":"https://api.sb/patentpad.com/tools/tool_1","$type":"Tool","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Tool.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Tool.deleted"}},"/transactions/{id}":{"get":{"operationId":"Transaction.get","summary":"Transaction.get","description":"Returns one Transaction by id.","tags":["Transaction"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Transaction."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The Transaction."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transaction","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Transaction","$id":"https://api.sb/kilnbakery.com/transactions/transaction_1","transaction":{"$id":"https://api.sb/kilnbakery.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":9,"currency":"USD"}},"links":{"self":"https://api.sb/kilnbakery.com/transactions/transaction_1","up":"https://api.sb/kilnbakery.com/transactions"},"actions":{"attach":"https://api.sb/kilnbakery.com/transactions/transaction_1/attach","categorize":"https://api.sb/kilnbakery.com/transactions/transaction_1/categorize","reconcile":"https://api.sb/kilnbakery.com/transactions/transaction_1/reconcile"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/transactions":{"get":{"operationId":"Transaction.list","summary":"Transaction.list","description":"Returns Transactions, newest first, one page at a time.","tags":["Transaction"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/Transaction","description":"One page of Transactions."},"description":"One page of Transactions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transactions","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Transaction","transactions":[{"$id":"https://api.sb/quietcopy.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":39,"currency":"USD"}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/transactions?limit=20","next":"https://api.sb/quietcopy.com/transactions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/transactions/{transaction}/attach":{"post":{"operationId":"Transaction.attach","summary":"Transaction.attach","description":"Attach matches a receipt File to a card Transaction, or flags the Transaction when no receipt arrives in time.","tags":["Transaction"],"parameters":[{"name":"transaction","in":"path","required":true,"schema":{"type":"string"},"description":"The card Transaction."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string","description":"The receipt; empty to match from the Startup’s Mailboxes. The File id."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The Transaction with its receipt."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transaction","links"]},"example":{"api":"https://api.sb/ledgerlark.com","transaction":{"$id":"https://api.sb/ledgerlark.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":400,"currency":"USD"}},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Transaction.attach","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Transaction.attached"}},"/transactions/{transaction}/categorize":{"post":{"operationId":"Transaction.categorize","summary":"Transaction.categorize","description":"Categorize codes a Transaction to an account in the chart by the Startup’s Policy and flags a low-confidence code for review.","tags":["Transaction"],"parameters":[{"name":"transaction","in":"path","required":true,"schema":{"type":"string"},"description":"The Transaction to code."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"account":{"type":"string","description":"The account code to use in place of the Policy’s choice."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The coded Transaction."},"account":{"type":"string","description":"The account code it was coded to."},"confidence":{"type":"number","description":"How sure the code is, from 0 to 1."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transaction","account","confidence","links"]},"example":{"api":"https://api.sb/ledgerlark.com","transaction":{"$id":"https://api.sb/ledgerlark.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":400,"currency":"USD"}},"account":"Example account","confidence":1,"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Transaction.categorize","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Transaction.categorized"}},"/transactions/{transaction}/reconcile":{"post":{"operationId":"Transaction.reconcile","summary":"Transaction.reconcile","description":"Reconcile matches a Transaction on a payment rail to the ledger Entries it settles.","tags":["Transaction"],"parameters":[{"name":"transaction","in":"path","required":true,"schema":{"type":"string"},"description":"The Transaction to match."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The reconciled Transaction."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","transaction","links"]},"example":{"api":"https://api.sb/kilnbakery.com","transaction":{"$id":"https://api.sb/kilnbakery.com/transactions/transaction_1","$type":"Transaction","kind":"charge","amount":{"amount":9,"currency":"USD"}},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Transaction.reconcile","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Transaction.reconciled"}},"/triggers":{"post":{"operationId":"Trigger.create","summary":"Trigger.create","description":"Creates a Trigger.","tags":["Trigger"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"event":{"type":"string","description":"The Event selector it matches, such as `Order.placed`."},"schedule":{"type":"string","description":"A cadence or cron expression."},"where":{"type":"string","description":"The predicate an `event` Trigger matches, such as `choice = 'raise'`."},"threshold":{"description":"A Metric staying below or above a value, optionally for a while, such as four weeks."},"at":{"type":"string","description":"When in its cadence a schedule runs, on the namespace’s clock, such as `mon 09:00`."}},"additionalProperties":false},"example":{"event":"Example event"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"trigger":{"$ref":"#/components/schemas/Trigger","description":"The Trigger."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","trigger","links"]},"example":{"api":"https://api.sb/quietcopy.com","trigger":{"$id":"https://api.sb/quietcopy.com/triggers/trigger_1","$type":"Trigger","event":"Example event","schedule":"Example schedule"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Trigger.create","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Trigger.created"},"get":{"operationId":"Trigger.list","summary":"Trigger.list","description":"Returns Triggers, newest first, one page at a time.","tags":["Trigger"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"triggers":{"type":"array","items":{"$ref":"#/components/schemas/Trigger","description":"One page of Triggers."},"description":"One page of Triggers."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","triggers","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Trigger","triggers":[{"$id":"https://api.sb/quietcopy.com/triggers/trigger_1","$type":"Trigger","event":"Example event","schedule":"Example schedule"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/quietcopy.com/triggers?limit=20","next":"https://api.sb/quietcopy.com/triggers?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/triggers/{id}":{"get":{"operationId":"Trigger.get","summary":"Trigger.get","description":"Returns one Trigger by id.","tags":["Trigger"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Trigger."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"trigger":{"$ref":"#/components/schemas/Trigger","description":"The Trigger."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","trigger","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Trigger","$id":"https://api.sb/kilnbakery.com/triggers/trigger_1","trigger":{"$id":"https://api.sb/kilnbakery.com/triggers/trigger_1","$type":"Trigger","event":"Example event","schedule":"Example schedule"},"links":{"self":"https://api.sb/kilnbakery.com/triggers/trigger_1","up":"https://api.sb/kilnbakery.com/triggers"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Trigger.update","summary":"Trigger.update","description":"Changes the given properties of a Trigger.","tags":["Trigger"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Trigger."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"event":{"type":"string","description":"The Event selector it matches, such as `Order.placed`."},"schedule":{"type":"string","description":"A cadence or cron expression."},"where":{"type":"string","description":"The predicate an `event` Trigger matches, such as `choice = 'raise'`."},"threshold":{"description":"A Metric staying below or above a value, optionally for a while, such as four weeks."},"at":{"type":"string","description":"When in its cadence a schedule runs, on the namespace’s clock, such as `mon 09:00`."}},"additionalProperties":false},"example":{"threshold":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"trigger":{"$ref":"#/components/schemas/Trigger","description":"The Trigger."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","trigger","links"]},"example":{"api":"https://api.sb/shiftnote.app","trigger":{"$id":"https://api.sb/shiftnote.app/triggers/trigger_1","$type":"Trigger","event":"Example event","schedule":"Example schedule"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Trigger.update","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Trigger.updated"},"delete":{"operationId":"Trigger.delete","summary":"Trigger.delete","description":"Deletes a Trigger; its history is kept.","tags":["Trigger"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Trigger."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"trigger":{"$ref":"#/components/schemas/Trigger","description":"The Trigger."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","trigger","links"]},"example":{"api":"https://api.sb/routewise.dev","trigger":{"$id":"https://api.sb/routewise.dev/triggers/trigger_1","$type":"Trigger","event":"Example event","schedule":"Example schedule"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Trigger.delete","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Trigger.deleted"}},"/variants":{"post":{"operationId":"Variant.create","summary":"Variant.create","description":"Creates a Variant.","tags":["Variant"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The name the Flag returns for it."},"value":{"description":"What it changes: copy, behavior, a definition Version, or a Thing."},"control":{"type":"boolean","description":"True for the current definition every challenger is judged against."},"follows":{"type":"string","description":"The Variant it was drafted from by a learn step. The Variant id."},"experiment":{"type":"string","description":"The Variants the Experiment can assign, the control among them. The Experiment id."}},"required":["key","value"],"additionalProperties":false},"example":{"key":"Example key","value":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","variant","links"]},"example":{"api":"https://api.sb/routewise.dev","variant":{"$id":"https://api.sb/routewise.dev/variants/variant_1","$type":"Variant","key":"Example key","value":{}},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Variant.create","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Variant.created"},"get":{"operationId":"Variant.list","summary":"Variant.list","description":"Returns Variants, newest first, one page at a time.","tags":["Variant"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"variants":{"type":"array","items":{"$ref":"#/components/schemas/Variant","description":"One page of Variants."},"description":"One page of Variants."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","variants","links"]},"example":{"api":"https://api.sb/patentpad.com","$type":"Variant","variants":[{"$id":"https://api.sb/patentpad.com/variants/variant_1","$type":"Variant","key":"Example key","value":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/patentpad.com/variants?limit=20","next":"https://api.sb/patentpad.com/variants?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/variants/{id}":{"get":{"operationId":"Variant.get","summary":"Variant.get","description":"Returns one Variant by id.","tags":["Variant"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Variant."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","variant","links"]},"example":{"api":"https://api.sb/routewise.dev","$type":"Variant","$id":"https://api.sb/routewise.dev/variants/variant_1","variant":{"$id":"https://api.sb/routewise.dev/variants/variant_1","$type":"Variant","key":"Example key","value":{}},"links":{"self":"https://api.sb/routewise.dev/variants/variant_1","up":"https://api.sb/routewise.dev/variants"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Variant.update","summary":"Variant.update","description":"Changes the given properties of a Variant.","tags":["Variant"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Variant."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The name the Flag returns for it."},"value":{"description":"What it changes: copy, behavior, a definition Version, or a Thing."},"control":{"type":"boolean","description":"True for the current definition every challenger is judged against."},"follows":{"type":"string","description":"The Variant it was drafted from by a learn step. The Variant id."}},"additionalProperties":false},"example":{"value":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","variant","links"]},"example":{"api":"https://api.sb/kilnbakery.com","variant":{"$id":"https://api.sb/kilnbakery.com/variants/variant_1","$type":"Variant","key":"Example key","value":{}},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Variant.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Variant.updated"},"delete":{"operationId":"Variant.delete","summary":"Variant.delete","description":"Deletes a Variant; its history is kept.","tags":["Variant"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Variant."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","variant","links"]},"example":{"api":"https://api.sb/tutorloop.com","variant":{"$id":"https://api.sb/tutorloop.com/variants/variant_1","$type":"Variant","key":"Example key","value":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Variant.delete","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Variant.deleted"}},"/verbs":{"post":{"operationId":"Verb.create","summary":"Verb.create","description":"Creates a Verb.","tags":["Verb"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The camelCase action form."},"event":{"type":"string","description":"The event the Verb emits."},"publishedIn":{"type":"string","description":"The first published Version that serves it; from then on, edits go through a Change and `delete` refuses. The Version id."},"noun":{"type":"string","description":"Every Verb acts on one Noun, which names it: `Startup.launch` acts on Startup. The Noun id."},"mode":{"type":"string","description":"The Mode a call uses when the caller names none: `try`, `send` or `do`. The Mode id."}},"required":["name","event"],"additionalProperties":false},"example":{"name":"ShiftNote","event":"Example event"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","verb","links"]},"example":{"api":"https://api.sb/shiftnote.app","verb":{"$id":"https://api.sb/shiftnote.app/verbs/verb_1","$type":"Verb","name":"ShiftNote","event":"Example event","status":"draft"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Verb.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Verb.created"},"get":{"operationId":"Verb.list","summary":"Verb.list","description":"Returns Verbs, newest first, one page at a time.","tags":["Verb"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"verbs":{"type":"array","items":{"$ref":"#/components/schemas/Verb","description":"One page of Verbs."},"description":"One page of Verbs."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","verbs","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Verb","verbs":[{"$id":"https://api.sb/shiftnote.app/verbs/verb_1","$type":"Verb","name":"ShiftNote","event":"Example event","status":"draft"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/verbs?limit=20","next":"https://api.sb/shiftnote.app/verbs?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/verbs/{id}":{"get":{"operationId":"Verb.get","summary":"Verb.get","description":"Returns one Verb by id.","tags":["Verb"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Verb."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","verb","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Verb","$id":"https://api.sb/shiftnote.app/verbs/verb_1","verb":{"$id":"https://api.sb/shiftnote.app/verbs/verb_1","$type":"Verb","name":"ShiftNote","event":"Example event","status":"draft"},"links":{"self":"https://api.sb/shiftnote.app/verbs/verb_1","up":"https://api.sb/shiftnote.app/verbs"},"actions":{"retire":"https://api.sb/shiftnote.app/verbs/verb_1/retire"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Verb.update","summary":"Verb.update","description":"Changes the given properties of a Verb.","tags":["Verb"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Verb."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The camelCase action form."},"event":{"type":"string","description":"The event the Verb emits."},"publishedIn":{"type":"string","description":"The first published Version that serves it; from then on, edits go through a Change and `delete` refuses. The Version id."}},"additionalProperties":false},"example":{"name":"TutorLoop"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","verb","links"]},"example":{"api":"https://api.sb/tutorloop.com","verb":{"$id":"https://api.sb/tutorloop.com/verbs/verb_1","$type":"Verb","name":"TutorLoop","event":"Example event","status":"draft"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Verb.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Verb.updated"},"delete":{"operationId":"Verb.delete","summary":"Verb.delete","description":"Deletes a Verb; its history is kept.","tags":["Verb"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Verb."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","verb","links"]},"example":{"api":"https://api.sb/petpantry.shop","verb":{"$id":"https://api.sb/petpantry.shop/verbs/verb_1","$type":"Verb","name":"PetPantry","event":"Example event","status":"draft"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Verb.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Verb.deleted"}},"/verbs/{verb}/retire":{"post":{"operationId":"Verb.retire","summary":"Verb.retire","description":"Retire removes a published Verb from new Versions; callers pinned to earlier Versions keep calling it.","tags":["Verb"],"parameters":[{"name":"verb","in":"path","required":true,"schema":{"type":"string"},"description":"The Verb to retire."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"version":{"$ref":"#/components/schemas/Version","description":"The new Version, without the Verb."},"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb, now retired from new Versions."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","version","verb","links"]},"example":{"api":"https://api.sb/kilnbakery.com","version":{"$id":"https://api.sb/kilnbakery.com/versions/version_1","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"},"verb":{"$id":"https://api.sb/kilnbakery.com/verbs/verb_1","$type":"Verb","name":"Kiln Bakery","event":"Example event","status":"retired"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Verb.retire","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Verb.retired"}},"/versions/{id}":{"get":{"operationId":"Version.get","summary":"Version.get","description":"Returns one Version by id.","tags":["Version"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Version."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"version":{"$ref":"#/components/schemas/Version","description":"The Version."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","version","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Version","$id":"https://api.sb/petpantry.shop/versions/version_1","version":{"$id":"https://api.sb/petpantry.shop/versions/version_1","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"},"links":{"self":"https://api.sb/petpantry.shop/versions/version_1","up":"https://api.sb/petpantry.shop/versions"},"actions":{"deploy":"https://api.sb/petpantry.shop/versions/version_1/deploy"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/versions":{"get":{"operationId":"Version.list","summary":"Version.list","description":"Returns Versions, newest first, one page at a time.","tags":["Version"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/Version","description":"One page of Versions."},"description":"One page of Versions."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","versions","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Version","versions":[{"$id":"https://api.sb/tutorloop.com/versions/version_1","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/versions?limit=20","next":"https://api.sb/tutorloop.com/versions?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/versions/{version}/deploy":{"post":{"operationId":"Version.deploy","summary":"Version.deploy","description":"Deploy points a Startup’s live address at a Version, so every Interface serves that build.","tags":["Version"],"parameters":[{"name":"version","in":"path","required":true,"schema":{"type":"string"},"description":"The Version to serve."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"version":{"$ref":"#/components/schemas/Version","description":"The Version, now live."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","version","links"]},"example":{"api":"https://api.sb/patentpad.com","version":{"$id":"https://api.sb/patentpad.com/versions/version_1","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Version.deploy","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Version.deployed"}},"/videos":{"post":{"operationId":"Video.create","summary":"Video.create","description":"Creates a Video.","tags":["Video"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"timeline":{"description":"The ordered scenes on a fixed grid, the only timing truth for picture, voice and captions."},"brand":{"type":"string","description":"The Brand whose voice, palette and type the Video uses. The Brand id."},"offer":{"type":"string","description":"The Offer the Video presents, when it presents one. The Offer id."}},"required":["timeline","brand"],"additionalProperties":false},"example":{"timeline":{},"brand":"brand_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"video":{"$ref":"#/components/schemas/Video","description":"The Video."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","video","links"]},"example":{"api":"https://api.sb/ledgerlark.com","video":{"$id":"https://api.sb/ledgerlark.com/videos/video_1","$type":"Video","status":"Draft","timeline":{},"brand":"brand_1"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Video.create","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Video.created"},"get":{"operationId":"Video.list","summary":"Video.list","description":"Returns Videos, newest first, one page at a time.","tags":["Video"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"videos":{"type":"array","items":{"$ref":"#/components/schemas/Video","description":"One page of Videos."},"description":"One page of Videos."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","videos","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Video","videos":[{"$id":"https://api.sb/ledgerlark.com/videos/video_1","$type":"Video","status":"Draft","timeline":{},"brand":"brand_1"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/videos?limit=20","next":"https://api.sb/ledgerlark.com/videos?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/videos/{id}":{"get":{"operationId":"Video.get","summary":"Video.get","description":"Returns one Video by id.","tags":["Video"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Video."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"video":{"$ref":"#/components/schemas/Video","description":"The Video."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","video","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Video","$id":"https://api.sb/ledgerlark.com/videos/video_1","video":{"$id":"https://api.sb/ledgerlark.com/videos/video_1","$type":"Video","status":"Draft","timeline":{},"brand":"brand_1"},"links":{"self":"https://api.sb/ledgerlark.com/videos/video_1","up":"https://api.sb/ledgerlark.com/videos"},"actions":{"finalize":"https://api.sb/ledgerlark.com/videos/video_1/finalize"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Video.update","summary":"Video.update","description":"Changes the given properties of a Video.","tags":["Video"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Video."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"timeline":{"description":"The ordered scenes on a fixed grid, the only timing truth for picture, voice and captions."},"brand":{"type":"string","description":"The Brand whose voice, palette and type the Video uses. The Brand id."},"offer":{"type":"string","description":"The Offer the Video presents, when it presents one. The Offer id."}},"additionalProperties":false},"example":{"timeline":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"video":{"$ref":"#/components/schemas/Video","description":"The Video."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","video","links"]},"example":{"api":"https://api.sb/quietcopy.com","video":{"$id":"https://api.sb/quietcopy.com/videos/video_1","$type":"Video","status":"Draft","timeline":{},"brand":"brand_1"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Video.update","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Video.updated"}},"/videos/draft":{"post":{"operationId":"Video.draft","summary":"Video.draft","description":"Draft writes a Video’s timeline from a Startup’s records, its Brand and a Template, with a draft mark on every frame.","tags":["Video"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"brand":{"type":"string","description":"The Brand the Video speaks for. The Brand id."},"offer":{"type":"string","description":"The Offer the Video presents. The Offer id."}},"required":["brand"],"additionalProperties":false},"example":{"brand":"brand_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"video":{"$ref":"#/components/schemas/Video","description":"The drafted Video, in status `Draft`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","video","links"]},"example":{"api":"https://api.sb/petpantry.shop","video":{"$id":"https://api.sb/petpantry.shop/videos/video_1","$type":"Video","status":"Draft","timeline":{},"brand":"brand_1"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Video.draft","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Video.drafted"}},"/videos/{video}/finalize":{"post":{"operationId":"Video.finalize","summary":"Video.finalize","description":"Finalize lifts a Video’s draft mark once every claim it makes reads from a live record, so its cuts can be published.","tags":["Video"],"parameters":[{"name":"video","in":"path","required":true,"schema":{"type":"string"},"description":"The rendered Video to finalize."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"video":{"$ref":"#/components/schemas/Video","description":"The Video, in status `Final`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","video","links"]},"example":{"api":"https://api.sb/routewise.dev","video":{"$id":"https://api.sb/routewise.dev/videos/video_1","$type":"Video","status":"Draft","timeline":{},"brand":"brand_1"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Video.finalize","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Video.finalized"}},"/visits/{id}":{"get":{"operationId":"Visit.get","summary":"Visit.get","description":"Returns one Visit by id.","tags":["Visit"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Visit."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"visit":{"$ref":"#/components/schemas/Visit","description":"The Visit."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visit","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Visit","$id":"https://api.sb/ledgerlark.com/visits/visit_1","visit":{"$id":"https://api.sb/ledgerlark.com/visits/visit_1","$type":"Visit","startedAt":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/ledgerlark.com/visits/visit_1","up":"https://api.sb/ledgerlark.com/visits"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/visits":{"get":{"operationId":"Visit.list","summary":"Visit.list","description":"Returns Visits, newest first, one page at a time.","tags":["Visit"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"visits":{"type":"array","items":{"$ref":"#/components/schemas/Visit","description":"One page of Visits."},"description":"One page of Visits."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visits","links"]},"example":{"api":"https://api.sb/ledgerlark.com","$type":"Visit","visits":[{"$id":"https://api.sb/ledgerlark.com/visits/visit_1","$type":"Visit","startedAt":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/ledgerlark.com/visits?limit=20","next":"https://api.sb/ledgerlark.com/visits?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/visitors":{"post":{"operationId":"Visitor.create","summary":"Visitor.create","description":"Creates a Visitor.","tags":["Visitor"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"firstSeenAt":{"type":"string","format":"date-time","description":"When the first request arrived."},"lead":{"type":"string","description":"A Lead, once it gives an address, is tied to every Visitor id it used, one per device. The Lead id."}},"required":["firstSeenAt"],"additionalProperties":false},"example":{"firstSeenAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visitor","links"]},"example":{"api":"https://api.sb/petpantry.shop","visitor":{"$id":"https://api.sb/petpantry.shop/visitors/visitor_1","$type":"Visitor","firstSeenAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Visitor.create","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Visitor.created"},"get":{"operationId":"Visitor.list","summary":"Visitor.list","description":"Returns Visitors, newest first, one page at a time.","tags":["Visitor"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"visitors":{"type":"array","items":{"$ref":"#/components/schemas/Visitor","description":"One page of Visitors."},"description":"One page of Visitors."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visitors","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Visitor","visitors":[{"$id":"https://api.sb/kilnbakery.com/visitors/visitor_1","$type":"Visitor","firstSeenAt":"2026-10-22T12:00:00Z"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/visitors?limit=20","next":"https://api.sb/kilnbakery.com/visitors?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/visitors/{id}":{"get":{"operationId":"Visitor.get","summary":"Visitor.get","description":"Returns one Visitor by id.","tags":["Visitor"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Visitor."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visitor","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Visitor","$id":"https://api.sb/quietcopy.com/visitors/visitor_1","visitor":{"$id":"https://api.sb/quietcopy.com/visitors/visitor_1","$type":"Visitor","firstSeenAt":"2026-10-22T12:00:00Z"},"links":{"self":"https://api.sb/quietcopy.com/visitors/visitor_1","up":"https://api.sb/quietcopy.com/visitors"},"actions":{"forget":"https://api.sb/quietcopy.com/visitors/visitor_1/forget","identify":"https://api.sb/quietcopy.com/visitors/visitor_1/identify","merge":"https://api.sb/quietcopy.com/visitors/visitor_1/merge"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Visitor.update","summary":"Visitor.update","description":"Changes the given properties of a Visitor.","tags":["Visitor"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Visitor."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"firstSeenAt":{"type":"string","format":"date-time","description":"When the first request arrived."}},"additionalProperties":false},"example":{"firstSeenAt":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visitor","links"]},"example":{"api":"https://api.sb/routewise.dev","visitor":{"$id":"https://api.sb/routewise.dev/visitors/visitor_1","$type":"Visitor","firstSeenAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Visitor.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Visitor.updated"},"delete":{"operationId":"Visitor.delete","summary":"Visitor.delete","description":"Deletes a Visitor; its history is kept.","tags":["Visitor"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Visitor."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visitor","links"]},"example":{"api":"https://api.sb/ledgerlark.com","visitor":{"$id":"https://api.sb/ledgerlark.com/visitors/visitor_1","$type":"Visitor","firstSeenAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Visitor.delete","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Visitor.deleted"}},"/visitors/{visitor}/forget":{"post":{"operationId":"Visitor.forget","summary":"Visitor.forget","description":"Forget masks a person’s captured data across every Event and Recording and suppresses further capture, keeping the records.","tags":["Visitor"],"parameters":[{"name":"visitor","in":"path","required":true,"schema":{"type":"string"},"description":"The Visitor to forget."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request":{"type":"string","description":"The privacy request it answers."}},"required":["request"],"additionalProperties":false},"example":{"request":"Example request"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor, masked."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visitor","links"]},"example":{"api":"https://api.sb/routewise.dev","visitor":{"$id":"https://api.sb/routewise.dev/visitors/visitor_1","$type":"Visitor","firstSeenAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Visitor.forget","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Visitor.forgotten"}},"/visitors/{visitor}/identify":{"post":{"operationId":"Visitor.identify","summary":"Visitor.identify","description":"Identify joins a Visitor to the Contact it turns out to be, so earlier Visits count toward that person.","tags":["Visitor"],"parameters":[{"name":"visitor","in":"path","required":true,"schema":{"type":"string"},"description":"The Visitor."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contact":{"type":"string","description":"The Contact or Customer the Visitor is. The Contact id."}},"required":["contact"],"additionalProperties":false},"example":{"contact":"contact_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact, with the Visitor’s Visits attached."},"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor, now joined to its Contact."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","contact","visitor","links"]},"example":{"api":"https://api.sb/petpantry.shop","contact":{"$id":"https://api.sb/petpantry.shop/contacts/contact_1","$type":"Contact","email":"lena@petpantry.shop","phone":"Example phone"},"visitor":{"$id":"https://api.sb/petpantry.shop/visitors/visitor_1","$type":"Visitor","firstSeenAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Visitor.identify","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Visitor.identified"}},"/visitors/{visitor}/merge":{"post":{"operationId":"Visitor.merge","summary":"Visitor.merge","description":"Merge joins two Visitor ids that belong to one person and keeps both as aliases.","tags":["Visitor"],"parameters":[{"name":"visitor","in":"path","required":true,"schema":{"type":"string"},"description":"The Visitor to merge."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"into":{"type":"string","description":"The Visitor that remains. The Visitor id."}},"required":["into"],"additionalProperties":false},"example":{"into":"visitor_1"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"visitor":{"$ref":"#/components/schemas/Visitor","description":"The remaining Visitor."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","visitor","links"]},"example":{"api":"https://api.sb/quietcopy.com","visitor":{"$id":"https://api.sb/quietcopy.com/visitors/visitor_1","$type":"Visitor","firstSeenAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/quietcopy.com/actions/action_1","operation":"Visitor.merge","status":"done"},"links":{"self":"https://api.sb/quietcopy.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Visitor.merged"}},"/voices/{id}":{"get":{"operationId":"Voice.get","summary":"Voice.get","description":"Returns one Voice by id.","tags":["Voice"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Voice."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"voice":{"$ref":"#/components/schemas/Voice","description":"The Voice."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","voice","links"]},"example":{"api":"https://api.sb/quietcopy.com","$type":"Voice","$id":"https://api.sb/quietcopy.com/voices/voice_1","voice":{"$id":"https://api.sb/quietcopy.com/voices/voice_1","$type":"Voice","origin":"cloned","scope":"studio","status":"training"},"links":{"self":"https://api.sb/quietcopy.com/voices/voice_1","up":"https://api.sb/quietcopy.com/voices"},"actions":{"retire":"https://api.sb/quietcopy.com/voices/voice_1/retire"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Voice.update","summary":"Voice.update","description":"Changes the given properties of a Voice.","tags":["Voice"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Voice."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"origin":{"type":"string","description":"`cloned` from a real speaker’s recordings, or `designed` from a description and sounding like no real person.","enum":["cloned","designed"]},"speaker":{"type":"string","description":"The real person a cloned Voice sounds like. The Person id."},"consent":{"type":"string","description":"The speaker’s Consent, recorded in that voice, naming the Startup and the uses allowed; required for a cloned Voice. The Consent id."},"scope":{"type":"string","description":"Who may speak in it: every sibling, one Startup, or one Customer.","enum":["studio","startup","customer"]},"samples":{"type":"array","items":{"type":"string","description":"The recordings it was trained from, kept forever. The File id."},"description":"The recordings it was trained from, kept forever."}},"additionalProperties":false},"example":{"origin":"cloned"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"voice":{"$ref":"#/components/schemas/Voice","description":"The Voice."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","voice","links"]},"example":{"api":"https://api.sb/routewise.dev","voice":{"$id":"https://api.sb/routewise.dev/voices/voice_1","$type":"Voice","origin":"cloned","scope":"studio","status":"training"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Voice.update","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Voice.updated"}},"/voices":{"get":{"operationId":"Voice.list","summary":"Voice.list","description":"Returns Voices, newest first, one page at a time.","tags":["Voice"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"voices":{"type":"array","items":{"$ref":"#/components/schemas/Voice","description":"One page of Voices."},"description":"One page of Voices."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","voices","links"]},"example":{"api":"https://api.sb/kilnbakery.com","$type":"Voice","voices":[{"$id":"https://api.sb/kilnbakery.com/voices/voice_1","$type":"Voice","origin":"cloned","scope":"studio","status":"training"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/kilnbakery.com/voices?limit=20","next":"https://api.sb/kilnbakery.com/voices?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/voices/clone":{"post":{"operationId":"Voice.clone","summary":"Voice.clone","description":"Clone trains a Voice from a real speaker’s recordings after the speaker records Consent in that same voice.","tags":["Voice"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"speaker":{"type":"string","description":"The person whose voice it is. The Person id."},"samples":{"type":"array","items":{"type":"string","description":"Recordings of the speaker. The File id."},"description":"Recordings of the speaker."},"consent":{"type":"string","description":"The speaker’s Consent, spoken in the voice being cloned. The Consent id."},"scope":{"type":"string","description":"Who may speak in it.","enum":["studio","startup","customer"]}},"required":["speaker","samples","consent","scope"],"additionalProperties":false},"example":{"speaker":"person_1","samples":["file_1"],"consent":"consent_1","scope":"studio"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"voice":{"$ref":"#/components/schemas/Voice","description":"The Voice, `training` until the upstream finishes."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","voice","links"]},"example":{"api":"https://api.sb/ledgerlark.com","voice":{"$id":"https://api.sb/ledgerlark.com/voices/voice_1","$type":"Voice","origin":"cloned","scope":"studio","status":"training"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Voice.clone","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Voice.cloned"}},"/voices/{voice}/retire":{"post":{"operationId":"Voice.retire","summary":"Voice.retire","description":"Retire deletes a Voice’s trained copy at the upstream and refuses new speech in it, keeping the record and every File made.","tags":["Voice"],"parameters":[{"name":"voice","in":"path","required":true,"schema":{"type":"string"},"description":"The Voice to retire."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why, such as Consent withdrawn."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"voice":{"$ref":"#/components/schemas/Voice","description":"The Voice, now `retired`."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","voice","links"]},"example":{"api":"https://api.sb/shiftnote.app","voice":{"$id":"https://api.sb/shiftnote.app/voices/voice_1","$type":"Voice","origin":"cloned","scope":"studio","status":"training"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Voice.retire","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Voice.retired"}},"/waitlists":{"post":{"operationId":"Waitlist.create","summary":"Waitlist.create","description":"Creates a Waitlist.","tags":["Waitlist"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"invited":{"type":"integer","description":"How many Leads have been invited."},"rank":{"type":"string","description":"The invite order: first come, best ICP fit, or most referrals first.","enum":["signup","fit","referral"]}},"additionalProperties":false},"example":{"invited":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","waitlist","links"]},"example":{"api":"https://api.sb/shiftnote.app","waitlist":{"$id":"https://api.sb/shiftnote.app/waitlists/waitlist_1","$type":"Waitlist","invited":1,"rank":"signup"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Waitlist.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Waitlist.created"},"get":{"operationId":"Waitlist.list","summary":"Waitlist.list","description":"Returns Waitlists, newest first, one page at a time.","tags":["Waitlist"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"waitlists":{"type":"array","items":{"$ref":"#/components/schemas/Waitlist","description":"One page of Waitlists."},"description":"One page of Waitlists."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","waitlists","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Waitlist","waitlists":[{"$id":"https://api.sb/shiftnote.app/waitlists/waitlist_1","$type":"Waitlist","invited":1,"rank":"signup"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/waitlists?limit=20","next":"https://api.sb/shiftnote.app/waitlists?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/waitlists/{id}":{"get":{"operationId":"Waitlist.get","summary":"Waitlist.get","description":"Returns one Waitlist by id.","tags":["Waitlist"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Waitlist."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","waitlist","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Waitlist","$id":"https://api.sb/shiftnote.app/waitlists/waitlist_1","waitlist":{"$id":"https://api.sb/shiftnote.app/waitlists/waitlist_1","$type":"Waitlist","invited":1,"rank":"signup"},"links":{"self":"https://api.sb/shiftnote.app/waitlists/waitlist_1","up":"https://api.sb/shiftnote.app/waitlists"},"actions":{"admit":"https://api.sb/shiftnote.app/waitlists/waitlist_1/admit","join":"https://api.sb/shiftnote.app/waitlists/waitlist_1/join"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Waitlist.update","summary":"Waitlist.update","description":"Changes the given properties of a Waitlist.","tags":["Waitlist"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Waitlist."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"invited":{"type":"integer","description":"How many Leads have been invited."},"rank":{"type":"string","description":"The invite order: first come, best ICP fit, or most referrals first.","enum":["signup","fit","referral"]}},"additionalProperties":false},"example":{"invited":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","waitlist","links"]},"example":{"api":"https://api.sb/tutorloop.com","waitlist":{"$id":"https://api.sb/tutorloop.com/waitlists/waitlist_1","$type":"Waitlist","invited":1,"rank":"signup"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Waitlist.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Waitlist.updated"},"delete":{"operationId":"Waitlist.delete","summary":"Waitlist.delete","description":"Deletes a Waitlist; its history is kept.","tags":["Waitlist"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Waitlist."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","waitlist","links"]},"example":{"api":"https://api.sb/petpantry.shop","waitlist":{"$id":"https://api.sb/petpantry.shop/waitlists/waitlist_1","$type":"Waitlist","invited":1,"rank":"signup"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Waitlist.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Waitlist.deleted"}},"/waitlists/{waitlist}/admit":{"post":{"operationId":"Waitlist.admit","summary":"Waitlist.admit","description":"Admit releases Leads from a Waitlist to the Offer they waited for, in the order the Waitlist ranks them.","tags":["Waitlist"],"parameters":[{"name":"waitlist","in":"path","required":true,"schema":{"type":"string"},"description":"The Waitlist."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer","description":"How many Leads to admit."}},"required":["count"],"additionalProperties":false},"example":{"count":1}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"leads":{"type":"array","items":{"$ref":"#/components/schemas/Lead","description":"The admitted Leads."},"description":"The admitted Leads."},"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist after the admitted Leads left it."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","leads","waitlist","links"]},"example":{"api":"https://api.sb/tutorloop.com","leads":[{"$id":"https://api.sb/tutorloop.com/leads/lead_1","$type":"Lead","status":"new"}],"waitlist":{"$id":"https://api.sb/tutorloop.com/waitlists/waitlist_1","$type":"Waitlist","invited":1,"rank":"signup"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Waitlist.admit","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Waitlist.admitted"}},"/waitlists/{waitlist}/join":{"post":{"operationId":"Waitlist.join","summary":"Waitlist.join","description":"Join adds a Lead to a Waitlist for an Offer that is not open to them.","tags":["Waitlist"],"parameters":[{"name":"waitlist","in":"path","required":true,"schema":{"type":"string"},"description":"The Waitlist to join."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Where to reach the Lead."}},"required":["email"],"additionalProperties":false},"example":{"email":"daniel@shiftnote.app"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lead":{"$ref":"#/components/schemas/Lead","description":"The waiting Lead."},"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist joined."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lead","waitlist","links"]},"example":{"api":"https://api.sb/shiftnote.app","lead":{"$id":"https://api.sb/shiftnote.app/leads/lead_1","$type":"Lead","status":"new"},"waitlist":{"$id":"https://api.sb/shiftnote.app/waitlists/waitlist_1","$type":"Waitlist","invited":1,"rank":"signup"},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Waitlist.join","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Waitlist.joined"}},"/watches":{"post":{"operationId":"Watch.create","summary":"Watch.create","description":"Creates a Watch.","tags":["Watch"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"selector":{"type":"string","description":"The Event selector, such as `Order.placed`."},"url":{"type":"string","format":"uri","description":"Where deliveries go."},"payload":{"type":"string","description":"One of `full`, or `thin`: the record as the Action left it, or only its versioned address. The default is full.","enum":["full","thin"]}},"required":["selector","url"],"additionalProperties":false},"example":{"selector":"Example selector","url":"https://shiftnote.app"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch."},"secret":{"type":"string","description":"The signing secret, as `whsec_` and 32 characters, shown once: store it beside the receiver."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","secret","links"]},"example":{"api":"https://api.sb/shiftnote.app","watch":{"$id":"https://api.sb/shiftnote.app/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://shiftnote.app"},"secret":"whsec_4f9c2a7e1b8d3f6a0c5e9b2d7a4f1c8e","action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Watch.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Watch.created"},"get":{"operationId":"Watch.list","summary":"Watch.list","description":"Returns Watches, newest first, one page at a time.","tags":["Watch"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"watches":{"type":"array","items":{"$ref":"#/components/schemas/Watch","description":"One page of Watches."},"description":"One page of Watches."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watches","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Watch","watches":[{"$id":"https://api.sb/shiftnote.app/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://shiftnote.app"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/watches?limit=20","next":"https://api.sb/shiftnote.app/watches?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/watches/{id}":{"get":{"operationId":"Watch.get","summary":"Watch.get","description":"Returns one Watch by id.","tags":["Watch"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Watch."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Watch","$id":"https://api.sb/shiftnote.app/watches/watch_1","watch":{"$id":"https://api.sb/shiftnote.app/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://shiftnote.app"},"links":{"self":"https://api.sb/shiftnote.app/watches/watch_1","up":"https://api.sb/shiftnote.app/watches"},"actions":{"pause":"https://api.sb/shiftnote.app/watches/watch_1/pause","replay":"https://api.sb/shiftnote.app/watches/watch_1/replay","resume":"https://api.sb/shiftnote.app/watches/watch_1/resume"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Watch.update","summary":"Watch.update","description":"Changes the given properties of a Watch.","tags":["Watch"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Watch."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"selector":{"type":"string","description":"The Event selector, such as `Order.placed`."},"url":{"type":"string","format":"uri","description":"Where deliveries go."},"payload":{"type":"string","description":"One of `full`, or `thin`: the record as the Action left it, or only its versioned address. The default is full.","enum":["full","thin"]}},"additionalProperties":false},"example":{"url":"https://tutorloop.com"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","links"]},"example":{"api":"https://api.sb/tutorloop.com","watch":{"$id":"https://api.sb/tutorloop.com/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://tutorloop.com"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Watch.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Watch.updated"},"delete":{"operationId":"Watch.delete","summary":"Watch.delete","description":"Deletes a Watch; its history is kept.","tags":["Watch"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Watch."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","links"]},"example":{"api":"https://api.sb/petpantry.shop","watch":{"$id":"https://api.sb/petpantry.shop/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://petpantry.shop"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Watch.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Watch.deleted"}},"/watches/{watch}/pause":{"post":{"operationId":"Watch.pause","summary":"Watch.pause","description":"Pause stops a Watch delivering while its Events keep queuing; the platform pauses a Watch whose deliveries fail for three days.","tags":["Watch"],"parameters":[{"name":"watch","in":"path","required":true,"schema":{"type":"string"},"description":"The Watch to pause."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why deliveries stop."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"watch":{"$ref":"#/components/schemas/Watch","description":"The paused Watch."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","links"]},"example":{"api":"https://api.sb/routewise.dev","watch":{"$id":"https://api.sb/routewise.dev/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://routewise.dev"},"action":{"$id":"https://api.sb/routewise.dev/actions/action_1","operation":"Watch.pause","status":"done"},"links":{"self":"https://api.sb/routewise.dev/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Watch.paused"}},"/watches/{watch}/replay":{"post":{"operationId":"Watch.replay","summary":"Watch.replay","description":"Replay redelivers a Watch’s Events from a chosen point, signed as they were the first time.","tags":["Watch"],"parameters":[{"name":"watch","in":"path","required":true,"schema":{"type":"string"},"description":"The Watch to replay."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string","format":"date-time","description":"Where the replay starts."}},"required":["from"],"additionalProperties":false},"example":{"from":"2026-10-22T12:00:00Z"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch, replaying."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","links"]},"example":{"api":"https://api.sb/petpantry.shop","watch":{"$id":"https://api.sb/petpantry.shop/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://petpantry.shop"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Watch.replay","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Watch.replayed"}},"/watches/{watch}/resume":{"post":{"operationId":"Watch.resume","summary":"Watch.resume","description":"Resume restarts a paused Watch and delivers the Events it held, oldest first.","tags":["Watch"],"parameters":[{"name":"watch","in":"path","required":true,"schema":{"type":"string"},"description":"The paused Watch."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch, delivering again."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","links"]},"example":{"api":"https://api.sb/petpantry.shop","watch":{"$id":"https://api.sb/petpantry.shop/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://petpantry.shop"},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Watch.resume","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Watch.resumed"}},"/watches/{watch}/rotate":{"post":{"operationId":"Watch.rotate","summary":"Watch.rotate","description":"Rotate issues a new signing secret for a Watch and signs with both secrets until the old one expires.","tags":["Watch"],"parameters":[{"name":"watch","in":"path","required":true,"schema":{"type":"string"},"description":"The Watch whose secret changes."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"overlap":{"type":"string","description":"How long the old secret keeps signing, as an ISO 8601 duration; defaults to `PT24H`."}},"additionalProperties":false}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch, signing with both secrets."},"secret":{"type":"string","description":"The new signing secret, shown once."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","watch","secret","links"]},"example":{"api":"https://api.sb/kilnbakery.com","watch":{"$id":"https://api.sb/kilnbakery.com/watches/watch_1","$type":"Watch","selector":"Example selector","url":"https://kilnbakery.com"},"secret":"Example secret","action":{"$id":"https://api.sb/kilnbakery.com/actions/action_1","operation":"Watch.rotate","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Watch.rotated"}},"/workers":{"post":{"operationId":"Worker.create","summary":"Worker.create","description":"Creates a Worker.","tags":["Worker"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name the Worker goes by in a Startup."},"instructions":{"type":"string","description":"How the Worker does its work."}},"required":["name"],"additionalProperties":false},"example":{"name":"TutorLoop"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"worker":{"$ref":"#/components/schemas/Worker","description":"The Worker."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","worker","links"]},"example":{"api":"https://api.sb/tutorloop.com","worker":{"$id":"https://api.sb/tutorloop.com/workers/worker_1","$type":"Worker","name":"TutorLoop"},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Worker.create","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Worker.created"},"get":{"operationId":"Worker.list","summary":"Worker.list","description":"Returns Workers, newest first, one page at a time.","tags":["Worker"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"workers":{"type":"array","items":{"$ref":"#/components/schemas/Worker","description":"One page of Workers."},"description":"One page of Workers."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","workers","links"]},"example":{"api":"https://api.sb/tutorloop.com","$type":"Worker","workers":[{"$id":"https://api.sb/tutorloop.com/workers/worker_1","$type":"Worker","name":"TutorLoop"}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/tutorloop.com/workers?limit=20","next":"https://api.sb/tutorloop.com/workers?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/workers/{id}":{"get":{"operationId":"Worker.get","summary":"Worker.get","description":"Returns one Worker by id.","tags":["Worker"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Worker."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"worker":{"$ref":"#/components/schemas/Worker","description":"The Worker."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","worker","links"]},"example":{"api":"https://api.sb/petpantry.shop","$type":"Worker","$id":"https://api.sb/petpantry.shop/workers/worker_1","worker":{"$id":"https://api.sb/petpantry.shop/workers/worker_1","$type":"Worker","name":"PetPantry"},"links":{"self":"https://api.sb/petpantry.shop/workers/worker_1","up":"https://api.sb/petpantry.shop/workers"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Worker.update","summary":"Worker.update","description":"Changes the given properties of a Worker.","tags":["Worker"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Worker."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name the Worker goes by in a Startup."},"instructions":{"type":"string","description":"How the Worker does its work."}},"additionalProperties":false},"example":{"name":"LedgerLark"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"worker":{"$ref":"#/components/schemas/Worker","description":"The Worker."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","worker","links"]},"example":{"api":"https://api.sb/ledgerlark.com","worker":{"$id":"https://api.sb/ledgerlark.com/workers/worker_1","$type":"Worker","name":"LedgerLark"},"action":{"$id":"https://api.sb/ledgerlark.com/actions/action_1","operation":"Worker.update","status":"done"},"links":{"self":"https://api.sb/ledgerlark.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Worker.updated"},"delete":{"operationId":"Worker.delete","summary":"Worker.delete","description":"Deletes a Worker; its history is kept.","tags":["Worker"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Worker."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"worker":{"$ref":"#/components/schemas/Worker","description":"The Worker."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","worker","links"]},"example":{"api":"https://api.sb/patentpad.com","worker":{"$id":"https://api.sb/patentpad.com/workers/worker_1","$type":"Worker","name":"PatentPad"},"action":{"$id":"https://api.sb/patentpad.com/actions/action_1","operation":"Worker.delete","status":"done"},"links":{"self":"https://api.sb/patentpad.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Worker.deleted"}},"/workflows":{"post":{"operationId":"Workflow.create","summary":"Workflow.create","description":"Creates a Workflow.","tags":["Workflow"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"steps":{"description":"The ordered steps, each run by a Function."},"retries":{"type":"integer","description":"How many times a failed step retries."},"body":{"type":"string","description":"The Verb whose Action it is the durable body of, such as `Order.refund`; a Workflow with a body has no Trigger."},"process":{"type":"string","description":"A Process does its work through Workflows, each the durable, executable part of the Process. The Process id."}},"required":["steps"],"additionalProperties":false},"example":{"steps":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"workflow":{"$ref":"#/components/schemas/Workflow","description":"The Workflow."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","workflow","links"]},"example":{"api":"https://api.sb/shiftnote.app","workflow":{"$id":"https://api.sb/shiftnote.app/workflows/workflow_1","$type":"Workflow","steps":{}},"action":{"$id":"https://api.sb/shiftnote.app/actions/action_1","operation":"Workflow.create","status":"done"},"links":{"self":"https://api.sb/shiftnote.app/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Workflow.created"},"get":{"operationId":"Workflow.list","summary":"Workflow.list","description":"Returns Workflows, newest first, one page at a time.","tags":["Workflow"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"At most this many records, up to 100. The default is 20."}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"The cursor from the previous page."}},{"name":"where","in":"query","required":false,"schema":{"type":"string","description":"A filter over the properties, such as `paidAt = null and total.amount > 500`."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","description":"Properties to sort by, comma-separated; a leading minus sorts descending."}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","description":"True adds the match count as `meta.total`, exact up to 10,000 matches and estimated above."}},{"name":"facets","in":"query","required":false,"schema":{"type":"string","description":"Properties to count by value, comma-separated, returned as `meta.facets`."}},{"name":"fields","in":"query","required":false,"schema":{"type":"string","description":"Properties to return on each record, comma-separated; `$id` and `$type` always return."}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Related records to embed in place of their URLs, comma-separated."}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","description":"How many levels of related records to embed. The default is 1."}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Words to match across the text properties, ranked by relevance."}},{"name":"match","in":"query","required":false,"schema":{"type":"string","description":"Ranks the search by `words`, or `meaning`; words is the default.","enum":["words","meaning"]}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"workflows":{"type":"array","items":{"$ref":"#/components/schemas/Workflow","description":"One page of Workflows."},"description":"One page of Workflows."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","workflows","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Workflow","workflows":[{"$id":"https://api.sb/shiftnote.app/workflows/workflow_1","$type":"Workflow","steps":{}}],"meta":{"limit":20,"after":"cursor_2"},"links":{"self":"https://api.sb/shiftnote.app/workflows?limit=20","next":"https://api.sb/shiftnote.app/workflows?after=cursor_2"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/workflows/{id}":{"get":{"operationId":"Workflow.get","summary":"Workflow.get","description":"Returns one Workflow by id.","tags":["Workflow"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Workflow."},{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"A time or Version name: the record as it stood then. Unset: as it stands now."}}],"responses":{"200":{"description":"The result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"workflow":{"$ref":"#/components/schemas/Workflow","description":"The Workflow."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","workflow","links"]},"example":{"api":"https://api.sb/shiftnote.app","$type":"Workflow","$id":"https://api.sb/shiftnote.app/workflows/workflow_1","workflow":{"$id":"https://api.sb/shiftnote.app/workflows/workflow_1","$type":"Workflow","steps":{}},"links":{"self":"https://api.sb/shiftnote.app/workflows/workflow_1","up":"https://api.sb/shiftnote.app/workflows"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Workflow.update","summary":"Workflow.update","description":"Changes the given properties of a Workflow.","tags":["Workflow"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Workflow."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"steps":{"description":"The ordered steps, each run by a Function."},"retries":{"type":"integer","description":"How many times a failed step retries."},"body":{"type":"string","description":"The Verb whose Action it is the durable body of, such as `Order.refund`; a Workflow with a body has no Trigger."}},"additionalProperties":false},"example":{"steps":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"workflow":{"$ref":"#/components/schemas/Workflow","description":"The Workflow."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","workflow","links"]},"example":{"api":"https://api.sb/tutorloop.com","workflow":{"$id":"https://api.sb/tutorloop.com/workflows/workflow_1","$type":"Workflow","steps":{}},"action":{"$id":"https://api.sb/tutorloop.com/actions/action_1","operation":"Workflow.update","status":"done"},"links":{"self":"https://api.sb/tutorloop.com/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Workflow.updated"},"delete":{"operationId":"Workflow.delete","summary":"Workflow.delete","description":"Deletes a Workflow; its history is kept.","tags":["Workflow"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Workflow."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"workflow":{"$ref":"#/components/schemas/Workflow","description":"The Workflow."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","workflow","links"]},"example":{"api":"https://api.sb/petpantry.shop","workflow":{"$id":"https://api.sb/petpantry.shop/workflows/workflow_1","$type":"Workflow","steps":{}},"action":{"$id":"https://api.sb/petpantry.shop/actions/action_1","operation":"Workflow.delete","status":"done"},"links":{"self":"https://api.sb/petpantry.shop/actions/action_1"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Workflow.deleted"}}},"webhooks":{"Account.paidOut":{"post":{"summary":"Account.paidOut","description":"Delivered to a Watch whose selector matches Account.paidOut.","tags":["Account"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Account.paidOut"},"data":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/Account","description":"The payments balance after the payout."},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The payout, a Transaction of kind `payout`."}},"required":["account","transaction"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Account.swept":{"post":{"summary":"Account.swept","description":"Delivered to a Watch whose selector matches Account.swept.","tags":["Account"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Account.swept"},"data":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/Account","description":"The `to` Account, with the money landed."},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The move, reconciled on both Accounts."}},"required":["account","transaction"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.created":{"post":{"summary":"Action.created","description":"Delivered to a Watch whose selector matches Action.created.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.created"},"data":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/Action","description":"The Action."}},"required":["action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.answered":{"post":{"summary":"Action.answered","description":"Delivered to a Watch whose selector matches Action.answered.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.answered"},"data":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/Action","description":"The resumed Action."}},"required":["action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.asked":{"post":{"summary":"Action.asked","description":"Delivered to a Watch whose selector matches Action.asked.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.asked"},"data":{"type":"object","properties":{"question":{"$ref":"#/components/schemas/Question","description":"The Question, posted in the record’s Thread."},"action":{"$ref":"#/components/schemas/Action","description":"The Action, now pending with reason `awaitingInput`."}},"required":["question","action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.attested":{"post":{"summary":"Action.attested","description":"Delivered to a Watch whose selector matches Action.attested.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.attested"},"data":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/Action","description":"The Action, free to finish."}},"required":["action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.canceled":{"post":{"summary":"Action.canceled","description":"Delivered to a Watch whose selector matches Action.canceled.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.canceled"},"data":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/Action","description":"The canceled Action."}},"required":["action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.evaluated":{"post":{"summary":"Action.evaluated","description":"Delivered to a Watch whose selector matches Action.evaluated.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.evaluated"},"data":{"type":"object","properties":{"verdict":{"description":"The score and the reasons for it."},"action":{"$ref":"#/components/schemas/Action","description":"The Action graded, with the verdict attached."}},"required":["verdict","action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.paused":{"post":{"summary":"Action.paused","description":"Delivered to a Watch whose selector matches Action.paused.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.paused"},"data":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/Action","description":"The paused Action, still `pending`."}},"required":["action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.redirected":{"post":{"summary":"Action.redirected","description":"Delivered to a Watch whose selector matches Action.redirected.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.redirected"},"data":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/Action","description":"The redirected Action."}},"required":["action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.resumed":{"post":{"summary":"Action.resumed","description":"Delivered to a Watch whose selector matches Action.resumed.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.resumed"},"data":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/Action","description":"The resumed Action."}},"required":["action"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Action.retried":{"post":{"summary":"Action.retried","description":"Delivered to a Watch whose selector matches Action.retried.","tags":["Action"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Action.retried"},"data":{"type":"object","properties":{"retry":{"$ref":"#/components/schemas/Action","description":"The new Action."}},"required":["retry"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Ad.created":{"post":{"summary":"Ad.created","description":"Delivered to a Watch whose selector matches Ad.created.","tags":["Ad"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Ad.created"},"data":{"type":"object","properties":{"ad":{"$ref":"#/components/schemas/Ad","description":"The Ad."}},"required":["ad"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Ad.updated":{"post":{"summary":"Ad.updated","description":"Delivered to a Watch whose selector matches Ad.updated.","tags":["Ad"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Ad.updated"},"data":{"type":"object","properties":{"ad":{"$ref":"#/components/schemas/Ad","description":"The Ad."}},"required":["ad"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Ad.deleted":{"post":{"summary":"Ad.deleted","description":"Delivered to a Watch whose selector matches Ad.deleted.","tags":["Ad"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Ad.deleted"},"data":{"type":"object","properties":{"ad":{"$ref":"#/components/schemas/Ad","description":"The Ad."}},"required":["ad"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agent.created":{"post":{"summary":"Agent.created","description":"Delivered to a Watch whose selector matches Agent.created.","tags":["Agent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agent.created"},"data":{"type":"object","properties":{"agent":{"$ref":"#/components/schemas/Agent","description":"The Agent."}},"required":["agent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agent.updated":{"post":{"summary":"Agent.updated","description":"Delivered to a Watch whose selector matches Agent.updated.","tags":["Agent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agent.updated"},"data":{"type":"object","properties":{"agent":{"$ref":"#/components/schemas/Agent","description":"The Agent."}},"required":["agent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agent.deleted":{"post":{"summary":"Agent.deleted","description":"Delivered to a Watch whose selector matches Agent.deleted.","tags":["Agent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agent.deleted"},"data":{"type":"object","properties":{"agent":{"$ref":"#/components/schemas/Agent","description":"The Agent."}},"required":["agent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agent.minted":{"post":{"summary":"Agent.minted","description":"Delivered to a Watch whose selector matches Agent.minted.","tags":["Agent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agent.minted"},"data":{"type":"object","properties":{"agent":{"$ref":"#/components/schemas/Agent","description":"The Customer’s own Agent."}},"required":["agent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agent.paused":{"post":{"summary":"Agent.paused","description":"Delivered to a Watch whose selector matches Agent.paused.","tags":["Agent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agent.paused"},"data":{"type":"object","properties":{"agents":{"type":"array","items":{"$ref":"#/components/schemas/Agent","description":"Every Agent it paused; each emits its own `Agent.paused`."},"description":"Every Agent it paused; each emits its own `Agent.paused`."}},"required":["agents"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agent.resumed":{"post":{"summary":"Agent.resumed","description":"Delivered to a Watch whose selector matches Agent.resumed.","tags":["Agent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agent.resumed"},"data":{"type":"object","properties":{"agent":{"$ref":"#/components/schemas/Agent","description":"The working Agent."}},"required":["agent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agent.retired":{"post":{"summary":"Agent.retired","description":"Delivered to a Watch whose selector matches Agent.retired.","tags":["Agent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agent.retired"},"data":{"type":"object","properties":{"agent":{"$ref":"#/components/schemas/Agent","description":"The retired Agent."}},"required":["agent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agreement.created":{"post":{"summary":"Agreement.created","description":"Delivered to a Watch whose selector matches Agreement.created.","tags":["Agreement"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agreement.created"},"data":{"type":"object","properties":{"agreement":{"$ref":"#/components/schemas/Agreement","description":"The Agreement."}},"required":["agreement"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agreement.updated":{"post":{"summary":"Agreement.updated","description":"Delivered to a Watch whose selector matches Agreement.updated.","tags":["Agreement"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agreement.updated"},"data":{"type":"object","properties":{"agreement":{"$ref":"#/components/schemas/Agreement","description":"The Agreement."}},"required":["agreement"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agreement.signed":{"post":{"summary":"Agreement.signed","description":"Delivered to a Watch whose selector matches Agreement.signed.","tags":["Agreement"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agreement.signed"},"data":{"type":"object","properties":{"agreement":{"$ref":"#/components/schemas/Agreement","description":"The Agreement, in force once every party signs."}},"required":["agreement"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Agreement.terminated":{"post":{"summary":"Agreement.terminated","description":"Delivered to a Watch whose selector matches Agreement.terminated.","tags":["Agreement"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Agreement.terminated"},"data":{"type":"object","properties":{"agreement":{"$ref":"#/components/schemas/Agreement","description":"The terminated Agreement, kept forever."}},"required":["agreement"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"APIKey.issued":{"post":{"summary":"APIKey.issued","description":"Delivered to a Watch whose selector matches APIKey.issued.","tags":["APIKey"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"APIKey.issued"},"data":{"type":"object","properties":{"apiKey":{"$ref":"#/components/schemas/APIKey","description":"The API Key, with its prefix."},"secret":{"type":"string","description":"The full secret. It is returned here once and never again."}},"required":["apiKey","secret"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"APIKey.revoked":{"post":{"summary":"APIKey.revoked","description":"Delivered to a Watch whose selector matches APIKey.revoked.","tags":["APIKey"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"APIKey.revoked"},"data":{"type":"object","properties":{"apiKey":{"$ref":"#/components/schemas/APIKey","description":"The API Key, with `revokedAt` set."}},"required":["apiKey"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"APIKey.rolled":{"post":{"summary":"APIKey.rolled","description":"Delivered to a Watch whose selector matches APIKey.rolled.","tags":["APIKey"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"APIKey.rolled"},"data":{"type":"object","properties":{"apiKey":{"$ref":"#/components/schemas/APIKey","description":"The replacement API Key."},"secret":{"type":"string","description":"The replacement’s full secret, returned once."}},"required":["apiKey","secret"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"App.published":{"post":{"summary":"App.published","description":"Delivered to a Watch whose selector matches App.published.","tags":["App"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"App.published"},"data":{"type":"object","properties":{"app":{"$ref":"#/components/schemas/App","description":"The App, now released."}},"required":["app"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Approval.created":{"post":{"summary":"Approval.created","description":"Delivered to a Watch whose selector matches Approval.created.","tags":["Approval"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Approval.created"},"data":{"type":"object","properties":{"approval":{"$ref":"#/components/schemas/Approval","description":"The Approval."}},"required":["approval"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Approval.updated":{"post":{"summary":"Approval.updated","description":"Delivered to a Watch whose selector matches Approval.updated.","tags":["Approval"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Approval.updated"},"data":{"type":"object","properties":{"approval":{"$ref":"#/components/schemas/Approval","description":"The Approval."}},"required":["approval"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Approval.deleted":{"post":{"summary":"Approval.deleted","description":"Delivered to a Watch whose selector matches Approval.deleted.","tags":["Approval"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Approval.deleted"},"data":{"type":"object","properties":{"approval":{"$ref":"#/components/schemas/Approval","description":"The Approval."}},"required":["approval"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Approval.approved":{"post":{"summary":"Approval.approved","description":"Delivered to a Watch whose selector matches Approval.approved.","tags":["Approval"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Approval.approved"},"data":{"type":"object","properties":{"approval":{"$ref":"#/components/schemas/Approval","description":"The approved Approval."}},"required":["approval"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Approval.refused":{"post":{"summary":"Approval.refused","description":"Delivered to a Watch whose selector matches Approval.refused.","tags":["Approval"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Approval.refused"},"data":{"type":"object","properties":{"approval":{"$ref":"#/components/schemas/Approval","description":"The refused Approval."}},"required":["approval"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Attestation.created":{"post":{"summary":"Attestation.created","description":"Delivered to a Watch whose selector matches Attestation.created.","tags":["Attestation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Attestation.created"},"data":{"type":"object","properties":{"attestation":{"$ref":"#/components/schemas/Attestation","description":"The Attestation."}},"required":["attestation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Audience.created":{"post":{"summary":"Audience.created","description":"Delivered to a Watch whose selector matches Audience.created.","tags":["Audience"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Audience.created"},"data":{"type":"object","properties":{"audience":{"$ref":"#/components/schemas/Audience","description":"The Audience."}},"required":["audience"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Audience.updated":{"post":{"summary":"Audience.updated","description":"Delivered to a Watch whose selector matches Audience.updated.","tags":["Audience"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Audience.updated"},"data":{"type":"object","properties":{"audience":{"$ref":"#/components/schemas/Audience","description":"The Audience."}},"required":["audience"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Audience.deleted":{"post":{"summary":"Audience.deleted","description":"Delivered to a Watch whose selector matches Audience.deleted.","tags":["Audience"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Audience.deleted"},"data":{"type":"object","properties":{"audience":{"$ref":"#/components/schemas/Audience","description":"The Audience."}},"required":["audience"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Bill.created":{"post":{"summary":"Bill.created","description":"Delivered to a Watch whose selector matches Bill.created.","tags":["Bill"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Bill.created"},"data":{"type":"object","properties":{"bill":{"$ref":"#/components/schemas/Bill","description":"The Bill."}},"required":["bill"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Bill.updated":{"post":{"summary":"Bill.updated","description":"Delivered to a Watch whose selector matches Bill.updated.","tags":["Bill"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Bill.updated"},"data":{"type":"object","properties":{"bill":{"$ref":"#/components/schemas/Bill","description":"The Bill."}},"required":["bill"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Bill.approved":{"post":{"summary":"Bill.approved","description":"Delivered to a Watch whose selector matches Bill.approved.","tags":["Bill"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Bill.approved"},"data":{"type":"object","properties":{"bill":{"$ref":"#/components/schemas/Bill","description":"The approved Bill, scheduled for its due date."}},"required":["bill"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Bill.paid":{"post":{"summary":"Bill.paid","description":"Delivered to a Watch whose selector matches Bill.paid.","tags":["Bill"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Bill.paid"},"data":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/Transaction","description":"The payment Transaction."},"bill":{"$ref":"#/components/schemas/Bill","description":"The Bill, now paid."}},"required":["transaction","bill"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Brand.created":{"post":{"summary":"Brand.created","description":"Delivered to a Watch whose selector matches Brand.created.","tags":["Brand"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Brand.created"},"data":{"type":"object","properties":{"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand."}},"required":["brand"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Brand.updated":{"post":{"summary":"Brand.updated","description":"Delivered to a Watch whose selector matches Brand.updated.","tags":["Brand"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Brand.updated"},"data":{"type":"object","properties":{"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand."}},"required":["brand"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Brand.deleted":{"post":{"summary":"Brand.deleted","description":"Delivered to a Watch whose selector matches Brand.deleted.","tags":["Brand"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Brand.deleted"},"data":{"type":"object","properties":{"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand."}},"required":["brand"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Brand.cleared":{"post":{"summary":"Brand.cleared","description":"Delivered to a Watch whose selector matches Brand.cleared.","tags":["Brand"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Brand.cleared"},"data":{"type":"object","properties":{"verdict":{"type":"string","description":"`clear` lets the name ship, `conflict` blocks it, `review` waits for the Legal Lead.","enum":["clear","conflict","review"]},"findings":{"description":"Each similar mark, taken Domain or taken handle, with the register or platform it was found on."},"brand":{"$ref":"#/components/schemas/Brand","description":"The Brand whose name was checked."}},"required":["verdict","findings","brand"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Budget.created":{"post":{"summary":"Budget.created","description":"Delivered to a Watch whose selector matches Budget.created.","tags":["Budget"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Budget.created"},"data":{"type":"object","properties":{"budget":{"$ref":"#/components/schemas/Budget","description":"The Budget."}},"required":["budget"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Budget.updated":{"post":{"summary":"Budget.updated","description":"Delivered to a Watch whose selector matches Budget.updated.","tags":["Budget"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Budget.updated"},"data":{"type":"object","properties":{"budget":{"$ref":"#/components/schemas/Budget","description":"The Budget."}},"required":["budget"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Budget.deleted":{"post":{"summary":"Budget.deleted","description":"Delivered to a Watch whose selector matches Budget.deleted.","tags":["Budget"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Budget.deleted"},"data":{"type":"object","properties":{"budget":{"$ref":"#/components/schemas/Budget","description":"The Budget."}},"required":["budget"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Campaign.created":{"post":{"summary":"Campaign.created","description":"Delivered to a Watch whose selector matches Campaign.created.","tags":["Campaign"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Campaign.created"},"data":{"type":"object","properties":{"campaign":{"$ref":"#/components/schemas/Campaign","description":"The Campaign."}},"required":["campaign"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Campaign.updated":{"post":{"summary":"Campaign.updated","description":"Delivered to a Watch whose selector matches Campaign.updated.","tags":["Campaign"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Campaign.updated"},"data":{"type":"object","properties":{"campaign":{"$ref":"#/components/schemas/Campaign","description":"The Campaign."}},"required":["campaign"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Campaign.deleted":{"post":{"summary":"Campaign.deleted","description":"Delivered to a Watch whose selector matches Campaign.deleted.","tags":["Campaign"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Campaign.deleted"},"data":{"type":"object","properties":{"campaign":{"$ref":"#/components/schemas/Campaign","description":"The Campaign."}},"required":["campaign"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Candidate.created":{"post":{"summary":"Candidate.created","description":"Delivered to a Watch whose selector matches Candidate.created.","tags":["Candidate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Candidate.created"},"data":{"type":"object","properties":{"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate."}},"required":["candidate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Candidate.updated":{"post":{"summary":"Candidate.updated","description":"Delivered to a Watch whose selector matches Candidate.updated.","tags":["Candidate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Candidate.updated"},"data":{"type":"object","properties":{"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate."}},"required":["candidate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Candidate.deleted":{"post":{"summary":"Candidate.deleted","description":"Delivered to a Watch whose selector matches Candidate.deleted.","tags":["Candidate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Candidate.deleted"},"data":{"type":"object","properties":{"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate."}},"required":["candidate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Candidate.screened":{"post":{"summary":"Candidate.screened","description":"Delivered to a Watch whose selector matches Candidate.screened.","tags":["Candidate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Candidate.screened"},"data":{"type":"object","properties":{"candidate":{"$ref":"#/components/schemas/Candidate","description":"The Candidate, with graded Evidence attached."}},"required":["candidate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"CapitalCommitment.created":{"post":{"summary":"CapitalCommitment.created","description":"Delivered to a Watch whose selector matches CapitalCommitment.created.","tags":["CapitalCommitment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"CapitalCommitment.created"},"data":{"type":"object","properties":{"capitalCommitment":{"$ref":"#/components/schemas/CapitalCommitment","description":"The Capital Commitment."}},"required":["capitalCommitment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"CapitalCommitment.updated":{"post":{"summary":"CapitalCommitment.updated","description":"Delivered to a Watch whose selector matches CapitalCommitment.updated.","tags":["CapitalCommitment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"CapitalCommitment.updated"},"data":{"type":"object","properties":{"capitalCommitment":{"$ref":"#/components/schemas/CapitalCommitment","description":"The Capital Commitment."}},"required":["capitalCommitment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"CapitalCommitment.countersigned":{"post":{"summary":"CapitalCommitment.countersigned","description":"Delivered to a Watch whose selector matches CapitalCommitment.countersigned.","tags":["CapitalCommitment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"CapitalCommitment.countersigned"},"data":{"type":"object","properties":{"commitment":{"$ref":"#/components/schemas/CapitalCommitment","description":"The accepted Capital Commitment."}},"required":["commitment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Card.issued":{"post":{"summary":"Card.issued","description":"Delivered to a Watch whose selector matches Card.issued.","tags":["Card"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Card.issued"},"data":{"type":"object","properties":{"card":{"$ref":"#/components/schemas/Card","description":"The active Card, with its last four digits and limits."}},"required":["card"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Change.created":{"post":{"summary":"Change.created","description":"Delivered to a Watch whose selector matches Change.created.","tags":["Change"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Change.created"},"data":{"type":"object","properties":{"change":{"$ref":"#/components/schemas/Change","description":"The Change."}},"required":["change"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Change.merged":{"post":{"summary":"Change.merged","description":"Delivered to a Watch whose selector matches Change.merged.","tags":["Change"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Change.merged"},"data":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/Version","description":"The new Version."},"change":{"$ref":"#/components/schemas/Change","description":"The Change, now merged into live data."}},"required":["version","change"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Change.reverted":{"post":{"summary":"Change.reverted","description":"Delivered to a Watch whose selector matches Change.reverted.","tags":["Change"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Change.reverted"},"data":{"type":"object","properties":{"revert":{"$ref":"#/components/schemas/Change","description":"The Change that undoes it."}},"required":["revert"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Change.reviewed":{"post":{"summary":"Change.reviewed","description":"Delivered to a Watch whose selector matches Change.reviewed.","tags":["Change"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Change.reviewed"},"data":{"type":"object","properties":{"change":{"$ref":"#/components/schemas/Change","description":"The Change with its verdicts."}},"required":["change"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Channel.created":{"post":{"summary":"Channel.created","description":"Delivered to a Watch whose selector matches Channel.created.","tags":["Channel"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Channel.created"},"data":{"type":"object","properties":{"channel":{"$ref":"#/components/schemas/Channel","description":"The Channel."}},"required":["channel"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Channel.updated":{"post":{"summary":"Channel.updated","description":"Delivered to a Watch whose selector matches Channel.updated.","tags":["Channel"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Channel.updated"},"data":{"type":"object","properties":{"channel":{"$ref":"#/components/schemas/Channel","description":"The Channel."}},"required":["channel"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Channel.deleted":{"post":{"summary":"Channel.deleted","description":"Delivered to a Watch whose selector matches Channel.deleted.","tags":["Channel"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Channel.deleted"},"data":{"type":"object","properties":{"channel":{"$ref":"#/components/schemas/Channel","description":"The Channel."}},"required":["channel"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Cohort.created":{"post":{"summary":"Cohort.created","description":"Delivered to a Watch whose selector matches Cohort.created.","tags":["Cohort"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Cohort.created"},"data":{"type":"object","properties":{"cohort":{"$ref":"#/components/schemas/Cohort","description":"The Cohort."}},"required":["cohort"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Cohort.updated":{"post":{"summary":"Cohort.updated","description":"Delivered to a Watch whose selector matches Cohort.updated.","tags":["Cohort"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Cohort.updated"},"data":{"type":"object","properties":{"cohort":{"$ref":"#/components/schemas/Cohort","description":"The Cohort."}},"required":["cohort"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Cohort.deleted":{"post":{"summary":"Cohort.deleted","description":"Delivered to a Watch whose selector matches Cohort.deleted.","tags":["Cohort"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Cohort.deleted"},"data":{"type":"object","properties":{"cohort":{"$ref":"#/components/schemas/Cohort","description":"The Cohort."}},"required":["cohort"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Collection.created":{"post":{"summary":"Collection.created","description":"Delivered to a Watch whose selector matches Collection.created.","tags":["Collection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Collection.created"},"data":{"type":"object","properties":{"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection."}},"required":["collection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Collection.updated":{"post":{"summary":"Collection.updated","description":"Delivered to a Watch whose selector matches Collection.updated.","tags":["Collection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Collection.updated"},"data":{"type":"object","properties":{"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection."}},"required":["collection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Collection.deleted":{"post":{"summary":"Collection.deleted","description":"Delivered to a Watch whose selector matches Collection.deleted.","tags":["Collection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Collection.deleted"},"data":{"type":"object","properties":{"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection."}},"required":["collection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Collection.exported":{"post":{"summary":"Collection.exported","description":"Delivered to a Watch whose selector matches Collection.exported.","tags":["Collection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Collection.exported"},"data":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/File","description":"The exported File, for a one-time export."},"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection exported."}},"required":["collection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Collection.queried":{"post":{"summary":"Collection.queried","description":"Delivered to a Watch whose selector matches Collection.queried.","tags":["Collection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Collection.queried"},"data":{"type":"object","properties":{"rows":{"description":"The matching records."},"collection":{"$ref":"#/components/schemas/Collection","description":"The Collection the query read."}},"required":["rows","collection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Comment.created":{"post":{"summary":"Comment.created","description":"Delivered to a Watch whose selector matches Comment.created.","tags":["Comment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Comment.created"},"data":{"type":"object","properties":{"comment":{"$ref":"#/components/schemas/Comment","description":"The Comment."}},"required":["comment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Comment.updated":{"post":{"summary":"Comment.updated","description":"Delivered to a Watch whose selector matches Comment.updated.","tags":["Comment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Comment.updated"},"data":{"type":"object","properties":{"comment":{"$ref":"#/components/schemas/Comment","description":"The Comment."}},"required":["comment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Comment.deleted":{"post":{"summary":"Comment.deleted","description":"Delivered to a Watch whose selector matches Comment.deleted.","tags":["Comment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Comment.deleted"},"data":{"type":"object","properties":{"comment":{"$ref":"#/components/schemas/Comment","description":"The Comment."}},"required":["comment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Commission.created":{"post":{"summary":"Commission.created","description":"Delivered to a Watch whose selector matches Commission.created.","tags":["Commission"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Commission.created"},"data":{"type":"object","properties":{"commission":{"$ref":"#/components/schemas/Commission","description":"The Commission."}},"required":["commission"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Commission.updated":{"post":{"summary":"Commission.updated","description":"Delivered to a Watch whose selector matches Commission.updated.","tags":["Commission"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Commission.updated"},"data":{"type":"object","properties":{"commission":{"$ref":"#/components/schemas/Commission","description":"The Commission."}},"required":["commission"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Commission.paid":{"post":{"summary":"Commission.paid","description":"Delivered to a Watch whose selector matches Commission.paid.","tags":["Commission"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Commission.paid"},"data":{"type":"object","properties":{"commission":{"$ref":"#/components/schemas/Commission","description":"The Commission, its `paid` raised by the transfer."},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The transfer as the rail reports it."}},"required":["commission","transaction"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Company.created":{"post":{"summary":"Company.created","description":"Delivered to a Watch whose selector matches Company.created.","tags":["Company"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Company.created"},"data":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/Company","description":"The Company."}},"required":["company"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Company.updated":{"post":{"summary":"Company.updated","description":"Delivered to a Watch whose selector matches Company.updated.","tags":["Company"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Company.updated"},"data":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/Company","description":"The Company."}},"required":["company"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Company.dissolved":{"post":{"summary":"Company.dissolved","description":"Delivered to a Watch whose selector matches Company.dissolved.","tags":["Company"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Company.dissolved"},"data":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/Company","description":"The dissolved Company, kept forever."}},"required":["company"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Company.incorporated":{"post":{"summary":"Company.incorporated","description":"Delivered to a Watch whose selector matches Company.incorporated.","tags":["Company"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Company.incorporated"},"data":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/Company","description":"The new Company."}},"required":["company"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Company.registered":{"post":{"summary":"Company.registered","description":"Delivered to a Watch whose selector matches Company.registered.","tags":["Company"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Company.registered"},"data":{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/Credential","description":"The registration, with its number and filing frequency once granted."},"company":{"$ref":"#/components/schemas/Company","description":"The Company now registered in the jurisdiction."}},"required":["credential","company"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Company.submitted":{"post":{"summary":"Company.submitted","description":"Delivered to a Watch whose selector matches Company.submitted.","tags":["Company"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Company.submitted"},"data":{"type":"object","properties":{"taxReturn":{"$ref":"#/components/schemas/Document","description":"The return as submitted, with the authority’s confirmation."},"payment":{"$ref":"#/components/schemas/Transaction","description":"The payment of the tax due; none for an information return."},"company":{"$ref":"#/components/schemas/Company","description":"The Company that filed the return."}},"required":["taxReturn","company"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Component.created":{"post":{"summary":"Component.created","description":"Delivered to a Watch whose selector matches Component.created.","tags":["Component"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Component.created"},"data":{"type":"object","properties":{"component":{"$ref":"#/components/schemas/Component","description":"The Component."}},"required":["component"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Component.updated":{"post":{"summary":"Component.updated","description":"Delivered to a Watch whose selector matches Component.updated.","tags":["Component"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Component.updated"},"data":{"type":"object","properties":{"component":{"$ref":"#/components/schemas/Component","description":"The Component."}},"required":["component"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Component.deleted":{"post":{"summary":"Component.deleted","description":"Delivered to a Watch whose selector matches Component.deleted.","tags":["Component"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Component.deleted"},"data":{"type":"object","properties":{"component":{"$ref":"#/components/schemas/Component","description":"The Component."}},"required":["component"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Consent.created":{"post":{"summary":"Consent.created","description":"Delivered to a Watch whose selector matches Consent.created.","tags":["Consent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Consent.created"},"data":{"type":"object","properties":{"consent":{"$ref":"#/components/schemas/Consent","description":"The Consent."}},"required":["consent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Consent.updated":{"post":{"summary":"Consent.updated","description":"Delivered to a Watch whose selector matches Consent.updated.","tags":["Consent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Consent.updated"},"data":{"type":"object","properties":{"consent":{"$ref":"#/components/schemas/Consent","description":"The Consent."}},"required":["consent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Consent.withdrawn":{"post":{"summary":"Consent.withdrawn","description":"Delivered to a Watch whose selector matches Consent.withdrawn.","tags":["Consent"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Consent.withdrawn"},"data":{"type":"object","properties":{"consent":{"$ref":"#/components/schemas/Consent","description":"The withdrawn Consent."}},"required":["consent"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.created":{"post":{"summary":"Contact.created","description":"Delivered to a Watch whose selector matches Contact.created.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.created"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact."}},"required":["contact"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.updated":{"post":{"summary":"Contact.updated","description":"Delivered to a Watch whose selector matches Contact.updated.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.updated"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact."}},"required":["contact"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.deleted":{"post":{"summary":"Contact.deleted","description":"Delivered to a Watch whose selector matches Contact.deleted.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.deleted"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact."}},"required":["contact"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.enriched":{"post":{"summary":"Contact.enriched","description":"Delivered to a Watch whose selector matches Contact.enriched.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.enriched"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The enriched Contact."}},"required":["contact"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.enrolled":{"post":{"summary":"Contact.enrolled","description":"Delivered to a Watch whose selector matches Contact.enrolled.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.enrolled"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The enrolled Contact."},"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment that records this Contact’s run through the Sequence."}},"required":["contact","enrollment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.merged":{"post":{"summary":"Contact.merged","description":"Delivered to a Watch whose selector matches Contact.merged.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.merged"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The remaining Contact."}},"required":["contact"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.subscribed":{"post":{"summary":"Contact.subscribed","description":"Delivered to a Watch whose selector matches Contact.subscribed.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.subscribed"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact, with their topics."}},"required":["contact"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.suppressed":{"post":{"summary":"Contact.suppressed","description":"Delivered to a Watch whose selector matches Contact.suppressed.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.suppressed"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The suppressed Contact."}},"required":["contact"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Contact.unsubscribed":{"post":{"summary":"Contact.unsubscribed","description":"Delivered to a Watch whose selector matches Contact.unsubscribed.","tags":["Contact"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Contact.unsubscribed"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact, unsubscribed."}},"required":["contact"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Content.created":{"post":{"summary":"Content.created","description":"Delivered to a Watch whose selector matches Content.created.","tags":["Content"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Content.created"},"data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/Content","description":"The Content."}},"required":["content"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Content.updated":{"post":{"summary":"Content.updated","description":"Delivered to a Watch whose selector matches Content.updated.","tags":["Content"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Content.updated"},"data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/Content","description":"The Content."}},"required":["content"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Content.deleted":{"post":{"summary":"Content.deleted","description":"Delivered to a Watch whose selector matches Content.deleted.","tags":["Content"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Content.deleted"},"data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/Content","description":"The Content."}},"required":["content"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Content.drafted":{"post":{"summary":"Content.drafted","description":"Delivered to a Watch whose selector matches Content.drafted.","tags":["Content"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Content.drafted"},"data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/Content","description":"The draft."}},"required":["content"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Content.published":{"post":{"summary":"Content.published","description":"Delivered to a Watch whose selector matches Content.published.","tags":["Content"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Content.published"},"data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/Content","description":"The published Content."}},"required":["content"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Conversation.created":{"post":{"summary":"Conversation.created","description":"Delivered to a Watch whose selector matches Conversation.created.","tags":["Conversation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Conversation.created"},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation."}},"required":["conversation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Conversation.updated":{"post":{"summary":"Conversation.updated","description":"Delivered to a Watch whose selector matches Conversation.updated.","tags":["Conversation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Conversation.updated"},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation."}},"required":["conversation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Conversation.deleted":{"post":{"summary":"Conversation.deleted","description":"Delivered to a Watch whose selector matches Conversation.deleted.","tags":["Conversation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Conversation.deleted"},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation."}},"required":["conversation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Conversation.answered":{"post":{"summary":"Conversation.answered","description":"Delivered to a Watch whose selector matches Conversation.answered.","tags":["Conversation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Conversation.answered"},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The answered Conversation."}},"required":["conversation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Conversation.assigned":{"post":{"summary":"Conversation.assigned","description":"Delivered to a Watch whose selector matches Conversation.assigned.","tags":["Conversation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Conversation.assigned"},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation, with its Worker."}},"required":["conversation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Conversation.closed":{"post":{"summary":"Conversation.closed","description":"Delivered to a Watch whose selector matches Conversation.closed.","tags":["Conversation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Conversation.closed"},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation, resolved."}},"required":["conversation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Conversation.escalated":{"post":{"summary":"Conversation.escalated","description":"Delivered to a Watch whose selector matches Conversation.escalated.","tags":["Conversation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Conversation.escalated"},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation, with its new Worker."}},"required":["conversation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Conversation.reopened":{"post":{"summary":"Conversation.reopened","description":"Delivered to a Watch whose selector matches Conversation.reopened.","tags":["Conversation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Conversation.reopened"},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The Conversation, open again."}},"required":["conversation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Coupon.created":{"post":{"summary":"Coupon.created","description":"Delivered to a Watch whose selector matches Coupon.created.","tags":["Coupon"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Coupon.created"},"data":{"type":"object","properties":{"coupon":{"$ref":"#/components/schemas/Coupon","description":"The Coupon."}},"required":["coupon"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Coupon.updated":{"post":{"summary":"Coupon.updated","description":"Delivered to a Watch whose selector matches Coupon.updated.","tags":["Coupon"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Coupon.updated"},"data":{"type":"object","properties":{"coupon":{"$ref":"#/components/schemas/Coupon","description":"The Coupon."}},"required":["coupon"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Credential.created":{"post":{"summary":"Credential.created","description":"Delivered to a Watch whose selector matches Credential.created.","tags":["Credential"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Credential.created"},"data":{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/Credential","description":"The Credential."}},"required":["credential"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Credential.updated":{"post":{"summary":"Credential.updated","description":"Delivered to a Watch whose selector matches Credential.updated.","tags":["Credential"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Credential.updated"},"data":{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/Credential","description":"The Credential."}},"required":["credential"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Credential.deleted":{"post":{"summary":"Credential.deleted","description":"Delivered to a Watch whose selector matches Credential.deleted.","tags":["Credential"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Credential.deleted"},"data":{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/Credential","description":"The Credential."}},"required":["credential"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Credential.verified":{"post":{"summary":"Credential.verified","description":"Delivered to a Watch whose selector matches Credential.verified.","tags":["Credential"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Credential.verified"},"data":{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/Credential","description":"The verified Credential."}},"required":["credential"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"CreditGrant.created":{"post":{"summary":"CreditGrant.created","description":"Delivered to a Watch whose selector matches CreditGrant.created.","tags":["CreditGrant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"CreditGrant.created"},"data":{"type":"object","properties":{"creditGrant":{"$ref":"#/components/schemas/CreditGrant","description":"The Credit Grant."}},"required":["creditGrant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"CreditGrant.applied":{"post":{"summary":"CreditGrant.applied","description":"Delivered to a Watch whose selector matches CreditGrant.applied.","tags":["CreditGrant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"CreditGrant.applied"},"data":{"type":"object","properties":{"applied":{"$ref":"#/components/schemas/Money","description":"The total the grants paid toward the Invoice."},"creditGrants":{"type":"array","items":{"$ref":"#/components/schemas/CreditGrant","description":"Each grant drawn, with its new remaining balance."},"description":"Each grant drawn, with its new remaining balance."}},"required":["applied","creditGrants"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"CreditGrant.issued":{"post":{"summary":"CreditGrant.issued","description":"Delivered to a Watch whose selector matches CreditGrant.issued.","tags":["CreditGrant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"CreditGrant.issued"},"data":{"type":"object","properties":{"creditGrant":{"$ref":"#/components/schemas/CreditGrant","description":"The new Credit Grant, its remaining balance equal to its amount."}},"required":["creditGrant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"CreditGrant.voided":{"post":{"summary":"CreditGrant.voided","description":"Delivered to a Watch whose selector matches CreditGrant.voided.","tags":["CreditGrant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"CreditGrant.voided"},"data":{"type":"object","properties":{"creditGrant":{"$ref":"#/components/schemas/CreditGrant","description":"The voided grant, its remaining balance zero."}},"required":["creditGrant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Customer.created":{"post":{"summary":"Customer.created","description":"Delivered to a Watch whose selector matches Customer.created.","tags":["Customer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Customer.created"},"data":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer."}},"required":["customer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Customer.updated":{"post":{"summary":"Customer.updated","description":"Delivered to a Watch whose selector matches Customer.updated.","tags":["Customer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Customer.updated"},"data":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer."}},"required":["customer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Customer.deleted":{"post":{"summary":"Customer.deleted","description":"Delivered to a Watch whose selector matches Customer.deleted.","tags":["Customer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Customer.deleted"},"data":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer."}},"required":["customer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Customer.activated":{"post":{"summary":"Customer.activated","description":"Delivered to a Watch whose selector matches Customer.activated.","tags":["Customer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Customer.activated"},"data":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/Customer","description":"The activated Customer."}},"required":["customer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Customer.exempted":{"post":{"summary":"Customer.exempted","description":"Delivered to a Watch whose selector matches Customer.exempted.","tags":["Customer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Customer.exempted"},"data":{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/Credential","description":"The certificate, held by the Customer’s Organization."},"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer, now exempt where the certificate applies."}},"required":["credential","customer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dashboard.created":{"post":{"summary":"Dashboard.created","description":"Delivered to a Watch whose selector matches Dashboard.created.","tags":["Dashboard"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dashboard.created"},"data":{"type":"object","properties":{"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard."}},"required":["dashboard"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dashboard.updated":{"post":{"summary":"Dashboard.updated","description":"Delivered to a Watch whose selector matches Dashboard.updated.","tags":["Dashboard"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dashboard.updated"},"data":{"type":"object","properties":{"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard."}},"required":["dashboard"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dashboard.deleted":{"post":{"summary":"Dashboard.deleted","description":"Delivered to a Watch whose selector matches Dashboard.deleted.","tags":["Dashboard"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dashboard.deleted"},"data":{"type":"object","properties":{"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard."}},"required":["dashboard"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dashboard.asked":{"post":{"summary":"Dashboard.asked","description":"Delivered to a Watch whose selector matches Dashboard.asked.","tags":["Dashboard"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dashboard.asked"},"data":{"type":"object","properties":{"query":{"type":"string","description":"The query it ran, to read and reuse."},"rows":{"description":"The result, as a table or chart."},"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard the question was asked on."}},"required":["query","rows","dashboard"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dashboard.scheduled":{"post":{"summary":"Dashboard.scheduled","description":"Delivered to a Watch whose selector matches Dashboard.scheduled.","tags":["Dashboard"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dashboard.scheduled"},"data":{"type":"object","properties":{"dashboard":{"$ref":"#/components/schemas/Dashboard","description":"The Dashboard, with its schedule."}},"required":["dashboard"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dataset.created":{"post":{"summary":"Dataset.created","description":"Delivered to a Watch whose selector matches Dataset.created.","tags":["Dataset"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dataset.created"},"data":{"type":"object","properties":{"dataset":{"$ref":"#/components/schemas/Dataset","description":"The Dataset."}},"required":["dataset"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dataset.updated":{"post":{"summary":"Dataset.updated","description":"Delivered to a Watch whose selector matches Dataset.updated.","tags":["Dataset"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dataset.updated"},"data":{"type":"object","properties":{"dataset":{"$ref":"#/components/schemas/Dataset","description":"The Dataset."}},"required":["dataset"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dataset.deleted":{"post":{"summary":"Dataset.deleted","description":"Delivered to a Watch whose selector matches Dataset.deleted.","tags":["Dataset"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dataset.deleted"},"data":{"type":"object","properties":{"dataset":{"$ref":"#/components/schemas/Dataset","description":"The Dataset."}},"required":["dataset"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Deal.created":{"post":{"summary":"Deal.created","description":"Delivered to a Watch whose selector matches Deal.created.","tags":["Deal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Deal.created"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal."}},"required":["deal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Deal.updated":{"post":{"summary":"Deal.updated","description":"Delivered to a Watch whose selector matches Deal.updated.","tags":["Deal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Deal.updated"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal."}},"required":["deal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Deal.deleted":{"post":{"summary":"Deal.deleted","description":"Delivered to a Watch whose selector matches Deal.deleted.","tags":["Deal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Deal.deleted"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal."}},"required":["deal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Deal.advanced":{"post":{"summary":"Deal.advanced","description":"Delivered to a Watch whose selector matches Deal.advanced.","tags":["Deal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Deal.advanced"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal in its new stage."}},"required":["deal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Deal.assigned":{"post":{"summary":"Deal.assigned","description":"Delivered to a Watch whose selector matches Deal.assigned.","tags":["Deal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Deal.assigned"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal, with its owner."}},"required":["deal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Deal.lost":{"post":{"summary":"Deal.lost","description":"Delivered to a Watch whose selector matches Deal.lost.","tags":["Deal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Deal.lost"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The lost Deal."}},"required":["deal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Deal.proposed":{"post":{"summary":"Deal.proposed","description":"Delivered to a Watch whose selector matches Deal.proposed.","tags":["Deal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Deal.proposed"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal with its Quote out."}},"required":["deal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Deal.won":{"post":{"summary":"Deal.won","description":"Delivered to a Watch whose selector matches Deal.won.","tags":["Deal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Deal.won"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The placed Order."},"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal, now won."}},"required":["order","deal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Decision.created":{"post":{"summary":"Decision.created","description":"Delivered to a Watch whose selector matches Decision.created.","tags":["Decision"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Decision.created"},"data":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/Decision","description":"The Decision."}},"required":["decision"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Decision.superseded":{"post":{"summary":"Decision.superseded","description":"Delivered to a Watch whose selector matches Decision.superseded.","tags":["Decision"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Decision.superseded"},"data":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/Decision","description":"The superseded Decision."}},"required":["decision"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"DemandBudget.created":{"post":{"summary":"DemandBudget.created","description":"Delivered to a Watch whose selector matches DemandBudget.created.","tags":["DemandBudget"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"DemandBudget.created"},"data":{"type":"object","properties":{"demandBudget":{"$ref":"#/components/schemas/DemandBudget","description":"The Demand Budget."}},"required":["demandBudget"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"DemandBudget.updated":{"post":{"summary":"DemandBudget.updated","description":"Delivered to a Watch whose selector matches DemandBudget.updated.","tags":["DemandBudget"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"DemandBudget.updated"},"data":{"type":"object","properties":{"demandBudget":{"$ref":"#/components/schemas/DemandBudget","description":"The Demand Budget."}},"required":["demandBudget"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dispute.accepted":{"post":{"summary":"Dispute.accepted","description":"Delivered to a Watch whose selector matches Dispute.accepted.","tags":["Dispute"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dispute.accepted"},"data":{"type":"object","properties":{"dispute":{"$ref":"#/components/schemas/Dispute","description":"The closed Dispute, decided for the buyer."}},"required":["dispute"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dispute.answered":{"post":{"summary":"Dispute.answered","description":"Delivered to a Watch whose selector matches Dispute.answered.","tags":["Dispute"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dispute.answered"},"data":{"type":"object","properties":{"dispute":{"$ref":"#/components/schemas/Dispute","description":"The answered Dispute."}},"required":["dispute"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dispute.appealed":{"post":{"summary":"Dispute.appealed","description":"Delivered to a Watch whose selector matches Dispute.appealed.","tags":["Dispute"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dispute.appealed"},"data":{"type":"object","properties":{"dispute":{"$ref":"#/components/schemas/Dispute","description":"The appealed Dispute."}},"required":["dispute"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Dispute.decided":{"post":{"summary":"Dispute.decided","description":"Delivered to a Watch whose selector matches Dispute.decided.","tags":["Dispute"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Dispute.decided"},"data":{"type":"object","properties":{"dispute":{"$ref":"#/components/schemas/Dispute","description":"The decided Dispute."}},"required":["dispute"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"DNSRecord.removed":{"post":{"summary":"DNSRecord.removed","description":"Delivered to a Watch whose selector matches DNSRecord.removed.","tags":["DNSRecord"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"DNSRecord.removed"},"data":{"type":"object","properties":{"record":{"$ref":"#/components/schemas/DNSRecord","description":"The stopped DNS Record."}},"required":["record"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"DNSRecord.set":{"post":{"summary":"DNSRecord.set","description":"Delivered to a Watch whose selector matches DNSRecord.set.","tags":["DNSRecord"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"DNSRecord.set"},"data":{"type":"object","properties":{"record":{"$ref":"#/components/schemas/DNSRecord","description":"The DNS Record, with its status."}},"required":["record"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Document.created":{"post":{"summary":"Document.created","description":"Delivered to a Watch whose selector matches Document.created.","tags":["Document"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Document.created"},"data":{"type":"object","properties":{"document":{"$ref":"#/components/schemas/Document","description":"The Document."}},"required":["document"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Document.updated":{"post":{"summary":"Document.updated","description":"Delivered to a Watch whose selector matches Document.updated.","tags":["Document"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Document.updated"},"data":{"type":"object","properties":{"document":{"$ref":"#/components/schemas/Document","description":"The Document."}},"required":["document"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Document.deleted":{"post":{"summary":"Document.deleted","description":"Delivered to a Watch whose selector matches Document.deleted.","tags":["Document"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Document.deleted"},"data":{"type":"object","properties":{"document":{"$ref":"#/components/schemas/Document","description":"The Document."}},"required":["document"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Document.rendered":{"post":{"summary":"Document.rendered","description":"Delivered to a Watch whose selector matches Document.rendered.","tags":["Document"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Document.rendered"},"data":{"type":"object","properties":{"file":{"type":"string","format":"uri","description":"Where the file lives."},"document":{"$ref":"#/components/schemas/Document","description":"The Document rendered."}},"required":["file","document"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.created":{"post":{"summary":"Domain.created","description":"Delivered to a Watch whose selector matches Domain.created.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.created"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.updated":{"post":{"summary":"Domain.updated","description":"Delivered to a Watch whose selector matches Domain.updated.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.updated"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.deleted":{"post":{"summary":"Domain.deleted","description":"Delivered to a Watch whose selector matches Domain.deleted.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.deleted"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.authenticated":{"post":{"summary":"Domain.authenticated","description":"Delivered to a Watch whose selector matches Domain.authenticated.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.authenticated"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain, authenticated."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.benchmarked":{"post":{"summary":"Domain.benchmarked","description":"Delivered to a Watch whose selector matches Domain.benchmarked.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.benchmarked"},"data":{"type":"object","properties":{"readings":{"description":"One measure per name, each with its method and observation time."},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain measured."}},"required":["readings","domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.claimed":{"post":{"summary":"Domain.claimed","description":"Delivered to a Watch whose selector matches Domain.claimed.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.claimed"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The claimed Domain."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.connected":{"post":{"summary":"Domain.connected","description":"Delivered to a Watch whose selector matches Domain.connected.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.connected"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The connected Domain."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.registered":{"post":{"summary":"Domain.registered","description":"Delivered to a Watch whose selector matches Domain.registered.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.registered"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The registered Domain."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.released":{"post":{"summary":"Domain.released","description":"Delivered to a Watch whose selector matches Domain.released.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.released"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The released Domain."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.renewed":{"post":{"summary":"Domain.renewed","description":"Delivered to a Watch whose selector matches Domain.renewed.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.renewed"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain, with its new `expiresAt`."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.searched":{"post":{"summary":"Domain.searched","description":"Delivered to a Watch whose selector matches Domain.searched.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.searched"},"data":{"type":"object","properties":{"candidates":{"type":"array","items":{"$ref":"#/components/schemas/Domain","description":"Candidate Domains, each with its prices, three-year cost and extension rules."},"description":"Candidate Domains, each with its prices, three-year cost and extension rules."}},"required":["candidates"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.transferred":{"post":{"summary":"Domain.transferred","description":"Delivered to a Watch whose selector matches Domain.transferred.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.transferred"},"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/Domain","description":"The transferred Domain."}},"required":["domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Domain.verified":{"post":{"summary":"Domain.verified","description":"Delivered to a Watch whose selector matches Domain.verified.","tags":["Domain"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Domain.verified"},"data":{"type":"object","properties":{"checks":{"description":"Each check with its status and, on failure, its reason and fix."},"domain":{"$ref":"#/components/schemas/Domain","description":"The Domain with its `state` after the checks."}},"required":["checks","domain"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Enrollment.created":{"post":{"summary":"Enrollment.created","description":"Delivered to a Watch whose selector matches Enrollment.created.","tags":["Enrollment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Enrollment.created"},"data":{"type":"object","properties":{"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment."}},"required":["enrollment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Enrollment.updated":{"post":{"summary":"Enrollment.updated","description":"Delivered to a Watch whose selector matches Enrollment.updated.","tags":["Enrollment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Enrollment.updated"},"data":{"type":"object","properties":{"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment."}},"required":["enrollment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Enrollment.deleted":{"post":{"summary":"Enrollment.deleted","description":"Delivered to a Watch whose selector matches Enrollment.deleted.","tags":["Enrollment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Enrollment.deleted"},"data":{"type":"object","properties":{"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment."}},"required":["enrollment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Enrollment.canceled":{"post":{"summary":"Enrollment.canceled","description":"Delivered to a Watch whose selector matches Enrollment.canceled.","tags":["Enrollment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Enrollment.canceled"},"data":{"type":"object","properties":{"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment, now `exited`."}},"required":["enrollment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Enrollment.paused":{"post":{"summary":"Enrollment.paused","description":"Delivered to a Watch whose selector matches Enrollment.paused.","tags":["Enrollment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Enrollment.paused"},"data":{"type":"object","properties":{"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment, now `paused`."}},"required":["enrollment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Enrollment.resumed":{"post":{"summary":"Enrollment.resumed","description":"Delivered to a Watch whose selector matches Enrollment.resumed.","tags":["Enrollment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Enrollment.resumed"},"data":{"type":"object","properties":{"enrollment":{"$ref":"#/components/schemas/Enrollment","description":"The Enrollment, `active` again."}},"required":["enrollment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Entitlement.created":{"post":{"summary":"Entitlement.created","description":"Delivered to a Watch whose selector matches Entitlement.created.","tags":["Entitlement"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Entitlement.created"},"data":{"type":"object","properties":{"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement."}},"required":["entitlement"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Entitlement.updated":{"post":{"summary":"Entitlement.updated","description":"Delivered to a Watch whose selector matches Entitlement.updated.","tags":["Entitlement"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Entitlement.updated"},"data":{"type":"object","properties":{"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement."}},"required":["entitlement"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Entitlement.deleted":{"post":{"summary":"Entitlement.deleted","description":"Delivered to a Watch whose selector matches Entitlement.deleted.","tags":["Entitlement"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Entitlement.deleted"},"data":{"type":"object","properties":{"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement."}},"required":["entitlement"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Entitlement.checked":{"post":{"summary":"Entitlement.checked","description":"Delivered to a Watch whose selector matches Entitlement.checked.","tags":["Entitlement"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Entitlement.checked"},"data":{"type":"object","properties":{"allowed":{"type":"boolean","description":"True when an Entitlement grants the call and its Limit has room for `amount`."},"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The Entitlement that grants the Verb, when one does."},"remaining":{"type":"integer","description":"Units left in the current period; absent for a `feature` Entitlement."},"resetsAt":{"type":"string","format":"date-time","description":"When the period resets; absent when the Limit never resets."},"upgrade":{"$ref":"#/components/schemas/Offer","description":"The Offer that lifts the bound, when its Offer’s `atBound` is `upgrade`."}},"required":["allowed"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Entry.posted":{"post":{"summary":"Entry.posted","description":"Delivered to a Watch whose selector matches Entry.posted.","tags":["Entry"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Entry.posted"},"data":{"type":"object","properties":{"entry":{"$ref":"#/components/schemas/Entry","description":"The debit Entry; its credit pair links to it."}},"required":["entry"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Entry.settled":{"post":{"summary":"Entry.settled","description":"Delivered to a Watch whose selector matches Entry.settled.","tags":["Entry"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Entry.settled"},"data":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/Transaction","description":"The one transfer that settles every pair."},"entry":{"$ref":"#/components/schemas/Entry","description":"The intercompany Entry, now settled."}},"required":["transaction","entry"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Evaluator.created":{"post":{"summary":"Evaluator.created","description":"Delivered to a Watch whose selector matches Evaluator.created.","tags":["Evaluator"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Evaluator.created"},"data":{"type":"object","properties":{"evaluator":{"$ref":"#/components/schemas/Evaluator","description":"The Evaluator."}},"required":["evaluator"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Evaluator.updated":{"post":{"summary":"Evaluator.updated","description":"Delivered to a Watch whose selector matches Evaluator.updated.","tags":["Evaluator"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Evaluator.updated"},"data":{"type":"object","properties":{"evaluator":{"$ref":"#/components/schemas/Evaluator","description":"The Evaluator."}},"required":["evaluator"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Evaluator.deleted":{"post":{"summary":"Evaluator.deleted","description":"Delivered to a Watch whose selector matches Evaluator.deleted.","tags":["Evaluator"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Evaluator.deleted"},"data":{"type":"object","properties":{"evaluator":{"$ref":"#/components/schemas/Evaluator","description":"The Evaluator."}},"required":["evaluator"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Event.created":{"post":{"summary":"Event.created","description":"Delivered to a Watch whose selector matches Event.created.","tags":["Event"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Event.created"},"data":{"type":"object","properties":{"event":{"$ref":"#/components/schemas/Event","description":"The Event."}},"required":["event"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Event.captured":{"post":{"summary":"Event.captured","description":"Delivered to a Watch whose selector matches Event.captured.","tags":["Event"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Event.captured"},"data":{"type":"object","properties":{"event":{"$ref":"#/components/schemas/Event","description":"The captured Event."}},"required":["event"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Evidence.created":{"post":{"summary":"Evidence.created","description":"Delivered to a Watch whose selector matches Evidence.created.","tags":["Evidence"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Evidence.created"},"data":{"type":"object","properties":{"evidence":{"$ref":"#/components/schemas/Evidence","description":"The Evidence."}},"required":["evidence"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Experiment.created":{"post":{"summary":"Experiment.created","description":"Delivered to a Watch whose selector matches Experiment.created.","tags":["Experiment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Experiment.created"},"data":{"type":"object","properties":{"experiment":{"$ref":"#/components/schemas/Experiment","description":"The Experiment."}},"required":["experiment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Experiment.concluded":{"post":{"summary":"Experiment.concluded","description":"Delivered to a Watch whose selector matches Experiment.concluded.","tags":["Experiment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Experiment.concluded"},"data":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/Decision","description":"The recorded Decision."},"experiment":{"$ref":"#/components/schemas/Experiment","description":"The Experiment, now concluded."}},"required":["decision","experiment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Experiment.started":{"post":{"summary":"Experiment.started","description":"Delivered to a Watch whose selector matches Experiment.started.","tags":["Experiment"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Experiment.started"},"data":{"type":"object","properties":{"experiment":{"$ref":"#/components/schemas/Experiment","description":"The running Experiment."}},"required":["experiment"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Exposure.created":{"post":{"summary":"Exposure.created","description":"Delivered to a Watch whose selector matches Exposure.created.","tags":["Exposure"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Exposure.created"},"data":{"type":"object","properties":{"exposure":{"$ref":"#/components/schemas/Exposure","description":"The Exposure."}},"required":["exposure"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"File.created":{"post":{"summary":"File.created","description":"Delivered to a Watch whose selector matches File.created.","tags":["File"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"File.created"},"data":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/File","description":"The File."}},"required":["file"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"File.updated":{"post":{"summary":"File.updated","description":"Delivered to a Watch whose selector matches File.updated.","tags":["File"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"File.updated"},"data":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/File","description":"The File."}},"required":["file"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"File.deleted":{"post":{"summary":"File.deleted","description":"Delivered to a Watch whose selector matches File.deleted.","tags":["File"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"File.deleted"},"data":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/File","description":"The File."}},"required":["file"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"File.edited":{"post":{"summary":"File.edited","description":"Delivered to a Watch whose selector matches File.edited.","tags":["File"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"File.edited"},"data":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/File","description":"The new File, which records its source."}},"required":["file"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"File.generated":{"post":{"summary":"File.generated","description":"Delivered to a Watch whose selector matches File.generated.","tags":["File"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"File.generated"},"data":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/File","description":"The generated File, its bytes in Storage and its provenance recorded."}},"required":["file"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Flag.created":{"post":{"summary":"Flag.created","description":"Delivered to a Watch whose selector matches Flag.created.","tags":["Flag"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Flag.created"},"data":{"type":"object","properties":{"flag":{"$ref":"#/components/schemas/Flag","description":"The Flag."}},"required":["flag"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Flag.updated":{"post":{"summary":"Flag.updated","description":"Delivered to a Watch whose selector matches Flag.updated.","tags":["Flag"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Flag.updated"},"data":{"type":"object","properties":{"flag":{"$ref":"#/components/schemas/Flag","description":"The Flag."}},"required":["flag"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Flag.deleted":{"post":{"summary":"Flag.deleted","description":"Delivered to a Watch whose selector matches Flag.deleted.","tags":["Flag"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Flag.deleted"},"data":{"type":"object","properties":{"flag":{"$ref":"#/components/schemas/Flag","description":"The Flag."}},"required":["flag"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Flag.evaluated":{"post":{"summary":"Flag.evaluated","description":"Delivered to a Watch whose selector matches Flag.evaluated.","tags":["Flag"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Flag.evaluated"},"data":{"type":"object","properties":{"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant assigned to the unit."},"exposure":{"$ref":"#/components/schemas/Exposure","description":"The Exposure recorded; none in Mode try."}},"required":["variant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Flow.created":{"post":{"summary":"Flow.created","description":"Delivered to a Watch whose selector matches Flow.created.","tags":["Flow"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Flow.created"},"data":{"type":"object","properties":{"flow":{"$ref":"#/components/schemas/Flow","description":"The Flow."}},"required":["flow"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Flow.updated":{"post":{"summary":"Flow.updated","description":"Delivered to a Watch whose selector matches Flow.updated.","tags":["Flow"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Flow.updated"},"data":{"type":"object","properties":{"flow":{"$ref":"#/components/schemas/Flow","description":"The Flow."}},"required":["flow"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Flow.deleted":{"post":{"summary":"Flow.deleted","description":"Delivered to a Watch whose selector matches Flow.deleted.","tags":["Flow"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Flow.deleted"},"data":{"type":"object","properties":{"flow":{"$ref":"#/components/schemas/Flow","description":"The Flow."}},"required":["flow"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Forecast.created":{"post":{"summary":"Forecast.created","description":"Delivered to a Watch whose selector matches Forecast.created.","tags":["Forecast"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Forecast.created"},"data":{"type":"object","properties":{"forecast":{"$ref":"#/components/schemas/Forecast","description":"The Forecast."}},"required":["forecast"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Form.created":{"post":{"summary":"Form.created","description":"Delivered to a Watch whose selector matches Form.created.","tags":["Form"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Form.created"},"data":{"type":"object","properties":{"form":{"$ref":"#/components/schemas/Form","description":"The Form."}},"required":["form"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Form.updated":{"post":{"summary":"Form.updated","description":"Delivered to a Watch whose selector matches Form.updated.","tags":["Form"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Form.updated"},"data":{"type":"object","properties":{"form":{"$ref":"#/components/schemas/Form","description":"The Form."}},"required":["form"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Form.deleted":{"post":{"summary":"Form.deleted","description":"Delivered to a Watch whose selector matches Form.deleted.","tags":["Form"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Form.deleted"},"data":{"type":"object","properties":{"form":{"$ref":"#/components/schemas/Form","description":"The Form."}},"required":["form"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Function.created":{"post":{"summary":"Function.created","description":"Delivered to a Watch whose selector matches Function.created.","tags":["Function"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Function.created"},"data":{"type":"object","properties":{"function":{"$ref":"#/components/schemas/Function","description":"The Function."}},"required":["function"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Function.updated":{"post":{"summary":"Function.updated","description":"Delivered to a Watch whose selector matches Function.updated.","tags":["Function"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Function.updated"},"data":{"type":"object","properties":{"function":{"$ref":"#/components/schemas/Function","description":"The Function."}},"required":["function"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Function.deleted":{"post":{"summary":"Function.deleted","description":"Delivered to a Watch whose selector matches Function.deleted.","tags":["Function"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Function.deleted"},"data":{"type":"object","properties":{"function":{"$ref":"#/components/schemas/Function","description":"The Function."}},"required":["function"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Fund.created":{"post":{"summary":"Fund.created","description":"Delivered to a Watch whose selector matches Fund.created.","tags":["Fund"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Fund.created"},"data":{"type":"object","properties":{"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund."}},"required":["fund"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Fund.updated":{"post":{"summary":"Fund.updated","description":"Delivered to a Watch whose selector matches Fund.updated.","tags":["Fund"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Fund.updated"},"data":{"type":"object","properties":{"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund."}},"required":["fund"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Fund.deleted":{"post":{"summary":"Fund.deleted","description":"Delivered to a Watch whose selector matches Fund.deleted.","tags":["Fund"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Fund.deleted"},"data":{"type":"object","properties":{"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund."}},"required":["fund"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Fund.called":{"post":{"summary":"Fund.called","description":"Delivered to a Watch whose selector matches Fund.called.","tags":["Fund"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Fund.called"},"data":{"type":"object","properties":{"call":{"$ref":"#/components/schemas/CapitalCall","description":"The Capital Call."},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund that called capital."}},"required":["call","fund"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Fund.distributed":{"post":{"summary":"Fund.distributed","description":"Delivered to a Watch whose selector matches Fund.distributed.","tags":["Fund"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Fund.distributed"},"data":{"type":"object","properties":{"distribution":{"$ref":"#/components/schemas/FundDistribution","description":"The Fund Distribution."},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund that made the distribution."}},"required":["distribution","fund"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Fund.reported":{"post":{"summary":"Fund.reported","description":"Delivered to a Watch whose selector matches Fund.reported.","tags":["Fund"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Fund.reported"},"data":{"type":"object","properties":{"statements":{"type":"array","items":{"$ref":"#/components/schemas/Statement","description":"One `capitalAccount` Statement per investor."},"description":"One `capitalAccount` Statement per investor."},"fund":{"$ref":"#/components/schemas/Fund","description":"The Fund reported on."}},"required":["statements","fund"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Funnel.created":{"post":{"summary":"Funnel.created","description":"Delivered to a Watch whose selector matches Funnel.created.","tags":["Funnel"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Funnel.created"},"data":{"type":"object","properties":{"funnel":{"$ref":"#/components/schemas/Funnel","description":"The Funnel."}},"required":["funnel"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Funnel.updated":{"post":{"summary":"Funnel.updated","description":"Delivered to a Watch whose selector matches Funnel.updated.","tags":["Funnel"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Funnel.updated"},"data":{"type":"object","properties":{"funnel":{"$ref":"#/components/schemas/Funnel","description":"The Funnel."}},"required":["funnel"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Funnel.deleted":{"post":{"summary":"Funnel.deleted","description":"Delivered to a Watch whose selector matches Funnel.deleted.","tags":["Funnel"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Funnel.deleted"},"data":{"type":"object","properties":{"funnel":{"$ref":"#/components/schemas/Funnel","description":"The Funnel."}},"required":["funnel"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Gathering.created":{"post":{"summary":"Gathering.created","description":"Delivered to a Watch whose selector matches Gathering.created.","tags":["Gathering"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Gathering.created"},"data":{"type":"object","properties":{"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering."}},"required":["gathering"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Gathering.updated":{"post":{"summary":"Gathering.updated","description":"Delivered to a Watch whose selector matches Gathering.updated.","tags":["Gathering"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Gathering.updated"},"data":{"type":"object","properties":{"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering."}},"required":["gathering"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Gathering.deleted":{"post":{"summary":"Gathering.deleted","description":"Delivered to a Watch whose selector matches Gathering.deleted.","tags":["Gathering"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Gathering.deleted"},"data":{"type":"object","properties":{"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering."}},"required":["gathering"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Gathering.registered":{"post":{"summary":"Gathering.registered","description":"Delivered to a Watch whose selector matches Gathering.registered.","tags":["Gathering"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Gathering.registered"},"data":{"type":"object","properties":{"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration, `registered` or `waitlisted`."},"gathering":{"$ref":"#/components/schemas/Gathering","description":"The Gathering with its registered count."}},"required":["registration","gathering"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Goal.created":{"post":{"summary":"Goal.created","description":"Delivered to a Watch whose selector matches Goal.created.","tags":["Goal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Goal.created"},"data":{"type":"object","properties":{"goal":{"$ref":"#/components/schemas/Goal","description":"The Goal."}},"required":["goal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Goal.updated":{"post":{"summary":"Goal.updated","description":"Delivered to a Watch whose selector matches Goal.updated.","tags":["Goal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Goal.updated"},"data":{"type":"object","properties":{"goal":{"$ref":"#/components/schemas/Goal","description":"The Goal."}},"required":["goal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Goal.deleted":{"post":{"summary":"Goal.deleted","description":"Delivered to a Watch whose selector matches Goal.deleted.","tags":["Goal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Goal.deleted"},"data":{"type":"object","properties":{"goal":{"$ref":"#/components/schemas/Goal","description":"The Goal."}},"required":["goal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Guard.created":{"post":{"summary":"Guard.created","description":"Delivered to a Watch whose selector matches Guard.created.","tags":["Guard"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Guard.created"},"data":{"type":"object","properties":{"guard":{"$ref":"#/components/schemas/Guard","description":"The Guard."}},"required":["guard"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Guard.updated":{"post":{"summary":"Guard.updated","description":"Delivered to a Watch whose selector matches Guard.updated.","tags":["Guard"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Guard.updated"},"data":{"type":"object","properties":{"guard":{"$ref":"#/components/schemas/Guard","description":"The Guard."}},"required":["guard"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Guard.deleted":{"post":{"summary":"Guard.deleted","description":"Delivered to a Watch whose selector matches Guard.deleted.","tags":["Guard"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Guard.deleted"},"data":{"type":"object","properties":{"guard":{"$ref":"#/components/schemas/Guard","description":"The Guard."}},"required":["guard"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Handle.created":{"post":{"summary":"Handle.created","description":"Delivered to a Watch whose selector matches Handle.created.","tags":["Handle"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Handle.created"},"data":{"type":"object","properties":{"handle":{"$ref":"#/components/schemas/Handle","description":"The Handle."}},"required":["handle"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Handle.updated":{"post":{"summary":"Handle.updated","description":"Delivered to a Watch whose selector matches Handle.updated.","tags":["Handle"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Handle.updated"},"data":{"type":"object","properties":{"handle":{"$ref":"#/components/schemas/Handle","description":"The Handle."}},"required":["handle"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Handle.connected":{"post":{"summary":"Handle.connected","description":"Delivered to a Watch whose selector matches Handle.connected.","tags":["Handle"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Handle.connected"},"data":{"type":"object","properties":{"handle":{"$ref":"#/components/schemas/Handle","description":"The connected Handle."}},"required":["handle"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Holder.created":{"post":{"summary":"Holder.created","description":"Delivered to a Watch whose selector matches Holder.created.","tags":["Holder"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Holder.created"},"data":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/Holder","description":"The Holder."}},"required":["holder"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Holder.updated":{"post":{"summary":"Holder.updated","description":"Delivered to a Watch whose selector matches Holder.updated.","tags":["Holder"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Holder.updated"},"data":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/Holder","description":"The Holder."}},"required":["holder"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.created":{"post":{"summary":"Human.created","description":"Delivered to a Watch whose selector matches Human.created.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.created"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The Human."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.updated":{"post":{"summary":"Human.updated","description":"Delivered to a Watch whose selector matches Human.updated.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.updated"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The Human."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.deleted":{"post":{"summary":"Human.deleted","description":"Delivered to a Watch whose selector matches Human.deleted.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.deleted"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The Human."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.held":{"post":{"summary":"Human.held","description":"Delivered to a Watch whose selector matches Human.held.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.held"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The payee, with the held amount recorded."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.invited":{"post":{"summary":"Human.invited","description":"Delivered to a Watch whose selector matches Human.invited.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.invited"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The invited Human."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.onboarded":{"post":{"summary":"Human.onboarded","description":"Delivered to a Watch whose selector matches Human.onboarded.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.onboarded"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The Human, able to take Tasks."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.recruited":{"post":{"summary":"Human.recruited","description":"Delivered to a Watch whose selector matches Human.recruited.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.recruited"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The recruited Human."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.released":{"post":{"summary":"Human.released","description":"Delivered to a Watch whose selector matches Human.released.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.released"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The payee, with the hold removed."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.remitted":{"post":{"summary":"Human.remitted","description":"Delivered to a Watch whose selector matches Human.remitted.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.remitted"},"data":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/Transaction","description":"The payout Transaction."},"human":{"$ref":"#/components/schemas/Human","description":"The Human paid, with the balance now zero."}},"required":["transaction","human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Human.suspended":{"post":{"summary":"Human.suspended","description":"Delivered to a Watch whose selector matches Human.suspended.","tags":["Human"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Human.suspended"},"data":{"type":"object","properties":{"human":{"$ref":"#/components/schemas/Human","description":"The suspended Human."}},"required":["human"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Hypothesis.created":{"post":{"summary":"Hypothesis.created","description":"Delivered to a Watch whose selector matches Hypothesis.created.","tags":["Hypothesis"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Hypothesis.created"},"data":{"type":"object","properties":{"hypothesis":{"$ref":"#/components/schemas/Hypothesis","description":"The Hypothesis."}},"required":["hypothesis"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Hypothesis.dropped":{"post":{"summary":"Hypothesis.dropped","description":"Delivered to a Watch whose selector matches Hypothesis.dropped.","tags":["Hypothesis"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Hypothesis.dropped"},"data":{"type":"object","properties":{"hypothesis":{"$ref":"#/components/schemas/Hypothesis","description":"The dropped Hypothesis."}},"required":["hypothesis"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Hypothesis.tested":{"post":{"summary":"Hypothesis.tested","description":"Delivered to a Watch whose selector matches Hypothesis.tested.","tags":["Hypothesis"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Hypothesis.tested"},"data":{"type":"object","properties":{"hypothesis":{"$ref":"#/components/schemas/Hypothesis","description":"The Hypothesis, now testing."}},"required":["hypothesis"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ICP.created":{"post":{"summary":"ICP.created","description":"Delivered to a Watch whose selector matches ICP.created.","tags":["ICP"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ICP.created"},"data":{"type":"object","properties":{"icp":{"$ref":"#/components/schemas/ICP","description":"The ICP."}},"required":["icp"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ICP.updated":{"post":{"summary":"ICP.updated","description":"Delivered to a Watch whose selector matches ICP.updated.","tags":["ICP"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ICP.updated"},"data":{"type":"object","properties":{"icp":{"$ref":"#/components/schemas/ICP","description":"The ICP."}},"required":["icp"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ICP.deleted":{"post":{"summary":"ICP.deleted","description":"Delivered to a Watch whose selector matches ICP.deleted.","tags":["ICP"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ICP.deleted"},"data":{"type":"object","properties":{"icp":{"$ref":"#/components/schemas/ICP","description":"The ICP."}},"required":["icp"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Idea.created":{"post":{"summary":"Idea.created","description":"Delivered to a Watch whose selector matches Idea.created.","tags":["Idea"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Idea.created"},"data":{"type":"object","properties":{"idea":{"$ref":"#/components/schemas/Idea","description":"The Idea."}},"required":["idea"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Idea.pursued":{"post":{"summary":"Idea.pursued","description":"Delivered to a Watch whose selector matches Idea.pursued.","tags":["Idea"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Idea.pursued"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The new variant Startup."},"idea":{"$ref":"#/components/schemas/Idea","description":"The Idea now pursued."}},"required":["startup","idea"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Implementation.created":{"post":{"summary":"Implementation.created","description":"Delivered to a Watch whose selector matches Implementation.created.","tags":["Implementation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Implementation.created"},"data":{"type":"object","properties":{"implementation":{"$ref":"#/components/schemas/Implementation","description":"The Implementation."}},"required":["implementation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Implementation.updated":{"post":{"summary":"Implementation.updated","description":"Delivered to a Watch whose selector matches Implementation.updated.","tags":["Implementation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Implementation.updated"},"data":{"type":"object","properties":{"implementation":{"$ref":"#/components/schemas/Implementation","description":"The Implementation."}},"required":["implementation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Implementation.deleted":{"post":{"summary":"Implementation.deleted","description":"Delivered to a Watch whose selector matches Implementation.deleted.","tags":["Implementation"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Implementation.deleted"},"data":{"type":"object","properties":{"implementation":{"$ref":"#/components/schemas/Implementation","description":"The Implementation."}},"required":["implementation"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Incident.created":{"post":{"summary":"Incident.created","description":"Delivered to a Watch whose selector matches Incident.created.","tags":["Incident"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Incident.created"},"data":{"type":"object","properties":{"incident":{"$ref":"#/components/schemas/Incident","description":"The Incident."}},"required":["incident"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Incident.updated":{"post":{"summary":"Incident.updated","description":"Delivered to a Watch whose selector matches Incident.updated.","tags":["Incident"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Incident.updated"},"data":{"type":"object","properties":{"incident":{"$ref":"#/components/schemas/Incident","description":"The Incident."}},"required":["incident"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Incident.deleted":{"post":{"summary":"Incident.deleted","description":"Delivered to a Watch whose selector matches Incident.deleted.","tags":["Incident"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Incident.deleted"},"data":{"type":"object","properties":{"incident":{"$ref":"#/components/schemas/Incident","description":"The Incident."}},"required":["incident"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Incident.acknowledged":{"post":{"summary":"Incident.acknowledged","description":"Delivered to a Watch whose selector matches Incident.acknowledged.","tags":["Incident"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Incident.acknowledged"},"data":{"type":"object","properties":{"incident":{"$ref":"#/components/schemas/Incident","description":"The acknowledged Incident."}},"required":["incident"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Incident.opened":{"post":{"summary":"Incident.opened","description":"Delivered to a Watch whose selector matches Incident.opened.","tags":["Incident"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Incident.opened"},"data":{"type":"object","properties":{"incident":{"$ref":"#/components/schemas/Incident","description":"The open Incident."}},"required":["incident"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Incident.resolved":{"post":{"summary":"Incident.resolved","description":"Delivered to a Watch whose selector matches Incident.resolved.","tags":["Incident"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Incident.resolved"},"data":{"type":"object","properties":{"incident":{"$ref":"#/components/schemas/Incident","description":"The resolved Incident."}},"required":["incident"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Instrument.canceled":{"post":{"summary":"Instrument.canceled","description":"Delivered to a Watch whose selector matches Instrument.canceled.","tags":["Instrument"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Instrument.canceled"},"data":{"type":"object","properties":{"instrument":{"$ref":"#/components/schemas/Instrument","description":"The canceled Instrument, kept with its history."}},"required":["instrument"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Instrument.converted":{"post":{"summary":"Instrument.converted","description":"Delivered to a Watch whose selector matches Instrument.converted.","tags":["Instrument"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Instrument.converted"},"data":{"type":"object","properties":{"shares":{"type":"array","items":{"$ref":"#/components/schemas/Share","description":"The Shares issued on conversion."},"description":"The Shares issued on conversion."},"instrument":{"$ref":"#/components/schemas/Instrument","description":"The Instrument, now converted."}},"required":["shares","instrument"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Instrument.exercised":{"post":{"summary":"Instrument.exercised","description":"Delivered to a Watch whose selector matches Instrument.exercised.","tags":["Instrument"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Instrument.exercised"},"data":{"type":"object","properties":{"share":{"$ref":"#/components/schemas/Share","description":"The Shares bought."},"instrument":{"$ref":"#/components/schemas/Instrument","description":"The Instrument, now exercised."}},"required":["share","instrument"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Instrument.granted":{"post":{"summary":"Instrument.granted","description":"Delivered to a Watch whose selector matches Instrument.granted.","tags":["Instrument"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Instrument.granted"},"data":{"type":"object","properties":{"instrument":{"$ref":"#/components/schemas/Instrument","description":"The granted option."}},"required":["instrument"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.created":{"post":{"summary":"Integration.created","description":"Delivered to a Watch whose selector matches Integration.created.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.created"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration."}},"required":["integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.updated":{"post":{"summary":"Integration.updated","description":"Delivered to a Watch whose selector matches Integration.updated.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.updated"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration."}},"required":["integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.deleted":{"post":{"summary":"Integration.deleted","description":"Delivered to a Watch whose selector matches Integration.deleted.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.deleted"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration."}},"required":["integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.called":{"post":{"summary":"Integration.called","description":"Delivered to a Watch whose selector matches Integration.called.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.called"},"data":{"type":"object","properties":{"status":{"type":"integer","description":"The upstream’s status code."},"body":{"description":"The upstream’s response body."},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration the request went through."}},"required":["status","integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.connected":{"post":{"summary":"Integration.connected","description":"Delivered to a Watch whose selector matches Integration.connected.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.connected"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, `connecting` until approved."},"connectUrl":{"type":"string","format":"uri","description":"The approval page on the upstream’s own site; it expires in one hour."}},"required":["integration","connectUrl"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.paused":{"post":{"summary":"Integration.paused","description":"Delivered to a Watch whose selector matches Integration.paused.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.paused"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, `paused`."}},"required":["integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.reconnected":{"post":{"summary":"Integration.reconnected","description":"Delivered to a Watch whose selector matches Integration.reconnected.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.reconnected"},"data":{"type":"object","properties":{"connectUrl":{"type":"string","format":"uri","description":"The approval page; it expires in one hour."},"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, its id and cursor kept."}},"required":["connectUrl","integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.refreshed":{"post":{"summary":"Integration.refreshed","description":"Delivered to a Watch whose selector matches Integration.refreshed.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.refreshed"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration with a new `refreshedAt`, or in `needsReauth`."}},"required":["integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.resumed":{"post":{"summary":"Integration.resumed","description":"Delivered to a Watch whose selector matches Integration.resumed.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.resumed"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, `connected`."}},"required":["integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.revoked":{"post":{"summary":"Integration.revoked","description":"Delivered to a Watch whose selector matches Integration.revoked.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.revoked"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration, `revoked`."}},"required":["integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Integration.synced":{"post":{"summary":"Integration.synced","description":"Delivered to a Watch whose selector matches Integration.synced.","tags":["Integration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Integration.synced"},"data":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration","description":"The Integration with its sync cursor moved."}},"required":["integration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Interface.created":{"post":{"summary":"Interface.created","description":"Delivered to a Watch whose selector matches Interface.created.","tags":["Interface"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Interface.created"},"data":{"type":"object","properties":{"interface":{"$ref":"#/components/schemas/Interface","description":"The Interface."}},"required":["interface"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Interface.updated":{"post":{"summary":"Interface.updated","description":"Delivered to a Watch whose selector matches Interface.updated.","tags":["Interface"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Interface.updated"},"data":{"type":"object","properties":{"interface":{"$ref":"#/components/schemas/Interface","description":"The Interface."}},"required":["interface"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Interface.deleted":{"post":{"summary":"Interface.deleted","description":"Delivered to a Watch whose selector matches Interface.deleted.","tags":["Interface"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Interface.deleted"},"data":{"type":"object","properties":{"interface":{"$ref":"#/components/schemas/Interface","description":"The Interface."}},"required":["interface"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Interview.created":{"post":{"summary":"Interview.created","description":"Delivered to a Watch whose selector matches Interview.created.","tags":["Interview"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Interview.created"},"data":{"type":"object","properties":{"interview":{"$ref":"#/components/schemas/Interview","description":"The Interview."}},"required":["interview"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Invoice.created":{"post":{"summary":"Invoice.created","description":"Delivered to a Watch whose selector matches Invoice.created.","tags":["Invoice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Invoice.created"},"data":{"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice."}},"required":["invoice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Invoice.updated":{"post":{"summary":"Invoice.updated","description":"Delivered to a Watch whose selector matches Invoice.updated.","tags":["Invoice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Invoice.updated"},"data":{"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice."}},"required":["invoice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Invoice.billed":{"post":{"summary":"Invoice.billed","description":"Delivered to a Watch whose selector matches Invoice.billed.","tags":["Invoice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Invoice.billed"},"data":{"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/Invoice","description":"The open Invoice."}},"required":["invoice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Invoice.collected":{"post":{"summary":"Invoice.collected","description":"Delivered to a Watch whose selector matches Invoice.collected.","tags":["Invoice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Invoice.collected"},"data":{"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/Invoice","description":"The paid Invoice."}},"required":["invoice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Invoice.refunded":{"post":{"summary":"Invoice.refunded","description":"Delivered to a Watch whose selector matches Invoice.refunded.","tags":["Invoice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Invoice.refunded"},"data":{"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice, with its refunded amount."}},"required":["invoice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Invoice.voided":{"post":{"summary":"Invoice.voided","description":"Delivered to a Watch whose selector matches Invoice.voided.","tags":["Invoice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Invoice.voided"},"data":{"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/Invoice","description":"The voided Invoice, kept forever."}},"required":["invoice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Issue.created":{"post":{"summary":"Issue.created","description":"Delivered to a Watch whose selector matches Issue.created.","tags":["Issue"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Issue.created"},"data":{"type":"object","properties":{"issue":{"$ref":"#/components/schemas/Issue","description":"The Issue."}},"required":["issue"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Issue.updated":{"post":{"summary":"Issue.updated","description":"Delivered to a Watch whose selector matches Issue.updated.","tags":["Issue"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Issue.updated"},"data":{"type":"object","properties":{"issue":{"$ref":"#/components/schemas/Issue","description":"The Issue."}},"required":["issue"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Issue.deleted":{"post":{"summary":"Issue.deleted","description":"Delivered to a Watch whose selector matches Issue.deleted.","tags":["Issue"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Issue.deleted"},"data":{"type":"object","properties":{"issue":{"$ref":"#/components/schemas/Issue","description":"The Issue."}},"required":["issue"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Issue.estimated":{"post":{"summary":"Issue.estimated","description":"Delivered to a Watch whose selector matches Issue.estimated.","tags":["Issue"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Issue.estimated"},"data":{"type":"object","properties":{"issue":{"$ref":"#/components/schemas/Issue","description":"The estimated Issue."}},"required":["issue"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Issue.reopened":{"post":{"summary":"Issue.reopened","description":"Delivered to a Watch whose selector matches Issue.reopened.","tags":["Issue"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Issue.reopened"},"data":{"type":"object","properties":{"issue":{"$ref":"#/components/schemas/Issue","description":"The reopened Issue."}},"required":["issue"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Issue.resolved":{"post":{"summary":"Issue.resolved","description":"Delivered to a Watch whose selector matches Issue.resolved.","tags":["Issue"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Issue.resolved"},"data":{"type":"object","properties":{"issue":{"$ref":"#/components/schemas/Issue","description":"The resolved Issue."}},"required":["issue"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Issue.scheduled":{"post":{"summary":"Issue.scheduled","description":"Delivered to a Watch whose selector matches Issue.scheduled.","tags":["Issue"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Issue.scheduled"},"data":{"type":"object","properties":{"issue":{"$ref":"#/components/schemas/Issue","description":"The scheduled Issue."}},"required":["issue"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Issue.triaged":{"post":{"summary":"Issue.triaged","description":"Delivered to a Watch whose selector matches Issue.triaged.","tags":["Issue"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Issue.triaged"},"data":{"type":"object","properties":{"issue":{"$ref":"#/components/schemas/Issue","description":"The triaged Issue."}},"required":["issue"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"KeyResult.created":{"post":{"summary":"KeyResult.created","description":"Delivered to a Watch whose selector matches KeyResult.created.","tags":["KeyResult"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"KeyResult.created"},"data":{"type":"object","properties":{"keyResult":{"$ref":"#/components/schemas/KeyResult","description":"The Key Result."}},"required":["keyResult"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"KeyResult.updated":{"post":{"summary":"KeyResult.updated","description":"Delivered to a Watch whose selector matches KeyResult.updated.","tags":["KeyResult"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"KeyResult.updated"},"data":{"type":"object","properties":{"keyResult":{"$ref":"#/components/schemas/KeyResult","description":"The Key Result."}},"required":["keyResult"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"KeyResult.deleted":{"post":{"summary":"KeyResult.deleted","description":"Delivered to a Watch whose selector matches KeyResult.deleted.","tags":["KeyResult"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"KeyResult.deleted"},"data":{"type":"object","properties":{"keyResult":{"$ref":"#/components/schemas/KeyResult","description":"The Key Result."}},"required":["keyResult"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Keyword.created":{"post":{"summary":"Keyword.created","description":"Delivered to a Watch whose selector matches Keyword.created.","tags":["Keyword"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Keyword.created"},"data":{"type":"object","properties":{"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword."}},"required":["keyword"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Keyword.updated":{"post":{"summary":"Keyword.updated","description":"Delivered to a Watch whose selector matches Keyword.updated.","tags":["Keyword"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Keyword.updated"},"data":{"type":"object","properties":{"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword."}},"required":["keyword"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Keyword.deleted":{"post":{"summary":"Keyword.deleted","description":"Delivered to a Watch whose selector matches Keyword.deleted.","tags":["Keyword"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Keyword.deleted"},"data":{"type":"object","properties":{"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword."}},"required":["keyword"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Keyword.measured":{"post":{"summary":"Keyword.measured","description":"Delivered to a Watch whose selector matches Keyword.measured.","tags":["Keyword"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Keyword.measured"},"data":{"type":"object","properties":{"keyword":{"$ref":"#/components/schemas/Keyword","description":"The Keyword; each measure is a `Keyword.measured` Event with its method and observation time."}},"required":["keyword"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lead.created":{"post":{"summary":"Lead.created","description":"Delivered to a Watch whose selector matches Lead.created.","tags":["Lead"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lead.created"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead."}},"required":["lead"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lead.updated":{"post":{"summary":"Lead.updated","description":"Delivered to a Watch whose selector matches Lead.updated.","tags":["Lead"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lead.updated"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead."}},"required":["lead"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lead.deleted":{"post":{"summary":"Lead.deleted","description":"Delivered to a Watch whose selector matches Lead.deleted.","tags":["Lead"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lead.deleted"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead."}},"required":["lead"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lead.assigned":{"post":{"summary":"Lead.assigned","description":"Delivered to a Watch whose selector matches Lead.assigned.","tags":["Lead"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lead.assigned"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, with its owner."}},"required":["lead"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lead.converted":{"post":{"summary":"Lead.converted","description":"Delivered to a Watch whose selector matches Lead.converted.","tags":["Lead"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lead.converted"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The opened Deal, when the route is `deal`."},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, now converted."}},"required":["lead"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lead.disqualified":{"post":{"summary":"Lead.disqualified","description":"Delivered to a Watch whose selector matches Lead.disqualified.","tags":["Lead"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lead.disqualified"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, now `disqualified`."}},"required":["lead"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lead.nurtured":{"post":{"summary":"Lead.nurtured","description":"Delivered to a Watch whose selector matches Lead.nurtured.","tags":["Lead"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lead.nurtured"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, now in `nurture`."}},"required":["lead"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lead.qualified":{"post":{"summary":"Lead.qualified","description":"Delivered to a Watch whose selector matches Lead.qualified.","tags":["Lead"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lead.qualified"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The open Deal."},"lead":{"$ref":"#/components/schemas/Lead","description":"The Lead, now qualified."}},"required":["deal","lead"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lifecycle.updated":{"post":{"summary":"Lifecycle.updated","description":"Delivered to a Watch whose selector matches Lifecycle.updated.","tags":["Lifecycle"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lifecycle.updated"},"data":{"type":"object","properties":{"lifecycle":{"$ref":"#/components/schemas/Lifecycle","description":"The Lifecycle."}},"required":["lifecycle"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Limit.created":{"post":{"summary":"Limit.created","description":"Delivered to a Watch whose selector matches Limit.created.","tags":["Limit"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Limit.created"},"data":{"type":"object","properties":{"limit":{"$ref":"#/components/schemas/Limit","description":"The Limit."}},"required":["limit"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Limit.updated":{"post":{"summary":"Limit.updated","description":"Delivered to a Watch whose selector matches Limit.updated.","tags":["Limit"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Limit.updated"},"data":{"type":"object","properties":{"limit":{"$ref":"#/components/schemas/Limit","description":"The Limit."}},"required":["limit"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Limit.deleted":{"post":{"summary":"Limit.deleted","description":"Delivered to a Watch whose selector matches Limit.deleted.","tags":["Limit"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Limit.deleted"},"data":{"type":"object","properties":{"limit":{"$ref":"#/components/schemas/Limit","description":"The Limit."}},"required":["limit"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Limit.raised":{"post":{"summary":"Limit.raised","description":"Delivered to a Watch whose selector matches Limit.raised.","tags":["Limit"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Limit.raised"},"data":{"type":"object","properties":{"limit":{"$ref":"#/components/schemas/Limit","description":"The raised Limit."}},"required":["limit"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mailbox.created":{"post":{"summary":"Mailbox.created","description":"Delivered to a Watch whose selector matches Mailbox.created.","tags":["Mailbox"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mailbox.created"},"data":{"type":"object","properties":{"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox."}},"required":["mailbox"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mailbox.updated":{"post":{"summary":"Mailbox.updated","description":"Delivered to a Watch whose selector matches Mailbox.updated.","tags":["Mailbox"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mailbox.updated"},"data":{"type":"object","properties":{"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox."}},"required":["mailbox"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mailbox.rested":{"post":{"summary":"Mailbox.rested","description":"Delivered to a Watch whose selector matches Mailbox.rested.","tags":["Mailbox"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mailbox.rested"},"data":{"type":"object","properties":{"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox, resting."}},"required":["mailbox"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mailbox.retired":{"post":{"summary":"Mailbox.retired","description":"Delivered to a Watch whose selector matches Mailbox.retired.","tags":["Mailbox"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mailbox.retired"},"data":{"type":"object","properties":{"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The retired Mailbox."}},"required":["mailbox"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mailbox.warmed":{"post":{"summary":"Mailbox.warmed","description":"Delivered to a Watch whose selector matches Mailbox.warmed.","tags":["Mailbox"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mailbox.warmed"},"data":{"type":"object","properties":{"mailbox":{"$ref":"#/components/schemas/Mailbox","description":"The Mailbox, warming."}},"required":["mailbox"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mandate.created":{"post":{"summary":"Mandate.created","description":"Delivered to a Watch whose selector matches Mandate.created.","tags":["Mandate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mandate.created"},"data":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate."}},"required":["mandate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mandate.updated":{"post":{"summary":"Mandate.updated","description":"Delivered to a Watch whose selector matches Mandate.updated.","tags":["Mandate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mandate.updated"},"data":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate."}},"required":["mandate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mandate.deleted":{"post":{"summary":"Mandate.deleted","description":"Delivered to a Watch whose selector matches Mandate.deleted.","tags":["Mandate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mandate.deleted"},"data":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate."}},"required":["mandate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mandate.authorized":{"post":{"summary":"Mandate.authorized","description":"Delivered to a Watch whose selector matches Mandate.authorized.","tags":["Mandate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mandate.authorized"},"data":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/Mandate","description":"The active Mandate."}},"required":["mandate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mandate.paused":{"post":{"summary":"Mandate.paused","description":"Delivered to a Watch whose selector matches Mandate.paused.","tags":["Mandate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mandate.paused"},"data":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/Mandate","description":"The paused Mandate."}},"required":["mandate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mandate.resumed":{"post":{"summary":"Mandate.resumed","description":"Delivered to a Watch whose selector matches Mandate.resumed.","tags":["Mandate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mandate.resumed"},"data":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/Mandate","description":"The active Mandate."}},"required":["mandate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mandate.revoked":{"post":{"summary":"Mandate.revoked","description":"Delivered to a Watch whose selector matches Mandate.revoked.","tags":["Mandate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mandate.revoked"},"data":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/Mandate","description":"The revoked Mandate."}},"required":["mandate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mandate.spent":{"post":{"summary":"Mandate.spent","description":"Delivered to a Watch whose selector matches Mandate.spent.","tags":["Mandate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mandate.spent"},"data":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/Transaction","description":"The card Transaction."},"mandate":{"$ref":"#/components/schemas/Mandate","description":"The Mandate with its remaining Limit."}},"required":["transaction","mandate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mapping.created":{"post":{"summary":"Mapping.created","description":"Delivered to a Watch whose selector matches Mapping.created.","tags":["Mapping"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mapping.created"},"data":{"type":"object","properties":{"mapping":{"$ref":"#/components/schemas/Mapping","description":"The Mapping."}},"required":["mapping"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mapping.updated":{"post":{"summary":"Mapping.updated","description":"Delivered to a Watch whose selector matches Mapping.updated.","tags":["Mapping"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mapping.updated"},"data":{"type":"object","properties":{"mapping":{"$ref":"#/components/schemas/Mapping","description":"The Mapping."}},"required":["mapping"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Mapping.deleted":{"post":{"summary":"Mapping.deleted","description":"Delivered to a Watch whose selector matches Mapping.deleted.","tags":["Mapping"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Mapping.deleted"},"data":{"type":"object","properties":{"mapping":{"$ref":"#/components/schemas/Mapping","description":"The Mapping."}},"required":["mapping"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Market.created":{"post":{"summary":"Market.created","description":"Delivered to a Watch whose selector matches Market.created.","tags":["Market"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Market.created"},"data":{"type":"object","properties":{"market":{"$ref":"#/components/schemas/Market","description":"The Market."}},"required":["market"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Market.updated":{"post":{"summary":"Market.updated","description":"Delivered to a Watch whose selector matches Market.updated.","tags":["Market"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Market.updated"},"data":{"type":"object","properties":{"market":{"$ref":"#/components/schemas/Market","description":"The Market."}},"required":["market"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Market.deleted":{"post":{"summary":"Market.deleted","description":"Delivered to a Watch whose selector matches Market.deleted.","tags":["Market"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Market.deleted"},"data":{"type":"object","properties":{"market":{"$ref":"#/components/schemas/Market","description":"The Market."}},"required":["market"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Market.entered":{"post":{"summary":"Market.entered","description":"Delivered to a Watch whose selector matches Market.entered.","tags":["Market"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Market.entered"},"data":{"type":"object","properties":{"market":{"$ref":"#/components/schemas/Market","description":"The Market, now open to the Startup."}},"required":["market"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Meeting.created":{"post":{"summary":"Meeting.created","description":"Delivered to a Watch whose selector matches Meeting.created.","tags":["Meeting"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Meeting.created"},"data":{"type":"object","properties":{"meeting":{"$ref":"#/components/schemas/Meeting","description":"The Meeting."}},"required":["meeting"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Meeting.updated":{"post":{"summary":"Meeting.updated","description":"Delivered to a Watch whose selector matches Meeting.updated.","tags":["Meeting"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Meeting.updated"},"data":{"type":"object","properties":{"meeting":{"$ref":"#/components/schemas/Meeting","description":"The Meeting."}},"required":["meeting"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Meeting.deleted":{"post":{"summary":"Meeting.deleted","description":"Delivered to a Watch whose selector matches Meeting.deleted.","tags":["Meeting"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Meeting.deleted"},"data":{"type":"object","properties":{"meeting":{"$ref":"#/components/schemas/Meeting","description":"The Meeting."}},"required":["meeting"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Meeting.booked":{"post":{"summary":"Meeting.booked","description":"Delivered to a Watch whose selector matches Meeting.booked.","tags":["Meeting"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Meeting.booked"},"data":{"type":"object","properties":{"meeting":{"$ref":"#/components/schemas/Meeting","description":"The booked Meeting."}},"required":["meeting"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"MemberDirectory.created":{"post":{"summary":"MemberDirectory.created","description":"Delivered to a Watch whose selector matches MemberDirectory.created.","tags":["MemberDirectory"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"MemberDirectory.created"},"data":{"type":"object","properties":{"memberDirectory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory."}},"required":["memberDirectory"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"MemberDirectory.updated":{"post":{"summary":"MemberDirectory.updated","description":"Delivered to a Watch whose selector matches MemberDirectory.updated.","tags":["MemberDirectory"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"MemberDirectory.updated"},"data":{"type":"object","properties":{"memberDirectory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory."}},"required":["memberDirectory"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"MemberDirectory.deactivated":{"post":{"summary":"MemberDirectory.deactivated","description":"Delivered to a Watch whose selector matches MemberDirectory.deactivated.","tags":["MemberDirectory"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"MemberDirectory.deactivated"},"data":{"type":"object","properties":{"directory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory, now `inactive`."}},"required":["directory"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"MemberDirectory.deprovisioned":{"post":{"summary":"MemberDirectory.deprovisioned","description":"Delivered to a Watch whose selector matches MemberDirectory.deprovisioned.","tags":["MemberDirectory"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"MemberDirectory.deprovisioned"},"data":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/Person","description":"The person, with no Role left in the Tenant."},"memberDirectory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory that removed the person."}},"required":["person","memberDirectory"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"MemberDirectory.provisioned":{"post":{"summary":"MemberDirectory.provisioned","description":"Delivered to a Watch whose selector matches MemberDirectory.provisioned.","tags":["MemberDirectory"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"MemberDirectory.provisioned"},"data":{"type":"object","properties":{"directory":{"$ref":"#/components/schemas/MemberDirectory","description":"The Member Directory, now active."}},"required":["directory"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Memory.created":{"post":{"summary":"Memory.created","description":"Delivered to a Watch whose selector matches Memory.created.","tags":["Memory"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Memory.created"},"data":{"type":"object","properties":{"memory":{"$ref":"#/components/schemas/Memory","description":"The Memory."}},"required":["memory"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Memory.updated":{"post":{"summary":"Memory.updated","description":"Delivered to a Watch whose selector matches Memory.updated.","tags":["Memory"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Memory.updated"},"data":{"type":"object","properties":{"memory":{"$ref":"#/components/schemas/Memory","description":"The Memory."}},"required":["memory"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Memory.deleted":{"post":{"summary":"Memory.deleted","description":"Delivered to a Watch whose selector matches Memory.deleted.","tags":["Memory"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Memory.deleted"},"data":{"type":"object","properties":{"memory":{"$ref":"#/components/schemas/Memory","description":"The Memory."}},"required":["memory"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Message.created":{"post":{"summary":"Message.created","description":"Delivered to a Watch whose selector matches Message.created.","tags":["Message"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Message.created"},"data":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/Message","description":"The Message."}},"required":["message"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Message.updated":{"post":{"summary":"Message.updated","description":"Delivered to a Watch whose selector matches Message.updated.","tags":["Message"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Message.updated"},"data":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/Message","description":"The Message."}},"required":["message"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Message.deleted":{"post":{"summary":"Message.deleted","description":"Delivered to a Watch whose selector matches Message.deleted.","tags":["Message"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Message.deleted"},"data":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/Message","description":"The Message."}},"required":["message"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Message.broadcasted":{"post":{"summary":"Message.broadcasted","description":"Delivered to a Watch whose selector matches Message.broadcasted.","tags":["Message"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Message.broadcasted"},"data":{"type":"object","properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/Message","description":"One sent Message per Contact."},"description":"One sent Message per Contact."},"message":{"$ref":"#/components/schemas/Message","description":"The Message broadcast."}},"required":["messages","message"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Message.scheduled":{"post":{"summary":"Message.scheduled","description":"Delivered to a Watch whose selector matches Message.scheduled.","tags":["Message"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Message.scheduled"},"data":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/Message","description":"The scheduled Message."}},"required":["message"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Meter.created":{"post":{"summary":"Meter.created","description":"Delivered to a Watch whose selector matches Meter.created.","tags":["Meter"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Meter.created"},"data":{"type":"object","properties":{"meter":{"$ref":"#/components/schemas/Meter","description":"The Meter."}},"required":["meter"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Meter.updated":{"post":{"summary":"Meter.updated","description":"Delivered to a Watch whose selector matches Meter.updated.","tags":["Meter"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Meter.updated"},"data":{"type":"object","properties":{"meter":{"$ref":"#/components/schemas/Meter","description":"The Meter."}},"required":["meter"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Meter.deleted":{"post":{"summary":"Meter.deleted","description":"Delivered to a Watch whose selector matches Meter.deleted.","tags":["Meter"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Meter.deleted"},"data":{"type":"object","properties":{"meter":{"$ref":"#/components/schemas/Meter","description":"The Meter."}},"required":["meter"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Metric.created":{"post":{"summary":"Metric.created","description":"Delivered to a Watch whose selector matches Metric.created.","tags":["Metric"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Metric.created"},"data":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric."}},"required":["metric"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Metric.updated":{"post":{"summary":"Metric.updated","description":"Delivered to a Watch whose selector matches Metric.updated.","tags":["Metric"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Metric.updated"},"data":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric."}},"required":["metric"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Metric.deleted":{"post":{"summary":"Metric.deleted","description":"Delivered to a Watch whose selector matches Metric.deleted.","tags":["Metric"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Metric.deleted"},"data":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric."}},"required":["metric"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Metric.defined":{"post":{"summary":"Metric.defined","description":"Delivered to a Watch whose selector matches Metric.defined.","tags":["Metric"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Metric.defined"},"data":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/Metric","description":"The defined Metric."}},"required":["metric"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Metric.queried":{"post":{"summary":"Metric.queried","description":"Delivered to a Watch whose selector matches Metric.queried.","tags":["Metric"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Metric.queried"},"data":{"type":"object","properties":{"rows":{"description":"The result rows, each number with its readability."},"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric read."}},"required":["rows","metric"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Metric.watched":{"post":{"summary":"Metric.watched","description":"Delivered to a Watch whose selector matches Metric.watched.","tags":["Metric"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Metric.watched"},"data":{"type":"object","properties":{"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch that checks it."},"metric":{"$ref":"#/components/schemas/Metric","description":"The Metric now watched."}},"required":["watch","metric"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"MinimumSuccessCriteria.created":{"post":{"summary":"MinimumSuccessCriteria.created","description":"Delivered to a Watch whose selector matches MinimumSuccessCriteria.created.","tags":["MinimumSuccessCriteria"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"MinimumSuccessCriteria.created"},"data":{"type":"object","properties":{"minimumSuccessCriteria":{"$ref":"#/components/schemas/MinimumSuccessCriteria","description":"The Minimum Success Criteria."}},"required":["minimumSuccessCriteria"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"MinimumSuccessCriteria.updated":{"post":{"summary":"MinimumSuccessCriteria.updated","description":"Delivered to a Watch whose selector matches MinimumSuccessCriteria.updated.","tags":["MinimumSuccessCriteria"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"MinimumSuccessCriteria.updated"},"data":{"type":"object","properties":{"minimumSuccessCriteria":{"$ref":"#/components/schemas/MinimumSuccessCriteria","description":"The Minimum Success Criteria."}},"required":["minimumSuccessCriteria"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"MinimumSuccessCriteria.deleted":{"post":{"summary":"MinimumSuccessCriteria.deleted","description":"Delivered to a Watch whose selector matches MinimumSuccessCriteria.deleted.","tags":["MinimumSuccessCriteria"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"MinimumSuccessCriteria.deleted"},"data":{"type":"object","properties":{"minimumSuccessCriteria":{"$ref":"#/components/schemas/MinimumSuccessCriteria","description":"The Minimum Success Criteria."}},"required":["minimumSuccessCriteria"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Monitor.created":{"post":{"summary":"Monitor.created","description":"Delivered to a Watch whose selector matches Monitor.created.","tags":["Monitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Monitor.created"},"data":{"type":"object","properties":{"monitor":{"$ref":"#/components/schemas/Monitor","description":"The Monitor."}},"required":["monitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Monitor.updated":{"post":{"summary":"Monitor.updated","description":"Delivered to a Watch whose selector matches Monitor.updated.","tags":["Monitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Monitor.updated"},"data":{"type":"object","properties":{"monitor":{"$ref":"#/components/schemas/Monitor","description":"The Monitor."}},"required":["monitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Monitor.checked":{"post":{"summary":"Monitor.checked","description":"Delivered to a Watch whose selector matches Monitor.checked.","tags":["Monitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Monitor.checked"},"data":{"type":"object","properties":{"monitor":{"$ref":"#/components/schemas/Monitor","description":"The Monitor, with its latest result."}},"required":["monitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Noun.created":{"post":{"summary":"Noun.created","description":"Delivered to a Watch whose selector matches Noun.created.","tags":["Noun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Noun.created"},"data":{"type":"object","properties":{"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun."}},"required":["noun"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Noun.updated":{"post":{"summary":"Noun.updated","description":"Delivered to a Watch whose selector matches Noun.updated.","tags":["Noun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Noun.updated"},"data":{"type":"object","properties":{"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun."}},"required":["noun"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Noun.deleted":{"post":{"summary":"Noun.deleted","description":"Delivered to a Watch whose selector matches Noun.deleted.","tags":["Noun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Noun.deleted"},"data":{"type":"object","properties":{"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun."}},"required":["noun"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Noun.retired":{"post":{"summary":"Noun.retired","description":"Delivered to a Watch whose selector matches Noun.retired.","tags":["Noun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Noun.retired"},"data":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/Version","description":"The new Version, without the Noun."},"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun, now retired from new Versions."}},"required":["version","noun"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Noun.traced":{"post":{"summary":"Noun.traced","description":"Delivered to a Watch whose selector matches Noun.traced.","tags":["Noun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Noun.traced"},"data":{"type":"object","properties":{"uses":{"description":"Each referencing entry, by kind and id, with the published Versions that serve it."},"noun":{"$ref":"#/components/schemas/Noun","description":"The Noun traced."}},"required":["uses","noun"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.created":{"post":{"summary":"Offer.created","description":"Delivered to a Watch whose selector matches Offer.created.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.created"},"data":{"type":"object","properties":{"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer."}},"required":["offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.updated":{"post":{"summary":"Offer.updated","description":"Delivered to a Watch whose selector matches Offer.updated.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.updated"},"data":{"type":"object","properties":{"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer."}},"required":["offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.deleted":{"post":{"summary":"Offer.deleted","description":"Delivered to a Watch whose selector matches Offer.deleted.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.deleted"},"data":{"type":"object","properties":{"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer."}},"required":["offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.accepted":{"post":{"summary":"Offer.accepted","description":"Delivered to a Watch whose selector matches Offer.accepted.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.accepted"},"data":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/Customer","description":"The Customer the party is or becomes."},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer accepted."}},"required":["customer","offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.granted":{"post":{"summary":"Offer.granted","description":"Delivered to a Watch whose selector matches Offer.granted.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.granted"},"data":{"type":"object","properties":{"entitlement":{"$ref":"#/components/schemas/Entitlement","description":"The new Entitlement, granted by the Offer."},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer, with the Entitlement added."}},"required":["entitlement","offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.published":{"post":{"summary":"Offer.published","description":"Delivered to a Watch whose selector matches Offer.published.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.published"},"data":{"type":"object","properties":{"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer, now open to accept."}},"required":["offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.subscribed":{"post":{"summary":"Offer.subscribed","description":"Delivered to a Watch whose selector matches Offer.subscribed.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.subscribed"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The new Subscription."},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer subscribed to."}},"required":["subscription","offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.trialed":{"post":{"summary":"Offer.trialed","description":"Delivered to a Watch whose selector matches Offer.trialed.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.trialed"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription, free until the trial ends."},"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer the trial is on."}},"required":["subscription","offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Offer.withdrawn":{"post":{"summary":"Offer.withdrawn","description":"Delivered to a Watch whose selector matches Offer.withdrawn.","tags":["Offer"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Offer.withdrawn"},"data":{"type":"object","properties":{"offer":{"$ref":"#/components/schemas/Offer","description":"The Offer, closed to new acceptance."}},"required":["offer"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Opening.created":{"post":{"summary":"Opening.created","description":"Delivered to a Watch whose selector matches Opening.created.","tags":["Opening"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Opening.created"},"data":{"type":"object","properties":{"opening":{"$ref":"#/components/schemas/Opening","description":"The Opening."}},"required":["opening"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Opening.updated":{"post":{"summary":"Opening.updated","description":"Delivered to a Watch whose selector matches Opening.updated.","tags":["Opening"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Opening.updated"},"data":{"type":"object","properties":{"opening":{"$ref":"#/components/schemas/Opening","description":"The Opening."}},"required":["opening"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Opening.deleted":{"post":{"summary":"Opening.deleted","description":"Delivered to a Watch whose selector matches Opening.deleted.","tags":["Opening"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Opening.deleted"},"data":{"type":"object","properties":{"opening":{"$ref":"#/components/schemas/Opening","description":"The Opening."}},"required":["opening"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.created":{"post":{"summary":"Order.created","description":"Delivered to a Watch whose selector matches Order.created.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.created"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.updated":{"post":{"summary":"Order.updated","description":"Delivered to a Watch whose selector matches Order.updated.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.updated"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.canceled":{"post":{"summary":"Order.canceled","description":"Delivered to a Watch whose selector matches Order.canceled.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.canceled"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The canceled Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.confirmed":{"post":{"summary":"Order.confirmed","description":"Delivered to a Watch whose selector matches Order.confirmed.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.confirmed"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The closed Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.delivered":{"post":{"summary":"Order.delivered","description":"Delivered to a Watch whose selector matches Order.delivered.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.delivered"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The delivered Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.disputed":{"post":{"summary":"Order.disputed","description":"Delivered to a Watch whose selector matches Order.disputed.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.disputed"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The disputed Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.fulfilled":{"post":{"summary":"Order.fulfilled","description":"Delivered to a Watch whose selector matches Order.fulfilled.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.fulfilled"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The fulfilled Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.paid":{"post":{"summary":"Order.paid","description":"Delivered to a Watch whose selector matches Order.paid.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.paid"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The paid Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.placed":{"post":{"summary":"Order.placed","description":"Delivered to a Watch whose selector matches Order.placed.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.placed"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The placed Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.refunded":{"post":{"summary":"Order.refunded","description":"Delivered to a Watch whose selector matches Order.refunded.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.refunded"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The refunded Order."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.revised":{"post":{"summary":"Order.revised","description":"Delivered to a Watch whose selector matches Order.revised.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.revised"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The Order, its `fulfillment` set to `revising`."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.screened":{"post":{"summary":"Order.screened","description":"Delivered to a Watch whose selector matches Order.screened.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.screened"},"data":{"type":"object","properties":{"outcome":{"type":"string","description":"`allow` charges, `authenticate` asks the buyer to confirm with their card issuer, `review` waits for an Approval, `block` cancels.","enum":["allow","authenticate","review","block"]},"risk":{"type":"number","description":"The payment’s risk score from 0 to 99, as Stripe scored it."},"rule":{"type":"string","description":"The risk Policy rule that decided the outcome, when one did."},"order":{"$ref":"#/components/schemas/Order","description":"The Order screened."}},"required":["outcome","risk","order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Order.started":{"post":{"summary":"Order.started","description":"Delivered to a Watch whose selector matches Order.started.","tags":["Order"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Order.started"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The Order, its `fulfillment` set to `working`, or still `intake` while a Question is open."}},"required":["order"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Organization.created":{"post":{"summary":"Organization.created","description":"Delivered to a Watch whose selector matches Organization.created.","tags":["Organization"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Organization.created"},"data":{"type":"object","properties":{"organization":{"$ref":"#/components/schemas/Organization","description":"The Organization."}},"required":["organization"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Organization.updated":{"post":{"summary":"Organization.updated","description":"Delivered to a Watch whose selector matches Organization.updated.","tags":["Organization"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Organization.updated"},"data":{"type":"object","properties":{"organization":{"$ref":"#/components/schemas/Organization","description":"The Organization."}},"required":["organization"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Organization.deleted":{"post":{"summary":"Organization.deleted","description":"Delivered to a Watch whose selector matches Organization.deleted.","tags":["Organization"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Organization.deleted"},"data":{"type":"object","properties":{"organization":{"$ref":"#/components/schemas/Organization","description":"The Organization."}},"required":["organization"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Organization.merged":{"post":{"summary":"Organization.merged","description":"Delivered to a Watch whose selector matches Organization.merged.","tags":["Organization"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Organization.merged"},"data":{"type":"object","properties":{"organization":{"$ref":"#/components/schemas/Organization","description":"The remaining Organization."}},"required":["organization"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"OutcomeContract.updated":{"post":{"summary":"OutcomeContract.updated","description":"Delivered to a Watch whose selector matches OutcomeContract.updated.","tags":["OutcomeContract"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"OutcomeContract.updated"},"data":{"type":"object","properties":{"outcomeContract":{"$ref":"#/components/schemas/OutcomeContract","description":"The Outcome Contract."}},"required":["outcomeContract"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Page.created":{"post":{"summary":"Page.created","description":"Delivered to a Watch whose selector matches Page.created.","tags":["Page"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Page.created"},"data":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/Page","description":"The Page."}},"required":["page"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Page.updated":{"post":{"summary":"Page.updated","description":"Delivered to a Watch whose selector matches Page.updated.","tags":["Page"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Page.updated"},"data":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/Page","description":"The Page."}},"required":["page"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Page.deleted":{"post":{"summary":"Page.deleted","description":"Delivered to a Watch whose selector matches Page.deleted.","tags":["Page"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Page.deleted"},"data":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/Page","description":"The Page."}},"required":["page"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Partner.created":{"post":{"summary":"Partner.created","description":"Delivered to a Watch whose selector matches Partner.created.","tags":["Partner"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Partner.created"},"data":{"type":"object","properties":{"partner":{"$ref":"#/components/schemas/Partner","description":"The Partner."}},"required":["partner"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Partner.updated":{"post":{"summary":"Partner.updated","description":"Delivered to a Watch whose selector matches Partner.updated.","tags":["Partner"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Partner.updated"},"data":{"type":"object","properties":{"partner":{"$ref":"#/components/schemas/Partner","description":"The Partner."}},"required":["partner"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Partner.deleted":{"post":{"summary":"Partner.deleted","description":"Delivered to a Watch whose selector matches Partner.deleted.","tags":["Partner"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Partner.deleted"},"data":{"type":"object","properties":{"partner":{"$ref":"#/components/schemas/Partner","description":"The Partner."}},"required":["partner"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Party.created":{"post":{"summary":"Party.created","description":"Delivered to a Watch whose selector matches Party.created.","tags":["Party"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Party.created"},"data":{"type":"object","properties":{"party":{"$ref":"#/components/schemas/Party","description":"The Party."}},"required":["party"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Party.updated":{"post":{"summary":"Party.updated","description":"Delivered to a Watch whose selector matches Party.updated.","tags":["Party"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Party.updated"},"data":{"type":"object","properties":{"party":{"$ref":"#/components/schemas/Party","description":"The Party."}},"required":["party"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Party.deleted":{"post":{"summary":"Party.deleted","description":"Delivered to a Watch whose selector matches Party.deleted.","tags":["Party"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Party.deleted"},"data":{"type":"object","properties":{"party":{"$ref":"#/components/schemas/Party","description":"The Party."}},"required":["party"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Party.screened":{"post":{"summary":"Party.screened","description":"Delivered to a Watch whose selector matches Party.screened.","tags":["Party"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Party.screened"},"data":{"type":"object","properties":{"screening":{"$ref":"#/components/schemas/Screening","description":"The Screening, with the lists checked, their versions, any matches and the outcome."},"party":{"$ref":"#/components/schemas/Party","description":"The Party screened."}},"required":["screening","party"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"PayRun.approved":{"post":{"summary":"PayRun.approved","description":"Delivered to a Watch whose selector matches PayRun.approved.","tags":["PayRun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"PayRun.approved"},"data":{"type":"object","properties":{"payRun":{"$ref":"#/components/schemas/PayRun","description":"The approved Pay Run, scheduled for its pay date."}},"required":["payRun"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"PayRun.paid":{"post":{"summary":"PayRun.paid","description":"Delivered to a Watch whose selector matches PayRun.paid.","tags":["PayRun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"PayRun.paid"},"data":{"type":"object","properties":{"payRun":{"$ref":"#/components/schemas/PayRun","description":"The paid Pay Run."},"transaction":{"$ref":"#/components/schemas/Transaction","description":"The funding Transaction."}},"required":["payRun","transaction"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"PayRun.prepared":{"post":{"summary":"PayRun.prepared","description":"Delivered to a Watch whose selector matches PayRun.prepared.","tags":["PayRun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"PayRun.prepared"},"data":{"type":"object","properties":{"payRun":{"$ref":"#/components/schemas/PayRun","description":"The prepared Pay Run, with every amount per employee."}},"required":["payRun"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"PayRun.voided":{"post":{"summary":"PayRun.voided","description":"Delivered to a Watch whose selector matches PayRun.voided.","tags":["PayRun"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"PayRun.voided"},"data":{"type":"object","properties":{"payRun":{"$ref":"#/components/schemas/PayRun","description":"The voided Pay Run."}},"required":["payRun"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"PaymentSource.updated":{"post":{"summary":"PaymentSource.updated","description":"Delivered to a Watch whose selector matches PaymentSource.updated.","tags":["PaymentSource"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"PaymentSource.updated"},"data":{"type":"object","properties":{"paymentSource":{"$ref":"#/components/schemas/PaymentSource","description":"The Payment Source."}},"required":["paymentSource"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"PaymentSource.added":{"post":{"summary":"PaymentSource.added","description":"Delivered to a Watch whose selector matches PaymentSource.added.","tags":["PaymentSource"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"PaymentSource.added"},"data":{"type":"object","properties":{"paymentSource":{"$ref":"#/components/schemas/PaymentSource","description":"The saved Payment Source; Stripe holds its details."}},"required":["paymentSource"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"PaymentSource.removed":{"post":{"summary":"PaymentSource.removed","description":"Delivered to a Watch whose selector matches PaymentSource.removed.","tags":["PaymentSource"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"PaymentSource.removed"},"data":{"type":"object","properties":{"paymentSource":{"$ref":"#/components/schemas/PaymentSource","description":"The removed Payment Source, kept on record."}},"required":["paymentSource"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Period.updated":{"post":{"summary":"Period.updated","description":"Delivered to a Watch whose selector matches Period.updated.","tags":["Period"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Period.updated"},"data":{"type":"object","properties":{"period":{"$ref":"#/components/schemas/Period","description":"The Period."}},"required":["period"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Period.closed":{"post":{"summary":"Period.closed","description":"Delivered to a Watch whose selector matches Period.closed.","tags":["Period"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Period.closed"},"data":{"type":"object","properties":{"period":{"$ref":"#/components/schemas/Period","description":"The closed Period."}},"required":["period"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Period.locked":{"post":{"summary":"Period.locked","description":"Delivered to a Watch whose selector matches Period.locked.","tags":["Period"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Period.locked"},"data":{"type":"object","properties":{"period":{"$ref":"#/components/schemas/Period","description":"The locked Period."}},"required":["period"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Period.recognized":{"post":{"summary":"Period.recognized","description":"Delivered to a Watch whose selector matches Period.recognized.","tags":["Period"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Period.recognized"},"data":{"type":"object","properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/Entry","description":"The recognition Entries it posted."},"description":"The recognition Entries it posted."},"period":{"$ref":"#/components/schemas/Period","description":"The Period whose revenue was recognized."}},"required":["entries","period"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Permission.created":{"post":{"summary":"Permission.created","description":"Delivered to a Watch whose selector matches Permission.created.","tags":["Permission"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Permission.created"},"data":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/Permission","description":"The Permission."}},"required":["permission"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Permission.updated":{"post":{"summary":"Permission.updated","description":"Delivered to a Watch whose selector matches Permission.updated.","tags":["Permission"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Permission.updated"},"data":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/Permission","description":"The Permission."}},"required":["permission"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Permission.deleted":{"post":{"summary":"Permission.deleted","description":"Delivered to a Watch whose selector matches Permission.deleted.","tags":["Permission"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Permission.deleted"},"data":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/Permission","description":"The Permission."}},"required":["permission"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Person.created":{"post":{"summary":"Person.created","description":"Delivered to a Watch whose selector matches Person.created.","tags":["Person"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Person.created"},"data":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/Person","description":"The Person."}},"required":["person"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Person.updated":{"post":{"summary":"Person.updated","description":"Delivered to a Watch whose selector matches Person.updated.","tags":["Person"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Person.updated"},"data":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/Person","description":"The Person."}},"required":["person"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Person.deleted":{"post":{"summary":"Person.deleted","description":"Delivered to a Watch whose selector matches Person.deleted.","tags":["Person"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Person.deleted"},"data":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/Person","description":"The Person."}},"required":["person"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Persona.created":{"post":{"summary":"Persona.created","description":"Delivered to a Watch whose selector matches Persona.created.","tags":["Persona"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Persona.created"},"data":{"type":"object","properties":{"persona":{"$ref":"#/components/schemas/Persona","description":"The Persona."}},"required":["persona"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Persona.updated":{"post":{"summary":"Persona.updated","description":"Delivered to a Watch whose selector matches Persona.updated.","tags":["Persona"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Persona.updated"},"data":{"type":"object","properties":{"persona":{"$ref":"#/components/schemas/Persona","description":"The Persona."}},"required":["persona"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Persona.deleted":{"post":{"summary":"Persona.deleted","description":"Delivered to a Watch whose selector matches Persona.deleted.","tags":["Persona"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Persona.deleted"},"data":{"type":"object","properties":{"persona":{"$ref":"#/components/schemas/Persona","description":"The Persona."}},"required":["persona"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Play.created":{"post":{"summary":"Play.created","description":"Delivered to a Watch whose selector matches Play.created.","tags":["Play"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Play.created"},"data":{"type":"object","properties":{"play":{"$ref":"#/components/schemas/Play","description":"The Play."}},"required":["play"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Play.updated":{"post":{"summary":"Play.updated","description":"Delivered to a Watch whose selector matches Play.updated.","tags":["Play"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Play.updated"},"data":{"type":"object","properties":{"play":{"$ref":"#/components/schemas/Play","description":"The Play."}},"required":["play"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Play.deleted":{"post":{"summary":"Play.deleted","description":"Delivered to a Watch whose selector matches Play.deleted.","tags":["Play"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Play.deleted"},"data":{"type":"object","properties":{"play":{"$ref":"#/components/schemas/Play","description":"The Play."}},"required":["play"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Play.applied":{"post":{"summary":"Play.applied","description":"Delivered to a Watch whose selector matches Play.applied.","tags":["Play"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Play.applied"},"data":{"type":"object","properties":{"experiment":{"$ref":"#/components/schemas/Experiment","description":"The Experiment that measures the rollout."},"play":{"$ref":"#/components/schemas/Play","description":"The Play applied."}},"required":["experiment","play"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"PlayMix.compiled":{"post":{"summary":"PlayMix.compiled","description":"Delivered to a Watch whose selector matches PlayMix.compiled.","tags":["PlayMix"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"PlayMix.compiled"},"data":{"type":"object","properties":{"playMix":{"$ref":"#/components/schemas/PlayMix","description":"The new version, or the current one when nothing moved."}},"required":["playMix"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Policy.created":{"post":{"summary":"Policy.created","description":"Delivered to a Watch whose selector matches Policy.created.","tags":["Policy"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Policy.created"},"data":{"type":"object","properties":{"policy":{"$ref":"#/components/schemas/Policy","description":"The Policy."}},"required":["policy"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Policy.updated":{"post":{"summary":"Policy.updated","description":"Delivered to a Watch whose selector matches Policy.updated.","tags":["Policy"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Policy.updated"},"data":{"type":"object","properties":{"policy":{"$ref":"#/components/schemas/Policy","description":"The Policy."}},"required":["policy"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Policy.deleted":{"post":{"summary":"Policy.deleted","description":"Delivered to a Watch whose selector matches Policy.deleted.","tags":["Policy"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Policy.deleted"},"data":{"type":"object","properties":{"policy":{"$ref":"#/components/schemas/Policy","description":"The Policy."}},"required":["policy"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Portal.created":{"post":{"summary":"Portal.created","description":"Delivered to a Watch whose selector matches Portal.created.","tags":["Portal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Portal.created"},"data":{"type":"object","properties":{"portal":{"$ref":"#/components/schemas/Portal","description":"The Portal."}},"required":["portal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Portal.updated":{"post":{"summary":"Portal.updated","description":"Delivered to a Watch whose selector matches Portal.updated.","tags":["Portal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Portal.updated"},"data":{"type":"object","properties":{"portal":{"$ref":"#/components/schemas/Portal","description":"The Portal."}},"required":["portal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Portal.deleted":{"post":{"summary":"Portal.deleted","description":"Delivered to a Watch whose selector matches Portal.deleted.","tags":["Portal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Portal.deleted"},"data":{"type":"object","properties":{"portal":{"$ref":"#/components/schemas/Portal","description":"The Portal."}},"required":["portal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Portfolio.created":{"post":{"summary":"Portfolio.created","description":"Delivered to a Watch whose selector matches Portfolio.created.","tags":["Portfolio"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Portfolio.created"},"data":{"type":"object","properties":{"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio."}},"required":["portfolio"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Portfolio.updated":{"post":{"summary":"Portfolio.updated","description":"Delivered to a Watch whose selector matches Portfolio.updated.","tags":["Portfolio"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Portfolio.updated"},"data":{"type":"object","properties":{"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio."}},"required":["portfolio"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Portfolio.deleted":{"post":{"summary":"Portfolio.deleted","description":"Delivered to a Watch whose selector matches Portfolio.deleted.","tags":["Portfolio"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Portfolio.deleted"},"data":{"type":"object","properties":{"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio."}},"required":["portfolio"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Portfolio.braked":{"post":{"summary":"Portfolio.braked","description":"Delivered to a Watch whose selector matches Portfolio.braked.","tags":["Portfolio"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Portfolio.braked"},"data":{"type":"object","properties":{"brake":{"$ref":"#/components/schemas/Setting","description":"The brake, held as a Setting that every matching Startup inherits."},"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio under the brake."}},"required":["brake","portfolio"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Portfolio.lifted":{"post":{"summary":"Portfolio.lifted","description":"Delivered to a Watch whose selector matches Portfolio.lifted.","tags":["Portfolio"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Portfolio.lifted"},"data":{"type":"object","properties":{"brake":{"$ref":"#/components/schemas/Setting","description":"The lifted brake, kept on record."},"portfolio":{"$ref":"#/components/schemas/Portfolio","description":"The Portfolio, its brake lifted."}},"required":["brake","portfolio"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Post.created":{"post":{"summary":"Post.created","description":"Delivered to a Watch whose selector matches Post.created.","tags":["Post"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Post.created"},"data":{"type":"object","properties":{"post":{"$ref":"#/components/schemas/Post","description":"The Post."}},"required":["post"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Post.updated":{"post":{"summary":"Post.updated","description":"Delivered to a Watch whose selector matches Post.updated.","tags":["Post"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Post.updated"},"data":{"type":"object","properties":{"post":{"$ref":"#/components/schemas/Post","description":"The Post."}},"required":["post"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Post.published":{"post":{"summary":"Post.published","description":"Delivered to a Watch whose selector matches Post.published.","tags":["Post"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Post.published"},"data":{"type":"object","properties":{"post":{"$ref":"#/components/schemas/Post","description":"The published Post."}},"required":["post"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Post.scheduled":{"post":{"summary":"Post.scheduled","description":"Delivered to a Watch whose selector matches Post.scheduled.","tags":["Post"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Post.scheduled"},"data":{"type":"object","properties":{"post":{"$ref":"#/components/schemas/Post","description":"The scheduled Post."}},"required":["post"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Post.withdrawn":{"post":{"summary":"Post.withdrawn","description":"Delivered to a Watch whose selector matches Post.withdrawn.","tags":["Post"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Post.withdrawn"},"data":{"type":"object","properties":{"post":{"$ref":"#/components/schemas/Post","description":"The withdrawn Post."}},"required":["post"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Problem.created":{"post":{"summary":"Problem.created","description":"Delivered to a Watch whose selector matches Problem.created.","tags":["Problem"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Problem.created"},"data":{"type":"object","properties":{"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem."}},"required":["problem"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Problem.updated":{"post":{"summary":"Problem.updated","description":"Delivered to a Watch whose selector matches Problem.updated.","tags":["Problem"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Problem.updated"},"data":{"type":"object","properties":{"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem."}},"required":["problem"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Problem.deleted":{"post":{"summary":"Problem.deleted","description":"Delivered to a Watch whose selector matches Problem.deleted.","tags":["Problem"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Problem.deleted"},"data":{"type":"object","properties":{"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem."}},"required":["problem"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Problem.ranked":{"post":{"summary":"Problem.ranked","description":"Delivered to a Watch whose selector matches Problem.ranked.","tags":["Problem"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Problem.ranked"},"data":{"type":"object","properties":{"problems":{"type":"array","items":{"$ref":"#/components/schemas/Problem","description":"Problems, highest first, each with its score."},"description":"Problems, highest first, each with its score."}},"required":["problems"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Problem.suggested":{"post":{"summary":"Problem.suggested","description":"Delivered to a Watch whose selector matches Problem.suggested.","tags":["Problem"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Problem.suggested"},"data":{"type":"object","properties":{"evidence":{"$ref":"#/components/schemas/Evidence","description":"The Evidence, Opinion grade, with `askedBy` set."},"problem":{"$ref":"#/components/schemas/Problem","description":"The Problem with the new Evidence attached."}},"required":["evidence","problem"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Process.created":{"post":{"summary":"Process.created","description":"Delivered to a Watch whose selector matches Process.created.","tags":["Process"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Process.created"},"data":{"type":"object","properties":{"process":{"$ref":"#/components/schemas/Process","description":"The Process."}},"required":["process"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Process.updated":{"post":{"summary":"Process.updated","description":"Delivered to a Watch whose selector matches Process.updated.","tags":["Process"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Process.updated"},"data":{"type":"object","properties":{"process":{"$ref":"#/components/schemas/Process","description":"The Process."}},"required":["process"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Process.deleted":{"post":{"summary":"Process.deleted","description":"Delivered to a Watch whose selector matches Process.deleted.","tags":["Process"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Process.deleted"},"data":{"type":"object","properties":{"process":{"$ref":"#/components/schemas/Process","description":"The Process."}},"required":["process"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Process.enabled":{"post":{"summary":"Process.enabled","description":"Delivered to a Watch whose selector matches Process.enabled.","tags":["Process"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Process.enabled"},"data":{"type":"object","properties":{"process":{"$ref":"#/components/schemas/Process","description":"The Process, now on."}},"required":["process"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Process.paused":{"post":{"summary":"Process.paused","description":"Delivered to a Watch whose selector matches Process.paused.","tags":["Process"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Process.paused"},"data":{"type":"object","properties":{"process":{"$ref":"#/components/schemas/Process","description":"The paused Process."}},"required":["process"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Product.created":{"post":{"summary":"Product.created","description":"Delivered to a Watch whose selector matches Product.created.","tags":["Product"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Product.created"},"data":{"type":"object","properties":{"product":{"$ref":"#/components/schemas/Product","description":"The Product."}},"required":["product"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Product.updated":{"post":{"summary":"Product.updated","description":"Delivered to a Watch whose selector matches Product.updated.","tags":["Product"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Product.updated"},"data":{"type":"object","properties":{"product":{"$ref":"#/components/schemas/Product","description":"The Product."}},"required":["product"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Product.deleted":{"post":{"summary":"Product.deleted","description":"Delivered to a Watch whose selector matches Product.deleted.","tags":["Product"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Product.deleted"},"data":{"type":"object","properties":{"product":{"$ref":"#/components/schemas/Product","description":"The Product."}},"required":["product"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ProductTemplate.created":{"post":{"summary":"ProductTemplate.created","description":"Delivered to a Watch whose selector matches ProductTemplate.created.","tags":["ProductTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ProductTemplate.created"},"data":{"type":"object","properties":{"productTemplate":{"$ref":"#/components/schemas/ProductTemplate","description":"The Product Template."}},"required":["productTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ProductTemplate.updated":{"post":{"summary":"ProductTemplate.updated","description":"Delivered to a Watch whose selector matches ProductTemplate.updated.","tags":["ProductTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ProductTemplate.updated"},"data":{"type":"object","properties":{"productTemplate":{"$ref":"#/components/schemas/ProductTemplate","description":"The Product Template."}},"required":["productTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ProductTemplate.deleted":{"post":{"summary":"ProductTemplate.deleted","description":"Delivered to a Watch whose selector matches ProductTemplate.deleted.","tags":["ProductTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ProductTemplate.deleted"},"data":{"type":"object","properties":{"productTemplate":{"$ref":"#/components/schemas/ProductTemplate","description":"The Product Template."}},"required":["productTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Project.created":{"post":{"summary":"Project.created","description":"Delivered to a Watch whose selector matches Project.created.","tags":["Project"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Project.created"},"data":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/Project","description":"The Project."}},"required":["project"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Project.updated":{"post":{"summary":"Project.updated","description":"Delivered to a Watch whose selector matches Project.updated.","tags":["Project"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Project.updated"},"data":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/Project","description":"The Project."}},"required":["project"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Project.deleted":{"post":{"summary":"Project.deleted","description":"Delivered to a Watch whose selector matches Project.deleted.","tags":["Project"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Project.deleted"},"data":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/Project","description":"The Project."}},"required":["project"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Prospect.created":{"post":{"summary":"Prospect.created","description":"Delivered to a Watch whose selector matches Prospect.created.","tags":["Prospect"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Prospect.created"},"data":{"type":"object","properties":{"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect."}},"required":["prospect"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Prospect.updated":{"post":{"summary":"Prospect.updated","description":"Delivered to a Watch whose selector matches Prospect.updated.","tags":["Prospect"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Prospect.updated"},"data":{"type":"object","properties":{"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect."}},"required":["prospect"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Prospect.deleted":{"post":{"summary":"Prospect.deleted","description":"Delivered to a Watch whose selector matches Prospect.deleted.","tags":["Prospect"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Prospect.deleted"},"data":{"type":"object","properties":{"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect."}},"required":["prospect"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Prospect.engaged":{"post":{"summary":"Prospect.engaged","description":"Delivered to a Watch whose selector matches Prospect.engaged.","tags":["Prospect"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Prospect.engaged"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/Lead","description":"The new Lead, with status `new` and the Prospect’s Acquisition."},"prospect":{"$ref":"#/components/schemas/Prospect","description":"The Prospect who engaged."}},"required":["lead","prospect"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Purpose.created":{"post":{"summary":"Purpose.created","description":"Delivered to a Watch whose selector matches Purpose.created.","tags":["Purpose"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Purpose.created"},"data":{"type":"object","properties":{"purpose":{"$ref":"#/components/schemas/Purpose","description":"The Purpose."}},"required":["purpose"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Purpose.updated":{"post":{"summary":"Purpose.updated","description":"Delivered to a Watch whose selector matches Purpose.updated.","tags":["Purpose"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Purpose.updated"},"data":{"type":"object","properties":{"purpose":{"$ref":"#/components/schemas/Purpose","description":"The Purpose."}},"required":["purpose"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Purpose.deleted":{"post":{"summary":"Purpose.deleted","description":"Delivered to a Watch whose selector matches Purpose.deleted.","tags":["Purpose"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Purpose.deleted"},"data":{"type":"object","properties":{"purpose":{"$ref":"#/components/schemas/Purpose","description":"The Purpose."}},"required":["purpose"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.created":{"post":{"summary":"Quote.created","description":"Delivered to a Watch whose selector matches Quote.created.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.created"},"data":{"type":"object","properties":{"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote."}},"required":["quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.updated":{"post":{"summary":"Quote.updated","description":"Delivered to a Watch whose selector matches Quote.updated.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.updated"},"data":{"type":"object","properties":{"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote."}},"required":["quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.deleted":{"post":{"summary":"Quote.deleted","description":"Delivered to a Watch whose selector matches Quote.deleted.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.deleted"},"data":{"type":"object","properties":{"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote."}},"required":["quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.accepted":{"post":{"summary":"Quote.accepted","description":"Delivered to a Watch whose selector matches Quote.accepted.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.accepted"},"data":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/Order","description":"The Order for the one-time lines, when the Quote has any."},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription for the recurring lines, at each line’s quantity and term."},"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote, now accepted."}},"required":["quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.declined":{"post":{"summary":"Quote.declined","description":"Delivered to a Watch whose selector matches Quote.declined.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.declined"},"data":{"type":"object","properties":{"quote":{"$ref":"#/components/schemas/Quote","description":"The declined Quote."}},"required":["quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.expired":{"post":{"summary":"Quote.expired","description":"Delivered to a Watch whose selector matches Quote.expired.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.expired"},"data":{"type":"object","properties":{"quote":{"$ref":"#/components/schemas/Quote","description":"The expired Quote."}},"required":["quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.requested":{"post":{"summary":"Quote.requested","description":"Delivered to a Watch whose selector matches Quote.requested.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.requested"},"data":{"type":"object","properties":{"deal":{"$ref":"#/components/schemas/Deal","description":"The Deal, waiting on a Quote."},"quote":{"$ref":"#/components/schemas/Quote","description":"The Quote requested, in `draft`."}},"required":["deal","quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.sent":{"post":{"summary":"Quote.sent","description":"Delivered to a Watch whose selector matches Quote.sent.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.sent"},"data":{"type":"object","properties":{"quote":{"$ref":"#/components/schemas/Quote","description":"The sent Quote."}},"required":["quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Quote.superseded":{"post":{"summary":"Quote.superseded","description":"Delivered to a Watch whose selector matches Quote.superseded.","tags":["Quote"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Quote.superseded"},"data":{"type":"object","properties":{"quote":{"$ref":"#/components/schemas/Quote","description":"The superseded Quote, kept on record."}},"required":["quote"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Readout.created":{"post":{"summary":"Readout.created","description":"Delivered to a Watch whose selector matches Readout.created.","tags":["Readout"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Readout.created"},"data":{"type":"object","properties":{"readout":{"$ref":"#/components/schemas/Readout","description":"The Readout."}},"required":["readout"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Readout.updated":{"post":{"summary":"Readout.updated","description":"Delivered to a Watch whose selector matches Readout.updated.","tags":["Readout"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Readout.updated"},"data":{"type":"object","properties":{"readout":{"$ref":"#/components/schemas/Readout","description":"The Readout."}},"required":["readout"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Readout.deleted":{"post":{"summary":"Readout.deleted","description":"Delivered to a Watch whose selector matches Readout.deleted.","tags":["Readout"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Readout.deleted"},"data":{"type":"object","properties":{"readout":{"$ref":"#/components/schemas/Readout","description":"The Readout."}},"required":["readout"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"RecoveryObjective.created":{"post":{"summary":"RecoveryObjective.created","description":"Delivered to a Watch whose selector matches RecoveryObjective.created.","tags":["RecoveryObjective"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"RecoveryObjective.created"},"data":{"type":"object","properties":{"recoveryObjective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The Recovery Objective."}},"required":["recoveryObjective"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"RecoveryObjective.updated":{"post":{"summary":"RecoveryObjective.updated","description":"Delivered to a Watch whose selector matches RecoveryObjective.updated.","tags":["RecoveryObjective"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"RecoveryObjective.updated"},"data":{"type":"object","properties":{"recoveryObjective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The Recovery Objective."}},"required":["recoveryObjective"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"RecoveryObjective.deleted":{"post":{"summary":"RecoveryObjective.deleted","description":"Delivered to a Watch whose selector matches RecoveryObjective.deleted.","tags":["RecoveryObjective"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"RecoveryObjective.deleted"},"data":{"type":"object","properties":{"recoveryObjective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The Recovery Objective."}},"required":["recoveryObjective"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"RecoveryObjective.drilled":{"post":{"summary":"RecoveryObjective.drilled","description":"Delivered to a Watch whose selector matches RecoveryObjective.drilled.","tags":["RecoveryObjective"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"RecoveryObjective.drilled"},"data":{"type":"object","properties":{"objective":{"$ref":"#/components/schemas/RecoveryObjective","description":"The objective with its last drill result."}},"required":["objective"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Referral.created":{"post":{"summary":"Referral.created","description":"Delivered to a Watch whose selector matches Referral.created.","tags":["Referral"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Referral.created"},"data":{"type":"object","properties":{"referral":{"$ref":"#/components/schemas/Referral","description":"The Referral."}},"required":["referral"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Referral.updated":{"post":{"summary":"Referral.updated","description":"Delivered to a Watch whose selector matches Referral.updated.","tags":["Referral"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Referral.updated"},"data":{"type":"object","properties":{"referral":{"$ref":"#/components/schemas/Referral","description":"The Referral."}},"required":["referral"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Referral.deleted":{"post":{"summary":"Referral.deleted","description":"Delivered to a Watch whose selector matches Referral.deleted.","tags":["Referral"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Referral.deleted"},"data":{"type":"object","properties":{"referral":{"$ref":"#/components/schemas/Referral","description":"The Referral."}},"required":["referral"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Registration.created":{"post":{"summary":"Registration.created","description":"Delivered to a Watch whose selector matches Registration.created.","tags":["Registration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Registration.created"},"data":{"type":"object","properties":{"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration."}},"required":["registration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Registration.updated":{"post":{"summary":"Registration.updated","description":"Delivered to a Watch whose selector matches Registration.updated.","tags":["Registration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Registration.updated"},"data":{"type":"object","properties":{"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration."}},"required":["registration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Registration.deleted":{"post":{"summary":"Registration.deleted","description":"Delivered to a Watch whose selector matches Registration.deleted.","tags":["Registration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Registration.deleted"},"data":{"type":"object","properties":{"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration."}},"required":["registration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Registration.admitted":{"post":{"summary":"Registration.admitted","description":"Delivered to a Watch whose selector matches Registration.admitted.","tags":["Registration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Registration.admitted"},"data":{"type":"object","properties":{"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration, now `registered`."}},"required":["registration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Registration.approved":{"post":{"summary":"Registration.approved","description":"Delivered to a Watch whose selector matches Registration.approved.","tags":["Registration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Registration.approved"},"data":{"type":"object","properties":{"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration, `registered` or `waitlisted`."}},"required":["registration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Registration.attended":{"post":{"summary":"Registration.attended","description":"Delivered to a Watch whose selector matches Registration.attended.","tags":["Registration"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Registration.attended"},"data":{"type":"object","properties":{"registration":{"$ref":"#/components/schemas/Registration","description":"The Registration, now `attended`."}},"required":["registration"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Relationship.created":{"post":{"summary":"Relationship.created","description":"Delivered to a Watch whose selector matches Relationship.created.","tags":["Relationship"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Relationship.created"},"data":{"type":"object","properties":{"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship."}},"required":["relationship"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Relationship.updated":{"post":{"summary":"Relationship.updated","description":"Delivered to a Watch whose selector matches Relationship.updated.","tags":["Relationship"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Relationship.updated"},"data":{"type":"object","properties":{"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship."}},"required":["relationship"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Relationship.deleted":{"post":{"summary":"Relationship.deleted","description":"Delivered to a Watch whose selector matches Relationship.deleted.","tags":["Relationship"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Relationship.deleted"},"data":{"type":"object","properties":{"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship."}},"required":["relationship"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Renewal.created":{"post":{"summary":"Renewal.created","description":"Delivered to a Watch whose selector matches Renewal.created.","tags":["Renewal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Renewal.created"},"data":{"type":"object","properties":{"renewal":{"$ref":"#/components/schemas/Renewal","description":"The Renewal."}},"required":["renewal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Renewal.updated":{"post":{"summary":"Renewal.updated","description":"Delivered to a Watch whose selector matches Renewal.updated.","tags":["Renewal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Renewal.updated"},"data":{"type":"object","properties":{"renewal":{"$ref":"#/components/schemas/Renewal","description":"The Renewal."}},"required":["renewal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Renewal.deleted":{"post":{"summary":"Renewal.deleted","description":"Delivered to a Watch whose selector matches Renewal.deleted.","tags":["Renewal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Renewal.deleted"},"data":{"type":"object","properties":{"renewal":{"$ref":"#/components/schemas/Renewal","description":"The Renewal."}},"required":["renewal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Renewal.opened":{"post":{"summary":"Renewal.opened","description":"Delivered to a Watch whose selector matches Renewal.opened.","tags":["Renewal"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Renewal.opened"},"data":{"type":"object","properties":{"renewal":{"$ref":"#/components/schemas/Renewal","description":"The open Renewal."}},"required":["renewal"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ReservedAct.created":{"post":{"summary":"ReservedAct.created","description":"Delivered to a Watch whose selector matches ReservedAct.created.","tags":["ReservedAct"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ReservedAct.created"},"data":{"type":"object","properties":{"reservedAct":{"$ref":"#/components/schemas/ReservedAct","description":"The Reserved Act."}},"required":["reservedAct"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ReservedAct.updated":{"post":{"summary":"ReservedAct.updated","description":"Delivered to a Watch whose selector matches ReservedAct.updated.","tags":["ReservedAct"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ReservedAct.updated"},"data":{"type":"object","properties":{"reservedAct":{"$ref":"#/components/schemas/ReservedAct","description":"The Reserved Act."}},"required":["reservedAct"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"ReservedAct.deleted":{"post":{"summary":"ReservedAct.deleted","description":"Delivered to a Watch whose selector matches ReservedAct.deleted.","tags":["ReservedAct"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"ReservedAct.deleted"},"data":{"type":"object","properties":{"reservedAct":{"$ref":"#/components/schemas/ReservedAct","description":"The Reserved Act."}},"required":["reservedAct"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Review.created":{"post":{"summary":"Review.created","description":"Delivered to a Watch whose selector matches Review.created.","tags":["Review"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Review.created"},"data":{"type":"object","properties":{"review":{"$ref":"#/components/schemas/Review","description":"The Review."}},"required":["review"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Review.updated":{"post":{"summary":"Review.updated","description":"Delivered to a Watch whose selector matches Review.updated.","tags":["Review"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Review.updated"},"data":{"type":"object","properties":{"review":{"$ref":"#/components/schemas/Review","description":"The Review."}},"required":["review"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Review.published":{"post":{"summary":"Review.published","description":"Delivered to a Watch whose selector matches Review.published.","tags":["Review"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Review.published"},"data":{"type":"object","properties":{"review":{"$ref":"#/components/schemas/Review","description":"The Review, now `published`."}},"required":["review"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Review.removed":{"post":{"summary":"Review.removed","description":"Delivered to a Watch whose selector matches Review.removed.","tags":["Review"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Review.removed"},"data":{"type":"object","properties":{"review":{"$ref":"#/components/schemas/Review","description":"The Review, now `removed`."}},"required":["review"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Review.withheld":{"post":{"summary":"Review.withheld","description":"Delivered to a Watch whose selector matches Review.withheld.","tags":["Review"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Review.withheld"},"data":{"type":"object","properties":{"review":{"$ref":"#/components/schemas/Review","description":"The Review, now `withheld`."}},"required":["review"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Risk.created":{"post":{"summary":"Risk.created","description":"Delivered to a Watch whose selector matches Risk.created.","tags":["Risk"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Risk.created"},"data":{"type":"object","properties":{"risk":{"$ref":"#/components/schemas/Risk","description":"The Risk."}},"required":["risk"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Risk.updated":{"post":{"summary":"Risk.updated","description":"Delivered to a Watch whose selector matches Risk.updated.","tags":["Risk"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Risk.updated"},"data":{"type":"object","properties":{"risk":{"$ref":"#/components/schemas/Risk","description":"The Risk."}},"required":["risk"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Risk.accepted":{"post":{"summary":"Risk.accepted","description":"Delivered to a Watch whose selector matches Risk.accepted.","tags":["Risk"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Risk.accepted"},"data":{"type":"object","properties":{"risk":{"$ref":"#/components/schemas/Risk","description":"The accepted Risk."}},"required":["risk"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Risk.assessed":{"post":{"summary":"Risk.assessed","description":"Delivered to a Watch whose selector matches Risk.assessed.","tags":["Risk"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Risk.assessed"},"data":{"type":"object","properties":{"risk":{"$ref":"#/components/schemas/Risk","description":"The scored Risk."}},"required":["risk"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Risk.closed":{"post":{"summary":"Risk.closed","description":"Delivered to a Watch whose selector matches Risk.closed.","tags":["Risk"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Risk.closed"},"data":{"type":"object","properties":{"risk":{"$ref":"#/components/schemas/Risk","description":"The closed Risk, kept forever."}},"required":["risk"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Risk.treated":{"post":{"summary":"Risk.treated","description":"Delivered to a Watch whose selector matches Risk.treated.","tags":["Risk"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Risk.treated"},"data":{"type":"object","properties":{"risk":{"$ref":"#/components/schemas/Risk","description":"The treated Risk."}},"required":["risk"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Role.created":{"post":{"summary":"Role.created","description":"Delivered to a Watch whose selector matches Role.created.","tags":["Role"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Role.created"},"data":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/Role","description":"The Role."}},"required":["role"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Role.updated":{"post":{"summary":"Role.updated","description":"Delivered to a Watch whose selector matches Role.updated.","tags":["Role"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Role.updated"},"data":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/Role","description":"The Role."}},"required":["role"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Role.deleted":{"post":{"summary":"Role.deleted","description":"Delivered to a Watch whose selector matches Role.deleted.","tags":["Role"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Role.deleted"},"data":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/Role","description":"The Role."}},"required":["role"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Role.reviewed":{"post":{"summary":"Role.reviewed","description":"Delivered to a Watch whose selector matches Role.reviewed.","tags":["Role"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Role.reviewed"},"data":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/Role","description":"The reviewed Role."},"roleReview":{"$ref":"#/components/schemas/RoleReview","description":"The recorded Role Review."}},"required":["role","roleReview"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Role.staffed":{"post":{"summary":"Role.staffed","description":"Delivered to a Watch whose selector matches Role.staffed.","tags":["Role"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Role.staffed"},"data":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/Role","description":"The staffed Role."}},"required":["role"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Role.vacated":{"post":{"summary":"Role.vacated","description":"Delivered to a Watch whose selector matches Role.vacated.","tags":["Role"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Role.vacated"},"data":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/Role","description":"The vacant Role."}},"required":["role"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Secret.revoked":{"post":{"summary":"Secret.revoked","description":"Delivered to a Watch whose selector matches Secret.revoked.","tags":["Secret"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Secret.revoked"},"data":{"type":"object","properties":{"secret":{"$ref":"#/components/schemas/Secret","description":"The revoked Secret."}},"required":["secret"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Secret.rotated":{"post":{"summary":"Secret.rotated","description":"Delivered to a Watch whose selector matches Secret.rotated.","tags":["Secret"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Secret.rotated"},"data":{"type":"object","properties":{"secret":{"$ref":"#/components/schemas/Secret","description":"The Secret, with its new `rotatedAt`."}},"required":["secret"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Secret.stored":{"post":{"summary":"Secret.stored","description":"Delivered to a Watch whose selector matches Secret.stored.","tags":["Secret"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Secret.stored"},"data":{"type":"object","properties":{"secret":{"$ref":"#/components/schemas/Secret","description":"The Secret, without its value."}},"required":["secret"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Sequence.created":{"post":{"summary":"Sequence.created","description":"Delivered to a Watch whose selector matches Sequence.created.","tags":["Sequence"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Sequence.created"},"data":{"type":"object","properties":{"sequence":{"$ref":"#/components/schemas/Sequence","description":"The Sequence."}},"required":["sequence"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Sequence.updated":{"post":{"summary":"Sequence.updated","description":"Delivered to a Watch whose selector matches Sequence.updated.","tags":["Sequence"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Sequence.updated"},"data":{"type":"object","properties":{"sequence":{"$ref":"#/components/schemas/Sequence","description":"The Sequence."}},"required":["sequence"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Sequence.deleted":{"post":{"summary":"Sequence.deleted","description":"Delivered to a Watch whose selector matches Sequence.deleted.","tags":["Sequence"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Sequence.deleted"},"data":{"type":"object","properties":{"sequence":{"$ref":"#/components/schemas/Sequence","description":"The Sequence."}},"required":["sequence"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Service.created":{"post":{"summary":"Service.created","description":"Delivered to a Watch whose selector matches Service.created.","tags":["Service"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Service.created"},"data":{"type":"object","properties":{"service":{"$ref":"#/components/schemas/Service","description":"The Service."}},"required":["service"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Service.updated":{"post":{"summary":"Service.updated","description":"Delivered to a Watch whose selector matches Service.updated.","tags":["Service"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Service.updated"},"data":{"type":"object","properties":{"service":{"$ref":"#/components/schemas/Service","description":"The Service."}},"required":["service"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Service.deleted":{"post":{"summary":"Service.deleted","description":"Delivered to a Watch whose selector matches Service.deleted.","tags":["Service"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Service.deleted"},"data":{"type":"object","properties":{"service":{"$ref":"#/components/schemas/Service","description":"The Service."}},"required":["service"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Setting.created":{"post":{"summary":"Setting.created","description":"Delivered to a Watch whose selector matches Setting.created.","tags":["Setting"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Setting.created"},"data":{"type":"object","properties":{"setting":{"$ref":"#/components/schemas/Setting","description":"The Setting."}},"required":["setting"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Setting.updated":{"post":{"summary":"Setting.updated","description":"Delivered to a Watch whose selector matches Setting.updated.","tags":["Setting"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Setting.updated"},"data":{"type":"object","properties":{"setting":{"$ref":"#/components/schemas/Setting","description":"The Setting."}},"required":["setting"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Setting.deleted":{"post":{"summary":"Setting.deleted","description":"Delivered to a Watch whose selector matches Setting.deleted.","tags":["Setting"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Setting.deleted"},"data":{"type":"object","properties":{"setting":{"$ref":"#/components/schemas/Setting","description":"The Setting."}},"required":["setting"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Share.issued":{"post":{"summary":"Share.issued","description":"Delivered to a Watch whose selector matches Share.issued.","tags":["Share"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Share.issued"},"data":{"type":"object","properties":{"share":{"$ref":"#/components/schemas/Share","description":"The issued Share record."}},"required":["share"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Share.transferred":{"post":{"summary":"Share.transferred","description":"Delivered to a Watch whose selector matches Share.transferred.","tags":["Share"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Share.transferred"},"data":{"type":"object","properties":{"share":{"$ref":"#/components/schemas/Share","description":"The new Share record held by the receiving Holder."}},"required":["share"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Site.created":{"post":{"summary":"Site.created","description":"Delivered to a Watch whose selector matches Site.created.","tags":["Site"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Site.created"},"data":{"type":"object","properties":{"site":{"$ref":"#/components/schemas/Site","description":"The Site."}},"required":["site"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Site.updated":{"post":{"summary":"Site.updated","description":"Delivered to a Watch whose selector matches Site.updated.","tags":["Site"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Site.updated"},"data":{"type":"object","properties":{"site":{"$ref":"#/components/schemas/Site","description":"The Site."}},"required":["site"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Site.deleted":{"post":{"summary":"Site.deleted","description":"Delivered to a Watch whose selector matches Site.deleted.","tags":["Site"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Site.deleted"},"data":{"type":"object","properties":{"site":{"$ref":"#/components/schemas/Site","description":"The Site."}},"required":["site"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Site.published":{"post":{"summary":"Site.published","description":"Delivered to a Watch whose selector matches Site.published.","tags":["Site"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Site.published"},"data":{"type":"object","properties":{"site":{"$ref":"#/components/schemas/Site","description":"The Site, now live."}},"required":["site"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Skill.created":{"post":{"summary":"Skill.created","description":"Delivered to a Watch whose selector matches Skill.created.","tags":["Skill"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Skill.created"},"data":{"type":"object","properties":{"skill":{"$ref":"#/components/schemas/Skill","description":"The Skill."}},"required":["skill"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Skill.updated":{"post":{"summary":"Skill.updated","description":"Delivered to a Watch whose selector matches Skill.updated.","tags":["Skill"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Skill.updated"},"data":{"type":"object","properties":{"skill":{"$ref":"#/components/schemas/Skill","description":"The Skill."}},"required":["skill"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Skill.deleted":{"post":{"summary":"Skill.deleted","description":"Delivered to a Watch whose selector matches Skill.deleted.","tags":["Skill"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Skill.deleted"},"data":{"type":"object","properties":{"skill":{"$ref":"#/components/schemas/Skill","description":"The Skill."}},"required":["skill"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Software.created":{"post":{"summary":"Software.created","description":"Delivered to a Watch whose selector matches Software.created.","tags":["Software"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Software.created"},"data":{"type":"object","properties":{"software":{"$ref":"#/components/schemas/Software","description":"The Software."}},"required":["software"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Software.updated":{"post":{"summary":"Software.updated","description":"Delivered to a Watch whose selector matches Software.updated.","tags":["Software"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Software.updated"},"data":{"type":"object","properties":{"software":{"$ref":"#/components/schemas/Software","description":"The Software."}},"required":["software"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Software.deleted":{"post":{"summary":"Software.deleted","description":"Delivered to a Watch whose selector matches Software.deleted.","tags":["Software"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Software.deleted"},"data":{"type":"object","properties":{"software":{"$ref":"#/components/schemas/Software","description":"The Software."}},"required":["software"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Source.created":{"post":{"summary":"Source.created","description":"Delivered to a Watch whose selector matches Source.created.","tags":["Source"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Source.created"},"data":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/Source","description":"The Source."}},"required":["source"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Source.updated":{"post":{"summary":"Source.updated","description":"Delivered to a Watch whose selector matches Source.updated.","tags":["Source"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Source.updated"},"data":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/Source","description":"The Source."}},"required":["source"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Source.deleted":{"post":{"summary":"Source.deleted","description":"Delivered to a Watch whose selector matches Source.deleted.","tags":["Source"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Source.deleted"},"data":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/Source","description":"The Source."}},"required":["source"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"SSOConnection.created":{"post":{"summary":"SSOConnection.created","description":"Delivered to a Watch whose selector matches SSOConnection.created.","tags":["SSOConnection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"SSOConnection.created"},"data":{"type":"object","properties":{"ssoConnection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection."}},"required":["ssoConnection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"SSOConnection.updated":{"post":{"summary":"SSOConnection.updated","description":"Delivered to a Watch whose selector matches SSOConnection.updated.","tags":["SSOConnection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"SSOConnection.updated"},"data":{"type":"object","properties":{"ssoConnection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection."}},"required":["ssoConnection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"SSOConnection.activated":{"post":{"summary":"SSOConnection.activated","description":"Delivered to a Watch whose selector matches SSOConnection.activated.","tags":["SSOConnection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"SSOConnection.activated"},"data":{"type":"object","properties":{"connection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection, now active."}},"required":["connection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"SSOConnection.deactivated":{"post":{"summary":"SSOConnection.deactivated","description":"Delivered to a Watch whose selector matches SSOConnection.deactivated.","tags":["SSOConnection"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"SSOConnection.deactivated"},"data":{"type":"object","properties":{"connection":{"$ref":"#/components/schemas/SSOConnection","description":"The SSO Connection, now `inactive`."}},"required":["connection"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.created":{"post":{"summary":"Startup.created","description":"Delivered to a Watch whose selector matches Startup.created.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.created"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.updated":{"post":{"summary":"Startup.updated","description":"Delivered to a Watch whose selector matches Startup.updated.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.updated"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.deleted":{"post":{"summary":"Startup.deleted","description":"Delivered to a Watch whose selector matches Startup.deleted.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.deleted"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.advanced":{"post":{"summary":"Startup.advanced","description":"Delivered to a Watch whose selector matches Startup.advanced.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.advanced"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup in its new state."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.built":{"post":{"summary":"Startup.built","description":"Delivered to a Watch whose selector matches Startup.built.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.built"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now Building."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.claimed":{"post":{"summary":"Startup.claimed","description":"Delivered to a Watch whose selector matches Startup.claimed.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.claimed"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now owned."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.cloned":{"post":{"summary":"Startup.cloned","description":"Delivered to a Watch whose selector matches Startup.cloned.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.cloned"},"data":{"type":"object","properties":{"clone":{"$ref":"#/components/schemas/Startup","description":"The new Startup, in Idea."}},"required":["clone"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.graduated":{"post":{"summary":"Startup.graduated","description":"Delivered to a Watch whose selector matches Startup.graduated.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.graduated"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, held by its new Company."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.held":{"post":{"summary":"Startup.held","description":"Delivered to a Watch whose selector matches Startup.held.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.held"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now on Hold."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.imported":{"post":{"summary":"Startup.imported","description":"Delivered to a Watch whose selector matches Startup.imported.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.imported"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The new Startup, in Idea."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.launched":{"post":{"summary":"Startup.launched","description":"Delivered to a Watch whose selector matches Startup.launched.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.launched"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now live."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.paused":{"post":{"summary":"Startup.paused","description":"Delivered to a Watch whose selector matches Startup.paused.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.paused"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now Dormant."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.pivoted":{"post":{"summary":"Startup.pivoted","description":"Delivered to a Watch whose selector matches Startup.pivoted.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.pivoted"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, now Building."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.read":{"post":{"summary":"Startup.read","description":"Delivered to a Watch whose selector matches Startup.read.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.read"},"data":{"type":"object","properties":{"room":{"description":"Statements, Metrics, cap table, Agreements in force, Control Proofs and open Disputes, each linked to its record."},"gaps":{"description":"Each failed readiness check with its fix, such as a Period still open."},"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup the room was compiled from."}},"required":["room","gaps","startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.resumed":{"post":{"summary":"Startup.resumed","description":"Delivered to a Watch whose selector matches Startup.resumed.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.resumed"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup in its prior state."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Startup.sold":{"post":{"summary":"Startup.sold","description":"Delivered to a Watch whose selector matches Startup.sold.","tags":["Startup"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Startup.sold"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, held by the buyer."}},"required":["startup"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"StartupTemplate.created":{"post":{"summary":"StartupTemplate.created","description":"Delivered to a Watch whose selector matches StartupTemplate.created.","tags":["StartupTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"StartupTemplate.created"},"data":{"type":"object","properties":{"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template."}},"required":["startupTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"StartupTemplate.updated":{"post":{"summary":"StartupTemplate.updated","description":"Delivered to a Watch whose selector matches StartupTemplate.updated.","tags":["StartupTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"StartupTemplate.updated"},"data":{"type":"object","properties":{"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template."}},"required":["startupTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"StartupTemplate.deleted":{"post":{"summary":"StartupTemplate.deleted","description":"Delivered to a Watch whose selector matches StartupTemplate.deleted.","tags":["StartupTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"StartupTemplate.deleted"},"data":{"type":"object","properties":{"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template."}},"required":["startupTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"StartupTemplate.extended":{"post":{"summary":"StartupTemplate.extended","description":"Delivered to a Watch whose selector matches StartupTemplate.extended.","tags":["StartupTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"StartupTemplate.extended"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup, with the Startup Template among its bases."},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template extended."}},"required":["startup","startupTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"StartupTemplate.promoted":{"post":{"summary":"StartupTemplate.promoted","description":"Delivered to a Watch whose selector matches StartupTemplate.promoted.","tags":["StartupTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"StartupTemplate.promoted"},"data":{"type":"object","properties":{"change":{"$ref":"#/components/schemas/Change","description":"The Change against the Startup Template."},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template that received the refinement."}},"required":["change","startupTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"StartupTemplate.upgraded":{"post":{"summary":"StartupTemplate.upgraded","description":"Delivered to a Watch whose selector matches StartupTemplate.upgraded.","tags":["StartupTemplate"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"StartupTemplate.upgraded"},"data":{"type":"object","properties":{"change":{"$ref":"#/components/schemas/Change","description":"The Change that moves the pin, with its three-way diff."},"startupTemplate":{"$ref":"#/components/schemas/StartupTemplate","description":"The Startup Template upgraded to."}},"required":["change","startupTemplate"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Story.created":{"post":{"summary":"Story.created","description":"Delivered to a Watch whose selector matches Story.created.","tags":["Story"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Story.created"},"data":{"type":"object","properties":{"story":{"$ref":"#/components/schemas/Story","description":"The Story."}},"required":["story"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Story.updated":{"post":{"summary":"Story.updated","description":"Delivered to a Watch whose selector matches Story.updated.","tags":["Story"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Story.updated"},"data":{"type":"object","properties":{"story":{"$ref":"#/components/schemas/Story","description":"The Story."}},"required":["story"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Story.deleted":{"post":{"summary":"Story.deleted","description":"Delivered to a Watch whose selector matches Story.deleted.","tags":["Story"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Story.deleted"},"data":{"type":"object","properties":{"story":{"$ref":"#/components/schemas/Story","description":"The Story."}},"required":["story"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Studio.created":{"post":{"summary":"Studio.created","description":"Delivered to a Watch whose selector matches Studio.created.","tags":["Studio"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Studio.created"},"data":{"type":"object","properties":{"studio":{"$ref":"#/components/schemas/Studio","description":"The Studio."}},"required":["studio"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Studio.updated":{"post":{"summary":"Studio.updated","description":"Delivered to a Watch whose selector matches Studio.updated.","tags":["Studio"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Studio.updated"},"data":{"type":"object","properties":{"studio":{"$ref":"#/components/schemas/Studio","description":"The Studio."}},"required":["studio"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Studio.deleted":{"post":{"summary":"Studio.deleted","description":"Delivered to a Watch whose selector matches Studio.deleted.","tags":["Studio"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Studio.deleted"},"data":{"type":"object","properties":{"studio":{"$ref":"#/components/schemas/Studio","description":"The Studio."}},"required":["studio"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.created":{"post":{"summary":"Subscription.created","description":"Delivered to a Watch whose selector matches Subscription.created.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.created"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription."}},"required":["subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.updated":{"post":{"summary":"Subscription.updated","description":"Delivered to a Watch whose selector matches Subscription.updated.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.updated"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription."}},"required":["subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.kept":{"post":{"summary":"Subscription.kept","description":"Delivered to a Watch whose selector matches Subscription.kept.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.kept"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription, active again."}},"required":["subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.paused":{"post":{"summary":"Subscription.paused","description":"Delivered to a Watch whose selector matches Subscription.paused.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.paused"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The paused Subscription."}},"required":["subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.renewed":{"post":{"summary":"Subscription.renewed","description":"Delivered to a Watch whose selector matches Subscription.renewed.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.renewed"},"data":{"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/Invoice","description":"The Invoice for the new period."},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription in its new period."}},"required":["invoice","subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.resized":{"post":{"summary":"Subscription.resized","description":"Delivered to a Watch whose selector matches Subscription.resized.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.resized"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription at its new quantity."}},"required":["subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.resumed":{"post":{"summary":"Subscription.resumed","description":"Delivered to a Watch whose selector matches Subscription.resumed.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.resumed"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The active Subscription."}},"required":["subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.switched":{"post":{"summary":"Subscription.switched","description":"Delivered to a Watch whose selector matches Subscription.switched.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.switched"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription on its new Offer."}},"required":["subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Subscription.unsubscribed":{"post":{"summary":"Subscription.unsubscribed","description":"Delivered to a Watch whose selector matches Subscription.unsubscribed.","tags":["Subscription"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Subscription.unsubscribed"},"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription","description":"The Subscription, ending."}},"required":["subscription"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Supplier.created":{"post":{"summary":"Supplier.created","description":"Delivered to a Watch whose selector matches Supplier.created.","tags":["Supplier"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Supplier.created"},"data":{"type":"object","properties":{"supplier":{"$ref":"#/components/schemas/Supplier","description":"The Supplier."}},"required":["supplier"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Supplier.updated":{"post":{"summary":"Supplier.updated","description":"Delivered to a Watch whose selector matches Supplier.updated.","tags":["Supplier"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Supplier.updated"},"data":{"type":"object","properties":{"supplier":{"$ref":"#/components/schemas/Supplier","description":"The Supplier."}},"required":["supplier"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Supplier.deleted":{"post":{"summary":"Supplier.deleted","description":"Delivered to a Watch whose selector matches Supplier.deleted.","tags":["Supplier"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Supplier.deleted"},"data":{"type":"object","properties":{"supplier":{"$ref":"#/components/schemas/Supplier","description":"The Supplier."}},"required":["supplier"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Suppression.created":{"post":{"summary":"Suppression.created","description":"Delivered to a Watch whose selector matches Suppression.created.","tags":["Suppression"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Suppression.created"},"data":{"type":"object","properties":{"suppression":{"$ref":"#/components/schemas/Suppression","description":"The Suppression."}},"required":["suppression"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Survey.created":{"post":{"summary":"Survey.created","description":"Delivered to a Watch whose selector matches Survey.created.","tags":["Survey"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Survey.created"},"data":{"type":"object","properties":{"survey":{"$ref":"#/components/schemas/Survey","description":"The Survey."}},"required":["survey"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Survey.updated":{"post":{"summary":"Survey.updated","description":"Delivered to a Watch whose selector matches Survey.updated.","tags":["Survey"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Survey.updated"},"data":{"type":"object","properties":{"survey":{"$ref":"#/components/schemas/Survey","description":"The Survey."}},"required":["survey"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Survey.deleted":{"post":{"summary":"Survey.deleted","description":"Delivered to a Watch whose selector matches Survey.deleted.","tags":["Survey"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Survey.deleted"},"data":{"type":"object","properties":{"survey":{"$ref":"#/components/schemas/Survey","description":"The Survey."}},"required":["survey"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"System.created":{"post":{"summary":"System.created","description":"Delivered to a Watch whose selector matches System.created.","tags":["System"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"System.created"},"data":{"type":"object","properties":{"system":{"$ref":"#/components/schemas/System","description":"The System."}},"required":["system"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"System.updated":{"post":{"summary":"System.updated","description":"Delivered to a Watch whose selector matches System.updated.","tags":["System"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"System.updated"},"data":{"type":"object","properties":{"system":{"$ref":"#/components/schemas/System","description":"The System."}},"required":["system"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"System.deleted":{"post":{"summary":"System.deleted","description":"Delivered to a Watch whose selector matches System.deleted.","tags":["System"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"System.deleted"},"data":{"type":"object","properties":{"system":{"$ref":"#/components/schemas/System","description":"The System."}},"required":["system"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.created":{"post":{"summary":"Task.created","description":"Delivered to a Watch whose selector matches Task.created.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.created"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The Task."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.updated":{"post":{"summary":"Task.updated","description":"Delivered to a Watch whose selector matches Task.updated.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.updated"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The Task."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.deleted":{"post":{"summary":"Task.deleted","description":"Delivered to a Watch whose selector matches Task.deleted.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.deleted"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The Task."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.assigned":{"post":{"summary":"Task.assigned","description":"Delivered to a Watch whose selector matches Task.assigned.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.assigned"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The assigned Task."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.claimed":{"post":{"summary":"Task.claimed","description":"Delivered to a Watch whose selector matches Task.claimed.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.claimed"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The Task, assigned to the caller."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.completed":{"post":{"summary":"Task.completed","description":"Delivered to a Watch whose selector matches Task.completed.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.completed"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The completed Task."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.delegated":{"post":{"summary":"Task.delegated","description":"Delivered to a Watch whose selector matches Task.delegated.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.delegated"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The Task, held by the new Role."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.escalated":{"post":{"summary":"Task.escalated","description":"Delivered to a Watch whose selector matches Task.escalated.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.escalated"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The Task, assigned upward."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.offered":{"post":{"summary":"Task.offered","description":"Delivered to a Watch whose selector matches Task.offered.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.offered"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The Task to claim next; empty when the queue is drained."}}}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Task.returned":{"post":{"summary":"Task.returned","description":"Delivered to a Watch whose selector matches Task.returned.","tags":["Task"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Task.returned"},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/Task","description":"The Task, back with its sender."}},"required":["task"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Team.created":{"post":{"summary":"Team.created","description":"Delivered to a Watch whose selector matches Team.created.","tags":["Team"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Team.created"},"data":{"type":"object","properties":{"team":{"$ref":"#/components/schemas/Team","description":"The Team."}},"required":["team"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Team.updated":{"post":{"summary":"Team.updated","description":"Delivered to a Watch whose selector matches Team.updated.","tags":["Team"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Team.updated"},"data":{"type":"object","properties":{"team":{"$ref":"#/components/schemas/Team","description":"The Team."}},"required":["team"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Team.deleted":{"post":{"summary":"Team.deleted","description":"Delivered to a Watch whose selector matches Team.deleted.","tags":["Team"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Team.deleted"},"data":{"type":"object","properties":{"team":{"$ref":"#/components/schemas/Team","description":"The Team."}},"required":["team"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Template.created":{"post":{"summary":"Template.created","description":"Delivered to a Watch whose selector matches Template.created.","tags":["Template"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Template.created"},"data":{"type":"object","properties":{"template":{"$ref":"#/components/schemas/Template","description":"The Template."}},"required":["template"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Template.updated":{"post":{"summary":"Template.updated","description":"Delivered to a Watch whose selector matches Template.updated.","tags":["Template"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Template.updated"},"data":{"type":"object","properties":{"template":{"$ref":"#/components/schemas/Template","description":"The Template."}},"required":["template"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Template.deleted":{"post":{"summary":"Template.deleted","description":"Delivered to a Watch whose selector matches Template.deleted.","tags":["Template"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Template.deleted"},"data":{"type":"object","properties":{"template":{"$ref":"#/components/schemas/Template","description":"The Template."}},"required":["template"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Template.extended":{"post":{"summary":"Template.extended","description":"Delivered to a Watch whose selector matches Template.extended.","tags":["Template"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Template.extended"},"data":{"type":"object","properties":{"startup":{"$ref":"#/components/schemas/Startup","description":"The Startup with the Template among its bases."},"template":{"$ref":"#/components/schemas/Template","description":"The Template extended."}},"required":["startup","template"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Template.promoted":{"post":{"summary":"Template.promoted","description":"Delivered to a Watch whose selector matches Template.promoted.","tags":["Template"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Template.promoted"},"data":{"type":"object","properties":{"change":{"$ref":"#/components/schemas/Change","description":"The Change against the Template."},"template":{"$ref":"#/components/schemas/Template","description":"The Template that received the refinement."}},"required":["change","template"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Template.upgraded":{"post":{"summary":"Template.upgraded","description":"Delivered to a Watch whose selector matches Template.upgraded.","tags":["Template"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Template.upgraded"},"data":{"type":"object","properties":{"change":{"$ref":"#/components/schemas/Change","description":"The Change that moves the pin."},"template":{"$ref":"#/components/schemas/Template","description":"The Template upgraded to."}},"required":["change","template"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tenant.created":{"post":{"summary":"Tenant.created","description":"Delivered to a Watch whose selector matches Tenant.created.","tags":["Tenant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tenant.created"},"data":{"type":"object","properties":{"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant."}},"required":["tenant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tenant.updated":{"post":{"summary":"Tenant.updated","description":"Delivered to a Watch whose selector matches Tenant.updated.","tags":["Tenant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tenant.updated"},"data":{"type":"object","properties":{"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant."}},"required":["tenant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tenant.deleted":{"post":{"summary":"Tenant.deleted","description":"Delivered to a Watch whose selector matches Tenant.deleted.","tags":["Tenant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tenant.deleted"},"data":{"type":"object","properties":{"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant."}},"required":["tenant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tenant.invited":{"post":{"summary":"Tenant.invited","description":"Delivered to a Watch whose selector matches Tenant.invited.","tags":["Tenant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tenant.invited"},"data":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/Person","description":"The invited Person."},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant the Person was invited to."}},"required":["person","tenant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tenant.pinned":{"post":{"summary":"Tenant.pinned","description":"Delivered to a Watch whose selector matches Tenant.pinned.","tags":["Tenant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tenant.pinned"},"data":{"type":"object","properties":{"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant, answering at its new version."}},"required":["tenant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tenant.provisioned":{"post":{"summary":"Tenant.provisioned","description":"Delivered to a Watch whose selector matches Tenant.provisioned.","tags":["Tenant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tenant.provisioned"},"data":{"type":"object","properties":{"tenant":{"$ref":"#/components/schemas/Tenant","description":"The new Tenant."}},"required":["tenant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tenant.setupRequested":{"post":{"summary":"Tenant.setupRequested","description":"Delivered to a Watch whose selector matches Tenant.setupRequested.","tags":["Tenant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tenant.setupRequested"},"data":{"type":"object","properties":{"link":{"type":"string","format":"uri","description":"The single-use setup link, valid for 7 days."},"tenant":{"$ref":"#/components/schemas/Tenant","description":"The Tenant being set up."}},"required":["link","tenant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Theme.created":{"post":{"summary":"Theme.created","description":"Delivered to a Watch whose selector matches Theme.created.","tags":["Theme"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Theme.created"},"data":{"type":"object","properties":{"theme":{"$ref":"#/components/schemas/Theme","description":"The Theme."}},"required":["theme"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Theme.updated":{"post":{"summary":"Theme.updated","description":"Delivered to a Watch whose selector matches Theme.updated.","tags":["Theme"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Theme.updated"},"data":{"type":"object","properties":{"theme":{"$ref":"#/components/schemas/Theme","description":"The Theme."}},"required":["theme"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Theme.deleted":{"post":{"summary":"Theme.deleted","description":"Delivered to a Watch whose selector matches Theme.deleted.","tags":["Theme"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Theme.deleted"},"data":{"type":"object","properties":{"theme":{"$ref":"#/components/schemas/Theme","description":"The Theme."}},"required":["theme"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thing.created":{"post":{"summary":"Thing.created","description":"Delivered to a Watch whose selector matches Thing.created.","tags":["Thing"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thing.created"},"data":{"type":"object","properties":{"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing."}},"required":["thing"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thing.updated":{"post":{"summary":"Thing.updated","description":"Delivered to a Watch whose selector matches Thing.updated.","tags":["Thing"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thing.updated"},"data":{"type":"object","properties":{"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing."}},"required":["thing"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thing.deleted":{"post":{"summary":"Thing.deleted","description":"Delivered to a Watch whose selector matches Thing.deleted.","tags":["Thing"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thing.deleted"},"data":{"type":"object","properties":{"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing."}},"required":["thing"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thing.related":{"post":{"summary":"Thing.related","description":"Delivered to a Watch whose selector matches Thing.related.","tags":["Thing"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thing.related"},"data":{"type":"object","properties":{"relationship":{"$ref":"#/components/schemas/Relationship","description":"The Relationship, with its provenance."},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing the Relationship starts from."}},"required":["relationship","thing"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thing.resolved":{"post":{"summary":"Thing.resolved","description":"Delivered to a Watch whose selector matches Thing.resolved.","tags":["Thing"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thing.resolved"},"data":{"type":"object","properties":{"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing found or created; empty when held."},"decision":{"type":"string","description":"What happened: `found`, `created`, or `held` when two or more Things match.","enum":["found","created","held"]}},"required":["decision"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thing.shared":{"post":{"summary":"Thing.shared","description":"Delivered to a Watch whose selector matches Thing.shared.","tags":["Thing"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thing.shared"},"data":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/Permission","description":"The grant, scoped to the record and its contents."},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing shared."}},"required":["permission","thing"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thing.unrelated":{"post":{"summary":"Thing.unrelated","description":"Delivered to a Watch whose selector matches Thing.unrelated.","tags":["Thing"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thing.unrelated"},"data":{"type":"object","properties":{"relationship":{"$ref":"#/components/schemas/Relationship","description":"The ended Relationship."},"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing the Relationship started from."}},"required":["relationship","thing"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thread.created":{"post":{"summary":"Thread.created","description":"Delivered to a Watch whose selector matches Thread.created.","tags":["Thread"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thread.created"},"data":{"type":"object","properties":{"thread":{"$ref":"#/components/schemas/Thread","description":"The Thread."}},"required":["thread"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thread.updated":{"post":{"summary":"Thread.updated","description":"Delivered to a Watch whose selector matches Thread.updated.","tags":["Thread"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thread.updated"},"data":{"type":"object","properties":{"thread":{"$ref":"#/components/schemas/Thread","description":"The Thread."}},"required":["thread"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Thread.deleted":{"post":{"summary":"Thread.deleted","description":"Delivered to a Watch whose selector matches Thread.deleted.","tags":["Thread"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Thread.deleted"},"data":{"type":"object","properties":{"thread":{"$ref":"#/components/schemas/Thread","description":"The Thread."}},"required":["thread"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tool.created":{"post":{"summary":"Tool.created","description":"Delivered to a Watch whose selector matches Tool.created.","tags":["Tool"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tool.created"},"data":{"type":"object","properties":{"tool":{"$ref":"#/components/schemas/Tool","description":"The Tool."}},"required":["tool"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tool.updated":{"post":{"summary":"Tool.updated","description":"Delivered to a Watch whose selector matches Tool.updated.","tags":["Tool"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tool.updated"},"data":{"type":"object","properties":{"tool":{"$ref":"#/components/schemas/Tool","description":"The Tool."}},"required":["tool"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Tool.deleted":{"post":{"summary":"Tool.deleted","description":"Delivered to a Watch whose selector matches Tool.deleted.","tags":["Tool"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Tool.deleted"},"data":{"type":"object","properties":{"tool":{"$ref":"#/components/schemas/Tool","description":"The Tool."}},"required":["tool"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Transaction.attached":{"post":{"summary":"Transaction.attached","description":"Delivered to a Watch whose selector matches Transaction.attached.","tags":["Transaction"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Transaction.attached"},"data":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/Transaction","description":"The Transaction with its receipt."}},"required":["transaction"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Transaction.categorized":{"post":{"summary":"Transaction.categorized","description":"Delivered to a Watch whose selector matches Transaction.categorized.","tags":["Transaction"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Transaction.categorized"},"data":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/Transaction","description":"The coded Transaction."},"account":{"type":"string","description":"The account code it was coded to."},"confidence":{"type":"number","description":"How sure the code is, from 0 to 1."}},"required":["transaction","account","confidence"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Transaction.reconciled":{"post":{"summary":"Transaction.reconciled","description":"Delivered to a Watch whose selector matches Transaction.reconciled.","tags":["Transaction"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Transaction.reconciled"},"data":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/Transaction","description":"The reconciled Transaction."}},"required":["transaction"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Trigger.created":{"post":{"summary":"Trigger.created","description":"Delivered to a Watch whose selector matches Trigger.created.","tags":["Trigger"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Trigger.created"},"data":{"type":"object","properties":{"trigger":{"$ref":"#/components/schemas/Trigger","description":"The Trigger."}},"required":["trigger"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Trigger.updated":{"post":{"summary":"Trigger.updated","description":"Delivered to a Watch whose selector matches Trigger.updated.","tags":["Trigger"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Trigger.updated"},"data":{"type":"object","properties":{"trigger":{"$ref":"#/components/schemas/Trigger","description":"The Trigger."}},"required":["trigger"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Trigger.deleted":{"post":{"summary":"Trigger.deleted","description":"Delivered to a Watch whose selector matches Trigger.deleted.","tags":["Trigger"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Trigger.deleted"},"data":{"type":"object","properties":{"trigger":{"$ref":"#/components/schemas/Trigger","description":"The Trigger."}},"required":["trigger"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Variant.created":{"post":{"summary":"Variant.created","description":"Delivered to a Watch whose selector matches Variant.created.","tags":["Variant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Variant.created"},"data":{"type":"object","properties":{"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant."}},"required":["variant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Variant.updated":{"post":{"summary":"Variant.updated","description":"Delivered to a Watch whose selector matches Variant.updated.","tags":["Variant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Variant.updated"},"data":{"type":"object","properties":{"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant."}},"required":["variant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Variant.deleted":{"post":{"summary":"Variant.deleted","description":"Delivered to a Watch whose selector matches Variant.deleted.","tags":["Variant"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Variant.deleted"},"data":{"type":"object","properties":{"variant":{"$ref":"#/components/schemas/Variant","description":"The Variant."}},"required":["variant"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Verb.created":{"post":{"summary":"Verb.created","description":"Delivered to a Watch whose selector matches Verb.created.","tags":["Verb"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Verb.created"},"data":{"type":"object","properties":{"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb."}},"required":["verb"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Verb.updated":{"post":{"summary":"Verb.updated","description":"Delivered to a Watch whose selector matches Verb.updated.","tags":["Verb"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Verb.updated"},"data":{"type":"object","properties":{"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb."}},"required":["verb"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Verb.deleted":{"post":{"summary":"Verb.deleted","description":"Delivered to a Watch whose selector matches Verb.deleted.","tags":["Verb"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Verb.deleted"},"data":{"type":"object","properties":{"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb."}},"required":["verb"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Verb.retired":{"post":{"summary":"Verb.retired","description":"Delivered to a Watch whose selector matches Verb.retired.","tags":["Verb"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Verb.retired"},"data":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/Version","description":"The new Version, without the Verb."},"verb":{"$ref":"#/components/schemas/Verb","description":"The Verb, now retired from new Versions."}},"required":["version","verb"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Version.deployed":{"post":{"summary":"Version.deployed","description":"Delivered to a Watch whose selector matches Version.deployed.","tags":["Version"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Version.deployed"},"data":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/Version","description":"The Version, now live."}},"required":["version"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Video.created":{"post":{"summary":"Video.created","description":"Delivered to a Watch whose selector matches Video.created.","tags":["Video"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Video.created"},"data":{"type":"object","properties":{"video":{"$ref":"#/components/schemas/Video","description":"The Video."}},"required":["video"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Video.updated":{"post":{"summary":"Video.updated","description":"Delivered to a Watch whose selector matches Video.updated.","tags":["Video"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Video.updated"},"data":{"type":"object","properties":{"video":{"$ref":"#/components/schemas/Video","description":"The Video."}},"required":["video"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Video.drafted":{"post":{"summary":"Video.drafted","description":"Delivered to a Watch whose selector matches Video.drafted.","tags":["Video"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Video.drafted"},"data":{"type":"object","properties":{"video":{"$ref":"#/components/schemas/Video","description":"The drafted Video, in status `Draft`."}},"required":["video"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Video.finalized":{"post":{"summary":"Video.finalized","description":"Delivered to a Watch whose selector matches Video.finalized.","tags":["Video"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Video.finalized"},"data":{"type":"object","properties":{"video":{"$ref":"#/components/schemas/Video","description":"The Video, in status `Final`."}},"required":["video"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Visitor.created":{"post":{"summary":"Visitor.created","description":"Delivered to a Watch whose selector matches Visitor.created.","tags":["Visitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Visitor.created"},"data":{"type":"object","properties":{"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor."}},"required":["visitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Visitor.updated":{"post":{"summary":"Visitor.updated","description":"Delivered to a Watch whose selector matches Visitor.updated.","tags":["Visitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Visitor.updated"},"data":{"type":"object","properties":{"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor."}},"required":["visitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Visitor.deleted":{"post":{"summary":"Visitor.deleted","description":"Delivered to a Watch whose selector matches Visitor.deleted.","tags":["Visitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Visitor.deleted"},"data":{"type":"object","properties":{"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor."}},"required":["visitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Visitor.forgotten":{"post":{"summary":"Visitor.forgotten","description":"Delivered to a Watch whose selector matches Visitor.forgotten.","tags":["Visitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Visitor.forgotten"},"data":{"type":"object","properties":{"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor, masked."}},"required":["visitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Visitor.identified":{"post":{"summary":"Visitor.identified","description":"Delivered to a Watch whose selector matches Visitor.identified.","tags":["Visitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Visitor.identified"},"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact","description":"The Contact, with the Visitor’s Visits attached."},"visitor":{"$ref":"#/components/schemas/Visitor","description":"The Visitor, now joined to its Contact."}},"required":["contact","visitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Visitor.merged":{"post":{"summary":"Visitor.merged","description":"Delivered to a Watch whose selector matches Visitor.merged.","tags":["Visitor"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Visitor.merged"},"data":{"type":"object","properties":{"visitor":{"$ref":"#/components/schemas/Visitor","description":"The remaining Visitor."}},"required":["visitor"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Voice.updated":{"post":{"summary":"Voice.updated","description":"Delivered to a Watch whose selector matches Voice.updated.","tags":["Voice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Voice.updated"},"data":{"type":"object","properties":{"voice":{"$ref":"#/components/schemas/Voice","description":"The Voice."}},"required":["voice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Voice.cloned":{"post":{"summary":"Voice.cloned","description":"Delivered to a Watch whose selector matches Voice.cloned.","tags":["Voice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Voice.cloned"},"data":{"type":"object","properties":{"voice":{"$ref":"#/components/schemas/Voice","description":"The Voice, `training` until the upstream finishes."}},"required":["voice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Voice.retired":{"post":{"summary":"Voice.retired","description":"Delivered to a Watch whose selector matches Voice.retired.","tags":["Voice"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Voice.retired"},"data":{"type":"object","properties":{"voice":{"$ref":"#/components/schemas/Voice","description":"The Voice, now `retired`."}},"required":["voice"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Waitlist.created":{"post":{"summary":"Waitlist.created","description":"Delivered to a Watch whose selector matches Waitlist.created.","tags":["Waitlist"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Waitlist.created"},"data":{"type":"object","properties":{"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist."}},"required":["waitlist"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Waitlist.updated":{"post":{"summary":"Waitlist.updated","description":"Delivered to a Watch whose selector matches Waitlist.updated.","tags":["Waitlist"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Waitlist.updated"},"data":{"type":"object","properties":{"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist."}},"required":["waitlist"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Waitlist.deleted":{"post":{"summary":"Waitlist.deleted","description":"Delivered to a Watch whose selector matches Waitlist.deleted.","tags":["Waitlist"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Waitlist.deleted"},"data":{"type":"object","properties":{"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist."}},"required":["waitlist"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Waitlist.admitted":{"post":{"summary":"Waitlist.admitted","description":"Delivered to a Watch whose selector matches Waitlist.admitted.","tags":["Waitlist"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Waitlist.admitted"},"data":{"type":"object","properties":{"leads":{"type":"array","items":{"$ref":"#/components/schemas/Lead","description":"The admitted Leads."},"description":"The admitted Leads."},"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist after the admitted Leads left it."}},"required":["leads","waitlist"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Waitlist.joined":{"post":{"summary":"Waitlist.joined","description":"Delivered to a Watch whose selector matches Waitlist.joined.","tags":["Waitlist"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Waitlist.joined"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/Lead","description":"The waiting Lead."},"waitlist":{"$ref":"#/components/schemas/Waitlist","description":"The Waitlist joined."}},"required":["lead","waitlist"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Watch.created":{"post":{"summary":"Watch.created","description":"Delivered to a Watch whose selector matches Watch.created.","tags":["Watch"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Watch.created"},"data":{"type":"object","properties":{"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch."}},"required":["watch"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Watch.updated":{"post":{"summary":"Watch.updated","description":"Delivered to a Watch whose selector matches Watch.updated.","tags":["Watch"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Watch.updated"},"data":{"type":"object","properties":{"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch."}},"required":["watch"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Watch.deleted":{"post":{"summary":"Watch.deleted","description":"Delivered to a Watch whose selector matches Watch.deleted.","tags":["Watch"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Watch.deleted"},"data":{"type":"object","properties":{"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch."}},"required":["watch"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Watch.paused":{"post":{"summary":"Watch.paused","description":"Delivered to a Watch whose selector matches Watch.paused.","tags":["Watch"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Watch.paused"},"data":{"type":"object","properties":{"watch":{"$ref":"#/components/schemas/Watch","description":"The paused Watch."}},"required":["watch"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Watch.replayed":{"post":{"summary":"Watch.replayed","description":"Delivered to a Watch whose selector matches Watch.replayed.","tags":["Watch"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Watch.replayed"},"data":{"type":"object","properties":{"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch, replaying."}},"required":["watch"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Watch.resumed":{"post":{"summary":"Watch.resumed","description":"Delivered to a Watch whose selector matches Watch.resumed.","tags":["Watch"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Watch.resumed"},"data":{"type":"object","properties":{"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch, delivering again."}},"required":["watch"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Watch.rotated":{"post":{"summary":"Watch.rotated","description":"Delivered to a Watch whose selector matches Watch.rotated.","tags":["Watch"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Watch.rotated"},"data":{"type":"object","properties":{"watch":{"$ref":"#/components/schemas/Watch","description":"The Watch, signing with both secrets."}},"required":["watch"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Worker.created":{"post":{"summary":"Worker.created","description":"Delivered to a Watch whose selector matches Worker.created.","tags":["Worker"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Worker.created"},"data":{"type":"object","properties":{"worker":{"$ref":"#/components/schemas/Worker","description":"The Worker."}},"required":["worker"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Worker.updated":{"post":{"summary":"Worker.updated","description":"Delivered to a Watch whose selector matches Worker.updated.","tags":["Worker"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Worker.updated"},"data":{"type":"object","properties":{"worker":{"$ref":"#/components/schemas/Worker","description":"The Worker."}},"required":["worker"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Worker.deleted":{"post":{"summary":"Worker.deleted","description":"Delivered to a Watch whose selector matches Worker.deleted.","tags":["Worker"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Worker.deleted"},"data":{"type":"object","properties":{"worker":{"$ref":"#/components/schemas/Worker","description":"The Worker."}},"required":["worker"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Workflow.created":{"post":{"summary":"Workflow.created","description":"Delivered to a Watch whose selector matches Workflow.created.","tags":["Workflow"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Workflow.created"},"data":{"type":"object","properties":{"workflow":{"$ref":"#/components/schemas/Workflow","description":"The Workflow."}},"required":["workflow"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Workflow.updated":{"post":{"summary":"Workflow.updated","description":"Delivered to a Watch whose selector matches Workflow.updated.","tags":["Workflow"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Workflow.updated"},"data":{"type":"object","properties":{"workflow":{"$ref":"#/components/schemas/Workflow","description":"The Workflow."}},"required":["workflow"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Workflow.deleted":{"post":{"summary":"Workflow.deleted","description":"Delivered to a Watch whose selector matches Workflow.deleted.","tags":["Workflow"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Workflow.deleted"},"data":{"type":"object","properties":{"workflow":{"$ref":"#/components/schemas/Workflow","description":"The Workflow."}},"required":["workflow"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"A key, from STARTUP_BUILDER_API_KEY or startup-builder login."}},"schemas":{"AccessLevel":{"type":"object","description":"An Access Level is a named preset of Permissions a Worker holds in a namespace, such as owner or viewer; it is never a Role.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"AccessLevel"},"name":{"type":"string","description":"Its name, such as `owner`, `admin`, `member`, or `viewer`.","enum":["owner","admin","member","viewer"]},"grants":{"type":"array","items":{"type":"string","description":"The Permissions it presets: read, write or all Verbs, or named Verbs, on Nouns. The Permission id."},"description":"The Permissions it presets: read, write or all Verbs, or named Verbs, on Nouns."},"order":{"type":"integer","description":"Its rank: 1 holds the most access."}},"required":["$id","$type","name","grants"]},"Account":{"type":"object","description":"An Account is a ledger account in a Startup’s chart of accounts; a cash Account is held at one place, such as Treasury.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Account"},"class":{"type":"string","description":"One of `cash`, `asset`, `receivable`, `liability`, `equity`, `revenue`, or `expense`.","enum":["cash","asset","receivable","liability","equity","revenue","expense"]},"heldAt":{"type":"string","description":"One of `payments`, `cards`, `treasury`, `bank`, or `company` (a share of the holding Company’s cash): where a cash Account is held.","enum":["payments","cards","treasury","bank","company"]},"balance":{"$ref":"#/components/schemas/Money","description":"Computed on read from Entries; never stored."},"pending":{"$ref":"#/components/schemas/Money","description":"Computed: money on its way in that has not settled yet."},"payoutSchedule":{"type":"string","description":"One of `daily`, `weekly`, `monthly`, or `manual`: when the payments balance pays out.","enum":["daily","weekly","monthly","manual"]}},"required":["$id","$type","class"]},"Acquisition":{"type":"object","description":"An Acquisition is how a Visitor or Prospect first arrived, recorded on its first Event: the referrer kind, the Play, the campaign, and the medium.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Acquisition"},"kind":{"type":"string","description":"The referrer kind: one of `search`, `answer`, `agent`, `referral`, `ad`, `outbound`, or `direct`.","enum":["search","answer","agent","referral","ad","outbound","direct"]},"play":{"type":"string","description":"The Play that produced the first touch, when one did. The Play id."},"venue":{"type":"string","description":"The venue id where the touch happened, such as a search engine, an answer engine, or a Mailbox."},"campaign":{"type":"string","description":"The Campaign behind a paid placement or a scheduled send. The Campaign id."},"ad":{"type":"string","description":"The Ad clicked, for a paid or house placement. The Ad id."},"page":{"type":"string","description":"The first Page the Visitor saw. The Page id."},"keyword":{"type":"string","description":"The Keyword or prompt, when the venue reports it. The Keyword id."},"angle":{"type":"string","description":"The angle the first touch carried: the message the Play ran."},"referrer":{"type":"string","description":"The linking host, as the request reported it."},"partner":{"type":"string","description":"The Partner or creator credited, for referral, creator and commission Plays. The Partner id."},"reported":{"type":"string","description":"What the person answered when asked how they heard, kept word for word."},"at":{"type":"string","format":"date-time","description":"When the first Event arrived."}},"required":["$id","$type","kind","at"]},"Action":{"type":"object","properties":{"$id":{"type":"string","format":"uri"},"operation":{"type":"string","description":"The operation, as Noun.verb."},"status":{"type":"string","enum":["pending","done","failed","canceled","refused"]},"reason":{"type":"string","enum":["queued","running","retrying","awaitingWorker","awaitingInput","awaitingSource","awaitingAction","awaitingTime"],"description":"Why a pending Action waits."}},"required":["$id","operation","status"]},"Ad":{"type":"object","description":"An Ad is one paid or house placement promoting an Offer to an Audience, in a format such as search, display, or video.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Ad"},"format":{"type":"string","description":"One of `search`, `display`, `image`, or `video`.","enum":["search","display","image","video"]},"spend":{"$ref":"#/components/schemas/Money","description":"What it has cost so far."}},"required":["$id","$type","format"]},"Agent":{"type":"object","description":"An Agent is a digital worker with instructions, tools, and a model that performs Verbs for a Startup.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Agent"},"instructions":{"type":"string","description":"What the Agent does and how."},"model":{"type":"string","description":"The model the Agent runs on."},"tools":{"type":"array","items":{"type":"string","description":"The tools the Agent may call."},"description":"The tools the Agent may call."},"skills":{"type":"array","items":{"type":"string","description":"The Skills it loads. The Skill id."},"description":"The Skills it loads."},"memory":{"type":"string","description":"One of `tenant` (one Memory per Customer Tenant) or `startup` (one Memory for the Startup).","enum":["tenant","startup"]},"maxSteps":{"type":"integer","description":"The most steps one Task may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Task may spend; the Mandate’s Limits apply as well."},"handoffs":{"type":"array","items":{"type":"string","description":"The Roles it hands work to. The Role id."},"description":"The Roles it hands work to."},"status":{"type":"string","description":"One of `standby`, `seated`, `paused` or `retired`: whether it fills a Role and is working.","enum":["standby","seated","paused","retired"]}},"required":["$id","$type","instructions","model","status"]},"Agreement":{"type":"object","description":"An Agreement is a contract between two or more Parties, with its term, liability, and economics, that travels with the Startup.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Agreement"},"term":{"type":"string","description":"How long it runs and how it ends."},"signedAt":{"type":"string","format":"date-time","description":"When the last Party signed."},"terminatedAt":{"type":"string","format":"date-time","description":"When it ended under its term; it stays on record."},"payoutSchedule":{"type":"string","description":"For a Supplier’s Agreement: how often the released earned balance pays out.","enum":["daily","weekly","monthly"]},"clearanceDays":{"type":"integer","description":"For a Supplier’s Agreement: days an Order’s earnings wait after confirmation before they can pay out."},"status":{"type":"string","description":"One of `draft`, `signed` or `terminated`.","enum":["draft","signed","terminated"]}},"required":["$id","$type","status"]},"APIKey":{"type":"object","description":"An API Key is a secret a Startup issues to one Customer, which signs that Customer’s calls to its API, SDK, CLI and MCP server.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"APIKey"},"name":{"type":"string","description":"What the Customer calls it, so a list of keys reads by purpose."},"environment":{"type":"string","description":"One of `test` or `live`: a `test` key reaches test records and moves no money.","enum":["test","live"]},"verbs":{"type":"array","items":{"type":"string","description":"The Verbs it may call. Unset: every Verb the Customer’s Entitlements grant. The Verb id."},"description":"The Verbs it may call. Unset: every Verb the Customer’s Entitlements grant."},"prefix":{"type":"string","description":"The first characters of the secret, shown in place of it everywhere after issue."},"lastUsedAt":{"type":"string","format":"date-time","description":"When it last signed a call."},"expiresAt":{"type":"string","format":"date-time","description":"When it stops working on its own. Unset: it works until rolled or revoked."},"revokedAt":{"type":"string","format":"date-time","description":"When it was revoked. A revoked key fails its next call."}},"required":["$id","$type","name","environment"]},"App":{"type":"object","description":"An App is an Interface where people work with a Product’s Nouns and Verbs through screens, backed by its API.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"App"},"kind":{"type":"string","description":"One of `api`, `mcp`, `cli`, `sdk`, `site`, `app`, `docs`, or `webhooks`.","enum":["api","mcp","cli","sdk","site","app","docs","webhooks"]},"path":{"type":"string","description":"Where it is mounted on its Domain, such as `/api`."},"conformsTo":{"description":"The Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs."},"personas":{"type":"array","items":{"type":"string","description":"The Personas it serves. The Persona id."},"description":"The Personas it serves."},"views":{"type":"array","items":{"type":"string","description":"Its Dashboards, compiled by default from the Persona’s Role: a list and record per Noun, a form per Verb. The Dashboard id."},"description":"Its Dashboards, compiled by default from the Persona’s Role: a list and record per Noun, a form per Verb."},"slots":{"description":"Named places where a Component replaces a default part, such as a record header or the ask control."}},"required":["$id","$type","kind"]},"Approval":{"type":"object","description":"An Approval is a Task to allow or refuse one pending Action that exceeds a Limit or a Mandate.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Approval"},"status":{"type":"string","description":"One of `pending`, `done`, `failed`, `canceled`, or `refused`.","enum":["pending","done","failed","canceled","refused"]},"reason":{"type":"string","description":"Why a pending Action waits: `queued`, `running`, `retrying`, `awaitingWorker`, `awaitingInput`, `awaitingSource`, `awaitingAction`, or `awaitingTime`.","enum":["queued","running","retrying","awaitingWorker","awaitingInput","awaitingSource","awaitingAction","awaitingTime"]},"mode":{"type":"string","description":"How the caller invoked it: `try`, `send`, or `do`.","enum":["try","send","do"]},"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"verdict":{"type":"string","description":"One of `allowed` or `refused`.","enum":["allowed","refused"]},"deadline":{"type":"string","format":"date-time","description":"When an unanswered Approval cancels the Action."}},"required":["$id","$type","status","mode"]},"Attestation":{"type":"object","description":"An Attestation is the signed, frozen act by which a credentialed Worker performs or declines a Reserved Act.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Attestation"},"outcome":{"type":"string","description":"One of `performed` or `declined`.","enum":["performed","declined"]},"signedAt":{"type":"string","format":"date-time","description":"When the Worker signed it."}},"required":["$id","$type","outcome","signedAt"]},"Audience":{"type":"object","description":"An Audience is a saved query over Visitors, Leads, Prospects, or Customers, used to target Ads and Messages.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Audience"},"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"state":{"type":"string","description":"The current state in its lifecycle."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."},"size":{"type":"integer","description":"How many people match."}},"required":["$id","$type","id","type"]},"Audit":{"type":"object","description":"An Audit is one engagement with an outside firm: the namespaces in scope, the Criteria, the report period, and the firm’s Attestation.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Audit"},"firm":{"type":"string","description":"The licensed firm that performs the engagement. The Organization id."},"criteria":{"type":"array","items":{"type":"string","description":"The Criteria in scope. The Criterion id."},"description":"The Criteria in scope."},"type":{"type":"string","description":"One of `type1` (one date) or `type2` (a range)."},"from":{"type":"string","format":"date-time","description":"The first day of the report period; never before the namespace’s first Event."},"to":{"type":"string","format":"date-time","description":"The last day of the report period."},"seed":{"type":"string","description":"The sampling seed, committed before the period ends."},"attestation":{"type":"string","description":"The firm’s signed opinion. The Attestation id."}},"required":["$id","$type","firm","criteria","type","from","to","seed"]},"Bill":{"type":"object","description":"A Bill is an amount a Startup owes an outside Organization, coded to an account, approved within a Mandate, and paid by its due date.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Bill"},"organization":{"type":"string","description":"The Organization the Startup owes. The Organization id."},"amount":{"$ref":"#/components/schemas/Money","description":"What the Bill asks for, in its currency."},"dueOn":{"type":"string","format":"date","description":"The date payment is due; an approved Bill is paid on it."},"account":{"type":"string","description":"The chart-of-accounts code it is coded to, such as `expense.hosting`."},"status":{"type":"string","description":"Where the Bill stands; only an `approved` Bill is paid.","enum":["received","approved","paid"]},"file":{"type":"string","description":"The File the Bill arrived as: an email attachment or an upload. The File id."}},"required":["$id","$type","organization","amount","dueOn","status"]},"Brand":{"type":"object","description":"A Brand is a name, a voice, a logo, and a style under which a Startup makes Offers.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Brand"},"name":{"type":"string","description":"The name customers see."},"voice":{"type":"string","description":"How the Brand writes and speaks."},"logo":{"type":"string","format":"uri","description":"The logo image."}},"required":["$id","$type","name"]},"Budget":{"type":"object","description":"A Budget is the amount a Startup plans to spend or earn on one account in one Period, read against actual Entries.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Budget"},"account":{"type":"string","description":"The chart-of-accounts code it plans, such as `expense.ads`."},"period":{"type":"string","description":"The Period it plans. The Period id."},"amount":{"$ref":"#/components/schemas/Money","description":"The amount set for the account in the Period."},"actual":{"$ref":"#/components/schemas/Money","description":"What the Entries in the Period add up to so far."}},"required":["$id","$type","account","period","amount"]},"Builder":{"type":"object","description":"A Builder is a named part of api.sb that builds one side of a Startup; StartupBuilder directs SiteBuilder, SoftwareBuilder, ServiceBuilder, and SalesBuilder.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Builder"},"name":{"type":"string","description":"One of `StartupBuilder`, `SiteBuilder`, `SoftwareBuilder`, `ServiceBuilder`, or `SalesBuilder`.","enum":["StartupBuilder","SiteBuilder","SoftwareBuilder","ServiceBuilder","SalesBuilder"]}},"required":["$id","$type","name"]},"Campaign":{"type":"object","description":"A Campaign is a bounded effort toward a Goal, with a budget, a window, and the Ads or Messages it sends to Audiences.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Campaign"},"budget":{"$ref":"#/components/schemas/Money","description":"What it may spend."},"startsAt":{"type":"string","format":"date-time","description":"When it starts."},"endsAt":{"type":"string","format":"date-time","description":"When it ends."}},"required":["$id","$type"]},"Candidate":{"type":"object","description":"A Candidate is a Person under consideration for an Opening, with the graded Evidence for and against them.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Candidate"},"opening":{"type":"string","description":"The Opening the Person is considered for. The Opening id."},"person":{"type":"string","description":"The Person, whose record crosses Startups only with Consent. The Person id."},"source":{"type":"string","description":"One of `pool`, `prospecting`, `listing`, or `referral`.","enum":["pool","prospecting","listing","referral"]},"state":{"type":"string","description":"One of `screening`, `tryout`, `proposed`, `hired`, or `declined`.","enum":["screening","tryout","proposed","hired","declined"]},"delta":{"description":"The per-Verb difference between the Candidate and the incumbent Agent in the tryout."}},"required":["$id","$type","opening","person","source","state"]},"Capability":{"type":"object","description":"A Capability is a named set of Verbs on one Noun family that every Startup reaches through api.sb with one key, metered, limited, and logged.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Capability"},"name":{"type":"string","description":"The name, such as `Workflows` or `Search`."},"nouns":{"type":"array","items":{"type":"string","description":"The Nouns it exposes, each with its Verbs. The Noun id."},"description":"The Nouns it exposes, each with its Verbs."},"modes":{"description":"The Mode each Verb accepts; a stateless Verb is `try` only."},"upstream":{"type":"string","description":"Who performs it behind api.sb, held as data and swappable without a caller noticing."}},"required":["$id","$type","name","nouns"]},"CapitalCall":{"type":"object","description":"A Capital Call is a Fund’s notice drawing part of every Capital Commitment pro rata, due by a date.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"CapitalCall"},"amount":{"$ref":"#/components/schemas/Money","description":"The total drawn across all investors."},"dueOn":{"type":"string","format":"date","description":"When each investor’s share is due."},"purpose":{"type":"string","description":"What the drawn capital pays for, such as an investment or fees."}},"required":["$id","$type","amount","dueOn"]},"CapitalCommitment":{"type":"object","description":"A Capital Commitment is an investor’s signed promise to fund a Fund up to an amount, drawn down by Capital Calls.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"CapitalCommitment"},"investor":{"type":"string","description":"The investor who commits. The Party id."},"amount":{"$ref":"#/components/schemas/Money","description":"The most the investor funds."},"called":{"$ref":"#/components/schemas/Money","description":"How much Capital Calls have drawn so far."},"acceptedAt":{"type":"string","format":"date-time","description":"When the Studio countersigned it."}},"required":["$id","$type","investor","amount"]},"Card":{"type":"object","description":"A Card is a payment credential a Startup issues to one Worker under one Mandate, with controls compiled from that Mandate.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Card"},"form":{"type":"string","description":"`singleUse` pays one Task and closes; `merchant` pays one merchant until the Mandate ends; `physical` is for a Human only.","enum":["singleUse","merchant","physical"]},"status":{"type":"string","description":"Follows its Mandate: frozen while the Mandate is paused, closed once it is revoked or a single-use Card has paid.","enum":["active","frozen","closed"]},"merchants":{"type":"array","items":{"type":"string","description":"The merchants or merchant categories it may pay, compiled from the Mandate."},"description":"The merchants or merchant categories it may pay, compiled from the Mandate."},"limit":{"type":"string","description":"The amount per charge and per period; every interval is set, so the rail’s default never decides. The Limit id."},"task":{"type":"string","description":"For a `singleUse` Card: the Task it pays for, which also holds the receipt. The Task id."},"last4":{"type":"string","description":"The last four digits; the full number never leaves the rail."}},"required":["$id","$type","form","status","limit"]},"Change":{"type":"object","description":"A Change is a proposed set of writes to definitions, previewed on its own branch, checked, approved, and merged as one unit.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Change"},"status":{"type":"string","description":"One of `Open`, `Reviewing`, `Merged`, or `Closed`.","enum":["Open","Reviewing","Merged","Closed"]},"base":{"type":"string","description":"The Version it was drafted against. The Version id."},"tier":{"type":"integer","description":"Launch tier from the merged diff: 3 fixes, 2 adds a Verb or Entitlement, 1 adds a Product or Offer."}},"required":["$id","$type","status","base"]},"Channel":{"type":"object","description":"A Channel is a place Messages flow, such as a chat channel, a Mailbox, or an SMS number.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Channel"},"medium":{"type":"string","description":"The platform type, such as `email`, `sms`, or `chat`.","enum":["email","sms","chat"]},"organization":{"type":"string","description":"The outside Organization the Channel is shared with; its new Messages open Conversations for that Customer. The Organization id."},"external":{"type":"boolean","description":"True when people from another Organization post in it, as in a channel two companies share."},"areaCode":{"type":"string","description":"For an `sms` Channel, the phone area code its number is drawn from, such as `512`."},"number":{"type":"string","description":"For an `sms` Channel, its phone number in international form, assigned when it is created."}},"required":["$id","$type","medium"]},"Cohort":{"type":"object","description":"A Cohort is a set of Startups that receives one Version of a shared definition, or one step of a Play, at the same time.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Cohort"},"query":{"description":"The Portfolio query that selects its Startups."},"control":{"type":"boolean","description":"True when the Cohort stays on the prior Version as the control."}},"required":["$id","$type","query"]},"Collection":{"type":"object","description":"A Collection is a Thing with members, either listed one by one or defined by a saved query.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Collection"},"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"state":{"type":"string","description":"The current state in its lifecycle."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."}},"required":["$id","$type","id","type"]},"Comment":{"type":"object","description":"A Comment is an internal note by a Worker about a Thing, never sent to a Contact.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Comment"},"body":{"type":"string","description":"What it says."}},"required":["$id","$type","body"]},"Commission":{"type":"object","description":"A Commission is what a Partner earns on the collected revenue its Referral brings, at a rate over a term, paid after a clawback window.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Commission"},"rate":{"type":"number","description":"The share of collected revenue earned, as a percent, such as 20."},"term":{"type":"integer","description":"Months after the first payment over which revenue earns the rate, such as 12."},"clawbackDays":{"type":"integer","description":"Days a payment waits before it earns, so a refund inside the window earns nothing."},"earned":{"$ref":"#/components/schemas/Money","description":"Collected revenue net of refunds, times the rate, for payments past the clawback window."},"paid":{"$ref":"#/components/schemas/Money","description":"What has reached the Partner so far."}},"required":["$id","$type","rate","term","clawbackDays"]},"Company":{"type":"object","description":"A Company is a legal entity that holds Startups, signs Agreements, and owns equity, authority, and profit rights.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Company"},"name":{"type":"string","description":"The legal or personal name."},"legalName":{"type":"string","description":"The registered name."},"jurisdiction":{"type":"string","description":"Where it is incorporated."},"status":{"type":"string","description":"One of `forming`, `incorporated` or `dissolved`.","enum":["forming","incorporated","dissolved"]}},"required":["$id","$type","name","legalName","jurisdiction","status"]},"Component":{"type":"object","description":"A Component is a named block of a Page, such as a hero, a pricing table, or a form, filled from records through typed props.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Component"},"name":{"type":"string","description":"The name a Template places it by, such as `Pricing`."},"props":{"description":"The schema of the props it accepts."},"region":{"type":"string","description":"Where it sits: `header`, `section`, `footer`, or `notice`.","enum":["header","section","footer","notice"]},"interactive":{"type":"boolean","description":"True when it runs code in the browser; it still renders a static still without it."}},"required":["$id","$type","name","props"]},"Consent":{"type":"object","description":"A Consent is a person’s grant for one Purpose, with its basis, region, notice, evidence, and expiry.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Consent"},"basis":{"type":"string","description":"The lawful basis, such as consent or contract."},"region":{"type":"string","description":"The jurisdiction whose rules apply."},"withdrawnAt":{"type":"string","format":"date-time","description":"When the person withdrew it."}},"required":["$id","$type","basis"]},"Contact":{"type":"object","description":"A Contact is a person or Agent a Startup knows by at least one address, where Consent to message them is recorded.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Contact"},"email":{"type":"string","format":"email","description":"The primary email address."},"phone":{"type":"string","description":"The primary phone number."},"name":{"type":"string","description":"The name the Contact goes by."}},"required":["$id","$type"]},"Content":{"type":"object","description":"Content is authored material with a draft and a published state, such as a post, an article, or a changelog entry.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Content"},"title":{"type":"string","description":"The headline."},"publishedAt":{"type":"string","format":"date-time","description":"When it went live."},"kind":{"type":"string","description":"What the Content is, so each System reads its own kind.","enum":["article","doc","changelogEntry","reply","newsletter","legal"]}},"required":["$id","$type","title"]},"Control":{"type":"object","description":"A Control is a rule the platform enforces on every write it covers, with a test that runs over the whole population.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Control"},"objective":{"type":"string","description":"What the Control prevents or detects, in one sentence."},"kind":{"type":"string","description":"One of `preventive` (stops the failure) or `detective` (finds it)."},"inheritance":{"type":"string","description":"One of `inherited`, `shared`, or `owned`, resolved per namespace from the platform down.","enum":["inherited","shared","owned"]},"criteria":{"type":"array","items":{"type":"string","description":"The framework Criteria the Control satisfies. The Criterion id."},"description":"The framework Criteria the Control satisfies."},"test":{"description":"An Event selector and the assertion every selected Event must pass."},"wakes":{"type":"string","description":"The conditions that add the Control to a Startup’s own floor, such as a first Human Worker."}},"required":["$id","$type","objective","kind","inheritance","criteria","test"]},"Conversation":{"type":"object","description":"A Conversation is a Thread with one or more Contacts that a Worker must answer, such as a support request.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Conversation"},"subject":{"type":"string","description":"What the Thread is about."},"answeredAt":{"type":"string","format":"date-time","description":"When a Worker last answered."},"firstAnsweredAt":{"type":"string","format":"date-time","description":"When a Worker first answered; set once, never overwritten. `answeredAt` keeps the last answer."},"respondBy":{"type":"string","format":"date-time","description":"When the first answer is due: Setting `support.firstResponseWithin` per Offer, default 4 business hours."},"status":{"type":"string","description":"Open, waiting on the Customer, or resolved; computed from its answers, closes and reopens.","enum":["open","waiting","resolved"]},"resolvedAt":{"type":"string","format":"date-time","description":"When it was resolved; empty again when the resolution reverses."},"resolution":{"type":"string","description":"How it was resolved: the Customer said so, or 72 hours passed after an answer with no reply.","enum":["confirmed","assumed"]}},"required":["$id","$type"]},"Cost":{"type":"object","description":"A Cost is an Entry against a cost account that an Action causes, posted to the Startup the Action ran in.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Cost"},"account":{"type":"string","description":"The code of the account in the chart of accounts, such as revenue or cash."},"amount":{"$ref":"#/components/schemas/Money","description":"The amount and currency."},"direction":{"type":"string","description":"One of `debit` or `credit`.","enum":["debit","credit"]},"counterparty":{"type":"string","description":"The sibling Startup on the other side of an intercompany Entry; empty for outside parties. The Startup id."},"action":{"type":"string","description":"The Action that caused it. The Action id."},"startup":{"type":"string","description":"The Startup it is posted to. The Startup id."},"kind":{"type":"string","description":"One of `model`, `upstream`, `human`, `platform` or `shared`.","enum":["model","upstream","human","platform","shared"]},"allocation":{"type":"string","description":"For shared Cost, the stated rule that splits it across Startups."},"attempt":{"type":"integer","description":"Which outside attempt this Cost paid for when one call tried several upstreams in rank."},"overrun":{"$ref":"#/components/schemas/Money","description":"How far the settled amount exceeded the Action’s reservation; an overrun past a Limit opens an Approval."}},"required":["$id","$type","account","amount","direction","action","startup","kind"]},"Coupon":{"type":"object","description":"A Coupon is a discount on Offers, by amount or percent, for one charge, several months or every charge, limited by date and redemptions.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Coupon"},"percentOff":{"type":"number","description":"The percent taken off each charge it applies to; set this or `amountOff`."},"amountOff":{"$ref":"#/components/schemas/Money","description":"The fixed amount taken off each charge it applies to."},"duration":{"type":"string","description":"How long it applies: `once`, `repeating` for `months`, or `forever`.","enum":["once","repeating","forever"]},"months":{"type":"integer","description":"How many months a `repeating` Coupon applies."},"code":{"type":"string","description":"The promotion code a buyer types at checkout, when the Coupon has one."},"redeemBy":{"type":"string","format":"date-time","description":"The last moment it can be redeemed."},"maxRedemptions":{"type":"integer","description":"How many times it can be redeemed across all Customers."}},"required":["$id","$type","duration"]},"Credential":{"type":"object","description":"A Credential is a standing authority a regulator grants a person or entity to perform certain acts in a jurisdiction.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Credential"},"issuer":{"type":"string","description":"The regulator or registry that grants it."},"jurisdiction":{"type":"string","description":"Where it applies."},"standing":{"type":"string","description":"Whether it is in good standing, read fresh on every use."}},"required":["$id","$type","issuer","jurisdiction"]},"CreditGrant":{"type":"object","description":"A Credit Grant is a prepaid or promotional balance a Customer spends on a Startup’s metered Offers, checked before each call.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"CreditGrant"},"amount":{"$ref":"#/components/schemas/Money","description":"The balance granted."},"category":{"type":"string","description":"`paid` (bought through an Order, deferred revenue until spent) or `promotional` (given; never cash).","enum":["paid","promotional"]},"priority":{"type":"integer","description":"Order of use when several grants apply: a lower number spends first, then the earliest expiry."},"expiresAt":{"type":"string","format":"date-time","description":"When any remaining balance lapses. Absent means it never lapses."},"appliesTo":{"type":"string","description":"The metered Offer the balance pays for. Absent means every metered Offer of the Startup. The Offer id."},"remaining":{"$ref":"#/components/schemas/Money","description":"The unspent balance, debited once after each metered call and checked as a Limit before the next."}},"required":["$id","$type","amount","category"]},"Criterion":{"type":"object","description":"A Criterion is one requirement of an outside framework, such as SOC 2 or GDPR, that one or more Controls satisfy.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Criterion"},"framework":{"type":"string","description":"One of `soc2`, `iso27001`, `hipaa`, or `gdpr`.","enum":["soc2","iso27001","hipaa","gdpr"]},"ref":{"type":"string","description":"The framework’s own reference, such as `CC8.1`."},"text":{"type":"string","description":"The requirement, paraphrased."}},"required":["$id","$type","framework","ref","text"]},"Customer":{"type":"object","description":"A Customer is a party that has accepted an Offer from a Startup at any price, including zero.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Customer"},"since":{"type":"string","format":"date-time","description":"When the party first accepted an Offer."},"outside":{"type":"boolean","description":"Computed: true when it shares no owner, account, or sibling chain with the Startup."},"status":{"type":"string","description":"One of `trialing`, `activated`, `atRisk`, `churned`, or `wonBack`, computed from Events and never set by hand; `atRisk` reads customer health.","enum":["trialing","activated","atRisk","churned","wonBack"]},"billingEmail":{"type":"string","format":"email","description":"Where Invoices and receipts go, when it differs from the sign-in email."},"billingAddress":{"type":"string","description":"The address printed on new Invoices; Stripe Tax reads it to compute tax."},"taxIds":{"type":"array","items":{"type":"string","description":"The Customer’s tax ids, such as a VAT number, printed on new Invoices and read by Stripe Tax."},"description":"The Customer’s tax ids, such as a VAT number, printed on new Invoices and read by Stripe Tax."},"creditRecharge":{"description":"When unspent credit falls below `below`, buy `amount` of the credit Offer with the default Payment Source."}},"required":["$id","$type","since"]},"Dashboard":{"type":"object","description":"A Dashboard is one unified view of a scope, rendered as Markdown for Agents, screens for Humans, and JSON for native clients.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Dashboard"},"scope":{"type":"string","description":"What it views, such as a Studio, a Startup, a Team, or a Role."}},"required":["$id","$type","scope"]},"Dataset":{"type":"object","description":"A Dataset is a Product of curated Things of one Noun, with a promise that they are true.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Dataset"},"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"status":{"type":"string","description":"One of `draft`, `selling` or `retired`, set by its Offers.","enum":["draft","selling","retired"]},"records":{"type":"integer","description":"How many Things it holds."},"refreshedAt":{"type":"string","format":"date-time","description":"When its Sources were last read."}},"required":["$id","$type","name","promise","status"]},"Deal":{"type":"object","description":"A Deal is a Startup’s pursuit of one buyer’s acceptance of one or more Offers, ending won or lost.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Deal"},"status":{"type":"string","description":"One of `Open`, `Qualified`, `Proposed`, `Won`, or `Lost`.","enum":["Open","Qualified","Proposed","Won","Lost"]},"value":{"$ref":"#/components/schemas/Money","description":"What the Deal is worth if won."},"owner":{"type":"string","description":"The Worker who runs it. The Worker id."},"closesOn":{"type":"string","format":"date","description":"The date the buyer expects to decide."},"statusSince":{"type":"string","format":"date-time","description":"When it entered its current status, computed from its Events."},"nextStep":{"type":"string","description":"The next dated step agreed with the buyer."}},"required":["$id","$type","status"]},"Decision":{"type":"object","description":"A Decision is the immutable record of a choice: its options, the choice, the reason, who decided, and the stakes.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Decision"},"choice":{"type":"string","description":"What was chosen."},"reason":{"type":"string","description":"Why it was chosen."},"stakes":{"type":"string","description":"One of `low`, `medium`, or `high`, which sets the delay window.","enum":["low","medium","high"]}},"required":["$id","$type","choice","reason"]},"DemandBudget":{"type":"object","description":"A Demand Budget is the money a founder commits each month to demand Plays, recorded as a Decision with a target and a stop rule.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"DemandBudget"},"amount":{"$ref":"#/components/schemas/Money","description":"The monthly spend it funds; zero is the default."},"tier":{"type":"string","description":"One of `$0`, `$100`, `$1k`, `$10k` or `$100k`: the highest tier at or below the amount, whose Play mix it buys.","enum":["$0","$100","$1k","$10k","$100k"]},"target":{"type":"string","description":"The Metric value the spend must reach, such as cost per first Order under $40."},"stopRule":{"type":"string","description":"The reading that closes the budget, such as acquisition cost above margin for two weeks."},"until":{"type":"string","format":"date","description":"The last day the budget runs before its Decision is read."},"status":{"type":"string","description":"One of `Open`, `Stopped` or `Closed`. A closed budget is kept with its Evidence.","enum":["Open","Stopped","Closed"]}},"required":["$id","$type","amount","tier","target","stopRule","status"]},"Dispute":{"type":"object","description":"A Dispute is a contested payment or delivery, such as a chargeback, a rejected Service outcome, or a buyer’s claim against a Supplier.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Dispute"},"kind":{"type":"string","description":"One of `chargeback`, `outcome`, or `marketplace`.","enum":["chargeback","outcome","marketplace"]},"status":{"type":"string","description":"One of `open`, `answered`, `decided`, `appealed`, or `closed`.","enum":["open","answered","decided","appealed","closed"]},"held":{"$ref":"#/components/schemas/Money","description":"The amount held from the seller until the Dispute closes."},"reason":{"type":"string","description":"What the buyer says fell short, in their words."},"answerBy":{"type":"string","format":"date-time","description":"When the seller’s answer is due; a missed deadline decides for the buyer."},"decision":{"type":"string","description":"One of `buyer`, `seller`, or `split`, with the amounts each side keeps.","enum":["buyer","seller","split"]},"decidedBy":{"type":"string","description":"`issuer` (the cardholder’s bank) for a `chargeback`; `worker`, uninvolved in the Order, for an `outcome` or `marketplace` Dispute.","enum":["issuer","worker"]},"fee":{"$ref":"#/components/schemas/Money","description":"The card network’s fee on a `chargeback`, debited with the held amount when it opens."}},"required":["$id","$type","kind","status","held","reason","decidedBy"]},"DNSRecord":{"type":"object","description":"A DNS Record is one DNS answer of a Domain: its type, name and value, who owns it, and what the world last answered.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"DNSRecord"},"type":{"type":"string","description":"The record type, written in lowercase.","enum":["a","aaaa","cname","mx","txt","caa","srv","ns"]},"name":{"type":"string","description":"The label under the Domain, such as `@`, `www` or `_dmarc`.","enum":["@","www","_dmarc"]},"value":{"type":"string","description":"The declared answer."},"owner":{"type":"string","description":"`platform` records serve the Site, authenticate mail and validate certificates, and refuse edits; `startup` records change freely.","enum":["platform","startup"]},"observed":{"type":"string","description":"What public DNS answered at the last daily check."},"status":{"type":"string","description":"`dangling` means the target no longer answers, the opening for a subdomain takeover; `removed` means it no longer answers at all.","enum":["missing","ok","drifted","dangling","removed"]}},"required":["$id","$type","type","name","value","owner"]},"Document":{"type":"object","description":"A Document is structured, versioned material in one of three forms, a document, a deck, or a sheet, rendered to any format.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Document"},"form":{"type":"string","description":"One of `document`, `deck`, or `sheet`.","enum":["document","deck","sheet"]}},"required":["$id","$type","form"]},"Domain":{"type":"object","description":"A Domain is a hostname that points at a Thing, with a role, a status, and a lifecycle tracked as data.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Domain"},"hostname":{"type":"string","description":"The name, such as `example.com`."},"role":{"type":"string","description":"What the Domain does for the Thing it serves; a defensive name takes `redirect`.","enum":["canonical","alias","redirect","preview","tenant","signIn","outreach"]},"acquired":{"type":"string","description":"One of `claimed`, `purchased`, or `connected`.","enum":["claimed","purchased","connected"]},"state":{"type":"string","description":"Where the Domain stands; `verifying`, `live`, `degraded`, `expiring` and `lapsed` are observed, the rest follow an Action.","enum":["candidate","held","claimed","registered","connected","verifying","live","degraded","expiring","lapsed","renewed","transferred","released"]},"registrant":{"type":"string","description":"The owner of record: the holding Company while held, or the holder of a self-serve Startup’s Stripe account. The Party id."},"expiresAt":{"type":"string","format":"date-time","description":"When the registration ends, as the registrar reports it; empty for a claimed Domain."},"autoRenew":{"type":"boolean","description":"True when renewal runs without a Decision; false sends the Domain through renewal review."},"renewalPrice":{"$ref":"#/components/schemas/Money","description":"What the next renewal costs, which for a premium name differs from the purchase price."},"transferableAt":{"type":"string","format":"date-time","description":"The first moment the registrar allows a transfer out, after any registration, transfer or registrant lock."},"names":{"type":"string","description":"How its subdomains are given out: explicit records only, or one-label claims by other Startups.","enum":["closed","issued"]},"publicSuffix":{"type":"boolean","description":"True once the public suffix list browsers ship carries the Domain; an issuing Domain gives out no label before then."},"registrarAccount":{"type":"string","description":"The registrar account that holds the Domain: one per Startup, never shared with a sibling."},"registryLock":{"type":"boolean","description":"True when the registry refuses transfer, update and delete until a verified out-of-band request lifts it."},"certificate":{"description":"Certificate state (`pending`, `active`, `renewing` or `failed`), its expiry, and the failing check with its fix."},"validation":{"type":"string","description":"`delegated` proves control through a CNAME to the platform; `serving` is for an apex that cannot hold one.","enum":["delegated","serving"]},"walletsEnabled":{"type":"boolean","description":"True once Stripe lists the Domain as a payment method domain on the Startup’s account."},"carriedIdentity":{"type":"boolean","description":"True once the Domain received mail, hosted a Mailbox or verified an outside account; it never resets."},"to":{"type":"string","description":"For a redirect: the canonical Domain it forwards to permanently, path and query kept. The Domain id."}},"required":["$id","$type","hostname","role","state"]},"Enrollment":{"type":"object","description":"An Enrollment is one person’s run through one Sequence: the current step, when the next fires, the branches taken, and why it ended.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Enrollment"},"status":{"type":"string","description":"Where the run stands.","enum":["active","paused","exited"]},"step":{"type":"string","description":"The Sequence step the person is on."},"nextAt":{"type":"string","format":"date-time","description":"When the next step fires; empty while paused or exited."},"branches":{"type":"array","items":{"type":"string","description":"The branches taken so far, in order."},"description":"The branches taken so far, in order."},"exitReason":{"type":"string","description":"Why the run ended.","enum":["replied","bought","unsubscribed","suppressed","silent","finished"]}},"required":["$id","$type","status","step"]},"Entitlement":{"type":"object","description":"An Entitlement is what a Customer gets from an accepted Offer: a Verb on a Noun in its Tenant, optionally bounded by a Limit.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Entitlement"},"verb":{"type":"string","description":"The Verb it grants. The Verb id."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."},"kind":{"type":"string","description":"Computed, never set: `feature`, or `limit` when a Limit bounds it.","enum":["feature","limit"]}},"required":["$id","$type","verb"]},"Entry":{"type":"object","description":"An Entry is one line of a double-entry posting: an amount to one account in the chart of accounts, caused by one Event.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Entry"},"account":{"type":"string","description":"The code of the account in the chart of accounts, such as revenue or cash."},"amount":{"$ref":"#/components/schemas/Money","description":"The amount and currency."},"direction":{"type":"string","description":"One of `debit` or `credit`.","enum":["debit","credit"]},"startup":{"type":"string","description":"The Startup whose books the Entry belongs to. The Startup id."},"counterparty":{"type":"string","description":"The sibling Startup on the other side of an intercompany Entry; empty for outside parties. The Startup id."}},"required":["$id","$type","account","amount","direction","startup"]},"Evaluator":{"type":"object","description":"An Evaluator is a versioned Function that grades an output against a rubric and returns a verdict.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Evaluator"},"kind":{"type":"string","description":"One of `code`, `generative`, `agentic`, or `human`.","enum":["code","generative","agentic","human"]},"version":{"type":"string","description":"The Version an Action runs, kept with the Action."},"cascade":{"type":"array","items":{"type":"string","description":"Kinds tried in order when one declines, such as code, then a Human."},"description":"Kinds tried in order when one declines, such as code, then a Human."},"instructions":{"type":"string","description":"For a generative or agentic Function, what it does and how."},"model":{"type":"string","description":"For a generative or agentic Function, the model it runs on."},"tools":{"type":"array","items":{"type":"string","description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each. The Verb id."},"description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each."},"maxSteps":{"type":"integer","description":"For an agentic Function, the most steps one Action may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Action may spend; the Mandate’s Limits apply as well."},"role":{"type":"string","description":"For a human Function, the Role its Tasks go to. The Role id."},"form":{"description":"For a human Function, the form; generated from the Verb’s inputs and outputs when absent."},"sla":{"type":"string","description":"For a human Function, how long a Task may wait, as an ISO 8601 duration."},"escalateTo":{"type":"string","description":"For a human Function, the Role a Task moves to when the service level passes. The Role id."},"rubric":{"type":"string","description":"What it grades against. An agent never varies its own Evaluators."},"integration":{"type":"string","description":"The Integration whose outside run returns the verdict, such as a CI job; empty when the platform runs it. The Integration id."},"required":{"type":"boolean","description":"True when `Change.merge` refuses until this Evaluator passes on the Change’s head."}},"required":["$id","$type","kind","rubric"]},"Event":{"type":"object","description":"An Event is the immutable record of something that happened to a Thing, named by its Noun and past-tense Verb.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Event"},"name":{"type":"string","description":"The Noun and the event form of its Verb, such as `Order.placed`."},"at":{"type":"string","format":"date-time","description":"When it happened."},"data":{"description":"The Thing as the Action left it."},"seq":{"type":"integer","description":"Its position in the namespace, one more than the Event before; any seq is a cursor into the history."}},"required":["$id","$type","name","at"]},"Evidence":{"type":"object","description":"Evidence is a recorded quote, reading, or artifact that supports or refutes a claim, graded as behavior, commitment, or opinion.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Evidence"},"grade":{"type":"string","description":"One of `Behavior`, `Commitment`, or `Opinion`. An Opinion weighs zero.","enum":["Behavior","Commitment","Opinion"]},"quote":{"type":"string","description":"The words or reading, verbatim."},"source":{"type":"string","description":"Who or what it came from: an Interview, an Experiment, or a Metric reading."},"binds":{"type":"string","description":"The slot it grades, as `Hypothesis#<slot>`."},"force":{"type":"string","description":"One of `push`, `pull`, `anxiety`, or `habit`: the switching force it shows.","enum":["push","pull","anxiety","habit"]},"observedAt":{"type":"string","format":"date-time","description":"When it was observed."},"distinctIcpMembers":{"type":"integer","description":"How many distinct ICP members it represents."},"outside":{"type":"boolean","description":"Computed: true when its source shares no owner, Studio account, Agreement, or sibling chain with the Startup."},"askedBy":{"type":"string","description":"The Customer or Contact who asked through an App, the Portal or an Agent; their ask is Opinion grade. The Party id."},"stance":{"type":"string","description":"Whether it supports or refutes the slot it binds; a cancel refutes the slot its reason tests.","enum":["supports","refutes"]}},"required":["$id","$type","grade"]},"Experiment":{"type":"object","description":"An Experiment is a test of a Hypothesis that varies copy or behavior through Flags and judges the variants by a primary Metric.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Experiment"},"variants":{"description":"The variants and their split."},"decision":{"type":"string","description":"One of `ship`, `kill`, or `iterate`.","enum":["ship","kill","iterate"]}},"required":["$id","$type","variants"]},"Exposure":{"type":"object","description":"An Exposure is the moment one unit meets the Variant its Flag assigned, logged with every option and its propensity.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Exposure"},"unit":{"type":"string","description":"What was randomized: a Visitor, a Customer, a request, or an agent choice."},"options":{"description":"Every Variant that was possible at that moment."},"propensity":{"type":"number","description":"The probability the assigned Variant had, kept for later estimates."},"at":{"type":"string","format":"date-time","description":"When the unit met the Variant."},"triggered":{"type":"boolean","description":"True when the unit reached the point the Variant changes."}},"required":["$id","$type","unit","options","propensity","at"]},"File":{"type":"object","description":"A File is the stored bytes of an upload or a rendering.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"File"},"contentType":{"type":"string","description":"The media type, such as `application/pdf`."},"size":{"type":"integer","description":"The size in bytes."},"name":{"type":"string","description":"The file name it was uploaded with."},"visibility":{"type":"string","description":"Who may read it: `Owner`, `Customer`, or `Public`. The default is `Owner`.","enum":["Owner","Customer","Public","Owner"]},"uploadUrl":{"type":"string","format":"uri","description":"The signed URL to upload the bytes to, returned by `File.create`."}},"required":["$id","$type","contentType","size"]},"Flag":{"type":"object","description":"A Flag is a switch, evaluated per Visitor, Customer, or request, that selects which copy or behavior they get.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Flag"},"key":{"type":"string","description":"The name code reads."},"rules":{"description":"Who gets which value, including percentage splits."}},"required":["$id","$type","key"]},"Flow":{"type":"object","description":"A Flow is an ordered path through an App’s Dashboards that takes one Persona from first run to an Offer’s activation Event.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Flow"},"persona":{"type":"string","description":"The Persona it guides; its Role decides which Verbs each step offers. The Persona id."},"offer":{"type":"string","description":"The Offer whose activation Event ends the Flow; time to value reads from first step to that Event. The Offer id."},"steps":{"type":"array","items":{"type":"string","description":"The Dashboards in order, first run first, each ending in the Verb that opens the next. The Dashboard id."},"description":"The Dashboards in order, first run first, each ending in the Verb that opens the next."}},"required":["$id","$type","persona","offer","steps"]},"Forecast":{"type":"object","description":"A Forecast is a dated week-by-week projection of a Startup’s cash, revenue and Cost, computed from its records, that sets its spend state.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Forecast"},"asOf":{"type":"string","format":"date-time","description":"When the inputs were read."},"runwayWeeks":{"type":"number","description":"Weeks until cash reaches zero at the projected rates."},"defaultAlive":{"type":"boolean","description":"True when projected revenue covers projected Cost before cash runs out."},"profitWeek":{"type":"string","format":"date","description":"The first week projected revenue covers fully loaded Cost."},"spendState":{"type":"string","description":"The spend state it sets: `free` when default alive, `tight` when default dead, `hold` under 13 weeks of runway.","enum":["free","tight","hold"]}},"required":["$id","$type","asOf","runwayWeeks","defaultAlive","spendState"]},"Form":{"type":"object","description":"A Form is a set of fields someone fills in on a Site or in a Message, producing a Lead, Evidence, or a Thing.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Form"},"fields":{"description":"The fields and their types."}},"required":["$id","$type","fields"]},"Function":{"type":"object","description":"A Function is how a Verb executes, as code, a generative model, an Agent, or a Human, invisible to the caller.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Function"},"kind":{"type":"string","description":"One of `code`, `generative`, `agentic`, or `human`.","enum":["code","generative","agentic","human"]},"version":{"type":"string","description":"The Version an Action runs, kept with the Action."},"cascade":{"type":"array","items":{"type":"string","description":"Kinds tried in order when one declines, such as code, then a Human."},"description":"Kinds tried in order when one declines, such as code, then a Human."},"instructions":{"type":"string","description":"For a generative or agentic Function, what it does and how."},"model":{"type":"string","description":"For a generative or agentic Function, the model it runs on."},"tools":{"type":"array","items":{"type":"string","description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each. The Verb id."},"description":"For an agentic Function, the Verbs it may call; Permissions and Limits apply to each."},"maxSteps":{"type":"integer","description":"For an agentic Function, the most steps one Action may take."},"budget":{"$ref":"#/components/schemas/Money","description":"The most one Action may spend; the Mandate’s Limits apply as well."},"role":{"type":"string","description":"For a human Function, the Role its Tasks go to. The Role id."},"form":{"description":"For a human Function, the form; generated from the Verb’s inputs and outputs when absent."},"sla":{"type":"string","description":"For a human Function, how long a Task may wait, as an ISO 8601 duration."},"escalateTo":{"type":"string","description":"For a human Function, the Role a Task moves to when the service level passes. The Role id."}},"required":["$id","$type","kind"]},"Fund":{"type":"object","description":"A Fund is a pool of investor capital that a Studio manages and invests in its Companies, with commitments, capital calls, and distributions.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Fund"},"name":{"type":"string","description":"The name of the Fund."},"committed":{"$ref":"#/components/schemas/Money","description":"Capital its investors have committed."},"called":{"$ref":"#/components/schemas/Money","description":"Capital called so far."}},"required":["$id","$type","name"]},"FundDistribution":{"type":"object","description":"A Fund Distribution is cash or Shares a Fund returns to its investors, split by the waterfall in its Agreement.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"FundDistribution"},"amount":{"$ref":"#/components/schemas/Money","description":"The total distributed."},"kind":{"type":"string","description":"Cash, or Shares distributed in kind.","enum":["cash","inKind"]},"paidAt":{"type":"string","format":"date-time","description":"When it was paid."}},"required":["$id","$type","amount","kind"]},"Funnel":{"type":"object","description":"A Funnel is a designed path to an Offer: a landing Page, an opt-in that makes a Lead, a Sequence, then the Offer.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Funnel"},"steps":{"description":"The Pages, Forms, and Sequences in order."}},"required":["$id","$type","steps"]},"Gathering":{"type":"object","description":"A Gathering is a scheduled session many people attend at once, such as a webinar, a workshop, or a launch call, hosted by a Startup.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Gathering"},"title":{"type":"string","description":"What the Gathering is called on its Page and invitations."},"at":{"type":"string","format":"date-time","description":"When it starts."},"capacity":{"type":"integer","description":"The most Registrations it admits before new ones join the waitlist."},"recording":{"type":"string","format":"uri","description":"Where the replay lives once it ends."}},"required":["$id","$type","title","at"]},"Goal":{"type":"object","description":"A Goal is what a Thing is trying to achieve: an objective with one or more Key Results.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Goal"},"objective":{"type":"string","description":"The qualitative outcome."},"horizon":{"type":"string","description":"One of `day`, `week`, `quarter`, `year`, or `three-years`.","enum":["day","week","quarter","year","three-years"]}},"required":["$id","$type","objective"]},"Guard":{"type":"object","description":"A Guard is a check every outbound Message and publish passes, from code rules to model review to a Human for high stakes.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Guard"},"tier":{"type":"string","description":"One of `code`, `model`, `reviewer`, or `human`.","enum":["code","model","reviewer","human"]},"checks":{"type":"string","description":"What it refuses; a `claim` Guard checks a stated term or promise against the record that backs it.","enum":["tone","disclosure","consent","claim"]}},"required":["$id","$type","tier"]},"Handle":{"type":"object","description":"A Handle is an account or name a Startup or Brand holds on an outside platform, bound to an Integration credential.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Handle"},"venue":{"type":"string","description":"The venue it lives on, by id."},"name":{"type":"string","description":"The name as the platform shows it, such as `@example`."},"shared":{"type":"boolean","description":"True for a Studio account shared across sibling Startups; every Post names the Startup it speaks for."},"agent":{"type":"boolean","description":"True when an Agent runs it; its bio says so."},"integration":{"type":"string","description":"The Integration credential it publishes through. The Integration id."}},"required":["$id","$type","venue","name"]},"Holder":{"type":"object","description":"A Holder is the Party that holds a Share or an Instrument on a Company’s cap table.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Holder"},"party":{"type":"string","description":"The person or entity behind the holding. The Party id."}},"required":["$id","$type","party"]},"Human":{"type":"object","description":"A Human is a Worker who is a person, acting on Tasks through Apps, Mailboxes, and Channels.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Human"},"name":{"type":"string","description":"The name the Worker goes by in a Startup."},"instructions":{"type":"string","description":"How the Worker does its work."},"email":{"type":"string","format":"email","description":"The address the Human signs in with."}},"required":["$id","$type","name","email"]},"Hypothesis":{"type":"object","description":"A Hypothesis is a belief about a Startup stated so it can be proved wrong, with the Metric and threshold that settle it.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Hypothesis"},"statement":{"type":"string","description":"The belief, in one sentence."},"kind":{"type":"string","description":"One of `founding`, the five slots (`customer`, `problem`, `approach`, `switch`, `differentiation`), or `loop`.","enum":["founding","customer","problem","approach","switch","differentiation","loop"]},"parent":{"type":"string","description":"The Founding Hypothesis a slot Hypothesis belongs to. The Hypothesis id."},"verdict":{"type":"string","description":"One of `Open`, `Testing`, `Supported`, or `Refuted`.","enum":["Open","Testing","Supported","Refuted"]},"metric":{"type":"string","description":"The Metric that settles it. The Metric id."},"threshold":{"type":"string","description":"The Metric value that settles it."},"grade":{"type":"string","description":"Computed: the strongest grade of its outside Evidence, `None` without any."},"version":{"type":"integer","description":"Each merged Change adds one; outputs cite it in their lineage."}},"required":["$id","$type","statement","kind","verdict","version"]},"ICP":{"type":"object","description":"An ICP is the ideal customer profile a Startup is built to win: who they are and what they do.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"ICP"},"description":{"type":"string","description":"Who they are and what they do."}},"required":["$id","$type","description"]},"Idea":{"type":"object","description":"An Idea is a business concept that exists apart from any Startup that pursues it and outlives each one.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Idea"},"statement":{"type":"string","description":"The concept in one line."},"status":{"type":"string","description":"One of `open` or `pursued`.","enum":["open","pursued"]}},"required":["$id","$type","statement","status"]},"Implementation":{"type":"object","description":"An Implementation is how an Interface, System, or Verb of a Product runs: managed by the platform, custom code on it, or external.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Implementation"},"kind":{"type":"string","description":"One of `managed`, `custom`, or `external`.","enum":["managed","custom","external"]},"endpoint":{"type":"string","format":"uri","description":"For an external Implementation, where api.sb routes each call."},"deliverBy":{"type":"string","format":"date","description":"For a `declared` Implementation: when a Function runs the Verb; a missed date refunds every reserve."}},"required":["$id","$type","kind"]},"Incident":{"type":"object","description":"An Incident is an Issue where an Interface or Site fails Customers in production, tracked from detection to postmortem.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Incident"},"status":{"type":"string","description":"One of `pending`, `done`, `failed`, `canceled`, or `refused`.","enum":["pending","done","failed","canceled","refused"]},"reason":{"type":"string","description":"Why a pending Action waits: `queued`, `running`, `retrying`, `awaitingWorker`, `awaitingInput`, `awaitingSource`, `awaitingAction`, or `awaitingTime`.","enum":["queued","running","retrying","awaitingWorker","awaitingInput","awaitingSource","awaitingAction","awaitingTime"]},"mode":{"type":"string","description":"How the caller invoked it: `try`, `send`, or `do`.","enum":["try","send","do"]},"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"kind":{"type":"string","description":"One of `bug`, `request`, or `question`.","enum":["bug","request","question"]},"advisory":{"type":"string","description":"For a vulnerability: the public advisory it matches, with the affected package and range."},"severity":{"type":"string","description":"One of `minor`, `major`, or `critical`.","enum":["minor","major","critical"]},"detectedAt":{"type":"string","format":"date-time","description":"When monitoring or a Customer first reported it."},"resolvedAt":{"type":"string","format":"date-time","description":"When service was restored."},"personalData":{"type":"boolean","description":"True when the Incident exposed personal data, which starts the breach-notice clock."}},"required":["$id","$type","status","mode","severity","detectedAt"]},"Instrument":{"type":"object","description":"An Instrument is a right to future ownership in a Company: a SAFE, a note, an option or a warrant.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Instrument"},"kind":{"type":"string","description":"Which right: `safe`, `note`, `option` or `warrant`.","enum":["safe","note","option","warrant"]},"amount":{"$ref":"#/components/schemas/Money","description":"The amount invested, for a SAFE or a note."},"cap":{"$ref":"#/components/schemas/Money","description":"The valuation cap a SAFE or note converts at."},"discount":{"type":"number","description":"The percent discount to the next priced round a SAFE or note converts at."},"strike":{"$ref":"#/components/schemas/Money","description":"The price per Share an option or warrant exercises at."},"quantity":{"type":"integer","description":"The Shares an option or warrant covers."},"vesting":{"description":"The vesting schedule and cliff of an option grant."},"status":{"type":"string","description":"Where it stands; a canceled or converted Instrument is kept, never deleted.","enum":["outstanding","converted","exercised","canceled"]}},"required":["$id","$type","kind","status"]},"Integration":{"type":"object","description":"An Integration is an outside Source connected to a System with credentials, at Studio, Startup, or Customer scope.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Integration"},"acquired":{"type":"string","description":"One of `owned`, `wrapped`, or `recruited`.","enum":["owned","wrapped","recruited"]},"terms":{"type":"string","description":"The terms the Startup holds the right to use and resell it under."},"scope":{"type":"string","description":"One of `studio`, `startup`, or `customer`.","enum":["studio","startup","customer"]},"sync":{"type":"string","description":"Which side leads a sync connector: `platform` or `provider`."},"mode":{"type":"string","description":"How records move: `mirror` writes db.sb out to the outside tool; `import` turns edits there into Changes. db.sb is the record in both.","enum":["mirror","import"]},"state":{"type":"string","description":"Where the connected account stands; read fresh before every call.","enum":["connecting","connected","needsReauth","paused","revoked"]},"venue":{"type":"string","description":"The id of the ad, social or app-store venue the account is on, when it is on one."},"account":{"type":"string","description":"The outside account’s own id, such as an ad account, a workspace or a repository."},"grants":{"type":"array","items":{"type":"string","description":"The outside permissions the account holder approved: the narrowest set its Verbs need."},"description":"The outside permissions the account holder approved: the narrowest set its Verbs need."},"connectedBy":{"type":"string","description":"Who approved the connection; a Human’s own account is used only under that Human’s Mandate. The Party id."},"environment":{"type":"string","description":"A `test` Integration reaches only the upstream’s test account, as a Stripe test account does.","enum":["test","live"]},"expiresAt":{"type":"string","format":"date-time","description":"When access lapses unless refreshed."},"refreshedAt":{"type":"string","format":"date-time","description":"When the platform last renewed the outside token."},"lastError":{"type":"string","description":"The error slug of the last failed call or refresh, cleared by the next success."},"cursor":{"type":"string","description":"Where the last sync run stopped, so the next run reads only what changed."}},"required":["$id","$type","acquired","scope","mode","state"]},"Interface":{"type":"object","description":"An Interface is how a person or an Agent reaches a Product: an API, MCP server, CLI, SDK, Site, or App.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Interface"},"kind":{"type":"string","description":"One of `api`, `mcp`, `cli`, `sdk`, `site`, `app`, `docs`, or `webhooks`.","enum":["api","mcp","cli","sdk","site","app","docs","webhooks"]},"path":{"type":"string","description":"Where it is mounted on its Domain, such as `/api`."},"conformsTo":{"description":"The Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs."}},"required":["$id","$type","kind"]},"Interview":{"type":"object","description":"An Interview is one person’s pass through a question script, led by an Agent, whose answers become Evidence.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Interview"},"subject":{"type":"string","description":"What the Thread is about."},"script":{"type":"string","description":"The questions asked. The Template id."},"transcript":{"type":"string","description":"What was said."}},"required":["$id","$type","script"]},"Invoice":{"type":"object","description":"An Invoice is what a Customer owes for one or more Offers over one billing period.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Invoice"},"total":{"$ref":"#/components/schemas/Money","description":"The amount due."},"due":{"type":"string","format":"date","description":"When payment is due."},"paidAt":{"type":"string","format":"date-time","description":"When it was paid."},"status":{"type":"string","description":"One of `draft`, `open`, `paid`, `void`, or `uncollectible`.","enum":["draft","open","paid","void","uncollectible"]},"collection":{"type":"string","description":"`charge` charges the saved payment method; `send` sends the Invoice and waits for a transfer. `charge` by default.","enum":["charge","send"]},"terms":{"type":"integer","description":"Days from issue until a `send` Invoice is due, such as 30; sets `due`."},"purchaseOrder":{"type":"string","description":"The Customer’s purchase order number, printed on the Invoice."},"refunded":{"$ref":"#/components/schemas/Money","description":"The total returned to the Customer, from zero up to the amount paid."},"number":{"type":"string","description":"The Invoice number, sequential per Startup and never reused, voided Invoices included."},"lines":{"description":"Each Offer billed: its quantity, Period and amount, with any Coupon or Credit Grant applied."},"pdf":{"type":"string","format":"uri","description":"The Invoice, or its receipt once paid, as a PDF on the Startup’s Domain that names the seller of record."},"payUrl":{"type":"string","format":"uri","description":"The page on the Startup’s Domain where the Customer pays it by card or bank transfer."}},"required":["$id","$type","total","due"]},"Issue":{"type":"object","description":"An Issue is a Task reporting a problem or request, such as a bug or a feature request, with a reporter and a triage step.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Issue"},"status":{"type":"string","description":"One of `pending`, `done`, `failed`, `canceled`, or `refused`.","enum":["pending","done","failed","canceled","refused"]},"reason":{"type":"string","description":"Why a pending Action waits: `queued`, `running`, `retrying`, `awaitingWorker`, `awaitingInput`, `awaitingSource`, `awaitingAction`, or `awaitingTime`.","enum":["queued","running","retrying","awaitingWorker","awaitingInput","awaitingSource","awaitingAction","awaitingTime"]},"mode":{"type":"string","description":"How the caller invoked it: `try`, `send`, or `do`.","enum":["try","send","do"]},"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."},"kind":{"type":"string","description":"One of `bug`, `request`, or `question`.","enum":["bug","request","question"]},"severity":{"type":"string","description":"Set by triage; a vulnerability takes `critical`, `high`, `medium` or `low`, which sets `due`. An Incident keeps its own scale.","enum":["critical","high","medium","low","due"]},"advisory":{"type":"string","description":"For a vulnerability: the public advisory it matches, with the affected package and range."}},"required":["$id","$type","status","mode"]},"KeyResult":{"type":"object","description":"A Key Result is one measurable target inside a Goal: a Metric, a baseline, a target, and a deadline.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"KeyResult"},"baseline":{"type":"number","description":"Where the Metric started."},"target":{"type":"number","description":"Where the Metric must reach."},"deadline":{"type":"string","format":"date","description":"When it must reach it."}},"required":["$id","$type","baseline","target","deadline"]},"Keyword":{"type":"object","description":"A Keyword is a search phrase or AI prompt that Pages target, with its rank and citations observed over time.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Keyword"},"phrase":{"type":"string","description":"The words searched or asked."},"form":{"type":"string","description":"One of `search` or `question`.","enum":["search","question"]}},"required":["$id","$type","phrase"]},"Lead":{"type":"object","description":"A Lead is a Contact who raised a hand, by joining a Waitlist, filling a Form, or replying, without accepting an Offer.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Lead"},"email":{"type":"string","format":"email","description":"The primary email address."},"phone":{"type":"string","description":"The primary phone number."},"name":{"type":"string","description":"The name the Contact goes by."},"interest":{"type":"string","description":"What the Lead asked for."},"status":{"type":"string","description":"One of `new`, `working`, `nurture`, `converted`, or `disqualified`.","enum":["new","working","nurture","converted","disqualified"]},"owner":{"type":"string","description":"The Worker who answers it. The Worker id."},"fit":{"type":"string","description":"One of `strong`, `partial`, or `none`: fit to the ICP as the Lead fit Policy grades it, never set by hand.","enum":["strong","partial","none"]}},"required":["$id","$type","status"]},"Lifecycle":{"type":"object","description":"A Lifecycle is the states a Thing of one Noun moves through and the Verbs that move it between them.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Lifecycle"},"states":{"type":"array","items":{"type":"string","description":"The states, in order."},"description":"The states, in order."},"initial":{"type":"string","description":"The state a new Thing starts in."}},"required":["$id","$type","states","initial"]},"Limit":{"type":"object","description":"A Limit is a bound on a Permission, Entitlement, or Mandate, checked before every call; exceeding it creates an Approval.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Limit"},"amount":{"$ref":"#/components/schemas/Money","description":"The most money it allows."},"count":{"type":"integer","description":"The most calls or units it allows."},"period":{"type":"string","description":"The window a rate resets over, such as a month."},"percent":{"type":"number","description":"The largest share off a reference amount it allows, such as 15 percent off list Price."},"resets":{"type":"string","description":"One of `calendar`, `rolling`: a calendar Limit resets at the start of each period, a rolling one counts the last period from now.","enum":["calendar","rolling"]}},"required":["$id","$type"]},"Mailbox":{"type":"object","description":"A Mailbox is an email Channel at a Domain, held by a Startup, a Role, or a Worker, so every Agent has its own.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Mailbox"},"medium":{"type":"string","description":"The platform type, such as `email`, `sms`, or `chat`.","enum":["email","sms","chat"]},"organization":{"type":"string","description":"The outside Organization the Channel is shared with; its new Messages open Conversations for that Customer. The Organization id."},"external":{"type":"boolean","description":"True when people from another Organization post in it, as in a channel two companies share."},"areaCode":{"type":"string","description":"For an `sms` Channel, the phone area code its number is drawn from, such as `512`."},"number":{"type":"string","description":"For an `sms` Channel, its phone number in international form, assigned when it is created."},"address":{"type":"string","format":"email","description":"The email address."},"stream":{"type":"string","description":"What it sends: receipts and resets, broadcasts, or cold outbound; one stream per Mailbox.","enum":["transactional","broadcast","outbound"]},"dailyCap":{"type":"integer","description":"Sends allowed today, raised by the warmup ramp and cut by the brakes."},"status":{"type":"string","description":"Where the Mailbox stands in its warmup and rest cycle.","enum":["warming","active","resting","retired"]},"tenant":{"type":"string","description":"The Tenant it sends for, at a Domain that Tenant’s Customer holds; replies land in the Tenant’s Threads. The Tenant id."}},"required":["$id","$type","medium","address","stream"]},"Mandate":{"type":"object","description":"A Mandate is a standing authorization for an Agent to act for a Party, within Permissions and Limits, until it expires.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Mandate"},"expiresAt":{"type":"string","format":"date-time","description":"When it lapses."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."},"verb":{"type":"string","description":"The Verb it covers, as `Noun.verb`."},"topics":{"type":"array","items":{"type":"string","description":"What it may act on; an Action outside them becomes an Approval."},"description":"What it may act on; an Action outside them becomes an Approval."},"channels":{"type":"array","items":{"type":"string","description":"The Channels it may send through. The Channel id."},"description":"The Channels it may send through."},"status":{"type":"string","description":"One of `active`, `paused`, `revoked` or `expired`.","enum":["active","paused","revoked","expired"]}},"required":["$id","$type","expiresAt","status"]},"Mapping":{"type":"object","description":"A Mapping translates one Source’s shape into the registry’s: its fields to a Noun’s fields, or an outside endpoint’s inputs and outputs to a Verb’s.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Mapping"},"verb":{"type":"string","description":"The Verb it serves, such as `Meeting.book`; a Verb has many Mappings, ranked."},"fields":{"description":"Each outside field or event and the Noun property or Event it maps to."},"direction":{"type":"string","description":"`both` still keeps db.sb the record; the outside tool never becomes a second one.","enum":["in","out","both"]},"convert":{"type":"string","description":"How a value changes on the way, such as cents to money or a picklist to closed values."},"rank":{"type":"integer","description":"Order tried when the preferred Mapping fails or finds nothing; the Policy orders it by cost per accepted result."},"preferred":{"type":"boolean","description":"True for the Mapping a Verb tries first."},"door":{"type":"string","description":"How the outside endpoint is classed; an unclassed write is one-way and waits its delay window.","enum":["oneWay","twoWay"]}},"required":["$id","$type"]},"Market":{"type":"object","description":"A Market is a region where a Startup sells, hires, or keeps books, with its currency, locales, and the floor rows that wake there.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Market"},"countries":{"type":"array","items":{"type":"string","description":"ISO 3166-1 alpha-2 country codes."},"description":"ISO 3166-1 alpha-2 country codes."},"currency":{"type":"string","description":"The ISO 4217 currency Prices show in."},"locales":{"type":"array","items":{"type":"string","description":"BCP 47 locale tags, the default first."},"description":"BCP 47 locale tags, the default first."}},"required":["$id","$type","countries","currency","locales"]},"Meeting":{"type":"object","description":"A Meeting is a scheduled time when Workers and Contacts meet about one or more Things, producing notes, Decisions, and Tasks.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Meeting"},"at":{"type":"string","format":"date-time","description":"When it starts."},"agenda":{"type":"string","description":"What it covers."},"transcript":{"type":"string","description":"What was said."}},"required":["$id","$type","at"]},"MemberDirectory":{"type":"object","description":"A Member Directory is a Customer’s own list of people and groups, pushed into its Tenant so access follows employment.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"MemberDirectory"},"state":{"type":"string","description":"Where it stands; only `active` fills Roles.","enum":["draft","active","failing","inactive"]},"groupRoles":{"description":"Which directory group fills which Role in the Tenant."},"lastChangeAt":{"type":"string","format":"date-time","description":"When the Customer’s directory last pushed a change."}},"required":["$id","$type","state"]},"Memory":{"type":"object","description":"A Memory is a Worker’s own Collection of what it has learned and kept, read by its Functions.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Memory"},"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"state":{"type":"string","description":"The current state in its lifecycle."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."}},"required":["$id","$type","id","type"]},"Message":{"type":"object","description":"A Message is one communication from any party over one medium, such as email, SMS, or chat, inbound or outbound.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Message"},"medium":{"type":"string","description":"One of `email`, `sms`, `voice`, or `chat`.","enum":["email","sms","voice","chat"]},"direction":{"type":"string","description":"One of `inbound` or `outbound`.","enum":["inbound","outbound"]},"body":{"type":"string","description":"What it says."},"from":{"type":"string","description":"The sender: an address, a number, or a Channel id."},"to":{"type":"string","description":"The recipient: an address, a number, or a Person id."},"subject":{"type":"string","description":"The subject line, for email."},"purpose":{"type":"string","description":"Why it goes out, such as onboarding; consent and suppression rules read it."}},"required":["$id","$type","medium","direction","body"]},"Meter":{"type":"object","description":"A Meter is a billable measure of usage that turns usage Events into Entries exactly once.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Meter"},"unit":{"type":"string","description":"What it counts, such as calls or tokens."},"of":{"type":"string","description":"The declared Event the Meter counts."},"aggregation":{"type":"string","description":"How counted Events combine over the window: a sum of a value, a count, or the last value.","enum":["sum","count","last"]},"window":{"type":"string","description":"The period usage accrues over before it bills, such as a month."}},"required":["$id","$type","unit","of","aggregation","window"]},"Metric":{"type":"object","description":"A Metric is a named measure computed from Events or Entries, always derived and never typed in.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Metric"},"query":{"type":"string","description":"How it is computed. An agent never varies the Metrics it is judged by."},"unit":{"type":"string","description":"The unit, such as dollars or percent."},"status":{"type":"string","description":"One of `draft` or `defined`.","enum":["draft","defined"]}},"required":["$id","$type","query","status"]},"MinimumSuccessCriteria":{"type":"object","description":"Minimum Success Criteria is the one number a Startup must reach by a date to stay worth running: a Goal the Founder sets once.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"MinimumSuccessCriteria"},"objective":{"type":"string","description":"The qualitative outcome."},"horizon":{"type":"string","description":"One of `day`, `week`, `quarter`, `year`, or `three-years`.","enum":["day","week","quarter","year","three-years"]},"metric":{"type":"string","description":"The Metric the number is measured in. The Metric id."},"value":{"type":"number","description":"The number to reach."},"by":{"type":"string","format":"date","description":"The date it must be reached."},"fermi":{"description":"The Price, rates and volumes that show the number is reachable."}},"required":["$id","$type","objective","metric","value","by"]},"Mode":{"type":"object","description":"A Mode is how a caller invokes a Verb: try waits and stores nothing, send returns a pending Action, do waits for the result.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Mode"},"name":{"type":"string","description":"One of `try`, `send`, or `do`.","enum":["try","send","do"]},"durable":{"type":"boolean","description":"True when the Action is stored and survives restarts: `send` and `do`."},"waits":{"type":"boolean","description":"True when the caller holds the call open until the result: `try` and `do`."},"holdSeconds":{"type":"integer","description":"For `do`: seconds a call holds before it returns `202` with the pending Action; Setting `mode.holdSeconds`."},"maxWaitSeconds":{"type":"integer","description":"The longest hold `Prefer: wait=N` may ask for; Setting `mode.maxWaitSeconds`."}},"required":["$id","$type","name","durable","waits"]},"Monitor":{"type":"object","description":"A Monitor is a scheduled check on something outside a Startup’s control, such as uptime, a Keyword’s rank or an AI answer, recording Events.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Monitor"},"kind":{"type":"string","description":"`internal` watches the Startup’s own routes and jobs; `outside` watches the world, such as a rival’s price.","enum":["internal","outside"]},"target":{"type":"string","description":"What it checks: a route, a Domain, a Keyword, a prompt or a page."},"every":{"type":"string","description":"How often it runs, such as `1m` or `1d`."},"lastResult":{"type":"string","description":"The result of its latest check.","enum":["passing","failing"]}},"required":["$id","$type","kind","target"]},"Motion":{"type":"object","description":"A Motion is the shape of a sale: who buys an Offer and who acts for them, such as b2b, b2c, b2d, b2a, or b2a2b.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Motion"},"code":{"type":"string","description":"The code: b2b, b2c, b2d, b2a, b2h2a, b2a2b, b2a2c, or b2a2d. Each letter after the 2 names the next party in the chain."},"buyer":{"type":"string","description":"The party that accepts the Offer: a business, a consumer, a developer, or an Agent."},"actor":{"type":"string","description":"Who calls the Interfaces for the buyer: the buyer, a human operator, or an Agent."}},"required":["$id","$type","code","buyer"]},"Noun":{"type":"object","description":"A Noun is a type of record, with its properties, its relationships, and the Verbs that act on it.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Noun"},"name":{"type":"string","description":"The singular, capitalized name."},"properties":{"description":"Its properties, each with a name, a type, and whether it is required."},"publishedIn":{"type":"string","description":"The first published Version that serves it; from then on, edits go through a Change and `delete` refuses. The Version id."},"status":{"type":"string","description":"One of `draft`, `published` or `retired`.","enum":["draft","published","retired"]}},"required":["$id","$type","name","status"]},"Offer":{"type":"object","description":"An Offer is a Product, under a Brand, at a price, on terms, made by a Startup.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Offer"},"price":{"$ref":"#/components/schemas/Money","description":"The amount, currency, and unit. Zero is a price."},"terms":{"type":"string","description":"The conditions the Customer accepts, refund rights included."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"activation":{"description":"The Event, count and window that mark a Customer activated, such as `Reminder.sent` 20 times within 7 days."},"credit":{"$ref":"#/components/schemas/Money","description":"The Credit Grant each purchase issues, for an Offer that sells prepaid credit, such as $50 of calls."},"atBound":{"type":"string","description":"What a call past an Entitlement’s Limit gets: `stop`, `overage` or `upgrade` (refuse it, bill it through the Meter, or move to the next Offer).","enum":["stop","overage","upgrade"]},"interval":{"type":"string","description":"How often it bills: `once`, `day`, `week`, `month` or `year`.","enum":["once","day","week","month","year"]},"availableFrom":{"type":"string","format":"date-time","description":"When it can first be bought. Unset: from when it is published."},"availableUntil":{"type":"string","format":"date-time","description":"When it can last be bought. Existing Subscriptions continue past it."},"trial":{"description":"The free trial every new Customer starts with: `days`, and `card` true to take a card up front. Unset: no trial."},"seats":{"type":"string","description":"How a per-seat Price counts: `manual` (the buyer sets the quantity) or `members` (people in the Customer’s Tenant, prorated as they change).","enum":["manual","members"]},"uptime":{"description":"The monthly uptime it promises, and the share of that month’s charge credited back below each level."},"license":{"type":"string","description":"What a buyer may do with the records it sells: use them `internal`ly, `display` them to its own users, or `redistribute` them.","enum":["internal","display","redistribute"]},"attribution":{"type":"string","description":"The credit line a buyer shows wherever the records appear."},"privateTo":{"type":"string","description":"The one Party who sees it and may accept it, making it a private Offer; no pricing page lists it. The Party id."}},"required":["$id","$type","price"]},"Opening":{"type":"object","description":"An Opening is a Startup’s computed need for a Human in a Role: its kind, its reason, and the Hypothesis a hire must prove.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Opening"},"role":{"type":"string","description":"The Role the Human joins, by taking a share of it. The Role id."},"kind":{"type":"string","description":"One of `floor`, `contractor`, `employee`, or `cofounder`.","enum":["floor","contractor","employee","cofounder"]},"reason":{"type":"string","description":"One of `floor`, `credential`, `edge`, `relationship`, `capital`, `capacity`, or `distribution`.","enum":["floor","credential","edge","relationship","capital","capacity","distribution"]},"hypothesis":{"type":"string","description":"The result a hire must beat the incumbent Agent on. The Hypothesis id."},"skills":{"type":"array","items":{"type":"string","description":"The Skills required, each citing the Evidence that shows the gap. The Skill id."},"description":"The Skills required, each citing the Evidence that shows the gap."},"credentials":{"type":"array","items":{"type":"string","description":"The Credentials a Reserved Act in the Role requires. The Credential id."},"description":"The Credentials a Reserved Act in the Role requires."},"commitment":{"type":"string","description":"Hours per week, from a few hours to full time."},"terms":{"type":"string","format":"uri","description":"The published terms for this kind of Opening."},"listed":{"type":"boolean","description":"True once the Opening is public; unlisted Openings reach only the talent pool."}},"required":["$id","$type","role","kind","reason","hypothesis"]},"Order":{"type":"object","description":"An Order is a Customer’s commitment to buy one or more Offers once, moving from placed to paid, fulfilled, and closed.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Order"},"total":{"$ref":"#/components/schemas/Money","description":"The amount charged."},"status":{"type":"string","description":"One of `placed`, `paid`, `fulfilled`, `closed`, `canceled`, or `refunded`.","enum":["placed","paid","fulfilled","closed","canceled","refunded"]},"merchantOfRecord":{"type":"string","description":"The Party that charges and books the revenue. The Party id."},"outside":{"type":"boolean","description":"Computed: true when its Customer shares no owner, Studio account, Agreement, or sibling chain with the Startup."},"lines":{"description":"Each Offer bought, its quantity, amount and the Party that charges for it; a Service line carries its own verdict."},"fulfillment":{"type":"string","description":"Where a Service Order’s work stands between `paid` and `fulfilled`.","enum":["intake","working","delivered","revising","accepted","disputed"]},"payment":{"type":"string","description":"`authorized` when the Quote is accepted; `captured` on the Event the Outcome Contract `earns` names.","enum":["authorized","captured"]},"revisionsUsed":{"type":"integer","description":"Revisions the Customer has asked for, counted against the Outcome Contract’s `revisions`."},"risk":{"type":"number","description":"The payment’s fraud risk score from 0 to 99 at screening, as Stripe scored it."},"tax":{"$ref":"#/components/schemas/Money","description":"The sales tax, VAT or GST computed at placement for the buyer’s location and the Offer’s tax category."},"taxJurisdiction":{"type":"string","description":"Where the tax is owed, such as `US-CA` or `EU-DE`, or `none` when no registration applies.","enum":["US-CA","EU-DE","none"]},"brief":{"description":"The scope a Service Order bought, from its Quote request: sizes, inputs and turnaround. Intake checks the inputs against it."},"dueAt":{"type":"string","format":"date-time","description":"When a Service Order’s work is due; time waiting on the Customer moves it later."},"taxExemption":{"type":"string","description":"The exemption or resale certificate that zeroed the tax, when one applies. The Credential id."},"collectedBy":{"type":"string","description":"The id of the venue that charged the buyer and pays the Startup; unset when the Startup’s own checkout collected."}},"required":["$id","$type","total","status"]},"Organization":{"type":"object","description":"An Organization is an outside party as one Startup knows it, keyed by its domain, such as an employer or a vendor.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Organization"},"name":{"type":"string","description":"The name it trades under."},"hostname":{"type":"string","description":"The web domain that keys it."}},"required":["$id","$type","name"]},"OutcomeContract":{"type":"object","description":"An Outcome Contract is the terms on an Offer that warrant a Service’s result: done, acceptance, assurance, remedy, and earnings.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"OutcomeContract"},"done":{"type":"string","description":"The state or Event that counts as done."},"accept":{"type":"string","description":"Who accepts the result, and within what window."},"remedy":{"type":"string","description":"What happens on a miss: redo, refund, or credit."},"revisions":{"type":"integer","description":"How many times the Customer may send work back before the remedy applies, such as 1."},"silence":{"type":"string","description":"What the Customer’s silence means once the acceptance window passes.","enum":["accepts","disputes"]},"earns":{"type":"string","description":"The Event that captures payment and earns the fee."},"assurance":{"description":"The Evaluators that check done before every delivery, and the share of work a person grades, such as 2%."},"window":{"type":"string","description":"How long the Customer has to confirm, revise or dispute each delivery, as an ISO duration."}},"required":["$id","$type","done","accept","remedy"]},"Page":{"type":"object","properties":{"limit":{"type":"integer"},"after":{"type":"string","description":"The cursor of the next page."},"total":{"type":"integer","description":"The match count, with total=true: exact up to 10,000 matches, estimated above."},"totalExact":{"type":"boolean","description":"False when total is an estimate."},"facets":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"integer"}},"description":"A count per value for each property named in facets, from the same snapshot as total."}},"required":["limit"]},"Partner":{"type":"object","description":"A Partner is an outside Organization that is party to an Agreement with a Startup, supplying it, distributing its Offers, or both.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Partner"},"name":{"type":"string","description":"The name it trades under."},"hostname":{"type":"string","description":"The web domain that keys it."},"side":{"type":"string","description":"One of `supply`, `distribution`, or `both`.","enum":["supply","distribution","both"]}},"required":["$id","$type","name","side"]},"Party":{"type":"object","description":"A Party is a person or legal entity that can be a side of an Agreement or an Order, or hold rights.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Party"},"name":{"type":"string","description":"The legal or personal name."}},"required":["$id","$type","name"]},"PayRun":{"type":"object","description":"A Pay Run is one pay period’s payroll for a Company: each employee’s gross pay, withholding, deductions and net pay, approved and paid together.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"PayRun"},"company":{"type":"string","description":"The employer of record for everyone it pays. The Company id."},"periodStart":{"type":"string","format":"date","description":"The first day of the pay period."},"periodEnd":{"type":"string","format":"date","description":"The last day of the pay period."},"payDate":{"type":"string","format":"date","description":"The day net pay reaches each employee’s bank."},"kind":{"type":"string","description":"A `regular` run on the pay schedule, or an `offCycle` run for a bonus, a correction or final pay.","enum":["regular","offCycle"]},"humans":{"type":"array","items":{"type":"string","description":"The employees it pays. The Human id."},"description":"The employees it pays."},"gross":{"$ref":"#/components/schemas/Money","description":"Pay before withholding and deductions, for everyone in the run."},"withheld":{"$ref":"#/components/schemas/Money","description":"Income and payroll taxes withheld from employees’ pay."},"deductions":{"$ref":"#/components/schemas/Money","description":"Benefit and retirement deductions the employees elected."},"employerTax":{"$ref":"#/components/schemas/Money","description":"Payroll taxes the Company owes on top of gross pay."},"net":{"$ref":"#/components/schemas/Money","description":"What reaches the employees’ banks: gross less withholding and deductions."},"status":{"type":"string","description":"Where the Pay Run stands; only an `approved` run is paid.","enum":["prepared","approved","paid","voided"]}},"required":["$id","$type","company","periodStart","periodEnd","payDate","kind","status"]},"PaymentSource":{"type":"object","description":"A Payment Source is a card, bank debit or wallet a Customer saves with a Startup, held at Stripe and charged for Orders and Invoices.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"PaymentSource"},"kind":{"type":"string","description":"How it pays: a card, a bank debit from the Customer’s account, or a wallet on the Customer’s phone or browser.","enum":["card","bankDebit","wallet"]},"label":{"type":"string","description":"What the Customer sees, such as the card brand and last four digits; never the full number."},"expiresOn":{"type":"string","format":"date","description":"When a card expires; the billing portal asks for a new one 30 days before."},"default":{"type":"boolean","description":"True for the one Payment Source that new Invoices and renewals charge."},"removedAt":{"type":"string","format":"date-time","description":"When the Customer removed it; nothing charges it after, and the record stays."}},"required":["$id","$type","kind","label"]},"Period":{"type":"object","description":"A Period is one month of a Startup’s books, open until every Transaction reconciles, then closed and locked.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Period"},"month":{"type":"string","format":"date","description":"The first day of the month it covers."},"status":{"type":"string","description":"One of `Open`, `Closed`, or `Locked`.","enum":["Open","Closed","Locked"]}},"required":["$id","$type","month","status"]},"Permission":{"type":"object","description":"A Permission is what a Role may do: a Verb on a Noun within a scope, optionally bounded by a Limit.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Permission"},"scope":{"type":"string","description":"Where it applies, such as a Startup or a Tenant."},"limit":{"type":"string","description":"The Limit that bounds it. The Limit id."}},"required":["$id","$type","scope"]},"Person":{"type":"object","description":"A Person is a human with one identity across every Startup; each Startup’s Contact is its own view of that Person.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Person"},"name":{"type":"string","description":"The legal or personal name."},"verified":{"type":"boolean","description":"True once the identity is verified."}},"required":["$id","$type","name"]},"Persona":{"type":"object","description":"A Persona is a named type of person with a job to do, such as a buyer, a seller, or an admin of an App.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Persona"},"job":{"type":"string","description":"What they come to get done."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."}},"required":["$id","$type","job"]},"Play":{"type":"object","description":"A Play is a named, repeatable strategy with the Metric it moves and its cost, run by a Startup as a Process.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Play"},"family":{"type":"string","description":"The job it does, such as `demand`, `retention`, or `pricing`.","enum":["demand","retention","pricing"]},"cost":{"$ref":"#/components/schemas/Money","description":"What one run costs."},"cohort":{"description":"The Portfolio query a Studio rolls it out to."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"spend":{"$ref":"#/components/schemas/Money","description":"Media, data and creative spend posted against the Play."},"workerCost":{"$ref":"#/components/schemas/Money","description":"What the Workers running it cost: model tokens, compute, upstream calls and human minutes."},"customersAcquired":{"type":"integer","description":"Outside Customers whose Acquisition names the Play."},"outsideRevenue":{"$ref":"#/components/schemas/Money","description":"Revenue collected from those Customers, net of refunds."},"margin":{"$ref":"#/components/schemas/Money","description":"Outside revenue less spend, Worker cost and the cost to serve those Customers."},"paybackDays":{"type":"integer","description":"Days from the first spend until margin covers spend and Worker cost; empty until it does."}},"required":["$id","$type","family"]},"PlayMix":{"type":"object","description":"A Play Mix is the set of Plays a Startup runs this week, each with its state, budget and stop rule, compiled weekly and versioned.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"PlayMix"},"version":{"type":"integer","description":"The version number; each weekly compile that changes a Play’s state or budget adds one."},"plays":{"description":"Each Play with its state (`gated`, `running` or `paused`), its monthly budget, its stop rule and its payback last week."},"gates":{"description":"Each gate: the Metric and threshold that opens it, and the Plays it opens."},"crossover":{"type":"string","description":"The reading that ends seed mode, such as compounding share at 50 percent for 4 weeks."},"diff":{"type":"string","description":"What changed from the previous version, one line per Play, with the reading that moved it."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"compiledAt":{"type":"string","format":"date-time","description":"When the compile ran."}},"required":["$id","$type","version","plays","compiledAt"]},"Policy":{"type":"object","description":"A Policy is a ruling a Startup declares on how its numbers are computed or its choices made, such as revenue recognition.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Policy"},"rule":{"type":"string","description":"The ruling, stated so code can apply it."}},"required":["$id","$type","rule"]},"Portal":{"type":"object","description":"A Portal is the signed-in part of a Site where each Customer orders, tracks delivery, accepts work, and pays, seeing only their own records.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Portal"},"path":{"type":"string","description":"Where it is mounted on the Site, `/portal` by default."},"tools":{"type":"array","items":{"type":"string","description":"Developer tools a keyed Offer adds: `keys`, `usage`, `requests`, `watches`, `version` and `testMode`.","enum":["keys","usage","requests","watches","version","testMode"]},"description":"Developer tools a keyed Offer adds: `keys`, `usage`, `requests`, `watches`, `version` and `testMode`."}},"required":["$id","$type","path"]},"Portfolio":{"type":"object","description":"A Portfolio is a managed set a Thing allocates attention and money across, by membership: a Studio’s Startups, a Startup’s child Startups, or its Products.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Portfolio"},"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"state":{"type":"string","description":"The current state in its lifecycle."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."},"query":{"description":"The saved query that defines a dynamic Collection."},"membership":{"type":"string","description":"How each member belongs: `held`, `owned`, `contracted`, or `made`.","enum":["held","owned","contracted","made"]}},"required":["$id","$type","id","type"]},"Post":{"type":"object","description":"A Post is something a Handle publishes, such as a thread or a short video, with the reach and replies it earns.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Post"},"format":{"type":"string","description":"The venue’s format, such as `shortVideo` or `thread`."},"publishAt":{"type":"string","format":"date-time","description":"When it goes out."},"status":{"type":"string","description":"Where it stands; a withdrawn Post is kept with its reach and replies.","enum":["draft","scheduled","published","withdrawn"]},"claims":{"description":"The facts it states, each resolving to a record."},"reach":{"type":"integer","description":"How many people saw it, as the venue reports."}},"required":["$id","$type","format","status"]},"Price":{"type":"object","description":"A Price is the amount, currency, unit, and tiers of an Offer, embedded in it; zero is a Price.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Price"},"amount":{"$ref":"#/components/schemas/Money","description":"The amount and currency. One Offer has one amount per market: test a sibling Offer instead."},"unit":{"type":"string","description":"What one unit is, such as a seat, a call, or a month."},"meter":{"type":"string","description":"The Meter that counts usage, for usage pricing. The Meter id."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"status":{"type":"string","description":"One of `draft`, `fixed` or `retired`, set by its Offer.","enum":["draft","fixed","retired"]}},"required":["$id","$type","amount","unit","status"]},"Problem":{"type":"object","description":"An RFC 9457 problem. type is the URL of the error page.","properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"},"fix":{"type":"string","description":"What to change before retrying."},"next":{"type":"string","format":"uri","description":"The call to make next."},"requestId":{"type":"string","description":"The request, as the Request-Id header and the request log name it."},"checks":{"type":"array","description":"On a refusal for unmet checks, such as entry checks: every check, passed or failed, with the fix for each failure.","items":{"type":"object","properties":{"check":{"type":"string"},"status":{"type":"string","enum":["pass","fail"]},"fix":{"type":"string","description":"What clears it, for a failed check."}},"required":["check","status"]}}},"required":["type","title","status"]},"Process":{"type":"object","description":"A Process is a named, repeatable piece of business work, owned by a Team and run by one or more Workflows.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Process"},"name":{"type":"string","description":"The name in sentence case, such as `Month-end close`."},"status":{"type":"string","description":"Whether the Process starts new Actions in this Startup: `off`, `on`, or `paused`.","enum":["off","on","paused"]},"says":{"type":"array","items":{"type":"string","description":"What a founder says to run, turn on, or ask about it."},"description":"What a founder says to run, turn on, or ask about it."},"settings":{"description":"The Settings it reads: key, type, default, the founder’s sentence and the Verb that sets each."},"defaultOn":{"type":"array","items":{"type":"string","description":"The Product Templates it is on in by default."},"description":"The Product Templates it is on in by default."},"wakes":{"description":"The Events that wake it in the Startup’s own records."},"inputs":{"type":"array","items":{"type":"string","description":"The Nouns an Action reads at its start."},"description":"The Nouns an Action reads at its start."},"outputs":{"type":"array","items":{"type":"string","description":"The Nouns a finished Action leaves behind, rolled up from its Workflows."},"description":"The Nouns a finished Action leaves behind, rolled up from its Workflows."},"outcome":{"type":"string","description":"What a finished Action leaves true, in one sentence."},"serviceLevel":{"description":"Its target duration, clock, escalation Role, and the waits that stop the clock."},"scope":{"type":"string","description":"Where it runs: `startup`, `studio`, or `any`.","enum":["startup","studio","any"]}},"required":["$id","$type","name"]},"Product":{"type":"object","description":"A Product is what a Customer gets from a Startup, with a promise the Customer can rely on.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Product"},"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"status":{"type":"string","description":"One of `draft`, `selling` or `retired`, set by its Offers.","enum":["draft","selling","retired"]}},"required":["$id","$type","name","promise","status"]},"ProductTemplate":{"type":"object","description":"A Product Template is a reusable definition of one kind of Product: what it sells, who supplies the work, who buys, and how it earns.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"ProductTemplate"},"slug":{"type":"string","description":"The page path under `/start/templates/products`."},"kind":{"type":"string","description":"The abstract Product: `data`, `software`, `agent`, or `service`.","enum":["data","software","agent","service"]},"supply":{"type":"string","description":"Who supplies the work: `digital`, which is unlimited, or `human`, which is recruited and credentialed."},"worker":{"type":"string","description":"Who does the work: `agents`, `humans`, or `agents-and-humans`.","enum":["agents","humans","agents-and-humans"]},"buyer":{"type":"string","description":"Who buys: `human`, `agent`, or `human-or-agent`.","enum":["human","agent","human-or-agent"]},"earningModel":{"type":"string","description":"How it earns: `subscription`, `usage`, `commerce`, `marketplace`, or `directory`.","enum":["subscription","usage","commerce","marketplace","directory"]},"assurance":{"type":"string","description":"What the buyer can rely on, in one sentence."}},"required":["$id","$type","slug","kind","supply","worker","buyer","earningModel"]},"Project":{"type":"object","description":"A Project is a body of work toward a Goal: its Tasks and Issues, a start, and a target date.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Project"},"startsOn":{"type":"string","format":"date","description":"When work begins."},"targetDate":{"type":"string","format":"date","description":"When it should be done."}},"required":["$id","$type"]},"Proof":{"type":"object","description":"A Proof is the sealed result of one Control test: the Events it read, the root it checked them against, and every exception.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Proof"},"control":{"type":"string","description":"The Control whose test ran. The Control id."},"namespace":{"type":"string","description":"The Startup, Studio, or platform namespace the test read."},"from":{"type":"string","format":"date-time","description":"The start of the range tested."},"to":{"type":"string","format":"date-time","description":"The end of the range tested."},"root":{"type":"string","description":"The published log root the selected Events roll up to."},"count":{"type":"integer","description":"How many Events the test read."},"exceptions":{"type":"integer","description":"How many failed the assertion; each opens an Issue."}},"required":["$id","$type","control","namespace","from","to","root","count","exceptions"]},"Prospect":{"type":"object","description":"A Prospect is a person or Organization a Startup found but who has never engaged, held with the legal basis for contact.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Prospect"},"foundIn":{"type":"string","description":"Where the Startup found them."},"basis":{"type":"string","description":"The legal basis for contacting them."}},"required":["$id","$type","foundIn","basis"]},"Publication":{"type":"object","description":"A Publication is the branded package a Startup’s Customers use: Domain, Interfaces, packages, docs and Portal, compiled from its Brand and a Version.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Publication"},"brand":{"type":"string","description":"The Brand every surface carries. The Brand id."},"version":{"type":"string","description":"The Version it compiles from; a restyle compiles a new Publication and leaves the API version alone. The Version id."},"domain":{"type":"string","description":"The canonical Domain every surface answers on. The Domain id."},"api":{"type":"string","format":"uri","description":"Where the API answers: `/api` on the Domain. `api.` on the Domain is an alias that serves the same API."},"mcp":{"type":"string","format":"uri","description":"Where the MCP server answers: `/mcp` on the Domain."},"docs":{"type":"string","format":"uri","description":"The docs, with `llms.txt` and Markdown per page."},"statusPage":{"type":"string","format":"uri","description":"The status page, with every Incident that touched an Interface."},"portal":{"type":"string","format":"uri","description":"The Portal, where a Customer manages keys, usage, billing and Tenant settings."},"packages":{"description":"The SDK, CLI and MCP package names, one per language and package registry."},"keyPrefix":{"type":"string","description":"The Brand prefix on every API key, ahead of the fixed pattern secret scanners match."},"envPrefix":{"type":"string","description":"The prefix of the key variable the SDK and CLI read, such as `TRANSCRIBE_API_KEY`."},"webhookHeader":{"type":"string","description":"The signature header on every webhook delivery to a Customer."},"errorNamespace":{"type":"string","format":"uri","description":"The base of every error `type` a Customer reads, on the Domain."}},"required":["$id","$type","brand","version","domain","api","mcp","docs"]},"Purpose":{"type":"object","description":"A Purpose is a named reason personal data is processed, with a lawful basis per jurisdiction.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Purpose"},"name":{"type":"string","description":"The reason, such as marketing email or call recording."}},"required":["$id","$type","name"]},"Question":{"type":"object","description":"A Question is what a pending Action asks a Party, a Role, or a Worker before it resumes, kept on the Action with its answer.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Question"},"to":{"type":"string","description":"Who is asked: a Party such as the Customer or the caller, a Role, or a Worker. The Thing id."},"text":{"type":"string","description":"The question, in one message."},"choices":{"type":"array","items":{"type":"string","description":"The answers offered, rendered as a picker; free text when absent."},"description":"The answers offered, rendered as a picker; free text when absent."},"schema":{"description":"The typed answer’s shape, rendered as form fields in the Portal."},"answerBy":{"type":"string","format":"date-time","description":"After this, the Action’s timeout rule applies."},"answer":{"description":"The answer given, with who gave it and through which Interface."},"answeredAt":{"type":"string","format":"date-time","description":"When the answer arrived; the Action resumes then."}},"required":["$id","$type","to","text"]},"Quote":{"type":"object","description":"A Quote is a priced proposal of one or more Offers to one buyer, valid until a date, accepted into an Order.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Quote"},"total":{"$ref":"#/components/schemas/Money","description":"The quoted total."},"validUntil":{"type":"string","format":"date","description":"The last day it may be accepted."},"status":{"type":"string","description":"One of `draft`, `sent`, `accepted`, `declined`, `expired`, or `superseded`; an expired or superseded Quote never converts.","enum":["draft","sent","accepted","declined","expired","superseded"]},"lines":{"description":"One line per Offer: quantity, list Price, discount percent, net amount, term, and start, one line per ramp year."},"concessions":{"type":"array","items":{"type":"string","description":"Concessions granted, each from the Startup’s fixed concession list, such as a 60-day termination for convenience."},"description":"Concessions granted, each from the Startup’s fixed concession list, such as a 60-day termination for convenience."},"paymentTerms":{"description":"The `collection`, `terms` and `purchaseOrder` every Invoice from the accepted Quote carries."}},"required":["$id","$type","total","validUntil","status","lines"]},"Readout":{"type":"object","description":"A Readout is an Experiment’s result per Variant on its Metric, with the sample size, the interval, and how far the number can be trusted.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Readout"},"value":{"type":"number","description":"The Metric’s value for the Variant."},"n":{"type":"integer","description":"How many exposed units it counts."},"interval":{"description":"The low and high bounds of the estimate."},"readability":{"type":"string","description":"One of `A`, `B`, `C`, or `inadmissible`: how far the number can be trusted.","enum":["A","B","C","inadmissible"]},"pooled":{"type":"boolean","description":"True when exposures from sibling Startups or earlier Portfolio results are pooled in."}},"required":["$id","$type","value","n","readability"]},"Recording":{"type":"object","description":"A Recording is the replay of one Visit or one agent browser session, masked at capture.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Recording"},"visit":{"type":"string","description":"The Visit it replays, for a person’s session. The Visit id."},"action":{"type":"string","description":"The agent Action whose browser session it replays. The Action id."},"file":{"type":"string","description":"The rendered video File, when one is rendered. The File id."},"seconds":{"type":"integer","description":"Its length in seconds."}},"required":["$id","$type"]},"RecoveryObjective":{"type":"object","description":"A Recovery Objective sets how much data one Capability may lose and how fast it returns, proven by a restore drill on a cadence.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"RecoveryObjective"},"recoveryPoint":{"type":"string","description":"The most data a failure may lose, as a window such as `15m`."},"recoveryTime":{"type":"string","description":"How fast the Capability returns after a failure, as a window such as `4h`."},"drillEvery":{"type":"string","description":"The restore drill cadence, such as `quarterly`."},"lastDrill":{"type":"string","format":"date-time","description":"When the last restore drill met both objectives."}},"required":["$id","$type","recoveryPoint","recoveryTime","drillEvery"]},"Referral":{"type":"object","description":"A Referral is a Contact, Customer, or Partner sending a Lead to a Startup, with any reward it earns.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Referral"},"reward":{"$ref":"#/components/schemas/Money","description":"What the referrer earns."},"rewardKind":{"type":"string","description":"What the referrer earns: earlier `access`, or `cash`, which pays only after Live.","enum":["access","cash"]}},"required":["$id","$type"]},"Registration":{"type":"object","description":"A Registration is one person’s place at a Gathering: invited, requested, or waitlisted, then registered, then attended or no-show.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Registration"},"status":{"type":"string","description":"One of `invited`, `requested`, `waitlisted`, `registered`, `attended`, or `noShow`.","enum":["invited","requested","waitlisted","registered","attended","noShow"]},"registeredAt":{"type":"string","format":"date-time","description":"When the place was confirmed."}},"required":["$id","$type","status"]},"Relationship":{"type":"object","description":"A Relationship is a standing Action between two Things, read in the present tense and typed by a Verb whose forms give its reverse.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Relationship"},"predicate":{"type":"string","description":"The name read from the source, such as `makes`."},"inverse":{"type":"string","description":"The name read from the target, such as `madeBy`."},"provenance":{"type":"string","description":"Who asserted it: `Stated`, `Ratified`, `Inferred`, or `Observed`.","enum":["Stated","Ratified","Inferred","Observed"]}},"required":["$id","$type","predicate","inverse"]},"Renewal":{"type":"object","description":"A Renewal is the Deal for a term Subscription’s next term, opened before the term ends and closed renewed, expanded, contracted, or churned.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Renewal"},"status":{"type":"string","description":"One of `Open`, `Qualified`, `Proposed`, `Won`, or `Lost`.","enum":["Open","Qualified","Proposed","Won","Lost"]},"value":{"$ref":"#/components/schemas/Money","description":"What the Deal is worth if won."},"owner":{"type":"string","description":"The Worker who runs it. The Worker id."},"closesOn":{"type":"string","format":"date","description":"The date the buyer expects to decide."},"statusSince":{"type":"string","format":"date-time","description":"When it entered its current status, computed from its Events."},"nextStep":{"type":"string","description":"The next dated step agreed with the buyer."},"termEndsAt":{"type":"string","format":"date-time","description":"When the current term ends, read from the Subscription."},"openedAt":{"type":"string","format":"date-time","description":"When it opened: by default 90 days before the term ends."},"usageReview":{"type":"string","description":"Usage against each Entitlement over the term, written before any Quote."},"noticeSentAt":{"type":"string","format":"date-time","description":"When the renewal notice the legal floor requires went out, with the date, Price and cancel link."},"saveOffer":{"type":"string","description":"The one save offer shown on cancel; it never blocks the cancel."},"outcome":{"type":"string","description":"One of `renewed`, `expanded`, `contracted`, or `churned`, computed from the Subscription’s Events at the term end.","enum":["renewed","expanded","contracted","churned"]}},"required":["$id","$type","status","termEndsAt","openedAt"]},"ReservedAct":{"type":"object","description":"A Reserved Act is a Verb the law reserves to the holder of a named Credential, so its Function is always human.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"ReservedAct"},"jurisdiction":{"type":"string","description":"Where the law reserves it."}},"required":["$id","$type","jurisdiction"]},"Review":{"type":"object","description":"A Review is one person’s rated evaluation of a Product, Offer or Brand, shown on a Site or an outside venue and mirrored from there.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Review"},"rating":{"type":"integer","description":"The score, from 1 to 5."},"body":{"type":"string","description":"The reviewer’s words."},"venue":{"type":"string","description":"The venue it was posted on, by id; empty for the Startup’s own Site."},"displayConsent":{"type":"boolean","description":"True once the reviewer agreed it may be shown on the Startup’s own Pages."},"status":{"type":"string","description":"Where it stands; a removed Review is kept, never deleted.","enum":["submitted","published","withheld","removed"]},"customer":{"type":"string","description":"The Customer who wrote it, when known. The Customer id."}},"required":["$id","$type","rating","status"]},"Risk":{"type":"object","description":"A Risk is something that could harm a Startup or a Portfolio, scored by likelihood and impact, and treated, accepted, or closed.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Risk"},"scope":{"type":"string","description":"Whose Risk it is: `startup` or `portfolio`, for exposure shared across siblings."},"likelihood":{"type":"integer","description":"How likely it is within a year, from 1 (rare) to 5 (expected)."},"impact":{"type":"integer","description":"How much harm it does if it happens, from 1 (minor) to 5 (ends the Startup)."},"treatment":{"type":"string","description":"The chosen response: `treat`, `accept`, `transfer`, or `avoid`.","enum":["treat","accept","transfer","avoid"]},"owner":{"type":"string","description":"The Role that owns the Risk and its next review. The Role id."},"status":{"type":"string","description":"`open`, `treated`, `accepted`, or `closed`. A closed Risk is kept forever.","enum":["open","treated","accepted","closed"]},"reviewBy":{"type":"string","format":"date","description":"When the owner next scores it again."}},"required":["$id","$type","scope","likelihood","impact","owner","status"]},"Role":{"type":"object","description":"A Role is a seat that owns a set of work and holds the Permissions to do it, filled by a Human or an Agent.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Role"},"name":{"type":"string","description":"The title of the seat."},"responsibilities":{"type":"string","description":"The work the seat owns."},"status":{"type":"string","description":"One of `vacant` or `filled`.","enum":["vacant","filled"]},"autonomy":{"description":"How much its agent does without asking: a rung, `assist`, `supervised` or `full`, with another rung per decision class where it differs."}},"required":["$id","$type","name","status"]},"RoleReview":{"type":"object","description":"A Role Review is a dated check of one Role against its contract: its results, its standards and its autonomy rung.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"RoleReview"},"role":{"type":"string","description":"The Role it reviews. The Role id."},"period":{"type":"string","description":"The period it covers, such as `2026-W43` or `2026-10`."},"results":{"description":"Each result Metric’s value against its target for the period."},"standardsMet":{"type":"boolean","description":"True when the seat held every standard in its contract for the period."},"rung":{"type":"string","description":"One of `assist`, `supervised`, or `full`: the autonomy rung the seat holds after the review.","enum":["assist","supervised","full"]},"change":{"type":"string","description":"The one change the review asks for, if any."}},"required":["$id","$type","role","period"]},"Screening":{"type":"object","description":"A Screening is one check of a Party against official registers and restricted-party lists, with each list’s version, any matches and the outcome.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Screening"},"lists":{"description":"Each register or list checked, with the version read, such as a sanctions list dated 2026-10-20."},"matches":{"description":"Each entry that resembled the Party, with the list it came from and how closely it matched."},"outcome":{"type":"string","description":"`clear` lets money move; `match` holds pending Orders; `review` opens an Approval.","enum":["clear","match","review"]},"via":{"type":"string","description":"`platform` for a Startup-side screen; `stripe` for Stripe’s own verification result, recorded on the same Party.","enum":["platform","stripe"]}},"required":["$id","$type","lists","outcome","via"]},"Secret":{"type":"object","description":"A Secret is a named credential stored write-only per environment and filled into a call at run time, never read back by a Worker.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Secret"},"name":{"type":"string","description":"The name a Function declares, such as `MAPS_KEY`; `list` returns names only."},"environment":{"type":"string","description":"The environment that holds this value; a Function deploys to `live` only when every declared Secret exists there.","enum":["test","live"]},"scope":{"type":"string","description":"Whether the whole Startup or one Tenant holds it.","enum":["startup","tenant"]},"rotatedAt":{"type":"string","format":"date-time","description":"When the value last changed."}},"required":["$id","$type","name","environment","scope"]},"Sequence":{"type":"object","description":"A Sequence is a timed series of steps run for one Contact at a time: send a Message, wait, branch, or stop.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Sequence"},"steps":{"description":"The steps, waits, and branches."},"exitOn":{"type":"string","description":"The Events that end it from any step, such as a reply or a purchase."}},"required":["$id","$type","steps"]},"Service":{"type":"object","description":"A Service is a Product that warrants an outcome, delivered by Agents and Humans under an Outcome Contract.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Service"},"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"status":{"type":"string","description":"One of `draft`, `selling` or `retired`, set by its Offers.","enum":["draft","selling","retired"]},"floor":{"type":"string","description":"The human floor: `none`, `sign`, or `practice`.","enum":["none","sign","practice"]}},"required":["$id","$type","name","promise","status"]},"Setting":{"type":"object","description":"A Setting is a configurable value a Thing inherits from its nearest holder, Studio to Startup to Product, unless it sets its own.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Setting"},"key":{"type":"string","description":"The name of the choice."},"value":{"description":"The chosen value."},"locked":{"type":"boolean","description":"True when no holder below may override it."}},"required":["$id","$type","key","value"]},"Share":{"type":"object","description":"A Share is a unit of ownership in a Company, of one class, held by one Holder.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Share"},"class":{"type":"string","description":"The share class, such as common or preferred."},"quantity":{"type":"integer","description":"How many units the record holds."},"price":{"$ref":"#/components/schemas/Money","description":"The price paid per unit at issue."},"issuedAt":{"type":"string","format":"date-time","description":"When the Company issued it."},"certificate":{"type":"string","description":"The certificate or book-entry File. The File id."}},"required":["$id","$type","class","quantity"]},"Site":{"type":"object","description":"A Site is a website as a Thing: its Pages, navigation, and Brand, served on one or more Domains.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Site"},"kind":{"type":"string","description":"One of `api`, `mcp`, `cli`, `sdk`, `site`, `app`, `docs`, or `webhooks`.","enum":["api","mcp","cli","sdk","site","app","docs","webhooks"]},"path":{"type":"string","description":"Where it is mounted on its Domain, such as `/api`."},"conformsTo":{"description":"The Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs."},"navigation":{"description":"The menus that link its Pages."}},"required":["$id","$type","kind"]},"Skill":{"type":"object","description":"A Skill is a capacity a Worker has at a level, such as negotiation or programming, that Roles require.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Skill"},"level":{"type":"integer","description":"How well the Worker performs it."}},"required":["$id","$type"]},"Software":{"type":"object","description":"Software is a Product a Customer uses through Interfaces, from a headless API to a full App.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Software"},"name":{"type":"string","description":"The name of the Product."},"promise":{"type":"string","description":"What the Customer can rely on."},"status":{"type":"string","description":"One of `draft`, `selling` or `retired`, set by its Offers.","enum":["draft","selling","retired"]},"headless":{"type":"boolean","description":"True when it ships without screens of its own."}},"required":["$id","$type","name","promise","status"]},"Source":{"type":"object","description":"A Source is something a Product draws on to keep its promise but did not build: owned, wrapped, or recruited.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Source"},"acquired":{"type":"string","description":"One of `owned`, `wrapped`, or `recruited`.","enum":["owned","wrapped","recruited"]},"terms":{"type":"string","description":"The terms the Startup holds the right to use and resell it under."}},"required":["$id","$type","acquired"]},"SSOConnection":{"type":"object","description":"An SSO Connection links a Customer’s own identity system to its Tenant, so the Customer’s people sign in through it.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"SSOConnection"},"protocol":{"type":"string","description":"How sign-in is asserted: `saml` or `oidc`.","enum":["saml","oidc"]},"state":{"type":"string","description":"Where it stands; only `active` signs anyone in.","enum":["draft","active","failing","inactive"]},"certificateExpiresAt":{"type":"string","format":"date-time","description":"When the signing certificate expires; the Customer’s admin hears 30 days before."},"testedAt":{"type":"string","format":"date-time","description":"When the Customer’s admin last completed a test sign-in."}},"required":["$id","$type","protocol","state"]},"Standard":{"type":"object","description":"A Standard is a spec an Interface conforms to, so a Startup may publish its Product’s Verbs in a shape outside callers already use.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Standard"},"spec":{"type":"string","format":"uri","description":"The published specification its translator implements."},"path":{"type":"string","description":"Where its translator answers on an Interface, such as `/scim/v2` or `/v1/chat/completions`."},"operations":{"type":"array","items":{"type":"string","description":"The operations its translator accepts; a Startup maps each one onto one of its own Verbs."},"description":"The operations its translator accepts; a Startup maps each one onto one of its own Verbs."}},"required":["$id","$type","spec","path","operations"]},"Startup":{"type":"object","description":"A Startup is the smallest business that can be moved, promoted, or sold on its own, with its own Products, Offers, Customers, and P&L.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Startup"},"name":{"type":"string","description":"The name the Startup trades under."},"domain":{"type":"string","format":"uri","description":"The canonical hostname of the Startup."},"launchedAt":{"type":"string","format":"date-time","description":"When the Startup went live."},"template":{"type":"string","description":"The slug of the template it extends; the root one when none is named."},"idea":{"type":"string","description":"The Idea it starts from, in a sentence, recorded as its Idea."},"spendState":{"type":"string","description":"How freely money Limits allow spend: `free`, `tight` (discretionary Limits halved) or `hold` (one-way spend stops).","enum":["free","tight","hold"]}},"required":["$id","$type","name"]},"StartupTemplate":{"type":"object","description":"A Startup Template is an operating model, one or more Product Templates, and the Motions they sell through, which a new Startup starts from.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"StartupTemplate"},"slug":{"type":"string","description":"The argument to `create --template` and the page path under `/start/templates`."},"operatingModel":{"type":"string","description":"The human and Agent mix: `autonomous`, `single-human`, or `multi-human`.","enum":["autonomous","single-human","multi-human"]},"motions":{"type":"array","items":{"type":"string","description":"The Motions its Offers sell through, such as `b2b` or `b2a`."},"description":"The Motions its Offers sell through, such as `b2b` or `b2a`."},"extends":{"type":"string","description":"The base Startup Template whose Product Templates, Systems, Processes, and Roles it inherits. The Startup Template id."}},"required":["$id","$type","slug","operatingModel","motions"]},"Statement":{"type":"object","description":"A Statement is a report computed from Entries for one Period under a Policy, such as a P&L, a balance sheet or a payout statement.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Statement"},"kind":{"type":"string","description":"Which report: `profitAndLoss`, `balanceSheet`, `cashFlow`, `payout` for a Supplier, or `capitalAccount` for a Fund investor.","enum":["profitAndLoss","balanceSheet","cashFlow","payout","capitalAccount"]},"period":{"type":"string","description":"The Period it reports. The Period id."},"scope":{"type":"string","description":"Whose books it covers: one Startup, one Company, or a whole Portfolio.","enum":["startup","company","portfolio"]},"lines":{"description":"The computed lines, with captive revenue from sibling Startups shown both in and out."},"party":{"type":"string","description":"The Supplier, Partner or investor a `payout` or `capitalAccount` Statement is addressed to. The Party id."}},"required":["$id","$type","kind","period","scope","lines"]},"Story":{"type":"object","description":"A Story is the customer narrative for one ICP, compiled from its Founding Hypothesis and Interview quotes, never written by hand.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Story"},"icp":{"type":"string","description":"The ICP it speaks to: one Story per ICP. The ICP id."},"hero":{"type":"string","description":"Who the customer is and what they want."},"problem":{"type":"string","description":"The Problem: external, internal, and the villain behind it. The Problem id."},"guide":{"type":"string","description":"The Startup’s empathy and authority, the authority read from Metrics and Evidence."},"plan":{"type":"string","description":"Three steps, each naming a declared Event."},"success":{"type":"string","description":"What the customer gains."},"failure":{"type":"string","description":"What the customer risks without it."},"oneLiner":{"type":"string","description":"The Story in one sentence."},"direct":{"type":"string","description":"The direct call to action: an Offer that makes a Customer. The Offer id."},"transitional":{"type":"string","description":"The transitional call to action: a Funnel opt-in that makes a Lead. The Funnel id."},"from":{"type":"string","description":"Lineage: the slot it compiles from, as `Hypothesis#<slot>@v<version>`."},"stance":{"type":"string","description":"The positioning the Positioning tournament chose, graded Behavior; every compiled asset recompiles when it changes.","enum":["headToHead","subcategory","newCategory"]},"category":{"type":"string","description":"The market category name the Story claims, as answer engines repeat it."}},"required":["$id","$type","icp","hero","problem","from"]},"Studio":{"type":"object","description":"A Studio is an organization that builds Startups, holds them through Companies, and runs Plays across its Portfolio.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Studio"},"name":{"type":"string","description":"The name of the Studio."}},"required":["$id","$type","name"]},"Subscription":{"type":"object","description":"A Subscription is a Customer’s standing acceptance of an Offer, billed each Period until canceled.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Subscription"},"status":{"type":"string","description":"One of `active`, `trialing`, `pastDue`, `paused`, `incomplete`, or `canceled`.","enum":["active","trialing","pastDue","paused","incomplete","canceled"]},"renewsAt":{"type":"string","format":"date-time","description":"When it next renews."},"quantity":{"type":"integer","description":"How many units of the Offer’s Price it holds, such as 12 members; 1 by default."},"trialEndsAt":{"type":"string","format":"date-time","description":"When a trial ends and the first paid period starts."},"termEndsAt":{"type":"string","format":"date-time","description":"When a committed term ends; the Renewal and the renewal notice read it."}},"required":["$id","$type","status"]},"Supplier":{"type":"object","description":"A Supplier is a Person or Company that delivers work through a Startup’s human supply: recruited, credentialed, and paid out.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Supplier"},"name":{"type":"string","description":"The legal or personal name."},"status":{"type":"string","description":"One of `recruited`, `onboarded`, `active`, or `suspended`.","enum":["recruited","onboarded","active","suspended"]},"payoutAccount":{"type":"string","description":"Where payouts land, held through Stripe."}},"required":["$id","$type","name","status"]},"Suppression":{"type":"object","description":"A Suppression is an address a Company never sends commercial Messages to, read before every send from any of its Startups.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Suppression"},"address":{"type":"string","description":"The email address or phone number."},"reason":{"type":"string","description":"Why it is suppressed, such as an opt-out or a bounce."}},"required":["$id","$type","address"]},"Survey":{"type":"object","description":"A Survey is a Form sent to measure, such as NPS or CSAT, whose answers become Metrics and Evidence.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Survey"},"fields":{"description":"The fields and their types."}},"required":["$id","$type","fields"]},"System":{"type":"object","description":"A System is the headless software for one job, such as CRM or billing, that every Startup runs on shared data.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"System"},"job":{"type":"string","description":"The one job it does."}},"required":["$id","$type","job"]},"Task":{"type":"object","description":"A Task is an Action waiting on a Worker, with an assignee, a due time, and a place in that Worker’s inbox.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Task"},"status":{"type":"string","description":"One of `pending`, `done`, `failed`, `canceled`, or `refused`.","enum":["pending","done","failed","canceled","refused"]},"reason":{"type":"string","description":"Why a pending Action waits: `queued`, `running`, `retrying`, `awaitingWorker`, `awaitingInput`, `awaitingSource`, `awaitingAction`, or `awaitingTime`.","enum":["queued","running","retrying","awaitingWorker","awaitingInput","awaitingSource","awaitingAction","awaitingTime"]},"mode":{"type":"string","description":"How the caller invoked it: `try`, `send`, or `do`.","enum":["try","send","do"]},"by":{"type":"string","description":"The Worker that performed it. The Worker id."},"for":{"type":"string","description":"The Party it was done on behalf of. The Party id."},"via":{"type":"string","description":"The Interface or request it arrived through."},"on":{"type":"string","description":"The Action or Event that caused it, such as the failed attempt a retry follows."},"thing":{"type":"string","description":"The record, at the Version the Action was decided against."},"input":{"description":"The input it was called with."},"createdAt":{"type":"string","format":"date-time","description":"When it was called."},"reserved":{"$ref":"#/components/schemas/Money","description":"The most this Action may cost, held against its Limits from the check until it settles, billed misses included."},"due":{"type":"string","format":"date-time","description":"When the Task is due."},"priority":{"type":"integer","description":"Its rank in the inbox, highest first."},"recurrence":{"type":"string","description":"The schedule a recurring duty repeats on."}},"required":["$id","$type","status","mode"]},"Team":{"type":"object","description":"A Team is a named group of Roles under one owner; every Startup starts with eleven default Teams.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Team"},"mission":{"type":"string","description":"What the Team is for, in one sentence."},"status":{"type":"string","description":"One of `asleep` or `awake`: whether any of its Processes is on.","enum":["asleep","awake"]}},"required":["$id","$type","mission","status"]},"Template":{"type":"object","description":"A Template is reusable Content with variables, filled from Things in the graph and authored as MDX, rendering a Message, Document, or Page.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Template"},"body":{"type":"string","description":"The MDX source with its variables."}},"required":["$id","$type","body"]},"Tenant":{"type":"object","description":"A Tenant is the partition of a Startup’s data that belongs to one Customer.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Tenant"},"placement":{"type":"string","description":"Where the Tenant sits in an address: `path` or `host`."},"apiVersion":{"type":"string","description":"The API version an unversioned call with this Tenant’s keys answers at; set at creation, moved only by `pin`."}},"required":["$id","$type"]},"Theme":{"type":"object","description":"A Theme is the design tokens of a Brand, its color, type, spacing, radius, and motion, that every Component reads when it renders.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Theme"},"tokens":{"description":"The token values, in light and dark modes."},"css":{"type":"string","description":"Extra CSS, applied after the tokens."}},"required":["$id","$type","tokens"]},"Thing":{"type":"object","description":"A Thing is an instance of one or more Nouns, with an identity, a current state, and the union of their properties.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Thing"},"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"type":"string","description":"The Nouns this Thing is an instance of. The Noun id."},"description":"The Nouns this Thing is an instance of."},"state":{"type":"string","description":"The current state in its lifecycle."},"outside":{"description":"The ids this Thing has in outside tools, one per Integration, so a re-run matches instead of duplicating."}},"required":["$id","$type","id","type"]},"Thread":{"type":"object","description":"A Thread is a set of Messages replying to one another inside a Channel.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Thread"},"subject":{"type":"string","description":"What the Thread is about."}},"required":["$id","$type"]},"Tool":{"type":"object","description":"A Tool is a Verb as a Worker reaches it through an Interface, under one name on every Interface.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Tool"},"name":{"type":"string","description":"The `Noun.verb` name, such as `Contact.create`."}},"required":["$id","$type","name"]},"Transaction":{"type":"object","description":"A Transaction is money moving on a payment rail, such as a charge, a payout, or a transfer, reconciled to Entries.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Transaction"},"kind":{"type":"string","description":"One of `charge`, `refund`, `payout`, or `transfer`.","enum":["charge","refund","payout","transfer"]},"amount":{"$ref":"#/components/schemas/Money","description":"The amount moved."},"receipt":{"type":"string","description":"The receipt matched to a card Transaction. The File id."},"settledAt":{"type":"string","format":"date-time","description":"When the money became available in a cash Account."}},"required":["$id","$type","kind","amount"]},"Trigger":{"type":"object","description":"A Trigger is what starts a Workflow: an Event, a schedule, or a Thing entering a state.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Trigger"},"event":{"type":"string","description":"The Event selector it matches, such as `Order.placed`."},"schedule":{"type":"string","description":"A cadence or cron expression."},"state":{"type":"string","description":"The state whose entry fires it."},"where":{"type":"string","description":"The predicate an `event` Trigger matches, such as `choice = 'raise'`."},"threshold":{"description":"A Metric staying below or above a value, optionally for a while, such as four weeks."},"at":{"type":"string","description":"When in its cadence a schedule runs, on the namespace’s clock, such as `mon 09:00`."}},"required":["$id","$type"]},"Variant":{"type":"object","description":"A Variant is one value an Experiment can assign, such as a revision, a Price on a sibling Offer, or a prompt, with its lineage.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Variant"},"key":{"type":"string","description":"The name the Flag returns for it."},"value":{"description":"What it changes: copy, behavior, a definition Version, or a Thing."},"control":{"type":"boolean","description":"True for the current definition every challenger is judged against."},"follows":{"type":"string","description":"The Variant it was drafted from by a learn step. The Variant id."}},"required":["$id","$type","key","value"]},"Verb":{"type":"object","description":"A Verb is an action an Agent or a person performs on a Noun, emitting one event when it completes.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Verb"},"name":{"type":"string","description":"The camelCase action form."},"event":{"type":"string","description":"The event the Verb emits."},"publishedIn":{"type":"string","description":"The first published Version that serves it; from then on, edits go through a Change and `delete` refuses. The Version id."},"status":{"type":"string","description":"One of `draft`, `published` or `retired`.","enum":["draft","published","retired"]}},"required":["$id","$type","name","event","status"]},"Version":{"type":"object","description":"A Version is an immutable build of a definition at a fingerprint; an Order keeps the Offer Version it bought.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Version"},"fingerprint":{"type":"string","description":"The content hash that identifies the build."}},"required":["$id","$type","fingerprint"]},"Video":{"type":"object","description":"A Video is a timed composition held as data: a timeline of scenes and spoken lines, drafted from records and rendered per format.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Video"},"status":{"type":"string","description":"One of `Draft`, `Rendered`, `Final`, or `Superseded`.","enum":["Draft","Rendered","Final","Superseded"]},"timeline":{"description":"The ordered scenes on a fixed grid, the only timing truth for picture, voice and captions."},"brand":{"type":"string","description":"The Brand whose voice, palette and type the Video uses. The Brand id."},"offer":{"type":"string","description":"The Offer the Video presents, when it presents one. The Offer id."}},"required":["$id","$type","status","timeline","brand"]},"Visit":{"type":"object","description":"A Visit is one span of a Visitor’s Events on a Startup’s Sites and Apps.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Visit"},"startedAt":{"type":"string","format":"date-time","description":"When it began."},"acquisition":{"type":"string","description":"How the Visitor arrived: search, AI answer, agent, referral, ad, or direct."}},"required":["$id","$type","startedAt"]},"Visitor":{"type":"object","description":"A Visitor is someone a Startup cannot name, known by an id scoped to that Startup.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Visitor"},"firstSeenAt":{"type":"string","format":"date-time","description":"When the first request arrived."}},"required":["$id","$type","firstSeenAt"]},"Voice":{"type":"object","description":"A Voice is a reusable synthetic speaking voice, cloned from a consenting speaker or designed from a description, that speech Files are rendered in.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Voice"},"origin":{"type":"string","description":"`cloned` from a real speaker’s recordings, or `designed` from a description and sounding like no real person.","enum":["cloned","designed"]},"speaker":{"type":"string","description":"The real person a cloned Voice sounds like. The Person id."},"consent":{"type":"string","description":"The speaker’s Consent, recorded in that voice, naming the Startup and the uses allowed; required for a cloned Voice. The Consent id."},"scope":{"type":"string","description":"Who may speak in it: every sibling, one Startup, or one Customer.","enum":["studio","startup","customer"]},"samples":{"type":"array","items":{"type":"string","description":"The recordings it was trained from, kept forever. The File id."},"description":"The recordings it was trained from, kept forever."},"status":{"type":"string","description":"`training` until the upstream finishes, `ready` for speech, `retired` once its trained copy is deleted.","enum":["training","ready","retired"]}},"required":["$id","$type","origin","scope","status"]},"Waitlist":{"type":"object","description":"A Waitlist is the Leads waiting for an Offer that is not open to them, invited in the order a Setting chooses.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Waitlist"},"invited":{"type":"integer","description":"How many Leads have been invited."},"rank":{"type":"string","description":"The invite order: first come, best ICP fit, or most referrals first.","enum":["signup","fit","referral"]}},"required":["$id","$type"]},"Watch":{"type":"object","description":"A Watch is an outbound subscription that delivers the Events a selector matches to a URL, signed, retried, and replayable.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Watch"},"selector":{"type":"string","description":"The Event selector, such as `Order.placed`."},"url":{"type":"string","format":"uri","description":"Where deliveries go."},"payload":{"type":"string","description":"One of `full`, or `thin`: the record as the Action left it, or only its versioned address. The default is full.","enum":["full","thin"]}},"required":["$id","$type","selector","url"]},"Worker":{"type":"object","description":"A Worker is a Human or an Agent that fills a Role and acts on Tasks.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Worker"},"name":{"type":"string","description":"The name the Worker goes by in a Startup."},"instructions":{"type":"string","description":"How the Worker does its work."}},"required":["$id","$type","name"]},"Workflow":{"type":"object","description":"A Workflow is the durable, executable body of one Action: its steps, the Functions that run them, retries, and waits.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Workflow"},"steps":{"description":"The ordered steps, each run by a Function."},"retries":{"type":"integer","description":"How many times a failed step retries."},"body":{"type":"string","description":"The Verb whose Action it is the durable body of, such as `Order.refund`; a Workflow with a body has no Trigger."}},"required":["$id","$type","steps"]},"Money":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string","description":"ISO 4217 code."}},"required":["amount","currency"],"additionalProperties":false},"Delivery":{"type":"object","description":"One Event, as a Watch posts it.","properties":{"$id":{"type":"string","format":"uri","description":"The Event record: its URL names the Startup."},"$type":{"const":"Event"},"name":{"type":"string","description":"The Event name, such as Order.delivered."},"at":{"type":"string","format":"date-time"},"seq":{"type":"integer","description":"The Event’s position in the namespace, one more than the Event before it."},"data":{"type":"object","description":"The records as the Action left them, in the shape the API returns."}},"required":["$id","$type","name","at","seq","data"]}},"responses":{"Problem":{"description":"An error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"RateLimited":{"description":"Throttled before anything is recorded: no Action, no charge. Wait Retry-After seconds, then retry with the same idempotency key.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"headers":{"RateLimit-Limit":{"description":"Requests the window allows.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the window resets.","schema":{"type":"integer"}}}}}
