Formation
Formation in Allpage: its screens, what you can do there and its operations.
Availability. Works when the business has it turned on and its plan includes it. Otherwise its tools answer needs (kind module) with how to turn it on: business.useTool, or a plan that includes it.
What you can do
- Form an LLC: the assistant can prepare it and you confirm it, twice
- Fix and resend the LLC order: the assistant can prepare it and you confirm it, twice
- Sign the EIN form: only you can do it, on its screen
- Check on the LLC order: the assistant can do it on its own
- Mark a state filing done: the assistant can do it on its own
- Remind me of state filings: the assistant can do it on its own
For apps
Tools
- formation_order (Form an LLC): waits for the owner to confirm it in Allpage, whatever they chose for your app
- formation_resubmit (Fix and resend the LLC order): waits for the owner to confirm it in Allpage, whatever they chose for your app
- formation_sign (Sign the EIN form): only the owner can do it: the tool answers with a single-use link for them to open, signed in, and does nothing else
- formation_refresh (Check on the LLC order): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- formation_markFiled (Mark a state filing done): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- formation_trackFilings (Remind me of state filings): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Reads
- formation_status (Your LLC and state filings)
- formation_summary (What’s going on)
Operations
Each one's input and output, as JSON Schema. Ids are typed (typed ids).
formation.markFiled
Mark a state filing done
- Kind
- Change
- Tool
formation_markFiled- Scope
formation:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"deadlineId": {
"type": "string",
"pattern": "^fln_[0-9a-hjkmnp-tv-z]{26}$",
"description": "The filing, from formation.status. A filing id: fln_ and 26 letters and digits."
}
},
"required": [
"deadlineId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}formation.order
Form an LLC
- Kind
- Change
- Tool
formation_order- Scope
formation:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"names": {
"minItems": 1,
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"minLength": 2,
"maxLength": 80
},
"description": "One to three names for the LLC, in the order to try them, without “LLC”."
},
"description": {
"type": "string",
"minLength": 3,
"maxLength": 50,
"description": "What the business does, in a few words: “Hair salon”."
},
"owner": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"lastName": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"email": {
"label": "Email",
"control": "email",
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"label": "Street address"
},
"line2": {
"default": "",
"label": "Suite or unit",
"type": "string",
"maxLength": 120
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"label": "City"
},
"region": {
"label": "State",
"type": "string",
"maxLength": 40
},
"postalCode": {
"label": "ZIP code",
"type": "string",
"maxLength": 20
},
"country": {
"default": "US",
"type": "string",
"const": "US"
},
"geo": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
},
"placeId": {
"type": "string",
"maxLength": 200
},
"checked": {
"type": "boolean"
},
"timeZone": {
"type": "string",
"maxLength": 64
},
"showStreet": {
"default": true,
"label": "Show the street address",
"type": "boolean"
}
},
"required": [
"line1",
"city",
"region"
],
"additionalProperties": false,
"description": "The owner’s own address: the partner needs it for the filing and the EIN."
}
},
"required": [
"firstName",
"lastName",
"email",
"address"
],
"additionalProperties": false
},
"state": {
"label": "State",
"description": "The US state to form the LLC in: its two-letter code or its name.",
"type": "string",
"maxLength": 40
},
"registeredAgent": {
"default": true,
"description": "Use the partner as the LLC’s registered agent (its address takes the LLC’s legal mail). False when the owner names their own.",
"type": "boolean"
}
},
"required": [
"names",
"description",
"owner",
"state"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}formation.refresh
Check on the LLC order
- Kind
- Change
- Tool
formation_refresh- Scope
formation:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}formation.resubmit
Fix and resend the LLC order
- Kind
- Change
- Tool
formation_resubmit- Scope
formation:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^fmo_[0-9a-hjkmnp-tv-z]{26}$",
"description": "The turned-down order, from formation.status. A formation order id: fmo_ and 26 letters and digits."
},
"names": {
"minItems": 1,
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"minLength": 2,
"maxLength": 80
},
"description": "One to three names for the LLC, in the order to try them, without “LLC”."
},
"description": {
"type": "string",
"minLength": 3,
"maxLength": 50,
"description": "What the business does, in a few words: “Hair salon”."
},
"owner": {
"description": "Corrected owner details, when the reason was about them.",
"type": "object",
"properties": {
"firstName": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"lastName": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"email": {
"label": "Email",
"control": "email",
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"label": "Street address"
},
"line2": {
"default": "",
"label": "Suite or unit",
"type": "string",
"maxLength": 120
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"label": "City"
},
"region": {
"label": "State",
"type": "string",
"maxLength": 40
},
"postalCode": {
"label": "ZIP code",
"type": "string",
"maxLength": 20
},
"country": {
"default": "US",
"type": "string",
"const": "US"
},
"geo": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
},
"placeId": {
"type": "string",
"maxLength": 200
},
"checked": {
"type": "boolean"
},
"timeZone": {
"type": "string",
"maxLength": 64
},
"showStreet": {
"default": true,
"label": "Show the street address",
"type": "boolean"
}
},
"required": [
"line1",
"city",
"region"
],
"additionalProperties": false
}
},
"required": [
"firstName",
"lastName",
"email",
"address"
],
"additionalProperties": false
}
},
"required": [
"orderId",
"names"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}formation.sign
Sign the EIN form
- Kind
- Owner only
- Tool
formation_sign- Scope
formation:write- Reached by
- MCP, ChatGPT
only the owner can do it: the tool answers with a single-use link for them to open, signed in, and does nothing else
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}formation.status
Your LLC and state filings
- Kind
- Read
- Tool
formation_status- Scope
formation:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"partner": {
"type": [
"string",
"null"
]
},
"entity": {
"type": [
"string",
"null"
]
},
"ein": {
"type": [
"string",
"null"
]
},
"formationState": {
"anyOf": [
{
"type": "string",
"enum": [
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
"PR"
]
},
{
"type": "null"
}
]
},
"order": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^fmo_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A formation order id: fmo_ and 26 letters and digits."
},
"status": {
"type": "string",
"enum": [
"placing",
"submitted",
"filed",
"formed",
"rejected"
]
},
"state": {
"type": "string",
"enum": [
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
"PR"
]
},
"names": {
"type": "array",
"items": {
"type": "string"
}
},
"registeredAgent": {
"type": "boolean"
},
"signature": {
"type": "string",
"enum": [
"none",
"needed",
"signed"
]
},
"ein": {
"type": [
"string",
"null"
]
},
"filedOn": {
"type": [
"string",
"null"
]
},
"legalName": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
},
"next": {
"type": "string"
},
"action": {
"anyOf": [
{
"type": "string",
"enum": [
"formation.sign",
"formation.resubmit"
]
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"status",
"state",
"names",
"registeredAgent",
"signature",
"ein",
"filedOn",
"legalName",
"reason",
"next",
"action"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"filings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^fln_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A filing id: fln_ and 26 letters and digits."
},
"title": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
"PR"
]
},
"dueOn": {
"type": "string"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"asOf": {
"type": "string"
}
},
"required": [
"name",
"url",
"asOf"
],
"additionalProperties": false
}
},
"required": [
"id",
"title",
"state",
"dueOn",
"source"
],
"additionalProperties": false
}
},
"guide": {
"type": "object",
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"body": {
"type": "string"
},
"link": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"label",
"url"
],
"additionalProperties": false
}
},
"required": [
"id",
"title",
"body"
],
"additionalProperties": false
}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"asOf": {
"type": "string"
}
},
"required": [
"name",
"url",
"asOf"
],
"additionalProperties": false
}
}
},
"required": [
"steps",
"sources"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"partner",
"entity",
"ein",
"formationState",
"order",
"filings",
"guide",
"disclaimer"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}formation.summary
What’s going on
- Kind
- Read
- Tool
formation_summary- Scope
formation:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"facts": {
"type": "array",
"items": {
"type": "string"
},
"description": "One-line facts, e.g. \"3 bookings today\"."
},
"attention": {
"description": "Things that need the owner, each with a plain reason.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
}
},
"happening": {
"description": "What’s on today, each at its time.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"at": {
"type": "number",
"description": "Epoch milliseconds."
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"at",
"text"
],
"additionalProperties": false
}
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"value": {
"type": "number"
},
"prior": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"count",
"money"
]
},
"href": {
"type": "string"
}
},
"required": [
"id",
"label",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"facts"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}formation.trackFilings
Remind me of state filings
- Kind
- Change
- Tool
formation_trackFilings- Scope
formation:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"state": {
"label": "State",
"description": "The US state to form the LLC in: its two-letter code or its name.",
"type": "string",
"maxLength": 40
},
"formedOn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD the state formed the business."
}
},
"required": [
"state",
"formedOn"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}