Browse the docs

Licenses and permits

Licenses and permits 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

  • Update your licenses and permits checklist: the assistant can do it on its own
  • Mark a license or permit done: the assistant can do it on its own
  • Set aside a license or permit that isn’t for you: the assistant can do it on its own
  • Put a license or permit back on your list: the assistant can do it on its own
  • Report a problem with a license or permit: the assistant can do it on its own
  • Order a professional license research report: the assistant asks you first

For apps

Tools

  • licenses_refresh (Update your licenses and permits checklist): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
  • licenses_markDone (Mark a license or permit done): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
  • licenses_markNotApplicable (Set aside a license or permit that isn’t for you): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
  • licenses_reopen (Put a license or permit back on your list): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
  • licenses_report (Report a problem with a license or permit): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
  • licenses_orderResearch (Order a professional license research report): customers see it: waits for the owner’s approval unless they chose Just do it for your app

Reads

  • licenses_status (Your licenses and permits checklist)
  • licenses_summary (What’s going on)

Operations

Each one's input and output, as JSON Schema. Ids are typed (typed ids).

compliance.checklist

See the licenses and permits a business typically needs

Kind
Anyone, before signing in
Tool
licenses_checklist
Scope
public
Reached by
MCP, ChatGPT

Read-only. Works before signing in, with a limit per caller.

Input
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "place": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "description": "City and state, like \"Austin, TX\", or a state alone (\"Colorado\") for what applies statewide."
    },
    "kind": {
      "type": "string",
      "enum": [
        "yoga_studio",
        "barber_shop",
        "hair_salon",
        "massage_therapist",
        "personal_trainer",
        "restaurant",
        "cafe",
        "bakery",
        "photographer",
        "music_teacher",
        "counselor",
        "house_cleaning",
        "pet_groomer",
        "dog_walker",
        "musician",
        "nail_salon",
        "art_center",
        "pottery_studio",
        "camp",
        "gym",
        "retreat"
      ],
      "description": "The kind of business: yoga_studio, barber_shop, hair_salon, massage_therapist, personal_trainer, restaurant, cafe, bakery, photographer, music_teacher, counselor, house_cleaning, pet_groomer, dog_walker, musician, nail_salon, art_center, pottery_studio, camp, gym, retreat."
    },
    "activities": {
      "description": "What it would do; the usual ones for its kind when left out. sells_food, sells_alcohol, sells_goods, operates_from_home, employs_staff, serves_minors, health_intake.",
      "maxItems": 7,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "sells_food",
          "sells_alcohol",
          "sells_goods",
          "operates_from_home",
          "employs_staff",
          "serves_minors",
          "health_intake"
        ]
      }
    }
  },
  "required": [
    "place",
    "kind"
  ],
  "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": {
            "place": {
              "type": "string"
            },
            "city": {
              "type": "string"
            },
            "county": {
              "type": [
                "string",
                "null"
              ]
            },
            "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"
              ]
            },
            "category": {
              "type": "string"
            },
            "kind": {
              "type": "string"
            },
            "activities": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "sells_food",
                  "sells_alcohol",
                  "sells_goods",
                  "operates_from_home",
                  "employs_staff",
                  "serves_minors",
                  "health_intake"
                ]
              }
            },
            "coverage": {
              "type": "string",
              "enum": [
                "federal",
                "state",
                "county",
                "city"
              ]
            },
            "notCovered": {
              "description": "Say it when set: local requirements we don’t cover yet.",
              "type": [
                "string",
                "null"
              ]
            },
            "intro": {
              "type": "string"
            },
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Use it to mark the item done or set it aside."
                  },
                  "title": {
                    "type": "string"
                  },
                  "summary": {
                    "type": "string",
                    "description": "What it is and who it typically applies to."
                  },
                  "level": {
                    "type": "string",
                    "enum": [
                      "federal",
                      "state",
                      "county",
                      "city"
                    ]
                  },
                  "authority": {
                    "type": "string",
                    "description": "Who issues it."
                  },
                  "url": {
                    "type": "string",
                    "description": "The official page. Give it with the item."
                  },
                  "whyItMayApply": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "renewal": {
                    "type": "string",
                    "enum": [
                      "none",
                      "yearly",
                      "every_2_years",
                      "varies"
                    ]
                  },
                  "verifiedOn": {
                    "type": "string",
                    "description": "When we last checked it against the source."
                  },
                  "staffReviewed": {
                    "type": "boolean"
                  },
                  "covered": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string"
                          },
                          "line": {
                            "type": "string"
                          },
                          "href": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "title",
                          "line",
                          "href"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Allpage handles this one: say so and link the setting."
                  }
                },
                "required": [
                  "key",
                  "title",
                  "summary",
                  "level",
                  "authority",
                  "url",
                  "whyItMayApply",
                  "steps",
                  "renewal",
                  "verifiedOn",
                  "staffReviewed",
                  "covered"
                ],
                "additionalProperties": false
              }
            },
            "computedAt": {
              "type": "string"
            },
            "disclaimer": {
              "type": "string",
              "description": "Always give it with the checklist."
            }
          },
          "required": [
            "place",
            "city",
            "county",
            "state",
            "category",
            "kind",
            "activities",
            "coverage",
            "notCovered",
            "intro",
            "items",
            "computedAt",
            "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": {}
    }
  ]
}

