{"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":"leaseline.app","description":"The Startup namespace: its domain."}}}],"security":[{"bearer":[]}],"tags":[{"name":"Agent","description":"An Agent is a digital worker with instructions, tools, and a model that performs Verbs for a Startup."},{"name":"Change","description":"A Change is a proposed set of writes to Things, drafted against a base Version on its own branch, then checked, approved and merged."},{"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":"Customer","description":"A Customer is a party that has accepted an Offer from a Startup at any price, including zero."},{"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":"Event","description":"An Event is the immutable record of something that happened to a Thing, named by its Noun and past-tense Verb."},{"name":"Human","description":"A Human is a Worker who is a person, acting on Tasks through Apps, Mailboxes, and Channels."},{"name":"Invoice","description":"An Invoice is what a Customer owes for one or more Offers over one billing period."},{"name":"Lease","description":"A Lease is one resident’s agreement on one unit, from signing to renewal."},{"name":"Offer","description":"An Offer is a Product, under a Brand, at a price, on terms, made by a Startup."},{"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":"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":"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":"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":"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":"Subscription","description":"A Subscription is a Customer’s standing acceptance of an Offer, billed each Period until canceled."},{"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":"Version","description":"A Version is an immutable build of a definition at a fingerprint; an Order keeps the Offer Version it bought."},{"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":{"/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":{"description":"The Skills it loads."},"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/leaseline.app","agent":{"$id":"https://api.sb/leaseline.app/agents/agent_02y6sojE6k","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Agent.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Agent","agents":[{"$id":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","$type":"Agent","instructions":"Write as the property manager’s assistant. Never promise a rent the manager has not set.","model":"claude-opus-5-5","status":"seated"}],"meta":{"limit":20,"after":"agent_tCzKDMorKn"},"links":{"self":"https://api.sb/leaseline.app/agents?limit=20","next":"https://api.sb/leaseline.app/agents?after=agent_tCzKDMorKn"}}}}},"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/leaseline.app","$type":"Agent","$id":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","agent":{"$id":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","$type":"Agent","instructions":"Write as the property manager’s assistant. Never promise a rent the manager has not set.","model":"claude-opus-5-5","status":"seated"},"links":{"self":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","up":"https://api.sb/leaseline.app/agents"},"actions":{"resume":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn/resume","retire":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn/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":{"description":"The Skills it loads."},"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":{"memory":"tenant"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","agent":{"$id":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","$type":"Agent","instructions":"Write as the property manager’s assistant. Never promise a rent the manager has not set.","model":"claude-opus-5-5","status":"seated","memory":"tenant"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Agent.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","agent":{"$id":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","$type":"Agent","instructions":"Write as the property manager’s assistant. Never promise a rent the manager has not set.","model":"claude-opus-5-5","status":"seated"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Agent.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The Customer’s Tenant."},"product":{"description":"The Agent Product."}},"required":["tenant","product"],"additionalProperties":false},"example":{"tenant":"Example tenant","product":"Example product"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","agent":{"$id":"https://api.sb/leaseline.app/agents/agent_02y6sojE6k","$type":"Agent","instructions":"Example instructions","model":"Example model","status":"standby"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Agent.mint","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"Pause every Agent seated on this Team."},"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_tCzKDMorKn"],"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/leaseline.app","agents":[{"$id":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","$type":"Agent","instructions":"Write as the property manager’s assistant. Never promise a rent the manager has not set.","model":"claude-opus-5-5","status":"seated"}],"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Agent.pause","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","agent":{"$id":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","$type":"Agent","instructions":"Write as the property manager’s assistant. Never promise a rent the manager has not set.","model":"claude-opus-5-5","status":"seated"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Agent.resume","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","agent":{"$id":"https://api.sb/leaseline.app/agents/agent_tCzKDMorKn","$type":"Agent","instructions":"Write as the property manager’s assistant. Never promise a rent the manager has not set.","model":"claude-opus-5-5","status":"retired"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Agent.retire","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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."}},"required":["base"],"additionalProperties":false},"example":{"base":"version_4HTEMs14G4"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","change":{"$id":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ","$type":"Change","status":"Open","base":"version_4HTEMs14G4"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Change.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Change","changes":[{"$id":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ","$type":"Change","status":"Open","base":"version_4HTEMs14G4"}],"meta":{"limit":20,"after":"change_3Ex8uVSOyQ"},"links":{"self":"https://api.sb/leaseline.app/changes?limit=20","next":"https://api.sb/leaseline.app/changes?after=change_3Ex8uVSOyQ"}}}}},"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/leaseline.app","$type":"Change","$id":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ","change":{"$id":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ","$type":"Change","status":"Open","base":"version_4HTEMs14G4"},"links":{"self":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ","up":"https://api.sb/leaseline.app/changes"},"actions":{"merge":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ/merge","revert":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ/revert","review":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ/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/leaseline.app","version":{"$id":"https://api.sb/leaseline.app/versions/version_4HTEMs14G4","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"},"change":{"$id":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ","$type":"Change","status":"Merged","base":"version_4HTEMs14G4"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Change.merge","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","revert":{"$id":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ","$type":"Change","status":"Open","base":"version_4HTEMs14G4"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Change.revert","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","change":{"$id":"https://api.sb/leaseline.app/changes/change_3Ex8uVSOyQ","$type":"Change","status":"Open","base":"version_4HTEMs14G4"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Change.review","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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":"dana@leaseline.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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_7lQA1UrSGj","$type":"Contact","email":"dana@leaseline.app","phone":"Example phone"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Contact","contacts":[{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"}],"meta":{"limit":20,"after":"contact_WsrosCQi6J"},"links":{"self":"https://api.sb/leaseline.app/contacts?limit=20","next":"https://api.sb/leaseline.app/contacts?after=contact_WsrosCQi6J"}}}}},"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/leaseline.app","$type":"Contact","$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"},"links":{"self":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","up":"https://api.sb/leaseline.app/contacts"},"actions":{"enrich":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J/enrich","enroll":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J/enroll","merge":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J/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":"dana@leaseline.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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"dana@leaseline.app","phone":"Example phone"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.enrich","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The Sequence to run."}},"required":["sequence"],"additionalProperties":false},"example":{"sequence":"Example sequence"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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":{"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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"},"enrollment":"Example enrollment","action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.enroll","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_WsrosCQi6J"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.merge","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.subscribe","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.suppress","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","contact":{"$id":"https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J","$type":"Contact","email":"marcus@riversideproperty.com","phone":"Example phone"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Contact.unsubscribe","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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."}},"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/leaseline.app","customer":{"$id":"https://api.sb/leaseline.app/customers/cus_Gp5HXPKk00","$type":"Customer","since":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Customer.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Customer","customers":[{"$id":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ","$type":"Customer","since":"2026-04-13T08:00:00Z"}],"meta":{"limit":20,"after":"cus_K1BROJhqzZ"},"links":{"self":"https://api.sb/leaseline.app/customers?limit=20","next":"https://api.sb/leaseline.app/customers?after=cus_K1BROJhqzZ"}}}}},"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/leaseline.app","$type":"Customer","$id":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ","customer":{"$id":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ","$type":"Customer","since":"2026-04-13T08:00:00Z"},"links":{"self":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ","up":"https://api.sb/leaseline.app/customers"},"actions":{"activate":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ/activate","exempt":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ/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/leaseline.app","customer":{"$id":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ","$type":"Customer","since":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Customer.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","customer":{"$id":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ","$type":"Customer","since":"2026-04-13T08:00:00Z"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Customer.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_2hzYe1ERo0"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","customer":{"$id":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ","$type":"Customer","since":"2026-04-13T08:00:00Z"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Customer.activate","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The certificate as uploaded through the Portal or received by email."},"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":"Example certificate","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":{"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/leaseline.app","credential":"Example credential","customer":{"$id":"https://api.sb/leaseline.app/customers/cus_K1BROJhqzZ","$type":"Customer","since":"2026-04-13T08:00:00Z"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Customer.exempt","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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 `leaseline.app`."},"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."}},"required":["hostname","role"],"additionalProperties":false},"example":{"hostname":"kilnbakery.com","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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.create","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"}],"meta":{"limit":20,"after":"domain_VbYut4CTsH"},"links":{"self":"https://api.sb/kilnbakery.com/domains?limit=20","next":"https://api.sb/kilnbakery.com/domains?after=domain_VbYut4CTsH"}}}}},"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/kilnbakery.com","$type":"Domain","$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"links":{"self":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","up":"https://api.sb/kilnbakery.com/domains"},"actions":{"authenticate":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH/authenticate","release":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH/release","renew":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH/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 `leaseline.app`."},"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":"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"},"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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.update","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.delete","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.authenticate","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/kilnbakery.com","readings":{},"domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.benchmark","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":"kilnbakery.headless.ly","startup":"startup_ROlZw7tNIz"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.claim","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The Tenant it serves, when a Customer connects its own name."}},"required":["hostname","startup"],"additionalProperties":false},"example":{"hostname":"kilnbakery.com","startup":"startup_ROlZw7tNIz"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.connect","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":"kilnbakery.com","startup":"startup_ROlZw7tNIz"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.register","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.release","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.renew","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"}],"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.search","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The transfer code, for `in` and `out`."}},"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/kilnbakery.com","domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.transfer","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/kilnbakery.com","checks":{},"domain":{"$id":"https://api.sb/kilnbakery.com/domains/domain_VbYut4CTsH","$type":"Domain","hostname":"kilnbakery.com","role":"canonical","state":"verifying"},"action":{"$id":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k","operation":"Domain.verify","status":"done"},"links":{"self":"https://api.sb/kilnbakery.com/actions/act_0y76a1jB6k"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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."}},"required":["name","at"],"additionalProperties":false},"example":{"name":"Leaseline","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/leaseline.app","event":{"$id":"https://api.sb/leaseline.app/events/evt_GR8HraK1o0","$type":"Event","name":"Leaseline","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Event.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Event","events":[{"$id":"https://api.sb/leaseline.app/events/evt_9wPvd8R17L","$type":"Event","name":"Invoice.billed","at":"2026-10-01T07:00:00Z"}],"meta":{"limit":20,"after":"evt_9wPvd8R17L"},"links":{"self":"https://api.sb/leaseline.app/events?limit=20","next":"https://api.sb/leaseline.app/events?after=evt_9wPvd8R17L"}}}}},"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/leaseline.app","$type":"Event","$id":"https://api.sb/leaseline.app/events/evt_9wPvd8R17L","event":{"$id":"https://api.sb/leaseline.app/events/evt_9wPvd8R17L","$type":"Event","name":"Invoice.billed","at":"2026-10-01T07:00:00Z"},"links":{"self":"https://api.sb/leaseline.app/events/evt_9wPvd8R17L","up":"https://api.sb/leaseline.app/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":{"description":"The Visitor it happened to, when the person is not known."}},"required":["name"],"additionalProperties":false},"example":{"name":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","event":{"$id":"https://api.sb/leaseline.app/events/evt_GR8HraK1o0","$type":"Event","name":"Leaseline","at":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Event.capture","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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":"Leaseline","email":"dana@leaseline.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"},"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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_SUMqLjx79R","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Human","humans":[{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"}],"meta":{"limit":20,"after":"human_EeCsrv4AOW"},"links":{"self":"https://api.sb/leaseline.app/humans?limit=20","next":"https://api.sb/leaseline.app/humans?after=human_EeCsrv4AOW"}}}}},"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/leaseline.app","$type":"Human","$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","human":{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"links":{"self":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","up":"https://api.sb/leaseline.app/humans"},"actions":{"hold":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW/hold","onboard":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW/onboard","release":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW/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":"dana@leaseline.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"},"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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":29,"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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.hold","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":"dana@leaseline.app","role":"role_oloMFMUeCH"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_SUMqLjx79R","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.invite","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.onboard","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":"dana@leaseline.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"},"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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_SUMqLjx79R","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.recruit","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.release","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"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/leaseline.app","transaction":"Example transaction","human":{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.remit","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","human":{"$id":"https://api.sb/leaseline.app/humans/human_EeCsrv4AOW","$type":"Human","name":"Dana Okafor","email":"dana@leaseline.app"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Human.suspend","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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":29,"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/leaseline.app","invoice":{"$id":"https://api.sb/leaseline.app/invoices/inv_Ez0sMX4WOW","$type":"Invoice","total":{"amount":29,"currency":"USD"},"due":"2026-10-22"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Invoice.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Invoice","invoices":[{"$id":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L","$type":"Invoice","total":{"amount":99,"currency":"USD"},"due":"2026-10-01"}],"meta":{"limit":20,"after":"inv_9sfvgeRT7L"},"links":{"self":"https://api.sb/leaseline.app/invoices?limit=20","next":"https://api.sb/leaseline.app/invoices?after=inv_9sfvgeRT7L"}}}}},"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/leaseline.app","$type":"Invoice","$id":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L","invoice":{"$id":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L","$type":"Invoice","total":{"amount":99,"currency":"USD"},"due":"2026-10-01"},"links":{"self":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L","up":"https://api.sb/leaseline.app/invoices"},"actions":{"bill":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L/bill","collect":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L/collect","refund":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L/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":29,"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/leaseline.app","invoice":{"$id":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L","$type":"Invoice","total":{"amount":29,"currency":"USD"},"due":"2026-10-01"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Invoice.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","invoice":{"$id":"https://api.sb/leaseline.app/invoices/inv_KjgRxmhMzZ","$type":"Invoice","total":{"amount":99,"currency":"USD"},"due":"2026-11-01"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Invoice.bill","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","invoice":{"$id":"https://api.sb/leaseline.app/invoices/inv_FXANyzQojc","$type":"Invoice","total":{"amount":29,"currency":"USD"},"due":"2026-10-13"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Invoice.collect","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","invoice":{"$id":"https://api.sb/leaseline.app/invoices/inv_9sfvgeRT7L","$type":"Invoice","total":{"amount":99,"currency":"USD"},"due":"2026-10-01"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Invoice.refund","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","invoice":{"$id":"https://api.sb/leaseline.app/invoices/inv_KjgRxmhMzZ","$type":"Invoice","total":{"amount":99,"currency":"USD"},"due":"2026-11-01"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Invoice.void","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/leases":{"post":{"operationId":"Lease.create","summary":"Lease.create","description":"Creates a Lease.","tags":["Lease"],"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":{"description":"The Nouns this Thing is an instance of."},"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."},"unit":{"type":"string","description":"The unit the Lease covers."},"resident":{"type":"string","description":"The resident who signed it. The Contact id."},"endsOn":{"type":"string","format":"date","description":"The last day of the term."},"rent":{"$ref":"#/components/schemas/Money","description":"The monthly rent."}},"required":["unit","endsOn"],"additionalProperties":false},"example":{"unit":"Unit 4B, 10 River Rd","endsOn":"2027-01-31"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lease","links"]},"example":{"api":"https://api.sb/leaseline.app","lease":{"$id":"https://api.sb/leaseline.app/leases/lease_M5ogbqdosq","$type":"Lease","id":"Example id","type":["Example type"],"unit":"Unit 4B, 10 River Rd","endsOn":"2027-01-31"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Lease.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lease.created"},"get":{"operationId":"Lease.list","summary":"Lease.list","description":"Returns Leases, newest first, one page at a time.","tags":["Lease"],"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"},"leases":{"type":"array","items":{"$ref":"#/components/schemas/Lease","description":"One page of Leases."},"description":"One page of Leases."},"meta":{"$ref":"#/components/schemas/Page"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","leases","links"]},"example":{"api":"https://api.sb/leaseline.app","$type":"Lease","leases":[{"$id":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4","$type":"Lease","id":"lease_4loEed1JG4","type":["Example type"],"unit":"Unit 5C, 76 Harbor Way","endsOn":"2026-11-05"}],"meta":{"limit":20,"after":"lease_4loEed1JG4"},"links":{"self":"https://api.sb/leaseline.app/leases?limit=20","next":"https://api.sb/leaseline.app/leases?after=lease_4loEed1JG4"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}}},"/leases/{id}":{"get":{"operationId":"Lease.get","summary":"Lease.get","description":"Returns one Lease by id.","tags":["Lease"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Lease."},{"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"},"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lease","links"]},"example":{"api":"https://api.sb/leaseline.app","$type":"Lease","$id":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4","lease":{"$id":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4","$type":"Lease","id":"lease_4loEed1JG4","type":["Example type"],"unit":"Unit 5C, 76 Harbor Way","endsOn":"2026-11-05"},"links":{"self":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4","up":"https://api.sb/leaseline.app/leases"},"actions":{"notify":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4/notify","renew":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4/renew"}}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}}},"patch":{"operationId":"Lease.update","summary":"Lease.update","description":"Changes the given properties of a Lease.","tags":["Lease"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Lease."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for 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":{"description":"The Nouns this Thing is an instance of."},"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."},"unit":{"type":"string","description":"The unit the Lease covers."},"resident":{"type":"string","description":"The resident who signed it. The Contact id."},"endsOn":{"type":"string","format":"date","description":"The last day of the term."},"rent":{"$ref":"#/components/schemas/Money","description":"The monthly rent."}},"additionalProperties":false},"example":{"unit":"Unit 4B, 10 River Rd"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","format":"uri"},"action":{"$ref":"#/components/schemas/Action"},"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lease","links"]},"example":{"api":"https://api.sb/leaseline.app","lease":{"$id":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4","$type":"Lease","id":"lease_4loEed1JG4","type":["Example type"],"unit":"Unit 4B, 10 River Rd","endsOn":"2026-11-05"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Lease.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lease.updated"},"delete":{"operationId":"Lease.delete","summary":"Lease.delete","description":"Deletes a Lease: a soft delete that keeps its history, undone by `Thing.restore`.","tags":["Lease"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The id of the Lease."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do 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"},"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lease","links"]},"example":{"api":"https://api.sb/leaseline.app","lease":{"$id":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4","$type":"Lease","id":"lease_4loEed1JG4","type":["Example type"],"unit":"Unit 5C, 76 Harbor Way","endsOn":"2026-11-05"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Lease.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lease.deleted"}},"/leases/{lease}/notify":{"post":{"operationId":"Lease.notify","summary":"Lease.notify","description":"Notify sends the resident the renewal notice for a Lease.","tags":["Lease"],"parameters":[{"name":"lease","in":"path","required":true,"schema":{"type":"string"},"description":"The Lease."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do 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"},"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease after the Verb."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lease","links"]},"example":{"api":"https://api.sb/leaseline.app","lease":{"$id":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4","$type":"Lease","id":"lease_4loEed1JG4","type":["Example type"],"unit":"Unit 5C, 76 Harbor Way","endsOn":"2026-11-05"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Lease.notify","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lease.notified"}},"/leases/{lease}/renew":{"post":{"operationId":"Lease.renew","summary":"Lease.renew","description":"Renew starts a new term on a Lease for a number of months, with an optional rent increase.","tags":["Lease"],"parameters":[{"name":"lease","in":"path","required":true,"schema":{"type":"string"},"description":"The Lease."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"months":{"type":"integer","description":"The new term, in months."},"increase":{"type":"number","description":"The rent increase, as a share of the current rent."}},"required":["months"],"additionalProperties":false},"example":{"months":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"},"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease after the Verb."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","lease","links"]},"example":{"api":"https://api.sb/leaseline.app","lease":{"$id":"https://api.sb/leaseline.app/leases/lease_4loEed1JG4","$type":"Lease","id":"lease_4loEed1JG4","type":["Example type"],"unit":"Unit 5C, 76 Harbor Way","endsOn":"2026-11-05"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Lease.renew","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/Problem"}},"x-event":"Lease.renewed"}},"/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."}},"required":["price"],"additionalProperties":false},"example":{"price":{"amount":29,"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/leaseline.app","offer":{"$id":"https://api.sb/leaseline.app/offers/offer_HNonLXradP","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Offer","offers":[{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}}],"meta":{"limit":20,"after":"offer_2hzYe1ERo0"},"links":{"self":"https://api.sb/leaseline.app/offers?limit=20","next":"https://api.sb/leaseline.app/offers?after=offer_2hzYe1ERo0"}}}}},"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/leaseline.app","$type":"Offer","$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"links":{"self":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","up":"https://api.sb/leaseline.app/offers"},"actions":{"accept":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0/accept","grant":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0/grant","publish":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0/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":29,"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/leaseline.app","offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":"Pinecrest Homes"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","customer":{"$id":"https://api.sb/leaseline.app/customers/cus_Gp5HXPKk00","$type":"Customer","since":"2026-10-22T12:00:00Z"},"offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.accept","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The Verb its Customers may call, as `Noun.verb`."},"limit":{"description":"The Limit that bounds it. Unset: a feature, called as often as the Customer likes."}},"required":["verb"],"additionalProperties":false},"example":{"verb":"Example verb"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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":{"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/leaseline.app","entitlement":"Example entitlement","offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.grant","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.publish","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_jpvy3zejKB","$type":"Subscription","status":"active"},"offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.subscribe","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":"cus_K1BROJhqzZ","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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_jpvy3zejKB","$type":"Subscription","status":"active"},"offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.trial","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","offer":{"$id":"https://api.sb/leaseline.app/offers/offer_2hzYe1ERo0","$type":"Offer","price":{"amount":29,"currency":"USD"}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Offer.withdraw","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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."}},"required":["name"],"additionalProperties":false},"example":{"name":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","organization":{"$id":"https://api.sb/leaseline.app/organizations/organization_kyY1xewGab","$type":"Organization","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Organization.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Organization","organizations":[{"$id":"https://api.sb/leaseline.app/organizations/organization_v0SkRLrXCN","$type":"Organization","name":"Riverside Property"}],"meta":{"limit":20,"after":"organization_v0SkRLrXCN"},"links":{"self":"https://api.sb/leaseline.app/organizations?limit=20","next":"https://api.sb/leaseline.app/organizations?after=organization_v0SkRLrXCN"}}}}},"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/leaseline.app","$type":"Organization","$id":"https://api.sb/leaseline.app/organizations/organization_v0SkRLrXCN","organization":{"$id":"https://api.sb/leaseline.app/organizations/organization_v0SkRLrXCN","$type":"Organization","name":"Riverside Property"},"links":{"self":"https://api.sb/leaseline.app/organizations/organization_v0SkRLrXCN","up":"https://api.sb/leaseline.app/organizations"},"actions":{"merge":"https://api.sb/leaseline.app/organizations/organization_v0SkRLrXCN/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":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","organization":{"$id":"https://api.sb/leaseline.app/organizations/organization_v0SkRLrXCN","$type":"Organization","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Organization.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","organization":{"$id":"https://api.sb/leaseline.app/organizations/organization_v0SkRLrXCN","$type":"Organization","name":"Riverside Property"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Organization.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_v0SkRLrXCN"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","organization":{"$id":"https://api.sb/leaseline.app/organizations/organization_v0SkRLrXCN","$type":"Organization","name":"Riverside Property"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Organization.merge","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","party":{"$id":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ","$type":"Party","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Party.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Party","parties":[{"$id":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ","$type":"Party","name":"Leaseline"}],"meta":{"limit":20,"after":"party_hmQWaPrAyZ"},"links":{"self":"https://api.sb/leaseline.app/parties?limit=20","next":"https://api.sb/leaseline.app/parties?after=party_hmQWaPrAyZ"}}}}},"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/leaseline.app","$type":"Party","$id":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ","party":{"$id":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ","$type":"Party","name":"Leaseline"},"links":{"self":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ","up":"https://api.sb/leaseline.app/parties"},"actions":{"screen":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ/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":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","party":{"$id":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ","$type":"Party","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Party.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","party":{"$id":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ","$type":"Party","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Party.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The Markets whose lists apply. Defaults to the Party’s and the Startup’s Markets."},"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":{"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/leaseline.app","screening":"Example screening","party":{"$id":"https://api.sb/leaseline.app/parties/party_hmQWaPrAyZ","$type":"Party","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Party.screen","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","person":{"$id":"https://api.sb/leaseline.app/people/person_oJZMe5UtCH","$type":"Person","name":"Dana Okafor"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Person.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Person","people":[{"$id":"https://api.sb/leaseline.app/people/person_sLqbXbW683","$type":"Person","name":"Dana Okafor"}],"meta":{"limit":20,"after":"person_sLqbXbW683"},"links":{"self":"https://api.sb/leaseline.app/people?limit=20","next":"https://api.sb/leaseline.app/people?after=person_sLqbXbW683"}}}}},"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/leaseline.app","$type":"Person","$id":"https://api.sb/leaseline.app/people/person_sLqbXbW683","person":{"$id":"https://api.sb/leaseline.app/people/person_sLqbXbW683","$type":"Person","name":"Dana Okafor"},"links":{"self":"https://api.sb/leaseline.app/people/person_sLqbXbW683","up":"https://api.sb/leaseline.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/leaseline.app","person":{"$id":"https://api.sb/leaseline.app/people/person_sLqbXbW683","$type":"Person","name":"Dana Okafor","verified":true},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Person.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","person":{"$id":"https://api.sb/leaseline.app/people/person_sLqbXbW683","$type":"Person","name":"Dana Okafor"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Person.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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."},"approvals":{"description":"What waits for the founder: rules by action class (`spend`, `sign`, `publish`, `price`, `send`), each optionally above an amount in USD."}},"required":["name"],"additionalProperties":false},"example":{"name":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","role":{"$id":"https://api.sb/leaseline.app/roles/role_Caa5RdwOwh","$type":"Role","name":"Leaseline","status":"vacant"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Role.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Role","roles":[{"$id":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","$type":"Role","name":"Success Manager","status":"filled"}],"meta":{"limit":20,"after":"role_oloMFMUeCH"},"links":{"self":"https://api.sb/leaseline.app/roles?limit=20","next":"https://api.sb/leaseline.app/roles?after=role_oloMFMUeCH"}}}}},"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/leaseline.app","$type":"Role","$id":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","role":{"$id":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","$type":"Role","name":"Success Manager","status":"filled"},"links":{"self":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","up":"https://api.sb/leaseline.app/roles"},"actions":{"review":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH/review","staff":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH/staff","vacate":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH/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."},"approvals":{"description":"What waits for the founder: rules by action class (`spend`, `sign`, `publish`, `price`, `send`), each optionally above an amount in USD."}},"additionalProperties":false},"example":{"name":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","role":{"$id":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","$type":"Role","name":"Leaseline","status":"filled"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Role.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","role":{"$id":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","$type":"Role","name":"Success Manager","status":"filled"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Role.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The recorded Role Review."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","role","roleReview","links"]},"example":{"api":"https://api.sb/leaseline.app","role":{"$id":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","$type":"Role","name":"Success Manager","status":"filled"},"roleReview":"Example role review","action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Role.review","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_whZFpOKWIV"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","role":{"$id":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","$type":"Role","name":"Success Manager","status":"filled"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Role.staff","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","role":{"$id":"https://api.sb/leaseline.app/roles/role_oloMFMUeCH","$type":"Role","name":"Success Manager","status":"filled"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Role.vacate","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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"]}},"required":["name"],"additionalProperties":false},"example":{"name":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_VBluhMC0sH","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Startup","startups":[{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"}],"meta":{"limit":20,"after":"startup_l3hr1EnUGY"},"links":{"self":"https://api.sb/leaseline.app/startups?limit=20","next":"https://api.sb/leaseline.app/startups?after=startup_l3hr1EnUGY"}}}}},"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/leaseline.app","$type":"Startup","$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"links":{"self":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","up":"https://api.sb/leaseline.app/startups"},"actions":{"advance":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY/advance","build":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY/build","claim":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY/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":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.advance","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.build","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.claim","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","clone":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.clone","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The Company that holds it next."}},"required":["company"],"additionalProperties":false},"example":{"company":"Example company"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.graduate","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.hold","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The Template to map the definition onto."}},"required":["source"],"additionalProperties":false},"example":{"source":"https://leaseline.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"},"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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_VBluhMC0sH","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.import","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.launch","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.pause","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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 founder Decision, on an Experiment’s Evidence against one slot Hypothesis, and merges the new Founding Hypothesis Version.","tags":["Startup"],"parameters":[{"name":"startup","in":"path","required":true,"schema":{"type":"string"},"description":"The Startup that pivots, in any state from Building to Scale."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["try","send","do"]},"description":"The Mode. try waits and stores nothing; send returns a pending Action; do waits for the result."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeats with the same key return the first Action."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hypothesis":{"description":"The slot Hypothesis the Evidence went against: customer, problem, approach, switch or differentiation."},"experiment":{"description":"The Experiment whose Evidence the Decision cites; it tested that Hypothesis."},"decision":{"description":"The founder’s pivot Decision, citing the Evidence behind it."}},"required":["hypothesis","experiment","decision"],"additionalProperties":false},"example":{"hypothesis":"Example hypothesis","experiment":"Example experiment","decision":"Example decision"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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 the Lifecycle state it held."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","startup","links"]},"example":{"api":"https://api.sb/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.pivot","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","room":{},"gaps":{},"startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.read","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.resume","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The signed sale Agreement."}},"required":["agreement"],"additionalProperties":false},"example":{"agreement":"Example agreement"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","startup":{"$id":"https://api.sb/leaseline.app/startups/startup_l3hr1EnUGY","$type":"Startup","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Startup.sell","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_jpvy3zejKB","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Subscription","subscriptions":[{"$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","$type":"Subscription","status":"active"}],"meta":{"limit":20,"after":"sub_whVFaHKWIV"},"links":{"self":"https://api.sb/leaseline.app/subscriptions?limit=20","next":"https://api.sb/leaseline.app/subscriptions?after=sub_whVFaHKWIV"}}}}},"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/leaseline.app","$type":"Subscription","$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","$type":"Subscription","status":"active"},"links":{"self":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","up":"https://api.sb/leaseline.app/subscriptions"},"actions":{"keep":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV/keep","pause":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV/pause","renew":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV/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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","$type":"Subscription","status":"active","renewsAt":"2026-10-22T12:00:00Z"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.keep","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","$type":"Subscription","status":"paused"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.pause","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","invoice":{"$id":"https://api.sb/leaseline.app/invoices/inv_Ez0sMX4WOW","$type":"Invoice","total":{"amount":29,"currency":"USD"},"due":"2026-10-22"},"subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_zgJUx08kwY","$type":"Subscription","status":"trialing"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.renew","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.resize","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_0Ij6oxjf6k","$type":"Subscription","status":"paused"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.resume","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_2hzYe1ERo0"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.switch","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","subscription":{"$id":"https://api.sb/leaseline.app/subscriptions/sub_whVFaHKWIV","$type":"Subscription","status":"active"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Subscription.unsubscribe","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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":false,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"description":"The Nouns this Thing is an instance of."},"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":{"id":"thing_8ds0r9vvRl"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Thing.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Thing","things":[{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]}],"meta":{"limit":20,"after":"thing_8ds0r9vvRl"},"links":{"self":"https://api.sb/leaseline.app/things?limit=20","next":"https://api.sb/leaseline.app/things?after=thing_8ds0r9vvRl"}}}}},"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/leaseline.app","$type":"Thing","$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]},"links":{"self":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","up":"https://api.sb/leaseline.app/things"},"actions":{"relate":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl/relate","restore":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl/restore","share":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl/share"}}}}},"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":{"description":"The Nouns this Thing is an instance of."},"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":{"outside":{}}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"],"outside":{}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Thing.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Thing.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_8ds0r9vvRl"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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":{"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/leaseline.app","relationship":"Example relationship","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Thing.relate","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"description":"The Noun to resolve."},"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":"Example noun","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/leaseline.app","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]},"decision":"found","action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Thing.resolve","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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}/restore":{"post":{"operationId":"Thing.restore","summary":"Thing.restore","description":"Restore brings back a deleted Thing, or one an undone Action removed, with its history and Relationships intact.","tags":["Thing"],"parameters":[{"name":"thing","in":"path","required":true,"schema":{"type":"string"},"description":"The deleted 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, back in every list and query it left."},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}},"required":["api","thing","links"]},"example":{"api":"https://api.sb/leaseline.app","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Thing.restore","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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.restored"}},"/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_hmQWaPrAyZ","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":{"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/leaseline.app","permission":"Example permission","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Thing.share","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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_8ds0r9vvRl"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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":{"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/leaseline.app","relationship":"Example relationship","thing":{"$id":"https://api.sb/leaseline.app/things/thing_8ds0r9vvRl","$type":"Thing","id":"Example id","type":["Example type"]},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Thing.unrelate","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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/leaseline.app","$type":"Version","$id":"https://api.sb/leaseline.app/versions/version_4HTEMs14G4","version":{"$id":"https://api.sb/leaseline.app/versions/version_4HTEMs14G4","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"},"links":{"self":"https://api.sb/leaseline.app/versions/version_4HTEMs14G4","up":"https://api.sb/leaseline.app/versions"},"actions":{"deploy":"https://api.sb/leaseline.app/versions/version_4HTEMs14G4/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/leaseline.app","$type":"Version","versions":[{"$id":"https://api.sb/leaseline.app/versions/version_4HTEMs14G4","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"}],"meta":{"limit":20,"after":"version_4HTEMs14G4"},"links":{"self":"https://api.sb/leaseline.app/versions?limit=20","next":"https://api.sb/leaseline.app/versions?after=version_4HTEMs14G4"}}}}},"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/leaseline.app","version":{"$id":"https://api.sb/leaseline.app/versions/version_4HTEMs14G4","$type":"Version","fingerprint":"sha256:9f2c4e1a7b3d"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Version.deploy","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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"}},"/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":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","worker":{"$id":"https://api.sb/leaseline.app/workers/worker_whZFpOKWIV","$type":"Worker","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Worker.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Worker","workers":[{"$id":"https://api.sb/leaseline.app/workers/worker_whZFpOKWIV","$type":"Worker","name":"Leaseline"}],"meta":{"limit":20,"after":"worker_whZFpOKWIV"},"links":{"self":"https://api.sb/leaseline.app/workers?limit=20","next":"https://api.sb/leaseline.app/workers?after=worker_whZFpOKWIV"}}}}},"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/leaseline.app","$type":"Worker","$id":"https://api.sb/leaseline.app/workers/worker_whZFpOKWIV","worker":{"$id":"https://api.sb/leaseline.app/workers/worker_whZFpOKWIV","$type":"Worker","name":"Leaseline"},"links":{"self":"https://api.sb/leaseline.app/workers/worker_whZFpOKWIV","up":"https://api.sb/leaseline.app/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":"Leaseline"}}}},"responses":{"200":{"description":"The finished Action and its result.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"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/leaseline.app","worker":{"$id":"https://api.sb/leaseline.app/workers/worker_whZFpOKWIV","$type":"Worker","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Worker.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","worker":{"$id":"https://api.sb/leaseline.app/workers/worker_whZFpOKWIV","$type":"Worker","name":"Leaseline"},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Worker.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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."}},"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/leaseline.app","workflow":{"$id":"https://api.sb/leaseline.app/workflows/workflow_4reEHI1SG4","$type":"Workflow","steps":{}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Workflow.create","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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/leaseline.app","$type":"Workflow","workflows":[{"$id":"https://api.sb/leaseline.app/workflows/workflow_2dhYBlEno0","$type":"Workflow","steps":[{"do":"Lease.list","where":"endsOn is 60 days away"},{"do":"Lease.notify"},{"do":"Message.create","medium":"email"}]}],"meta":{"limit":20,"after":"workflow_2dhYBlEno0"},"links":{"self":"https://api.sb/leaseline.app/workflows?limit=20","next":"https://api.sb/leaseline.app/workflows?after=workflow_2dhYBlEno0"}}}}},"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/leaseline.app","$type":"Workflow","$id":"https://api.sb/leaseline.app/workflows/workflow_2dhYBlEno0","workflow":{"$id":"https://api.sb/leaseline.app/workflows/workflow_2dhYBlEno0","$type":"Workflow","steps":[{"do":"Lease.list","where":"endsOn is 60 days away"},{"do":"Lease.notify"},{"do":"Message.create","medium":"email"}]},"links":{"self":"https://api.sb/leaseline.app/workflows/workflow_2dhYBlEno0","up":"https://api.sb/leaseline.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/leaseline.app","workflow":{"$id":"https://api.sb/leaseline.app/workflows/workflow_2dhYBlEno0","$type":"Workflow","steps":{}},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Workflow.update","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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: a soft delete that keeps its history, undone by `Thing.restore`.","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/leaseline.app","workflow":{"$id":"https://api.sb/leaseline.app/workflows/workflow_2dhYBlEno0","$type":"Workflow","steps":[{"do":"Lease.list","where":"endsOn is 60 days away"},{"do":"Lease.notify"},{"do":"Message.create","medium":"email"}]},"action":{"$id":"https://api.sb/leaseline.app/actions/act_br07HsG8MG","operation":"Workflow.delete","status":"done"},"links":{"self":"https://api.sb/leaseline.app/actions/act_br07HsG8MG"}}}}},"202":{"description":"A pending Action, in Mode send.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/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":{"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."}}}},"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."}}}},"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":{"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."}}}},"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":{"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."}}}},"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."}}}},"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."}}}},"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":{"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."}}}},"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."}}}},"Lease.created":{"post":{"summary":"Lease.created","description":"Delivered to a Watch whose selector matches Lease.created.","tags":["Lease"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lease.created"},"data":{"type":"object","properties":{"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease."}},"required":["lease"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lease.updated":{"post":{"summary":"Lease.updated","description":"Delivered to a Watch whose selector matches Lease.updated.","tags":["Lease"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lease.updated"},"data":{"type":"object","properties":{"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease."}},"required":["lease"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lease.deleted":{"post":{"summary":"Lease.deleted","description":"Delivered to a Watch whose selector matches Lease.deleted.","tags":["Lease"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lease.deleted"},"data":{"type":"object","properties":{"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease."}},"required":["lease"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lease.notified":{"post":{"summary":"Lease.notified","description":"Delivered to a Watch whose selector matches Lease.notified.","tags":["Lease"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lease.notified"},"data":{"type":"object","properties":{"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease after the Verb."}},"required":["lease"]}}}]}}}},"responses":{"2XX":{"description":"Acknowledged within 10 seconds. Anything else is retried 12 times over three days."}}}},"Lease.renewed":{"post":{"summary":"Lease.renewed","description":"Delivered to a Watch whose selector matches Lease.renewed.","tags":["Lease"],"parameters":[{"name":"StartupBuilder-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"A timestamp t and one or more v1 signatures, each a hex HMAC-SHA256 of t, a dot and the raw body, keyed with the Watch’s signing secret.","example":"t=1792670400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"name":{"const":"Lease.renewed"},"data":{"type":"object","properties":{"lease":{"$ref":"#/components/schemas/Lease","description":"The Lease after the Verb."}},"required":["lease"]}}}]}}}},"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":{"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."}}}},"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."}}}},"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":{"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."}}}},"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."}}}},"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":{"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."}}}},"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, in the Lifecycle state it held."}},"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."}}}},"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."}}}},"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":{"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.restored":{"post":{"summary":"Thing.restored","description":"Delivered to a Watch whose selector matches Thing.restored.","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.restored"},"data":{"type":"object","properties":{"thing":{"$ref":"#/components/schemas/Thing","description":"The Thing, back in every list and query it left."}},"required":["thing"]}}}]}}}},"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":{"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":{"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."}}}},"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."}}}},"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":{"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":{"description":"The Skills it loads."},"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"]},"Change":{"type":"object","description":"A Change is a proposed set of writes to Things, drafted against a base Version on its own branch, then checked, approved and merged.","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"]},"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"]},"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"]},"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 `leaseline.app`."},"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"]},"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"]},"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"]},"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"]},"Lease":{"type":"object","description":"A Lease is one resident’s agreement on one unit, from signing to renewal.","properties":{"$id":{"type":"string","format":"uri"},"$type":{"const":"Lease"},"id":{"type":"string","description":"The stable identifier, which never changes."},"type":{"type":"array","items":{"description":"The Nouns this Thing is an instance of."},"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."},"unit":{"type":"string","description":"The unit the Lease covers."},"resident":{"type":"string","description":"The resident who signed it. The Contact id."},"endsOn":{"type":"string","format":"date","description":"The last day of the term."},"rent":{"$ref":"#/components/schemas/Money","description":"The monthly rent."},"status":{"type":"string","description":"One of `active`, `renewing`, `renewed` or `ended`.","enum":["active","renewing","renewed","ended"]}},"required":["$id","$type","id","type","unit","endsOn","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"]},"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"]},"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"]},"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"]},"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"]},"approvals":{"description":"What waits for the founder: rules by action class (`spend`, `sign`, `publish`, `price`, `send`), each optionally above an amount in USD."}},"required":["$id","$type","name","status"]},"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"]},"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"]},"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":{"description":"The Nouns this Thing is an instance of."},"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"]},"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"]},"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},"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"]},"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"]},"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"]},"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"]}},"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"}}}}}
