Business details
Business details in Allpage: its screens, what you can do there and its operations.
Availability. Every business has it.
Screens
- Settings (/settings)
- Your tools (/tools)
What you can do
- Update your business details: the assistant asks you first
- Update your address: the assistant asks you first
- Update your opening hours: the assistant asks you first
- Update your service area: the assistant asks you first
- Turn a tool on or off: the assistant asks you first
- Change your time zone: the assistant asks you first
- Add or change a location: the assistant can do it on its own
- List your business in the Allpage directory: the assistant asks you first
- Show your street address in the Allpage directory: the assistant asks you first
- Add an owner: only you can do it, on its screen
- Remove an owner: only you can do it, on its screen
- Open your business: only you can do it, on its screen
- Close this business: the assistant can prepare it and you confirm it, twice
- Delete this business: the assistant can prepare it and you confirm it, twice
- Keep this business: the assistant can do it on its own
- Change your web address: the assistant asks you first
For apps
Tools
- business_updateProfile (Update your business details): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_updateAddress (Update your address): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_updateHours (Update your opening hours): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_updateServiceArea (Update your service area): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_useTool (Turn a tool on or off): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_setTimeZone (Change your time zone): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_saveLocation (Add or change a location): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- business_listInDirectory (List your business in the Allpage directory): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_showStreetInDirectory (Show your street address in the Allpage directory): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_open (Open your business): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- business_close (Close this business): waits for the owner to confirm it in Allpage, whatever they chose for your app
- business_delete (Delete this business): waits for the owner to confirm it in Allpage, whatever they chose for your app
- business_keep (Keep this business): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- business_rename (Change your web address): customers see it: waits for the owner’s approval unless they chose Just do it for your app
Reads
- business_settings (See your business details at a glance)
- business_details (About the business: what it does, where it is, its hours)
- business_profile (See your business details as saved)
- business_hours (See your opening hours)
- business_capabilities (Check what your tools can use)
- business_operation (Check how a task is going)
- business_tools (See your tools)
- business_owners (See who owns your businesses)
- business_locations (See your locations)
- business_summary (What’s going on)
Outside any one business
- business_create (Start a business)
- organizations_list (Your businesses)
- account_get (Your account)
- account_rename (Change your name)
Only the owner, in Allpage
- Add an owner
- Remove an owner
The owner’s screens
- Settings (/settings)
- Your tools (/tools)
Operations
Each one's input and output, as JSON Schema. Ids are typed (typed ids).
account.get
Your account
- Kind
- Outside a business
- Tool
account_get- Scope
account: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": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"businesses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^biz_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A business id: biz_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"owner",
"staff"
]
},
"status": {
"type": "string",
"enum": [
"active",
"suspended",
"closed",
"purged"
]
},
"stage": {
"type": "string",
"enum": [
"idea",
"launched"
]
}
},
"required": [
"id",
"name",
"role",
"status",
"stage"
],
"additionalProperties": false
}
}
},
"required": [
"name",
"email",
"businesses"
],
"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": {}
}
]
}account.rename
Change your name
- Kind
- Outside a business
- Tool
account_rename- Scope
account:write- Reached by
- API, MCP
Runs right away, in the organization the app is connected to, outside any one business.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"label": "Name",
"control": "text"
}
},
"required": [
"name"
],
"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"
}
}
}
]
}business.capabilities
Check what your tools can use
- Kind
- Read
- Tool
business_capabilities- Scope
business:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"module": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"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",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "available"
}
},
"required": [
"status"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "fallback"
},
"reason": {
"type": "string"
},
"offer": {
"anyOf": [
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"title",
"href"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"command": {
"type": "string"
},
"input": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"title",
"command",
"input"
],
"additionalProperties": false
}
]
}
},
"required": [
"status",
"reason"
],
"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": {}
}
]
}business.close
Close this business
- Kind
- Change
- Tool
business_close- Scope
business:write- Reached by
- API, MCP
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": {},
"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"
}
}
}
]
}business.create
Start a business
- Kind
- Outside a business
- Tool
business_create- Scope
business:write- Reached by
- API, MCP, ChatGPT
Runs right away, in the organization the app is connected to, outside any one business.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"stage": {
"default": "starting",
"description": "Where the owner is with it: idea (an idea to test, nothing to sell yet), starting (setting up a business) or open (running one today and moving it here). An idea gets no website draft and none of the tools for selling until business_open; name, kind and email are optional for it.",
"type": "string",
"enum": [
"idea",
"starting",
"open"
]
},
"pitch": {
"description": "The idea in the owner’s words, like \"mobile dog grooming in east Austin\". Needed for an idea with no name: its working name comes from the pitch’s first words.",
"type": "string",
"maxLength": 300
},
"name": {
"description": "What the business is called. Needed unless stage is idea.",
"type": "string",
"maxLength": 80
},
"kind": {
"description": "The kind of business, as website_starters lists it (massage, yoga, photographer, hair, barbershop, nails, trainer, music-teacher, baker, restaurant, counselor, cleaner, musician, pet-care, portfolio), or the kind planning_opportunities named. The website and the setup for that kind start from it; pick the closest, or portfolio when none fits: a simple website with no kind’s offerings or prices. Needed unless stage is idea.",
"type": "string",
"maxLength": 40
},
"location": {
"description": "Where it is, like \"Austin, TX\": sets its time zone and is kept as the place it serves until it has an address.",
"label": "Where",
"type": "string",
"maxLength": 120
},
"email": {
"label": "Email",
"control": "email",
"description": "How customers reach the business by email. Needed unless stage is idea.",
"type": "string",
"maxLength": 320
},
"phone": {
"label": "Phone",
"control": "tel",
"type": "string",
"maxLength": 40
},
"description": {
"default": "",
"type": "string",
"maxLength": 300
},
"services": {
"description": "What the business sells and for how much, only as the owner said it. They become the options customers book first, with these prices, in place of the usual starting prices for its kind. Leave out what the owner didn’t say.",
"maxItems": 6,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"priceMinor": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "What it costs, in cents."
},
"minutes": {
"description": "How long it takes, for something booked by time.",
"type": "integer",
"minimum": 5,
"maximum": 720,
"multipleOf": 5
}
},
"required": [
"name",
"priceMinor"
],
"additionalProperties": false
}
},
"look": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"website": {
"description": "Their own website, if they have one, for their profile.",
"label": "Link",
"control": "url",
"type": "string",
"maxLength": 300
},
"socials": {
"description": "Their social accounts, as links. Never fetched.",
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"platform": {
"type": "string",
"enum": [
"web",
"instagram",
"tiktok",
"facebook",
"youtube",
"x",
"threads",
"bluesky",
"linkedin",
"pinterest",
"yelp",
"google",
"tripadvisor",
"spotify",
"applemusic",
"soundcloud",
"bandcamp",
"etsy",
"substack",
"whatsapp",
"vimeo",
"snapchat",
"twitch",
"telegram",
"discord",
"patreon",
"kofi",
"linktree",
"behance",
"dribbble",
"github",
"medium",
"nextdoor",
"airbnb",
"venmo",
"cashapp",
"paypal"
]
},
"handle": {
"type": "string",
"maxLength": 60
},
"url": {
"label": "Link",
"control": "url",
"type": "string",
"maxLength": 2000
}
},
"required": [
"platform",
"handle",
"url"
],
"additionalProperties": false
}
},
"logoUrl": {
"description": "Their logo image (https), for their files and website.",
"label": "Link",
"control": "url",
"type": "string",
"maxLength": 2000
},
"hours": {
"description": "Their opening hours, only as the owner or their website gave them: schema.org openingHours text like \"Mo-Fr 09:00-17:00, Sa 10:00-14:00\", or 7 days of windows, Sunday first, in minutes from midnight ([[], [{\"start\": 540, \"end\": 1020}], …]). They become the business’s hours in its time zone. Leave them out when you don’t know them.",
"anyOf": [
{
"minItems": 7,
"maxItems": 7,
"type": "array",
"items": {
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"type": "integer",
"minimum": 0,
"maximum": 1435,
"multipleOf": 5
},
"end": {
"type": "integer",
"minimum": 5,
"maximum": 2880,
"multipleOf": 5
}
},
"required": [
"start",
"end"
],
"additionalProperties": false
}
}
},
{
"type": "string",
"maxLength": 500
},
{
"maxItems": 14,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
}
]
},
"facts": {
"description": "What the owner typed or their website said. Fills the description, place, phone and priced services left empty above.",
"maxItems": 60,
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"typed",
"website"
]
},
"kind": {
"type": "string",
"enum": [
"name",
"kind",
"website",
"resource",
"social",
"email",
"phone",
"place",
"service",
"description"
]
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"minutes": {
"type": "integer",
"minimum": 5,
"maximum": 1440,
"multipleOf": 5
},
"price": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"source",
"kind",
"value"
],
"additionalProperties": false
}
},
"inspiration": {
"description": "Sites they like the look of. Only the look is used, when look is left out.",
"maxItems": 5,
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"label": "Link",
"control": "url",
"type": "string",
"maxLength": 2000
},
"look": {
"type": "object",
"properties": {
"themeColor": {
"type": "string",
"pattern": "^#(?:[0-9a-f]{3}|[0-9a-f]{6})$"
},
"fonts": {
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"dark": {
"type": "boolean"
},
"photoLed": {
"type": "boolean"
}
}
}
},
"required": [
"url"
],
"additionalProperties": false
}
},
"organizationId": {
"type": "string",
"pattern": "^org_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A organization id: org_ and 26 letters and digits."
}
},
"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"
}
}
}
]
}business.delete
Delete this business
- Kind
- Change
- Tool
business_delete- Scope
business:write- Reached by
- API, MCP
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": {},
"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"
}
}
}
]
}business.details
About the business: what it does, where it is, its hours
- Kind
- Read
- Tool
business_details- Scope
business: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": {
"name": {
"type": "string"
},
"details": {
"type": "string",
"description": "What it publishes about itself, as lines: empty for none."
}
},
"required": [
"name",
"details"
],
"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": {}
}
]
}business.hours
See your opening hours
- Kind
- Read
- Tool
business_hours- Scope
business: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": {
"timeZone": {
"type": "string",
"description": "The business’s time zone; every time is in it."
},
"zone": {
"type": "string",
"description": "Its everyday name, like \"Mountain Time\"."
},
"weekly": {
"minItems": 7,
"maxItems": 7,
"type": "array",
"items": {
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"type": "integer",
"minimum": 0,
"maximum": 1435,
"multipleOf": 5
},
"end": {
"type": "integer",
"minimum": 5,
"maximum": 2880,
"multipleOf": 5
}
},
"required": [
"start",
"end"
],
"additionalProperties": false
}
},
"description": "Sunday (0) to Saturday (6), each day’s windows in minutes from midnight. Weekdays 9 to 5 until any are saved."
},
"exceptions": {
"default": [],
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"windows": {
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"type": "integer",
"minimum": 0,
"maximum": 1435,
"multipleOf": 5
},
"end": {
"type": "integer",
"minimum": 5,
"maximum": 2880,
"multipleOf": 5
}
},
"required": [
"start",
"end"
],
"additionalProperties": false
}
},
"label": {
"default": "",
"label": "Why",
"hint": "Holiday, special hours…",
"type": "string",
"maxLength": 60
}
},
"required": [
"date",
"windows",
"label"
],
"additionalProperties": false
}
},
"saved": {
"type": "boolean",
"description": "Whether the owner has saved hours yet."
},
"version": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pass it to business.updateHours with the whole hours."
}
},
"required": [
"timeZone",
"zone",
"weekly",
"exceptions",
"saved",
"version"
],
"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": {}
}
]
}business.keep
Keep this business
- Kind
- Change
- Tool
business_keep- Scope
business:write- Reached by
- API, MCP
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"
}
}
}
]
}business.listInDirectory
List your business in the Allpage directory
- Kind
- Change
- Tool
business_listInDirectory- Scope
business: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": {
"listed": {
"type": "boolean",
"description": "true keeps the business in the Allpage directory under its kind and city (the default, once its details are complete); false takes it out everywhere."
}
},
"required": [
"listed"
],
"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"
}
}
}
]
}business.locations
See your locations
- Kind
- Read
- Tool
business_locations- Scope
business: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": {
"locations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^loc_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A location id: loc_ and 26 letters and digits."
},
"kind": {
"type": "string",
"enum": [
"place",
"venue",
"online"
]
},
"name": {
"type": "string"
},
"primary": {
"type": "boolean"
},
"timeZone": {
"type": "string"
}
},
"required": [
"id",
"kind",
"name",
"primary",
"timeZone"
],
"additionalProperties": false
}
}
},
"required": [
"locations"
],
"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": {}
}
]
}business.open
Open your business
- Kind
- Change
- Tool
business_open- Scope
business: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": {
"kind": {
"description": "The kind of business, as website_starters lists it. Leave it out to use the kind the business already has, or portfolio when it has none.",
"type": "string",
"maxLength": 40
},
"name": {
"description": "What the business is called, if it changes as it opens.",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"services": {
"description": "What the business sells and for how much, only as the owner said it. They become what customers book first, at these prices, in place of the usual starting prices for its kind. Leave out what the owner didn’t say.",
"maxItems": 6,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"priceMinor": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "What it costs, in cents."
},
"minutes": {
"description": "How long it takes, for something booked by time.",
"type": "integer",
"minimum": 5,
"maximum": 720,
"multipleOf": 5
}
},
"required": [
"name",
"priceMinor"
],
"additionalProperties": false
}
},
"look": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"logoUrl": {
"description": "Their logo image (https), for their files and website.",
"label": "Link",
"control": "url",
"type": "string",
"maxLength": 2000
}
},
"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"
}
}
}
]
}business.operation
Check how a task is going
- Kind
- Read
- Tool
business_operation- Scope
business:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"operationId": {
"type": "string",
"pattern": "^pnd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A pending operation id: pnd_ and 26 letters and digits."
}
},
"required": [
"operationId"
],
"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": {
"anyOf": [
{
"type": "object",
"properties": {
"operationId": {
"type": "string"
},
"command": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"running",
"done",
"failed"
]
},
"progress": {
"type": "object",
"properties": {
"done": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"done"
],
"additionalProperties": false
},
"message": {
"type": "string"
},
"result": {},
"startedAt": {
"type": "string"
},
"finishedAt": {
"type": "string"
}
},
"required": [
"operationId",
"command",
"status",
"progress",
"message",
"startedAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"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": {}
}
]
}business.owners
See who owns your businesses
- Kind
- Read
- Tool
business_owners- Scope
business: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": {
"owners": {
"type": "array",
"items": {
"type": "object",
"properties": {
"personId": {
"type": "string",
"pattern": "^per_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A person id: per_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"you": {
"type": "boolean"
}
},
"required": [
"personId",
"name",
"email",
"you"
],
"additionalProperties": false
}
},
"businesses": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"canManage": {
"type": "boolean"
}
},
"required": [
"owners",
"businesses",
"canManage"
],
"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": {}
}
]
}business.profile
See your business details as saved
- Kind
- Read
- Tool
business_profile- Scope
business: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": {
"data": {
"anyOf": [
{
"type": "object",
"properties": {
"displayName": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"label": "Business name"
},
"legalName": {
"default": "",
"label": "Legal name",
"hint": "If it’s different, for receipts and payments.",
"type": "string",
"maxLength": 120
},
"entity": {
"label": "Business type",
"type": "string",
"enum": [
"sole_proprietor",
"llc",
"corporation",
"partnership",
"nonprofit"
]
},
"ein": {
"label": "EIN",
"hint": "Speeds up texting and payments setup."
},
"stage": {
"label": "Stage",
"type": "string",
"enum": [
"idea",
"launched"
]
},
"formationState": {
"label": "State of formation"
},
"registeredAgent": {
"label": "Registered agent",
"type": "string",
"maxLength": 120
},
"tagline": {
"default": "",
"label": "One line about you",
"type": "string",
"maxLength": 120
},
"description": {
"default": "",
"label": "About",
"control": "textarea",
"type": "string",
"maxLength": 2000
},
"categories": {
"default": [],
"label": "What kind of business",
"maxItems": 5,
"type": "array",
"items": {
"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"
]
}
},
"phone": {
"label": "Phone",
"control": "tel"
},
"email": {
"label": "Email",
"control": "email"
},
"website": {
"label": "Other website",
"control": "url"
},
"socials": {
"default": [],
"label": "Social profiles",
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"instagram",
"facebook",
"tiktok",
"youtube",
"x",
"linkedin",
"pinterest",
"threads",
"yelp"
]
},
"url": {
"label": "Link",
"control": "url"
}
},
"required": [
"network",
"url"
],
"additionalProperties": false
}
},
"currency": {
"default": "usd",
"type": "string",
"const": "usd"
}
},
"required": [
"displayName",
"legalName",
"tagline",
"description",
"categories",
"socials",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The saved details; null before any are saved."
},
"version": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pass it to business.updateProfile with the whole details."
}
},
"required": [
"data",
"version"
],
"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": {}
}
]
}business.rename
Change your web address
- Kind
- Change
- Tool
business_rename- Scope
business: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": {
"handle": {
"type": "string",
"label": "Web address"
}
},
"required": [
"handle"
],
"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"
}
}
}
]
}business.saveLocation
Add or change a location
- Kind
- Change
- Tool
business_saveLocation- Scope
business: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": {
"locationId": {
"type": "string",
"pattern": "^loc_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A location id: loc_ and 26 letters and digits."
},
"kind": {
"type": "string",
"enum": [
"place",
"venue",
"online"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"timeZone": {
"type": "string",
"maxLength": 80,
"label": "Time zone"
},
"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": [
"kind",
"name"
],
"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"
}
}
}
]
}business.setTimeZone
Change your time zone
- Kind
- Change
- Tool
business_setTimeZone- Scope
business: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": {
"timeZone": {
"type": "string",
"maxLength": 80,
"description": "The business’s new IANA time zone, like \"America/Los_Angeles\". Every time it shows moves to it."
}
},
"required": [
"timeZone"
],
"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"
}
}
}
]
}business.settings
See your business details at a glance
- Kind
- Read
- Tool
business_settings- Scope
business: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": {
"name": {
"type": "string"
},
"reach": {
"type": [
"string",
"null"
]
},
"timeZone": {
"type": "string"
},
"openDays": {
"type": [
"number",
"null"
]
},
"address": {
"type": [
"string",
"null"
]
},
"mode": {
"type": "string",
"enum": [
"storefront",
"mobile",
"both"
]
},
"places": {
"type": "number"
}
},
"required": [
"name",
"reach",
"timeZone",
"openDays",
"address",
"mode",
"places"
],
"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": {}
}
]
}business.showStreetInDirectory
Show your street address in the Allpage directory
- Kind
- Change
- Tool
business_showStreetInDirectory- Scope
business: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": {
"show": {
"type": "boolean",
"description": "true shows the street address on the listing; false shows only the city and area."
}
},
"required": [
"show"
],
"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"
}
}
}
]
}business.summary
What’s going on
- Kind
- Read
- Tool
business_summary- Scope
business: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": {}
}
]
}business.tools
See your tools
- Kind
- Read
- Tool
business_tools- Scope
business: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": {
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"module": {
"type": "string"
},
"title": {
"type": "string"
},
"purpose": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"on",
"off",
"turning_off"
]
},
"canChange": {
"type": "boolean"
},
"lock": {
"type": "object",
"properties": {
"reason": {
"type": "string"
},
"offer": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"title",
"href"
],
"additionalProperties": false
}
},
"required": [
"reason"
],
"additionalProperties": false
},
"needs": {
"type": "array",
"items": {
"type": "string"
}
},
"takesDown": {
"type": "array",
"items": {
"type": "string"
}
},
"optionsHref": {
"type": "string"
}
},
"required": [
"module",
"title",
"purpose",
"state",
"canChange",
"needs",
"takesDown"
],
"additionalProperties": false
}
}
},
"required": [
"tools"
],
"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": {}
}
]
}business.updateAddress
Update your address
- Kind
- Change
- Tool
business_updateAddress- Scope
business: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": {
"data": {
"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
},
"version": {
"description": "The version you read, so a change made since is a conflict instead of lost; 0 saves only if there’s none yet.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"data"
],
"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"
}
}
}
]
}business.updateHours
Update your opening hours
- Kind
- Change
- Tool
business_updateHours- Scope
business: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": {
"data": {
"type": "object",
"properties": {
"timeZone": {
"type": "string",
"maxLength": 80,
"label": "Time zone"
},
"weekly": {
"minItems": 7,
"maxItems": 7,
"type": "array",
"items": {
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"type": "integer",
"minimum": 0,
"maximum": 1435,
"multipleOf": 5
},
"end": {
"type": "integer",
"minimum": 5,
"maximum": 2880,
"multipleOf": 5
}
},
"required": [
"start",
"end"
],
"additionalProperties": false
}
}
},
"exceptions": {
"default": [],
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"windows": {
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"type": "integer",
"minimum": 0,
"maximum": 1435,
"multipleOf": 5
},
"end": {
"type": "integer",
"minimum": 5,
"maximum": 2880,
"multipleOf": 5
}
},
"required": [
"start",
"end"
],
"additionalProperties": false
}
},
"label": {
"default": "",
"label": "Why",
"hint": "Holiday, special hours…",
"type": "string",
"maxLength": 60
}
},
"required": [
"date",
"windows"
],
"additionalProperties": false
}
}
},
"required": [
"timeZone",
"weekly"
],
"additionalProperties": false
},
"version": {
"description": "The version you read, so a change made since is a conflict instead of lost; 0 saves only if there’s none yet.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"data"
],
"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"
}
}
}
]
}business.updateProfile
Update your business details
- Kind
- Change
- Tool
business_updateProfile- Scope
business: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": {
"data": {
"type": "object",
"properties": {
"displayName": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"label": "Business name"
},
"legalName": {
"default": "",
"label": "Legal name",
"hint": "If it’s different, for receipts and payments.",
"type": "string",
"maxLength": 120
},
"entity": {
"label": "Business type",
"type": "string",
"enum": [
"sole_proprietor",
"llc",
"corporation",
"partnership",
"nonprofit"
]
},
"ein": {
"label": "EIN",
"hint": "Speeds up texting and payments setup.",
"type": "string",
"maxLength": 20
},
"stage": {
"label": "Stage",
"type": "string",
"enum": [
"idea",
"launched"
]
},
"formationState": {
"label": "State of formation",
"type": "string",
"maxLength": 40
},
"registeredAgent": {
"label": "Registered agent",
"type": "string",
"maxLength": 120
},
"tagline": {
"default": "",
"label": "One line about you",
"type": "string",
"maxLength": 120
},
"description": {
"default": "",
"label": "About",
"control": "textarea",
"type": "string",
"maxLength": 2000
},
"categories": {
"default": [],
"label": "What kind of business",
"maxItems": 5,
"type": "array",
"items": {
"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"
]
}
},
"phone": {
"label": "Phone",
"control": "tel",
"type": "string"
},
"email": {
"label": "Email",
"control": "email",
"type": "string",
"maxLength": 320
},
"website": {
"label": "Other website",
"control": "url",
"type": "string"
},
"socials": {
"label": "Social profiles",
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"instagram",
"facebook",
"tiktok",
"youtube",
"x",
"linkedin",
"pinterest",
"threads",
"yelp"
]
},
"url": {
"label": "Link",
"control": "url",
"type": "string",
"maxLength": 300
}
},
"required": [
"network",
"url"
],
"additionalProperties": false
}
},
"currency": {
"default": "usd",
"type": "string",
"const": "usd"
}
},
"required": [
"displayName"
],
"additionalProperties": false
},
"version": {
"description": "The version you read, so a change made since is a conflict instead of lost; 0 saves only if there’s none yet.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"data"
],
"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"
}
}
}
]
}business.updateServiceArea
Update your service area
- Kind
- Change
- Tool
business_updateServiceArea- Scope
business: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": {
"data": {
"type": "object",
"properties": {
"mode": {
"default": "storefront",
"label": "Where you work",
"options": {
"storefront": "Customers come to me",
"mobile": "I go to customers",
"both": "Both"
},
"type": "string",
"enum": [
"storefront",
"mobile",
"both"
]
},
"places": {
"default": [],
"label": "Towns and neighborhoods",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"placeId": {
"type": "string",
"maxLength": 200
},
"geo": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
},
"checked": {
"type": "boolean"
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"radiusMiles": {
"label": "How far you travel (miles)",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"additionalProperties": false
},
"version": {
"description": "The version you read, so a change made since is a conflict instead of lost; 0 saves only if there’s none yet.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"data"
],
"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"
}
}
}
]
}business.useTool
Turn a tool on or off
- Kind
- Change
- Tool
business_useTool- Scope
business: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": {
"module": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"on": {
"type": "boolean"
},
"confirm": {
"description": "The owner saw which other tools turn on or off with it and said yes.",
"type": "boolean"
}
},
"required": [
"module",
"on"
],
"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"
}
}
}
]
}organizations.list
Your businesses
- Kind
- Outside a business
- Tool
organizations_list- Scope
organizations: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": {
"organizations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^org_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A organization id: org_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"personal": {
"type": "boolean"
},
"role": {
"type": "string",
"enum": [
"owner",
"member"
]
},
"businesses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^biz_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A business id: biz_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"active",
"suspended",
"closed",
"purged"
]
}
},
"required": [
"id",
"name",
"status"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"name",
"personal",
"role",
"businesses"
],
"additionalProperties": false
}
}
},
"required": [
"organizations"
],
"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": {}
}
]
}