compliance.markDone

Mark a license or permit done

Kind
Change
Tool
licenses_markDone
Scope
compliance: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": {
    "key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The item’s key, from licenses_status: \"tx.austin.food-permit\"."
    },
    "licenseNumber": {
      "description": "The license, permit or account number, if it has one.",
      "type": "string",
      "maxLength": 80
    },
    "issuedOn": {
      "description": "YYYY-MM-DD it was issued.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "expiresOn": {
      "description": "YYYY-MM-DD it expires; a reminder comes 30 days before.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "note": {
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "key"
  ],
  "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"
        }
      }
    }
  ]
}

compliance.markNotApplicable

Set aside a license or permit that isn’t for you

Kind
Change
Tool
licenses_markNotApplicable
Scope
compliance: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": {
    "key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The item’s key, from licenses_status: \"tx.austin.food-permit\"."
    },
    "note": {
      "description": "Why, in the owner’s words: \"We don’t sell food\".",
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "key"
  ],
  "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"
        }
      }
    }
  ]
}

compliance.orderResearch

Order a professional license research report

Kind
Change
Tool
licenses_orderResearch
Scope
compliance:write
Reached by
API, MCP, ChatGPT

customers see it: waits for the owner’s approval unless they chose Just do it for your app

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"
        }
      }
    }
  ]
}

compliance.refresh

Update your licenses and permits checklist

Kind
Change
Tool
licenses_refresh
Scope
compliance: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": {
    "activities": {
      "maxItems": 7,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "sells_food",
          "sells_alcohol",
          "sells_goods",
          "operates_from_home",
          "employs_staff",
          "serves_minors",
          "health_intake"
        ]
      },
      "description": "What the business does: sells_food, sells_alcohol, sells_goods, operates_from_home, employs_staff, serves_minors, health_intake."
    }
  },
  "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"
        }
      }
    }
  ]
}

compliance.reopen

Put a license or permit back on your list

Kind
Change
Tool
licenses_reopen
Scope
compliance: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": {
    "key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The item’s key, from licenses_status: \"tx.austin.food-permit\"."
    }
  },
  "required": [
    "key"
  ],
  "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"
        }
      }
    }
  ]
}

compliance.report

Report a problem with a license or permit

Kind
Change
Tool
licenses_report
Scope
compliance: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": {
    "key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The item’s key, from licenses_status: \"tx.austin.food-permit\"."
    },
    "message": {
      "type": "string",
      "minLength": 10,
      "maxLength": 1000,
      "description": "What’s wrong with it: a wrong link, a changed rule, a new fee."
    }
  },
  "required": [
    "key",
    "message"
  ],
  "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"
        }
      }
    }
  ]
}

compliance.status

Your licenses and permits checklist

