#Usage
GET /usage
Get the organization's usage against every allowance it is counted on. One of them is billable (engaged customers) and the rest are backstops that are counted but never priced. The month's bill estimate, its bracket and the next one are on the billing subscription. Each meter says whether it covers the current UTC calendar month or is a running total, and carries its own label so you can render it without a lookup table. These counts are informational, and going over an allowance does not block anything. Counts are cached for a few minutes, so a number can lag a write you just made.
Requires the settings:read permission.
Request
curl \
"https://your-store.meisei.app/api/usage" \
-H "Authorization: Bearer sk_YOUR_SECRET_KEY"Request
import { client } from "@meisei/api/admin/client"
import { getUsage } from "@meisei/api/admin"
client.setConfig({
baseUrl: "https://your-store.meisei.app/api",
headers: { Authorization: "Bearer sk_YOUR_SECRET_KEY" },
})
const { data, error } = await getUsage()Request
require "meisei"
meisei = Meisei::Client.new(
secret_key: "sk_YOUR_SECRET_KEY",
base_url: "https://your-store.meisei.app/api",
)
result = meisei.usage.retrieveRequest
from meisei import Client
meisei = Client(
secret_key="sk_YOUR_SECRET_KEY",
base_url="https://your-store.meisei.app/api",
)
result = meisei.usage.retrieve()Response
{
"monthlySurveys": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"monthlyEngagedUsers": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"monthlyReviewSubmissions": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"monthlyEmails": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"monthlyAutomationRuns": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"monthlyReviewAnswers": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"products": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"customers": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"storedReviews": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"sites": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"apiKeys": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"seats": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"webhooks": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"brandAssetsMB": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"totalStorageMB": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
},
"monthlyAiBudgetCents": {
"label": "string",
"description": "string",
"used": 0,
"limit": 0,
"usedLabel": "string",
"limitLabel": "string",
"status": "ok",
"group": "billable",
"grace": {
"startedAt": "2025-01-15T09:30:00Z",
"degradesAt": "2025-01-15T09:30:00Z",
"degraded": true
},
"skipped": 0,
"period": "monthly",
"overage": {
"enabled": true,
"units": 0,
"bracket": "starter",
"unitsLabel": "string",
"blocks": 0,
"blockSize": 0,
"amount": 0,
"amountLabel": "string",
"rateLabel": "string",
"currency": "string"
}
}
}Response schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"monthlySurveys": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Review requests opened in the current UTC calendar month."
},
"monthlyEngagedUsers": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Engaged customers in the current UTC calendar month: a customer counts once a month if they order, earn or spend points, or use a wishlist. Imports, visits and reviews do not count."
},
"monthlyReviewSubmissions": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Reviews submitted in the current UTC calendar month, however they arrived. Not billed."
},
"monthlyEmails": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Emails sent to your customers in the current UTC calendar month: review requests, loyalty emails and wishlist emails. Emails to your team are not counted. During a trial the count and the limit cover the whole trial."
},
"monthlyAutomationRuns": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Automation runs that events and schedules started in the current UTC calendar month. Test runs, retries and reruns are not counted."
},
"monthlyReviewAnswers": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Review answers generated in the current UTC calendar month. Repeated questions are answered from cache and do not count."
},
"products": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Products stored, counted across every connected site."
},
"customers": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Customers stored, counted across reviews, loyalty and wishlists."
},
"storedReviews": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Reviews stored, published or not."
},
"sites": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Sites connected to the organization, whether from Shopify or created by hand."
},
"apiKeys": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "API keys the organization holds, publishable and secret, including expired ones."
},
"seats": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "People who are members of the organization."
},
"webhooks": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Webhook endpoints registered, active or not."
},
"brandAssetsMB": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Brand assets held by the fullest single site, in megabytes, since the allowance is per site."
},
"totalStorageMB": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Uploaded files across the whole organization, in megabytes."
},
"monthlyAiBudgetCents": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The meter's name, ready to show as a row label without rewording."
},
"description": {
"type": "string",
"description": "What the meter counts, as a full sentence."
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How much of the allowance has been used."
},
"limit": {
"type": "number",
"description": "How much this organization is allowed."
},
"usedLabel": {
"type": "string",
"description": "`used` rendered the way the limit reads it, with any unit attached."
},
"limitLabel": {
"type": "string",
"description": "`limit` rendered the way the limit reads it, with any unit attached."
},
"status": {
"type": "string",
"enum": ["ok", "warning", "over"],
"description": "Where usage stands against the allowance: ok below 80 percent, warning from 80 percent up to the allowance, over beyond it. Going over keeps working. See `grace` for what happens if it stays over."
},
"group": {
"type": "string",
"enum": ["billable", "backstop"],
"description": "Whether the allowance is one a plan is sold on (billable) or an abuse backstop that is counted but never priced (backstop)."
},
"grace": {
"anyOf": [
{
"type": "object",
"properties": {
"startedAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When the grace period started."
},
"degradesAt": {
"type": "string",
"format": "date-time",
"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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "When this product starts turning new activity away, measured in the organization's time zone."
},
"degraded": {
"type": "boolean",
"description": "Whether that has already happened."
}
},
"required": ["startedAt", "degradesAt", "degraded"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The grace period this allowance is in, or null if it is not in one. Only a billable allowance that is currently over ever carries one."
},
"skipped": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many emails or automation runs this period the limit turned away. Only the email and automation run meters carry a number; it is null on every other meter."
},
"period": {
"type": "string",
"enum": ["monthly", "structural"],
"description": "Whether the count covers the current UTC calendar month (monthly) or is a running total of what the account holds right now (structural)."
},
"overage": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this organization is billed for going over rather than degraded after a grace period. On by default."
},
"units": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How far past the allowance usage is, so far."
},
"bracket": {
"type": "string",
"enum": ["starter", "growth", "scale", "unlimited"],
"description": "The plan this month is billed as so far: the cheapest plan at or above the organization's own that covers the usage."
},
"unitsLabel": {
"type": "string",
"description": "`units` with any unit attached."
},
"blocks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Started blocks of the rate's block size, which is what is charged for."
},
"blockSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many units one block covers."
},
"amount": {
"type": "number",
"description": "What this period comes to so far above the plan's price, in units of the currency (dollars and cents)."
},
"amountLabel": {
"type": "string",
"description": "`amount` as money, ready to show."
},
"rateLabel": {
"type": "string",
"description": "The rate as a phrase, for example \"$2 per 100 engaged customers\"."
},
"currency": {
"type": "string",
"description": "The ISO currency code overage is billed in."
}
},
"required": [
"enabled",
"units",
"bracket",
"unitsLabel",
"blocks",
"blockSize",
"amount",
"amountLabel",
"rateLabel",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "What going over this allowance costs, and what it has cost so far this period. Null on an allowance that is not sold, and on Unlimited, which has no allowance to go over."
}
},
"required": [
"label",
"description",
"used",
"limit",
"usedLabel",
"limitLabel",
"status",
"group",
"grace",
"skipped",
"period",
"overage"
],
"additionalProperties": false,
"description": "Model spend by the AI features that answer on demand (instant answers, the assistant, writing CSS and the AI-writing detector) in the current UTC calendar month, in US cents, against the AI budget. During a trial it is the whole trial's spend against the trial's budget. Review screening, sentiment and summaries are not counted. Past the budget those features pause until the month resets, and nothing is billed."
}
},
"required": [
"monthlySurveys",
"monthlyEngagedUsers",
"monthlyReviewSubmissions",
"monthlyEmails",
"monthlyAutomationRuns",
"monthlyReviewAnswers",
"products",
"customers",
"storedReviews",
"sites",
"apiKeys",
"seats",
"webhooks",
"brandAssetsMB",
"totalStorageMB",
"monthlyAiBudgetCents"
],
"additionalProperties": false,
"description": "The current organization's usage."
}