Analytics
Analytics 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.
Screens
- Numbers (/numbers)
For apps
Reads
- analytics_daily (Website visits by day)
- analytics_activity (Bookings, customers and money by day)
- analytics_campaigns (Visits and what they led to, by campaign)
- analytics_funnels (Where visitors stop on forms and checkout)
- analytics_numbers (See your website’s visits and where they came from)
- analytics_measure (Count bookings, revenue or customers by day, week or month)
- analytics_summary (What’s going on)
The owner’s screens
- Numbers (/numbers)
Operations
Each one's input and output, as JSON Schema. Ids are typed (typed ids).
analytics.activity
Bookings, customers and money by day
- Kind
- Read
- Tool
analytics_activity- Scope
analytics:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The first day, YYYY-MM-DD."
},
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The last day, YYYY-MM-DD, included."
}
},
"required": [
"from",
"to"
],
"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"
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The measure, as `analytics.measure` names it."
},
"label": {
"type": "string"
},
"amount": {
"type": "boolean",
"description": "Its values are money in minor units (cents)."
}
},
"required": [
"id",
"label",
"amount"
],
"additionalProperties": false
}
},
"columns": {
"type": "array",
"items": {
"type": "string"
}
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"required": [
"day"
],
"additionalProperties": {
"description": "Each measure’s value that day: a count, or cents for money.",
"type": [
"number",
"string"
]
}
}
}
},
"required": [
"timeZone",
"metrics",
"columns",
"rows"
],
"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": {}
}
]
}analytics.campaigns
Visits and what they led to, by campaign
- Kind
- Read
- Tool
analytics_campaigns- Scope
analytics:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The first day, YYYY-MM-DD."
},
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The last day, YYYY-MM-DD, included."
}
},
"required": [
"from",
"to"
],
"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": {
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"medium": {
"type": "string"
},
"campaign": {
"type": "string"
},
"visits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"conversions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "form, booking, order, subscribe"
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
}
},
"required": [
"source",
"medium",
"campaign",
"visits",
"conversions"
],
"additionalProperties": false
}
}
},
"required": [
"rows"
],
"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": {}
}
]
}analytics.daily
Website visits by day
- Kind
- Read
- Tool
analytics_daily- Scope
analytics:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The first day, YYYY-MM-DD."
},
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The last day, YYYY-MM-DD, included."
}
},
"required": [
"from",
"to"
],
"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"
},
"columns": {
"type": "array",
"items": {
"type": "string"
}
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"visits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"visitors": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"pageviews": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"topSource": {
"type": "string"
},
"conversions": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"day",
"visits",
"visitors",
"pageviews",
"topSource",
"conversions"
],
"additionalProperties": false
}
}
},
"required": [
"timeZone",
"columns",
"rows"
],
"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": {}
}
]
}analytics.funnels
Where visitors stop on forms and checkout
- Kind
- Read
- Tool
analytics_funnels- Scope
analytics:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The first day, YYYY-MM-DD."
},
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The last day, YYYY-MM-DD, included."
}
},
"required": [
"from",
"to"
],
"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": {
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"funnel": {
"type": "string",
"description": "`offerings.booking`, `site.form:<form id>`"
},
"title": {
"type": "string"
},
"started": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"completed": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"abandoned": {
"type": "array",
"items": {
"type": "object",
"properties": {
"step": {
"type": "string"
},
"label": {
"type": "string"
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"step",
"label",
"count"
],
"additionalProperties": false
}
}
},
"required": [
"funnel",
"title",
"started",
"completed",
"abandoned"
],
"additionalProperties": false
}
}
},
"required": [
"rows"
],
"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": {}
}
]
}analytics.measure
Count bookings, revenue or customers by day, week or month
- Kind
- Read
- Tool
analytics_measure- Scope
analytics:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"measure": {
"type": "string",
"minLength": 1,
"description": "What to count, by id: `bookings`, `revenue`, `new-members`… `surface.catalog` lists the ones this person may read."
},
"by": {
"description": "`count`, `sum`, `average` or `people` (unique customers). Each measure offers some; its first when left out.",
"type": "string",
"enum": [
"count",
"sum",
"average",
"people"
]
},
"segment": {
"default": "everyone",
"description": "Which customers, by id: `everyone`, `first-timers`, `members`… Only measures about customers split by group.",
"type": "string"
},
"period": {
"default": "week",
"description": "`day`, `week` (from Monday) or `month`, in the business’s time zone.",
"type": "string",
"enum": [
"day",
"week",
"month"
]
},
"last": {
"description": "How many periods back, this one included: 8 with `week` is the last 8 weeks. Leave out with `from`.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"from": {
"description": "The first day, YYYY-MM-DD, instead of `last`. It starts its period.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"to": {
"description": "The last day, YYYY-MM-DD, included. Today when left out.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"measure"
],
"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": {
"measure": {
"type": "string"
},
"by": {
"type": "string",
"enum": [
"count",
"sum",
"average",
"people"
]
},
"segment": {
"type": "string"
},
"period": {
"type": "string",
"enum": [
"day",
"week",
"month"
]
},
"label": {
"type": "string",
"description": "What it counts, in the owner’s words: \"Bookings · Members\"."
},
"range": {
"type": "string",
"description": "\"this week\", \"over the last 8 weeks\", \"from Sep 1 to Oct 4\"."
},
"from": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"to": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"timeZone": {
"type": "string"
},
"currency": {
"description": "Set for money: the currency, and values are in cents.",
"type": "string"
},
"total": {
"type": "number",
"description": "Over the whole range: unique people over it, not added up."
},
"totalText": {
"type": "string"
},
"points": {
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The first day of the period."
},
"label": {
"type": "string"
},
"value": {
"type": "number"
},
"text": {
"type": "string"
}
},
"required": [
"start",
"label",
"value",
"text"
],
"additionalProperties": false
}
},
"current": {
"description": "The point that holds today, when the range reaches it.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"measure",
"by",
"segment",
"period",
"label",
"range",
"from",
"to",
"timeZone",
"total",
"totalText",
"points"
],
"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": {}
}
]
}analytics.numbers
See your website’s visits and where they came from
- Kind
- Read
- Tool
analytics_numbers- Scope
analytics:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"period": {
"default": "30",
"description": "How many of the business’s last days: 7, 30, 90 or 365.",
"type": "string",
"enum": [
"7",
"30",
"90",
"365"
]
}
},
"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": {
"period": {
"type": "string",
"enum": [
"7",
"30",
"90",
"365"
]
},
"from": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"to": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"visits": {
"type": "object",
"properties": {
"visits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"visitors": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"pageviews": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"counted": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"visits",
"visitors",
"pageviews",
"counted"
],
"additionalProperties": false
},
"campaigns": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"medium": {
"type": "string"
},
"campaign": {
"type": "string"
},
"visits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"conversions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "form, booking, order, subscribe"
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
}
},
"required": [
"source",
"medium",
"campaign",
"visits",
"conversions"
],
"additionalProperties": false
}
},
"funnels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"funnel": {
"type": "string",
"description": "`offerings.booking`, `site.form:<form id>`"
},
"title": {
"type": "string"
},
"started": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"completed": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"abandoned": {
"type": "array",
"items": {
"type": "object",
"properties": {
"step": {
"type": "string"
},
"label": {
"type": "string"
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"step",
"label",
"count"
],
"additionalProperties": false
}
}
},
"required": [
"funnel",
"title",
"started",
"completed",
"abandoned"
],
"additionalProperties": false
}
}
},
"required": [
"period",
"from",
"to",
"visits",
"campaigns",
"funnels"
],
"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": {}
}
]
}analytics.summary
What’s going on
- Kind
- Read
- Tool
analytics_summary- Scope
analytics: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": {
"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": {}
}
]
}