Kind
Read
Tool
licenses_status
Scope
compliance: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": {
            "checklist": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "place": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string"
                    },
                    "county": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "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"
                      ]
                    },
                    "category": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "activities": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "sells_food",
                          "sells_alcohol",
                          "sells_goods",
                          "operates_from_home",
                          "employs_staff",
                          "serves_minors",
                          "health_intake"
                        ]
                      }
                    },
                    "coverage": {
                      "type": "string",
                      "enum": [
                        "federal",
                        "state",
                        "county",
                        "city"
                      ]
                    },
                    "notCovered": {
                      "description": "Say it when set: local requirements we don’t cover yet.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "intro": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "Use it to mark the item done or set it aside."
                          },
                          "title": {
                            "type": "string"
                          },
                          "summary": {
                            "type": "string",
                            "description": "What it is and who it typically applies to."
                          },
                          "level": {
                            "type": "string",
                            "enum": [
                              "federal",
                              "state",
                              "county",
                              "city"
                            ]
                          },
                          "authority": {
                            "type": "string",
                            "description": "Who issues it."
                          },
                          "url": {
                            "type": "string",
                            "description": "The official page. Give it with the item."
                          },
                          "whyItMayApply": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "steps": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "renewal": {
                            "type": "string",
                            "enum": [
                              "none",
                              "yearly",
                              "every_2_years",
                              "varies"
                            ]
                          },
                          "verifiedOn": {
                            "type": "string",
                            "description": "When we last checked it against the source."
                          },
                          "staffReviewed": {
                            "type": "boolean"
                          },
                          "covered": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "title": {
                                    "type": "string"
                                  },
                                  "line": {
                                    "type": "string"
                                  },
                                  "href": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "title",
                                  "line",
                                  "href"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Allpage handles this one: say so and link the setting."
                          },
                          "id": {
                            "type": "string",
                            "pattern": "^chi_[0-9a-hjkmnp-tv-z]{26}$",
                            "description": "A checklist item id: chi_ and 26 letters and digits."
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "open",
                              "done",
                              "not_applicable"
                            ]
                          },
                          "licenseNumber": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "issuedOn": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "expiresOn": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "remindOn": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "key",
                          "title",
                          "summary",
                          "level",
                          "authority",
                          "url",
                          "whyItMayApply",
                          "steps",
                          "renewal",
                          "verifiedOn",
                          "staffReviewed",
                          "covered",
                          "id",
                          "status",
                          "licenseNumber",
                          "issuedOn",
                          "expiresOn",
                          "remindOn",
                          "note"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "computedAt": {
                      "type": "string"
                    },
                    "disclaimer": {
                      "type": "string",
                      "description": "Always give it with the checklist."
                    },
                    "checklistId": {
                      "type": "string",
                      "pattern": "^chk_[0-9a-hjkmnp-tv-z]{26}$",
                      "description": "A checklist id: chk_ and 26 letters and digits."
                    },
                    "research": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": "string",
                              "enum": [
                                "none",
                                "ordered",
                                "delivered",
                                "failed"
                              ]
                            },
                            "partner": {
                              "type": "string"
                            },
                            "deliveredAt": {
                              "type": "string"
                            },
                            "summary": {
                              "type": "string"
                            },
                            "items": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "title": {
                                    "type": "string"
                                  },
                                  "authority": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  },
                                  "summary": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "title",
                                  "authority",
                                  "url",
                                  "summary"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "status",
                            "partner",
                            "deliveredAt",
                            "summary",
                            "items",
                            "url"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "place",
                    "city",
                    "county",
                    "state",
                    "category",
                    "kind",
                    "activities",
                    "coverage",
                    "notCovered",
                    "intro",
                    "items",
                    "computedAt",
                    "disclaimer",
                    "checklistId",
                    "research"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "needs": {
              "type": [
                "string",
                "null"
              ]
            },
            "disclaimer": {
              "type": "string"
            }
          },
          "required": [
            "checklist",
            "needs",
            "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": {}
    }
  ]
}

compliance.summary

What’s going on

Kind
Read
Tool
licenses_summary
Scope
compliance: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": {}
    }
  ]
}