94 tools, one small door: home costs, fitness, QR, barcodes, Markdown, SEO, recalls.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional full Bearer header for an existing API Tool Calls key; omit for 20 free calls per IP daily.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Format an APA reference and in-text citations from entered source metadata.
Format an APA reference and in-text citations from entered source metadata.
| Argument | Type | Description |
|---|---|---|
| doi | string | |
| url | string | |
| date | string | |
| type* | string | |
| issue | string | |
| pages | string | |
| title* | string | |
| volume | string | |
| authors | array | |
| edition | string | |
| editors | array | |
| journal | string | |
| changing | boolean | |
| platform | string | |
| siteName | string | |
| bookTitle | string | |
| publisher | string | |
| retrieved | string | |
| reportNumber | string | |
| sentenceCase | boolean |
{
"type": "object",
"examples": [
{
"date": "2020",
"type": "book",
"title": "The Example Book",
"authors": [
{
"given": "Jane",
"family": "Smith"
}
],
"publisher": "Example Press"
}
],
"required": [
"type",
"title"
],
"properties": {
"doi": {
"type": "string",
"description": ""
},
"url": {
"type": "string",
"description": ""
},
"date": {
"type": "string",
"description": ""
},
"type": {
"enum": [
"journal",
"book",
"chapter",
"webpage",
"report",
"video"
],
"type": "string"
},
"issue": {
"type": "string",
"description": ""
},
"pages": {
"type": "string",
"description": ""
},
"title": {
"type": "string",
"minLength": 1,
"description": ""
},
"volume": {
"type": "string",
"description": ""
},
"authors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"given": {
"type": "string",
"description": ""
},
"group": {
"type": "string",
"description": ""
},
"family": {
"type": "string",
"description": ""
}
},
"additionalProperties": false
}
},
"edition": {
"type": "string",
"description": ""
},
"editors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"given": {
"type": "string",
"description": ""
},
"group": {
"type": "string",
"description": ""
},
"family": {
"type": "string",
"description": ""
}
},
"additionalProperties": false
}
},
"journal": {
"type": "string",
"description": ""
},
"changing": {
"type": "boolean",
"default": false
},
"platform": {
"type": "string",
"description": ""
},
"siteName": {
"type": "string",
"description": ""
},
"bookTitle": {
"type": "string",
"description": ""
},
"publisher": {
"type": "string",
"description": ""
},
"retrieved": {
"type": "string",
"description": ""
},
"reportNumber": {
"type": "string",
"description": ""
},
"sentenceCase": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}Compute mean, median, modes, range, sum, count, population and sample standard deviation, plus an optional separately weighted average.
| Argument | Type | Description |
|---|---|---|
| values* | array | 1–1000 finite values in a common unit. |
| weights | array | Optional one weight per value; at least one positive weight. Weights affect only weightedAverage. |
{
"type": "object",
"examples": [
{
"values": [
2,
4,
4,
6
],
"weights": [
1,
1,
1,
3
]
}
],
"required": [
"values"
],
"properties": {
"values": {
"type": "array",
"items": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Measured value in the common data unit, between ±10^12."
},
"maxItems": 1000,
"minItems": 1,
"description": "1–1000 finite values in a common unit."
},
"weights": {
"type": "array",
"items": {
"type": "number",
"maximum": 1000000000,
"minimum": 0,
"description": "Nonnegative relative weight, at most 10^9."
},
"maxItems": 1000,
"minItems": 1,
"description": "Optional one weight per value; at least one positive weight. Weights affect only weightedAverage."
}
},
"additionalProperties": false
}Converts a bounded integer string between bases 2 through 36 using exact BigInt arithmetic. Inputs contain 1–4096 digits and must be valid in the source base. Optional bitWidth (1–4096) validates a bit pattern; signed=true requires a width and reads the source value as two’s complement. Unsigned is the default.
| Argument | Type | Description |
|---|---|---|
| value* | string | Digits 0–9/A–Z without prefix, sign or separators; valid in fromBase. |
| signed | boolean | Defaults to false. When true, interpret the fitting source bit pattern as two’s complement. |
| toBase* | integer | |
| bitWidth | integer | Optional bit width; required when signed is true. |
| fromBase* | integer |
{
"type": "object",
"examples": [
{
"value": "255",
"toBase": 16,
"fromBase": 10
},
{
"value": "FF",
"signed": true,
"toBase": 10,
"bitWidth": 8,
"fromBase": 16
}
],
"required": [
"value",
"fromBase",
"toBase"
],
"properties": {
"value": {
"type": "string",
"maxLength": 4096,
"minLength": 1,
"description": "Digits 0–9/A–Z without prefix, sign or separators; valid in fromBase."
},
"signed": {
"type": "boolean",
"description": "Defaults to false. When true, interpret the fitting source bit pattern as two’s complement."
},
"toBase": {
"type": "integer",
"maximum": 36,
"minimum": 2
},
"bitWidth": {
"type": "integer",
"maximum": 4096,
"minimum": 1,
"description": "Optional bit width; required when signed is true."
},
"fromBase": {
"type": "integer",
"maximum": 36,
"minimum": 2
}
},
"additionalProperties": false
}Narrow down why a basement gets wet and who fixes it. Eight observation groups return every rule-matched possible cause, evidence, safe first checks, trade referrals and sources. Hazard stops come first; no probabilities or structural diagnosis. Pure rules, no network or model.
| Argument | Type | Description |
|---|---|---|
| sump | any | Select observed codes, [] for none observed, or 'unknown'. none: No sump; power_lost: Sump power was lost; pit_filling_no_discharge: Pit filling without discharge; running: Sump is running; seepage_no_inflow: Seepage without water flowing into the pit |
| where | any | Select observed codes, [] for none observed, or 'unknown'. wall_crack: Water at a wall crack; wall_floor_joint: Water at the wall-floor joint; floor: Water through the floor; window: Water at a window; overhead_pipe: Water at an overhead pipe or fixture; floor_drain: Water from a floor drain; crack_changing: A crack is changing; wall_bowing: A wall is bowing |
| hazard | any | Select observed codes, [] for none observed, or 'unknown'. standing_water: Standing water; sewage: Sewage or suspected drain backup; electrical: Possible water contact with electrical equipment |
| timing | any | Select observed codes, [] for none observed, or 'unknown'. rain: Wetness after rain; snowmelt: Wetness after snowmelt; dry_weather: Wetness during dry weather; water_use: Wetness during water use; humid_summer: Wetness during humid summer conditions |
| grading | any |
Calculate adult BMI and its band from weight, height and units.
| Argument | Type | Description |
|---|---|---|
| units | string | |
| height* | number | Metres (metric) or total inches (imperial) |
| weight* | number | Kilograms (metric) or pounds (imperial) |
{
"type": "object",
"examples": [
{
"height": 1.75,
"weight": 70
}
],
"required": [
"weight",
"height"
],
"properties": {
"units": {
"enum": [
"metric",
"imperial"
],
"type": "string",
"default": "metric"
},
"height": {
"type": "number",
"description": "Metres (metric) or total inches (imperial)",
"exclusiveMinimum": 0
},
"weight": {
"type": "number",
"description": "Kilograms (metric) or pounds (imperial)",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Sum board-foot lumber volumes from entered dimensions and whole piece counts, with per-row optional prices and a priced subtotal.
| Argument | Type | Description |
|---|---|---|
| rows* | array |
{
"type": "object",
"examples": [
{
"rows": [
{
"width": 6,
"length": 8,
"quantity": 3,
"thickness": 1,
"pricePerBoardFoot": 4
}
]
}
],
"required": [
"rows"
],
"properties": {
"rows": {
"type": "array",
"items": {
"type": "object",
"required": [
"thickness",
"width",
"length"
],
"properties": {
"width": {
"type": "number",
"maximum": 1000000,
"description": "Entered nominal or measured width.",
"exclusiveMinimum": 0
},
"length": {
"type": "number",
"maximum": 1000000,
"description": "Entered length.",
"exclusiveMinimum": 0
},
"quantity": {
"type": "integer",
"maximum": 1000000,
"description": "Whole piece count; default 1.",
"exclusiveMinimum": 0
},
"thickness": {
"type": "number",
"maximum": 1000000,
"description": "Entered nominal or measured thickness.",
"exclusiveMinimum": 0
},
"lengthUnit": {
"enum": [
"ft",
"m"
],
"type": "string",
"description": "Length unit; default ft."
},
"dimensionUnit": {
"enum": [
"in",
"cm"
],
"type": "string",
"description": "Thickness/width unit; default in."
},
"pricePerBoardFoot": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Optional price per board foot in one common entered currency."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
}
},
"additionalProperties": false
}Calculate Navy body fat percentage from sex and tape measurements.
| Argument | Type | Description |
|---|---|---|
| hip | number | Female hip circumference |
| sex* | string | |
| neck* | number | Neck circumference |
| units | string | |
| waist | number | Female waist circumference |
| height* | number | Height |
| abdomen | number | Male abdomen circumference |
{
"type": "object",
"oneOf": [
{
"required": [
"abdomen"
],
"properties": {
"sex": {
"enum": [
"male"
],
"type": "string"
}
}
},
{
"required": [
"waist",
"hip"
],
"properties": {
"sex": {
"enum": [
"female"
],
"type": "string"
}
}
}
],
"examples": [
{
"sex": "male",
"neck": 15,
"height": 70,
"abdomen": 34
}
],
"required": [
"sex",
"height",
"neck"
],
"properties": {
"hip": {
"type": "number",
"description": "Female hip circumference",
"exclusiveMinimum": 0
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string"
},
"neck": {
"type": "number",
"description": "Neck circumference",
"exclusiveMinimum": 0
},
"units": {
"enum": [
"metric",
"imperial"
],
"type": "string",
"default": "imperial"
},
"waist": {
"type": "number",
"description": "Female waist circumference",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"description": "Height",
"exclusiveMinimum": 0
},
"abdomen": {
"type": "number",
"description": "Male abdomen circumference",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Calculate years, months, days and total days between two birth dates. Use explicit Gregorian dates and a stated month-end convention.
| Argument | Type | Description |
|---|---|---|
| date1* | string | Gregorian date YYYY-MM-DD, years 0001 through 9999. |
| date2* | string | Gregorian date YYYY-MM-DD, years 0001 through 9999. |
{
"type": "object",
"examples": [
{
"date1": "2023-01-31",
"date2": "2023-02-28"
}
],
"required": [
"date1",
"date2"
],
"properties": {
"date1": {
"type": "string",
"maxLength": 10,
"minLength": 1,
"description": "Gregorian date YYYY-MM-DD, years 0001 through 9999."
},
"date2": {
"type": "string",
"maxLength": 10,
"minLength": 1,
"description": "Gregorian date YYYY-MM-DD, years 0001 through 9999."
}
},
"additionalProperties": false
}Calculate resting energy and daily calories from adult measurements, formula and activity level.
| Argument | Type | Description |
|---|---|---|
| age* | number | Adult age in years |
| sex* | string | |
| feet | integer | Imperial height in whole feet |
| units | string | |
| height | number | Metric height in centimetres |
| inches | number | Imperial additional inches |
| method | string | |
| weight* | number | kg or lb by units |
| bodyFat | number | Body fat percentage |
| activity | number |
Count Unicode characters, words, lines and UTF-8 bytes from text.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"examples": [
{
"text": "Hello world.\nHi!"
}
],
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": ""
}
},
"additionalProperties": false
}Compute exact combinations nCr or permutations nPr for bounded integer inputs.
| Argument | Type | Description |
|---|---|---|
| n* | integer | Total items n. |
| r* | integer | Selected items r. |
| mode* | string | Counting operation. |
{
"type": "object",
"examples": [
{
"n": 5,
"r": 2,
"mode": "combinations"
}
],
"required": [
"n",
"r",
"mode"
],
"properties": {
"n": {
"type": "integer",
"maximum": 10000,
"minimum": 0,
"description": "Total items n."
},
"r": {
"type": "integer",
"maximum": 10000,
"minimum": 0,
"description": "Selected items r."
},
"mode": {
"enum": [
"combinations",
"permutations"
],
"type": "string",
"description": "Counting operation."
}
},
"additionalProperties": false
}Read a business's own home, about and contact pages and return its name, address, phone, email, founding year and what it does, each with the page it came from. Page text goes to a language model: with no key, a small shared free daily allowance (Google Gemini); with an X-OpenRouter-Key header, the caller's OpenRouter key.
| Argument | Type | Description |
|---|---|---|
| url* | string | The business's public http or https homepage URL. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 8192,
"minLength": 1,
"description": "The business's public http or https homepage URL."
}
},
"additionalProperties": false
}Calculate compound or simple interest, balance, total contributed, interest earned, modeled APY and yearly balances from principal, nominal rate, term and deposit timing.
| Argument | Type | Description |
|---|---|---|
| mode | string | Interest calculation; default compound |
| years* | number | Term in years; a fractional tail earns modeled interest |
| principal* | number | Initial principal (USD; at most two decimal places) |
| annualRate* | number | Nominal annual rate / APR (%) |
| contribution | number | Recurring deposit per complete monthly/yearly period; default 0; simple mode requires 0 (USD; at most two decimal places) |
| compoundingPerYear | integer | Equal compounding periods per year, default 12 |
| contributionTiming | string | Deposit at start or end of each complete period; default end |
| contributionFrequency | string |
Computes slab, footing, cylindrical-column or solid-step concrete volume, waste allowance and whole 40/60/80 lb bag counts from QUIKRETE No. 1101 yields.
| Argument | Type | Description |
|---|---|---|
| run | number | Run per step. |
| rise | number | Rise per step. |
| unit | string | Common length unit for every entered dimension; default ft. |
| count | integer | Identical project count; default 1. |
| shape* | string | Rectangular slab or footing, cylindrical column, or solid equal-rise/run steps. |
| steps | integer | Step count. |
| waste | number | Waste percentage; default 10. |
| width | number | Base width. |
| height | number | Perpendicular height. |
| length | number |
Count signed calendar days or weekdays between dates, or add and subtract calendar units with month-end clamping.
| Argument | Type | Description |
|---|---|---|
| end | string | Gregorian calendar date YYYY-MM-DD, years 0001–9999 |
| date | string | Gregorian calendar date YYYY-MM-DD, years 0001–9999 |
| mode* | string | Operation |
| unit | string | Calendar unit |
| start | string | Gregorian calendar date YYYY-MM-DD, years 0001–9999 |
| amount | integer | Signed whole calendar units; negative subtracts |
| inclusive | boolean | Count both endpoints; default excludes earlier endpoint and includes later endpoint |
| weekdaysOnly | boolean | Count Monday–Friday only; holidays are included |
{
"type": "object",
"oneOf": [
{
"required": [
"start",
"end"
],
"properties": {
"mode": {
"enum": [
"between"
],
"type": "string",
"description": ""
}
}
},
{
"required": [
"date",
"amount",
"unit"
],
"properties": {
"mode": {
"enum": [
"shift"
],
"type": "string",
"description": ""
}
}
}
],
"examples": [
{
"date": "2024-01-31",
"mode": "shift",
"unit": "months",
"amount": 1
}
],
"required": [
"mode"
],
"properties": {
"end": {
"type": "string",
"maxLength": 10,
"minLength": 5,
"description": "Gregorian calendar date YYYY-MM-DD, years 0001–9999"
},
"date": {
"type": "string",
"maxLength": 10,
"minLength": 5,
"description": "Gregorian calendar date YYYY-MM-DD, years 0001–9999"
},
"mode": {
"enum": [
"between",
"shift"
],
"type": "string",
"description": "Operation"
},
"unit": {
"enum": [
"days",
"weeks",
"months",
"years"
],
"type": "string",
"description": "Calendar unit"
},
"start": {
"type": "string",
"maxLength": 10,
"minLength": 5,
"description": "Gregorian calendar date YYYY-MM-DD, years 0001–9999"
},
"amount": {
"type": "integer",
"maximum": 3652058,
"minimum": -3652058,
"description": "Signed whole calendar units; negative subtracts"
},
"inclusive": {
"type": "boolean",
"default": false,
"description": "Count both endpoints; default excludes earlier endpoint and includes later endpoint"
},
"weekdaysOnly": {
"type": "boolean",
"default": false,
"description": "Count Monday–Friday only; holidays are included"
}
},
"additionalProperties": false
}Arithmetic on entered numbers only: sum up to 100 entered monthly debt payments and divide by positive gross monthly income. Shows the sum and ratio percentage, rounded half up to two decimal places, with no comparison bands or classification.
| Argument | Type | Description |
|---|---|---|
| monthlyDebts* | array | Entered monthly payments, not debt balances. Empty array means zero payments. The sum must be at most USD 100000000. |
| grossMonthlyIncome* | number | Gross monthly income before deductions in USD, at most two decimal places. |
{
"type": "object",
"examples": [
{
"monthlyDebts": [
1000,
250,
150
],
"grossMonthlyIncome": 5000
},
{
"monthlyDebts": [
0.01
],
"grossMonthlyIncome": 8
}
],
"required": [
"monthlyDebts",
"grossMonthlyIncome"
],
"properties": {
"monthlyDebts": {
"type": "array",
"items": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Monthly payment in USD, at most two decimal places."
},
"maxItems": 100,
"minItems": 0,
"description": "Entered monthly payments, not debt balances. Empty array means zero payments. The sum must be at most USD 100000000."
},
"grossMonthlyIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0.01,
"description": "Gross monthly income before deductions in USD, at most two decimal places."
}
},
"additionalProperties": false
}Converts a terminating or explicitly repeating decimal to an exact simplified fraction, mixed number and decimal display.
| Argument | Type | Description |
|---|---|---|
| decimal* | string | Decimal: 0.125, 0.(3), 0.1(6), or combining bars on repeating digits. With ... every entered fractional digit repeats. |
{
"type": "object",
"examples": [
{
"decimal": "0.1(6)"
}
],
"required": [
"decimal"
],
"properties": {
"decimal": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Decimal: 0.125, 0.(3), 0.1(6), or combining bars on repeating digits. With ... every entered fractional digit repeats."
}
},
"additionalProperties": false
}Calculate a discounted price, ordered stacked percentage discounts, savings, effective discount and total with an entered sales tax percentage after discounts.
| Argument | Type | Description |
|---|---|---|
| price* | number | Original price (USD; at most two decimal places) |
| discounts* | array | Percent-off values applied to the remaining price in order; final price rounds to cents |
| salesTaxPercent | number | Entered tax percentage applied after discounts to the cent-rounded price; default 0 |
{
"type": "object",
"examples": [
{
"price": 100,
"discounts": [
20,
10
],
"salesTaxPercent": 5
}
],
"required": [
"price",
"discounts"
],
"properties": {
"price": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Original price (USD; at most two decimal places)"
},
"discounts": {
"type": "array",
"items": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percent off"
},
"maxItems": 20,
"minItems": 1,
"description": "Percent-off values applied to the remaining price in order; final price rounds to cents"
},
"salesTaxPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Entered tax percentage applied after discounts to the cent-rounded price; default 0"
}
},
"additionalProperties": false
}Estimate driveway replacement costs for a given size. Returns national installed ranges with no published typical figure. One call compares all ten surfaces. Base, drainage and permits are not priced; removal is priced only for an existing concrete driveway. Includes unpriced checks, two separate national reference cards and dated sources. Pure arithmetic, no network or model.
| Argument | Type | Description |
|---|---|---|
| surface* | string | Chosen installed surface; one call compares all ten surfaces. |
| existing | string | Existing driveway surface. Removal is priced only for existing concrete. |
| sections* | array | 1–10 sections, each 1–10,000 sq ft; total 20–10,000 sq ft. Use length_ft + width_ft OR area_sqft per section. |
{
"type": "object",
"examples": [
{
"surface": "concrete_standard",
"sections": [
{
"width_ft": 24,
"length_ft": 12
}
]
}
],
"required": [
"sections",
"surface"
],
"properties": {
"surface": {
"enum": [
"concrete_standard",
"concrete_decorative",
"concrete_stamped",
"concrete_custom",
"asphalt_standard",
"asphalt_recycled",
"asphalt_porous",
"pavers_standard",
"pavers_brick",
"pavers_cobblestone"
],
"type": "string",
"description": "Chosen installed surface; one call compares all ten surfaces."
},
"existing": {
"enum": [
"none",
"concrete",
"other"
],
"type": "string",
"default": "none",
"description": "Existing driveway surface. Removal is priced only for existing concrete."
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 40,
"description": "Optional section name, at most 40 characters."
},
"width_ft": {
"type": "number",
"description": "Positive width in feet; use with length_ft OR area_sqft.",
"exclusiveMinimum": 0
},
"area_sqft": {
"type": "number",
"maximum": 10000,
"minimum": 1,
"description": "Area in square feet instead of both dimensions."
},
"length_ft": {
"type": "number",
"description": "Positive length in feet; use with width_ft OR area_sqft.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "1–10 sections, each 1–10,000 sq ft; total 20–10,000 sq ft. Use length_ft + width_ft OR area_sqft per section."
}
},
"additionalProperties": false
}Convert between Unix timestamps and dates. Converts a Unix timestamp (seconds or milliseconds, detected by size) or an ISO 8601 date string to epoch seconds, epoch milliseconds, an ISO UTC time, the same moment in an optional IANA time zone, and the weekday there. A date string with no offset is read in the given zone, UTC by default. Pure standard-library rules, no network, model or clock.
| Argument | Type | Description |
|---|---|---|
| tz | string | Optional IANA time zone name such as America/New_York. Default UTC. Used for iso_in_tz and weekday, and as the zone of a date string that has no offset of its own. |
| unit | string | Optional. Force a numeric value to be read as seconds (s) or milliseconds (ms) instead of auto-detecting. |
| value* | any | Required. A Unix timestamp (number or digits; seconds or milliseconds are detected by size) or an ISO 8601 date or date-time string such as 2024-03-10 or 2024-03-10T14:30:00-05:00. |
{
"type": "object",
"examples": [
{
"tz": "America/New_York",
"value": 1710000000
},
{
"tz": "America/New_York",
"value": "2024-03-10T02:30:00"
}
],
"required": [
"value"
],
"properties": {
"tz": {
"type": "string",
"maxLength": 64,
"description": "Optional IANA time zone name such as America/New_York. Default UTC. Used for iso_in_tz and weekday, and as the zone of a date string that has no offset of its own."
},
"unit": {
"enum": [
"s",
"ms"
],
"type": "string",
"description": "Optional. Force a numeric value to be read as seconds (s) or milliseconds (ms) instead of auto-detecting."
},
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 64
}
],
"description": "Required. A Unix timestamp (number or digits; seconds or milliseconds are detected by size) or an ISO 8601 date or date-time string such as 2024-03-10 or 2024-03-10T14:30:00-05:00."
}
},
"additionalProperties": false
}Work out the circuit a home EV charger needs, panel triage, utility install cost references and federal credit rules. Returns safety first, the exact 125% minimum breaker calculation, panel triage, unpriced extras and dated federal 30C rules. Reference cards are utility and DOE program figures, not a price for this home. A licensed electrician and permit are needed; confirm local requirements and inspection. Pure rules and Decimal, no network, model or clock. Web and MCP share the free daily allowance.
| Argument | Type | Description |
|---|---|---|
| level | string | Charging level; omit when unknown. |
| extras | array | |
| run_feet | number | Estimated routed panel-to-charger length, not straight-line distance. |
| panel_amps | integer | Panel/service rating, echoed only; a panel label alone cannot decide an upgrade or price the job. |
| spare_space | string | Compatible breaker space for a new circuit. |
| charger_amps | number | Rated or installer-set maximum charging current in amps. |
| installed_on | string | Placed-in-service date YYYY-MM-DD; omitted follows the after-2026-06-30 rule. |
List the readable text inside any file, given as base64, at most 2,000,000 bytes: runs of ASCII and UTF-16LE characters (UTF-8 on request) at least min_length long, with byte offsets. Labels each string by shape as a URL, email, IP address, file path, key or token, or other, and counts every kind across the whole file; the list can be narrowed by kind or text and holds up to 2,000 strings in file order. Pure standard library, no network or model.
| Argument | Type | Description |
|---|---|---|
| file* | string | Required. Any file, as base64 or a base64 data URL; at most 2,000,000 bytes once decoded. |
| kinds | array | Only list strings of these kinds (url, email, ip, path, key, other). Counts always cover all. |
| limit | integer | Most strings to list, in file order. Default and maximum 2,000. |
| contains | string | Only list strings containing this text (any case). |
| filename | string | Optional file name, used only in the result text. |
| encodings | array | Which text to look for: ascii, utf-16le and utf-8. Default ascii and utf-16le; utf-8 also reads accented and other non-English letters, and finds more false text in random bytes. |
| min_length |
Estimate fence and gate costs from net non-gate length and gate widths. Returns calculated low, median bid and high bounds from exact City of Sunrise FL 2020 municipal bid rows, their scope and sources, and local permit guidance. Historical public bid observations are not current homeowner prices.
| Argument | Type | Description |
|---|---|---|
| gate_type | string | Exact documented gate material and height for all entered widths; local_quote for unsupported gates. |
| fence_type* | string | Exact documented material and height row; no interpolation. |
| net_length_ft* | number | Net non-gate fence length in feet. Gate openings already excluded; do not subtract them again. |
| gate_widths_ft | array | Each gate width in feet, not a gate count. GET: comma-separated widths; omitted means no gates. |
{
"type": "object",
"examples": [
{
"gate_type": "wood_6",
"fence_type": "wood_6",
"net_length_ft": 100,
"gate_widths_ft": [
4
]
}
],
"required": [
"net_length_ft",
"fence_type"
],
"properties": {
"gate_type": {
"enum": [
"chain_link_6",
"wood_6",
"pvc_6",
"aluminum_4",
"local_quote"
],
"type": "string",
"description": "Exact documented gate material and height for all entered widths; local_quote for unsupported gates."
},
"fence_type": {
"enum": [
"chain_link_4",
"chain_link_6",
"wood_6",
"pvc_4",
"pvc_6",
"aluminum_4"
],
"type": "string",
"description": "Exact documented material and height row; no interpolation."
},
"net_length_ft": {
"type": "number",
"maximum": 1000000000,
"minimum": 0,
"description": "Net non-gate fence length in feet. Gate openings already excluded; do not subtract them again."
},
"gate_widths_ft": {
"type": "array",
"items": {
"type": "number",
"maximum": 1000000000,
"exclusiveMinimum": 0
},
"description": "Each gate width in feet, not a gate count. GET: comma-separated widths; omitted means no gates."
}
},
"additionalProperties": false
}Get a full Data Finder plan for up to three sources: fit, cost at your monthly volume, resale terms with recorded clause, URL and read date, and build-it-yourself guidance. No live source lookup. Defaults: volume 0, US, no resale.
| Argument | Type | Description |
|---|---|---|
| geo | string | |
| resell | string | |
| volume | integer | |
| use_case* | string | Describe the data you need and what you want to build. |
{
"type": "object",
"required": [
"use_case"
],
"properties": {
"geo": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"resell": {
"enum": [
"yes",
"no"
],
"type": "string"
},
"volume": {
"type": "integer",
"maximum": 1000000000000000,
"minimum": 0
},
"use_case": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Describe the data you need and what you want to build."
}
}
}Estimate installed flooring costs for given room sizes. Returns national installed ranges (labor and materials), no labor-only figure, and no published typical figure. One call compares all eight materials using net room area, with hardwood order guidance, an unpriced prep checklist, a separate historical Census reference card and dated sources. Pure arithmetic, no network or model.
| Argument | Type | Description |
|---|---|---|
| rooms* | array | 1–20 rooms, each 1–5,000 sq ft; total 10–10,000 sq ft. Use length_ft + width_ft OR area_sqft per room. |
| layout | string | Only changes the hardwood order amount: standard 5%, diagonal 10%. Installed estimate always uses net area. |
| material* | string | Chosen installed material; one call also compares all eight materials. |
{
"type": "object",
"examples": [
{
"rooms": [
{
"width_ft": 15,
"length_ft": 12
}
],
"material": "carpet"
}
],
"required": [
"rooms",
"material"
],
"properties": {
"rooms": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 40,
"description": "Optional room name, at most 40 characters."
},
"width_ft": {
"type": "number",
"description": "Positive width in feet; use with length_ft OR area_sqft.",
"exclusiveMinimum": 0
},
"area_sqft": {
"type": "number",
"maximum": 5000,
"minimum": 1,
"description": "Area in square feet instead of both dimensions."
},
"length_ft": {
"type": "number",
"description": "Positive length in feet; use with width_ft OR area_sqft.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "1–20 rooms, each 1–5,000 sq ft; total 10–10,000 sq ft. Use length_ft + width_ft OR area_sqft per room."
},
"layout": {
"enum": [
"standard",
"diagonal"
],
"type": "string",
"default": "standard",
"description": "Only changes the hardwood order amount: standard 5%, diagonal 10%. Installed estimate always uses net area."
},
"material": {
"enum": [
"carpet",
"laminate",
"vinyl_sheet",
"vinyl_plank",
"hardwood_solid",
"hardwood_engineered",
"tile_ceramic",
"tile_porcelain"
],
"type": "string",
"description": "Chosen installed material; one call also compares all eight materials."
}
},
"additionalProperties": false
}Convert text to a selected Unicode letter style.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| style* | string |
{
"type": "object",
"examples": [
{
"text": "Hello 123!",
"style": "bold"
}
],
"required": [
"text",
"style"
],
"properties": {
"text": {
"type": "string",
"description": ""
},
"style": {
"enum": [
"bold",
"italic",
"bold-italic",
"script",
"bold-script",
"fraktur",
"double-struck",
"monospace",
"sans-bold",
"circled",
"negative-circled",
"squared",
"small-caps",
"upside-down",
"strikethrough",
"underline"
],
"type": "string"
}
},
"additionalProperties": false
}Computes exact addition, subtraction, multiplication or division of fractions and mixed numbers, with simplified, mixed and decimal forms.
| Argument | Type | Description |
|---|---|---|
| a* | string | First integer, fraction, decimal or signed mixed number. |
| b* | string | Second integer, fraction, decimal or signed mixed number. |
| operation | string | Arithmetic operation; default +. |
{
"type": "object",
"examples": [
{
"a": "1 1/2",
"b": "2/3",
"operation": "+"
}
],
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "First integer, fraction, decimal or signed mixed number."
},
"b": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Second integer, fraction, decimal or signed mixed number."
},
"operation": {
"enum": [
"+",
"-",
"*",
"/"
],
"type": "string",
"description": "Arithmetic operation; default +."
}
},
"additionalProperties": false
}Calculate trip fuel quantity and cost from entered distance, fuel economy, fuel price and currency; supports US mpg, L/100 km and km/L.
| Argument | Type | Description |
|---|---|---|
| price* | number | Entered price per US liquid gallon for us_mpg, per liter otherwise. |
| units* | string | Unit system; Imperial mpg not accepted. |
| economy* | number | Positive US mpg, L/100 km or km/L as selected. |
| currency* | string | Entered three-letter currency label (letters only), shared by all prices; no exchange rates. |
| distance* | number | Nonnegative miles for us_mpg; kilometers otherwise. |
{
"type": "object",
"examples": [
{
"price": 4,
"units": "us_mpg",
"economy": 30,
"currency": "USD",
"distance": 300
}
],
"required": [
"distance",
"economy",
"price",
"units",
"currency"
],
"properties": {
"price": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Entered price per US liquid gallon for us_mpg, per liter otherwise."
},
"units": {
"enum": [
"us_mpg",
"l_per_100km",
"km_per_l"
],
"type": "string",
"description": "Unit system; Imperial mpg not accepted."
},
"economy": {
"type": "number",
"maximum": 1000000000000,
"description": "Positive US mpg, L/100 km or km/L as selected.",
"exclusiveMinimum": 0
},
"currency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "Entered three-letter currency label (letters only), shared by all prices; no exchange rates."
},
"distance": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Nonnegative miles for us_mpg; kilometers otherwise."
}
},
"additionalProperties": false
}Show funeral consumer rights, national burial and cremation reference costs, and add up a funeral home's itemized prices. Returns FTC Funeral Rule rights first. Reference figures are NFDA 2023 national medians from an industry member survey, not local prices. Bundle cards apply only to services with viewing; direct services have no citable national bundle figure. The worksheet adds up the family's own itemized prices and keeps missing prices visible. Pure rules and Decimal money, no network or model. Web and MCP share the free daily allowance.
| Argument | Type | Description |
|---|---|---|
| vault | string | Burial only; omit when unknown. |
| prices | object | Your own itemized prices in dollars. Omit an unknown price; 0 means not buying or included elsewhere. |
| service* | string | Direct means immediate burial or direct cremation, without viewing. |
| disposition* | string |
{
"type": "object",
"examples": [
{
"prices": {
"crematory_fee": 350,
"basic_services": 1200
},
"service": "direct",
"disposition": "cremation"
}
],
"required": [
"disposition",
"service"
],
"properties": {
"vault": {
"enum": [
"yes",
"no"
],
"type": "string",
"description": "Burial only; omit when unknown."
},
"prices": {
"type": "object",
"properties": {
"urn": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Urn; requires cremation."
},
"plot": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Cemetery plot or interment space; always applies."
},
"taxes": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Taxes; always applies."
},
"vault": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Outer burial container (vault or liner); requires burial with vault yes or unknown."
},
"casket": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Casket (bought here or elsewhere); requires burial or cremation with service viewing_ceremony (purchase or rental)."
},
"marker": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Marker or monument; always applies."
},
"transfer": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Transfer of remains to the funeral home; always applies."
},
"vehicles": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Hearse and other vehicles; requires burial or service viewing_ceremony."
},
"cash_advances": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Cash advances (death certificates, obituary notices, flowers, clergy, and similar); always applies."
},
"crematory_fee": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Crematory fee; requires cremation."
},
"basic_services": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Funeral director and staff basic services; always applies."
},
"opening_closing": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Opening and closing the grave or niche; always applies."
},
"viewing_facilities": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Facilities and staff for viewing; requires service viewing_ceremony."
},
"ceremony_facilities": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Facilities and staff for the ceremony; requires service viewing_ceremony."
},
"alternative_container": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Alternative container; requires cremation."
},
"embalming_preparation": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Embalming or other preparation; requires service viewing_ceremony."
}
},
"description": "Your own itemized prices in dollars. Omit an unknown price; 0 means not buying or included elsewhere.",
"additionalProperties": false
},
"service": {
"enum": [
"viewing_ceremony",
"direct"
],
"type": "string",
"description": "Direct means immediate burial or direct cremation, without viewing."
},
"disposition": {
"enum": [
"burial",
"cremation"
],
"type": "string"
}
},
"additionalProperties": false
}Estimate furnace manufacture age from a confirmed Lennox legacy, Rheem or Nordyne serial format or a maker-confirmed date. Calculates age at your selected as-of date, keeps NAHB and InterNACHI life guidance separate, applies EPA age guidance and the DOE repair comparison to your own quotes, and returns separately labeled historical and modeled replacement references.
| Argument | Type | Description |
|---|---|---|
| as_of* | string | Required real YYYY-MM-DD date for the age calculation. |
| brand | string | Lennox, Rheem or Nordyne; other brands require maker/dealer confirmation. |
| model | string | Model from the rating plate; retained for identification. |
| serial | string | Rating-plate serial, supported nomenclature only. |
| century | integer | Maker/dealer-confirmed century; never inferred from age. |
| repair_quote | number | Your own comparable repair quote in dollars; pair with replacement_quote. |
| format_confirmed | boolean | True only after confirming this model/era uses the documented serial format. |
| manufacture_date |
Compute the greatest common factor of 2–20 integers with exact BigInt arithmetic and complete prime factorizations.
| Argument | Type | Description |
|---|---|---|
| integers* | array | 2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored. |
{
"type": "object",
"examples": [
{
"integers": [
"12",
"18",
"24"
]
}
],
"required": [
"integers"
],
"properties": {
"integers": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[+-]?(?:[0-9]{1,12}|1000000000000)$",
"maxLength": 14,
"minLength": 1,
"description": "Signed decimal integer from -1000000000000 to 1000000000000 (±10^12), no separators or exponents. Parsed as exact BigInt."
},
"maxItems": 20,
"minItems": 2,
"description": "2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored."
}
},
"additionalProperties": false
}Read public YouTube captions as timestamped plain text. Captions only, no video or audio.
| Argument | Type | Description |
|---|---|---|
| url* | string | YouTube video URL or an 11-character video id. |
| lang | string | Preferred caption language; falls back to English, then any available track. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "YouTube video URL or an 11-character video id."
},
"lang": {
"type": "string",
"default": "en",
"description": "Preferred caption language; falls back to English, then any available track."
}
}
}Computes credit-weighted GPA with A=4, B=3, C=2, D=1, F=0 and optional common honors +0.5/AP +1.0 bonuses for passing grades; school conventions vary.
| Argument | Type | Description |
|---|---|---|
| courses* | array | |
| weighted | boolean | Apply the stated weighting convention; default false. |
{
"type": "object",
"examples": [
{
"courses": [
{
"grade": "A",
"level": "ap",
"credits": 3
},
{
"grade": "B",
"credits": 4
}
],
"weighted": true
}
],
"required": [
"courses"
],
"properties": {
"courses": {
"type": "array",
"items": {
"type": "object",
"required": [
"grade",
"credits"
],
"properties": {
"grade": {
"enum": [
"A+",
"A",
"A-",
"B+",
"B",
"B-",
"C+",
"C",
"C-",
"D+",
"D",
"D-",
"F"
],
"type": "string",
"description": "Letter grade on a common 4.0 plus/minus scale: A+/A=4.0, A-=3.7, B+=3.3, B=3.0, B-=2.7, C+=2.3, C=2.0, C-=1.7, D+=1.3, D=1.0, D-=0.7, F=0.0; schools vary."
},
"level": {
"enum": [
"regular",
"honors",
"ap"
],
"type": "string",
"description": "Course level; default regular."
},
"credits": {
"type": "number",
"maximum": 1000000000000,
"description": "Attempted credits.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
},
"weighted": {
"type": "boolean",
"description": "Apply the stated weighting convention; default false."
}
},
"additionalProperties": false
}Computes a weighted category average and optionally the final-exam percentage needed to reach a target course grade.
| Argument | Type | Description |
|---|---|---|
| target | number | Target course percentage. |
| categories* | array | |
| finalWeight | number | Final exam percentage of the full course. |
{
"type": "object",
"anyOf": [
{
"required": [
"target",
"finalWeight"
]
},
{
"not": {
"anyOf": [
{
"required": [
"target"
]
},
{
"required": [
"finalWeight"
]
}
]
}
}
],
"examples": [
{
"target": 90,
"categories": [
{
"score": 80,
"weight": 40
},
{
"score": 90,
"weight": 60
}
],
"finalWeight": 20
}
],
"required": [
"categories"
],
"properties": {
"target": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Target course percentage."
},
"categories": {
"type": "array",
"items": {
"type": "object",
"required": [
"score",
"weight"
],
"properties": {
"score": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Category score percentage."
},
"weight": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Relative category weight."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
},
"finalWeight": {
"type": "number",
"maximum": 100,
"description": "Final exam percentage of the full course.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Calculate gravel layer volume and US short tons from rectangle dimensions, circle diameter or total area, depth in inches and editable bulk density.
| Argument | Type | Description |
|---|---|---|
| area | number | Total bed area in square feet or square metres |
| unit | string | Dimension unit; area uses its square; default ft |
| shape* | string | Bed shape or already measured total area |
| width | number | Rectangle width in selected unit |
| length | number | Rectangle length in selected unit |
| diameter | number | Circle diameter across the bed in selected unit |
| depthInches* | number | Layer depth in inches |
| densityTonsPerCubicYard | number | Bulk density in US short tons (2000 lb) per cubic yard; default 1.4 |
{
"type": "object",
"oneOf": [
{
"required": [
"length",
"width"
],
"properties": {
"shape": {
"enum": [
"rectangle"
],
"type": "string"
}
}
},
{
"required": [
"diameter"
],
"properties": {
"shape": {
"enum": [
"circle"
],
"type": "string"
}
}
},
{
"required": [
"area"
],
"properties": {
"shape": {
"enum": [
"area"
],
"type": "string"
}
}
}
],
"examples": [
{
"shape": "rectangle",
"width": 8,
"length": 10,
"depthInches": 3,
"densityTonsPerCubicYard": 1.4
}
],
"required": [
"shape",
"depthInches"
],
"properties": {
"area": {
"type": "number",
"maximum": 1000000000000,
"description": "Total bed area in square feet or square metres",
"exclusiveMinimum": 0
},
"unit": {
"enum": [
"ft",
"m"
],
"type": "string",
"description": "Dimension unit; area uses its square; default ft"
},
"shape": {
"enum": [
"rectangle",
"circle",
"area"
],
"type": "string",
"description": "Bed shape or already measured total area"
},
"width": {
"type": "number",
"maximum": 1000000,
"description": "Rectangle width in selected unit",
"exclusiveMinimum": 0
},
"length": {
"type": "number",
"maximum": 1000000,
"description": "Rectangle length in selected unit",
"exclusiveMinimum": 0
},
"diameter": {
"type": "number",
"maximum": 1000000,
"description": "Circle diameter across the bed in selected unit",
"exclusiveMinimum": 0
},
"depthInches": {
"type": "number",
"maximum": 1200,
"description": "Layer depth in inches",
"exclusiveMinimum": 0
},
"densityTonsPerCubicYard": {
"type": "number",
"maximum": 10,
"description": "Bulk density in US short tons (2000 lb) per cubic yard; default 1.4",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Turn a HAR file (a browser network export) into an OpenAPI 3.1 description of the API calls in it. Cleans the file first: drops cookies and login headers and replaces secret-named headers, query parameters, form fields and JSON keys with REDACTED. Groups calls by host, method and path template (numeric ids, UUIDs and long hex or base64 path parts become parameters), and infers query parameters, request body schemas and response schemas per status from the samples. Sign-in methods are named, never copied; example values are off unless asked for. Leaves out page loads, static files and preflights unless asked. Returns the OpenAPI document as JSON and the endpoint count. Pure standard library, no network, model or clock.
| Argument | Type | Description |
|---|---|---|
| har* | string | Required. The HAR file's JSON text (a browser network export), at most 2,000,000 characters. |
| host | string | Only describe calls to this host, such as api.example.com. |
| examples | boolean | Add example values from the cleaned file to parameters and bodies. Default false. |
| include_static | boolean | Also describe page loads, images, scripts, styles, fonts, media and CORS preflights. Default false. |
{
"type": "object",
"required": [
"har"
],
"properties": {
"har": {
"type": "string",
"examples": [
"{\"log\":{\"entries\":[{\"request\":{\"method\":\"GET\",\"url\":\"https://api.example.com/v1/items/42\"},\"response\":{\"status\":200}}]}}"
],
"maxLength": 2000000,
"minLength": 1,
"description": "Required. The HAR file's JSON text (a browser network export), at most 2,000,000 characters."
},
"host": {
"type": "string",
"maxLength": 255,
"description": "Only describe calls to this host, such as api.example.com."
},
"examples": {
"type": "boolean",
"default": false,
"description": "Add example values from the cleaned file to parameters and bodies. Default false."
},
"include_static": {
"type": "boolean",
"default": false,
"description": "Also describe page loads, images, scripts, styles, fonts, media and CORS preflights. Default false."
}
},
"additionalProperties": false
}Calculate adult maximum heart rate and moderate and vigorous target zones from age and optional measured rates.
| Argument | Type | Description |
|---|---|---|
| age* | number | Adult age in years |
| method | string | |
| resting | number | Resting bpm; must be below maximum |
| measuredMax | number | Measured maximum bpm |
{
"type": "object",
"examples": [
{
"age": 30,
"resting": 60
}
],
"required": [
"age"
],
"properties": {
"age": {
"type": "number",
"maximum": 120,
"minimum": 18,
"description": "Adult age in years"
},
"method": {
"enum": [
"220",
"tanaka"
],
"type": "string",
"default": "220"
},
"resting": {
"type": "number",
"description": "Resting bpm; must be below maximum",
"exclusiveMinimum": 0
},
"measuredMax": {
"type": "number",
"maximum": 300,
"description": "Measured maximum bpm",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Calculate worked minutes, decimal hours and H:MM from clock times, an overnight flag and an unpaid break.
| Argument | Type | Description |
|---|---|---|
| end* | string | End clock time HH:MM (24-hour) |
| start* | string | Start clock time HH:MM (24-hour) |
| overnight | boolean | End is on the next day; shift at most 24 hours |
| breakMinutes | integer | Unpaid break in whole minutes |
{
"type": "object",
"examples": [
{
"end": "06:00",
"start": "22:00",
"overnight": true,
"breakMinutes": 30
}
],
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"maxLength": 10,
"minLength": 5,
"description": "End clock time HH:MM (24-hour)"
},
"start": {
"type": "string",
"maxLength": 10,
"minLength": 5,
"description": "Start clock time HH:MM (24-hour)"
},
"overnight": {
"type": "boolean",
"default": false,
"description": "End is on the next day; shift at most 24 hours"
},
"breakMinutes": {
"type": "integer",
"maximum": 1440,
"minimum": 0,
"description": "Unpaid break in whole minutes"
}
},
"additionalProperties": false
}Convert US dollars between published BLS CPI-U months or annual averages since 1913. Reports equivalent value, cumulative inflation, average annual rate and yearly table. Omit both months for annual mode; unavailable periods are rejected. Arithmetic on CPI, not financial advice.
| Argument | Type | Description |
|---|---|---|
| amount* | number | |
| endYear* | integer | |
| endMonth | integer | |
| startYear* | integer | |
| startMonth | integer |
{
"type": "object",
"oneOf": [
{
"required": [
"startMonth",
"endMonth"
]
},
{
"not": {
"anyOf": [
{
"required": [
"startMonth"
]
},
{
"required": [
"endMonth"
]
}
]
}
}
],
"examples": [
{
"amount": 100,
"endYear": 2020,
"endMonth": 1,
"startYear": 2000,
"startMonth": 1
}
],
"required": [
"amount",
"startYear",
"endYear"
],
"properties": {
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0
},
"endYear": {
"type": "integer",
"maximum": 9999,
"minimum": 1913
},
"endMonth": {
"type": "integer",
"maximum": 12,
"minimum": 1
},
"startYear": {
"type": "integer",
"maximum": 9999,
"minimum": 1913
},
"startMonth": {
"type": "integer",
"maximum": 12,
"minimum": 1
}
},
"additionalProperties": false
}Read an Android app file (.apk), given as base64, at most 2,000,000 bytes. Returns the package name, version, minimum, target and compile SDK; permissions grouped by what they reach, each with a plain meaning and whether Android asks the person first; activities, services, receivers and providers with whether each is exported and why; web addresses and hostnames found in the code's string tables, grouped by host; and the signer certificate (subject, issuer, validity, key, SHA-256) from the v1 signature or the v2/v3 signing block, read but never verified. Runs nothing. Pure standard library, no network or model.
| Argument | Type | Description |
|---|---|---|
| file* | string | Required. The Android app file (.apk), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded. |
| filename | string | Optional file name, used only in the result text. |
{
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"examples": [
"UEsDBBQAAAAIAAAAIVzqCJ9EVwEAAAwDAAATAAAAQW5kcm9pZE1hbmlmZXN0LnhtbG2STU4CQRCFXzPADD9GFixM5AQmzujOuJaFCWGhxj3RUQkKE0Dj0hN5AheexbV3wK+bHsCB7rzp6ldVr6q7J1CkZiAZdfRlpKbWo7dhW/4IXIBb8Am+wQ/4tQHktkEflDXWQC9KofdYh+yvda8RmammmsFM4KSG3v4x/VVeiDUmZwo/ZLXVnzRnZjpXwpzpDiYlfoAdF+JjvBN8CXxG5QRPSlyypRviHxA94vvoau/73Jjdu+so0zN27LQyIgKdsjvBilz9MVoPTn/uuFcsuzsG9tzS4VZ/mTu5vZ3Z6vyxLrmDG3V1xdrFst2s1XblSB8mUtt1ZUyzZEwHyLR0AFcCCwZPzLuwh++52CVvR4TdZpb8W1uuwlp1Z1FQzXPdbS250GudeV+uVfNaxmuVl7+GfJ2W7SnwvVUKebledYNv7NCzo+77qG/ohYW8nI8KZzWerxXu5g9QSwECFAAUAAAACAAAACFc6gifRFcBAAAMAwAAEwAAAAAAAAAAAAAAAAAAAAAAQW5kcm9pZE1hbmlmZXN0LnhtbFBLBQYAAAAAAQABAEEAAACIAQAAAAA="
],
"maxLength": 2700000,
"minLength": 1,
"description": "Required. The Android app file (.apk), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded."
},
"filename": {
"type": "string",
"maxLength": 255,
"description": "Optional file name, used only in the result text."
}
},
"additionalProperties": false
}Read the structure of a program file: Windows PE (EXE or DLL, 32 or 64-bit), Linux ELF or Mac Mach-O (thin or universal), given as base64, at most 2,000,000 bytes. Returns the format, type, architecture, bitness and entry point; sections with file offset, size, address, access flags and entropy (bits per byte); imports per library and exports; PE resources, whether a PE certificate table or Mach-O code signature is present (never checked) and whether the file is a .NET assembly. Reads headers and tables only; runs nothing. Pure standard library, no network or model.
| Argument | Type | Description |
|---|---|---|
| arch | string | For a Mac universal binary: the architecture to describe, such as ARM64 or x86-64. Default: the first one. |
| file* | string | Required. The program file (Windows EXE or DLL, Linux ELF, or Mac Mach-O), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded. |
| filename | string | Optional file name, used only in the result text. |
{
"type": "object",
"required": [
"file"
],
"properties": {
"arch": {
"type": "string",
"maxLength": 40,
"description": "For a Mac universal binary: the architecture to describe, such as ARM64 or x86-64. Default: the first one."
},
"file": {
"type": "string",
"examples": [
"f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAAAAEAAAAAAAA=="
],
"maxLength": 2700000,
"minLength": 1,
"description": "Required. The program file (Windows EXE or DLL, Linux ELF, or Mac Mach-O), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded."
},
"filename": {
"type": "string",
"maxLength": 255,
"description": "Optional file name, used only in the result text."
}
},
"additionalProperties": false
}Format, minify or validate JSON text while preserving number tokens.
| Argument | Type | Description |
|---|---|---|
| sort | boolean | |
| text* | string | |
| action | string | |
| indent | string |
{
"type": "object",
"examples": [
{
"sort": true,
"text": "{\"b\":2,\"a\":1}"
}
],
"required": [
"text"
],
"properties": {
"sort": {
"type": "boolean",
"default": false
},
"text": {
"type": "string",
"description": ""
},
"action": {
"enum": [
"format",
"minify",
"validate"
],
"type": "string",
"default": "format"
},
"indent": {
"enum": [
"2",
"4",
"tab"
],
"type": "string",
"default": "2"
}
},
"additionalProperties": false
}Convert explicit UTC civil timestamps to Julian day and back using the proleptic Gregorian calendar. See the noon epoch, time-scale convention and ordinal day.
| Argument | Type | Description |
|---|---|---|
| value* | string | number | UTC timestamp string, or a numeric JD for reverse conversion. |
| direction | string | Conversion direction; default to-julian. |
| convention | string | UTC civil approximation to UT1; no leap seconds. |
{
"type": "object",
"anyOf": [
{
"properties": {
"value": {
"type": "string",
"maxLength": 24,
"minLength": 1,
"description": "Explicit UTC civil timestamp."
},
"direction": {
"enum": [
"to-julian"
],
"type": "string",
"description": "Timestamp to JD"
}
}
},
{
"required": [
"direction"
],
"properties": {
"value": {
"type": "number",
"maximum": 5373484.5,
"minimum": 1721425.5,
"description": "Julian day within years 0001–9999; upper boundary rejected by engine."
},
"direction": {
"enum": [
"from-julian"
],
"type": "string",
"description": "JD to timestamp"
}
}
}
],
"examples": [
{
"value": "1970-01-01T00:00:00Z",
"direction": "to-julian",
"convention": "proleptic-gregorian-utc"
}
],
"required": [
"value"
],
"properties": {
"value": {
"type": [
"string",
"number"
],
"description": "UTC timestamp string, or a numeric JD for reverse conversion."
},
"direction": {
"enum": [
"to-julian",
"from-julian"
],
"type": "string",
"description": "Conversion direction; default to-julian."
},
"convention": {
"enum": [
"proleptic-gregorian-utc"
],
"type": "string",
"description": "UTC civil approximation to UT1; no leap seconds."
}
},
"additionalProperties": false
}Estimate a kitchen remodel budget from kitchen size and finishes. Size and scope return a national planning estimate range rounded to the nearest 100 dollars, with no published typical figure, two separate dated reference cards and sources. The result has no line items or labor/material split: the published bands include both, and no public source we trust splits them for a typical kitchen. Pure arithmetic, no network or model.
| Argument | Type | Description |
|---|---|---|
| scope* | string | partial: $60–$150/sq ft, may include DIY work; full: $150–$250/sq ft, same layout; layout_change: $250–$350/sq ft, layout changes / high-end. Bands include labor and materials. |
| width_ft | number | Kitchen width in feet; requires length_ft instead of area_sqft. Product must be 20–1,000 sq ft. |
| area_sqft | number | Kitchen floor area in square feet, 20–1,000. Use area OR length and width. |
| length_ft | number | Kitchen length in feet; requires width_ft instead of area_sqft. Product must be 20–1,000 sq ft. |
{
"type": "object",
"examples": [
{
"scope": "full",
"area_sqft": 150
}
],
"required": [
"scope"
],
"properties": {
"scope": {
"enum": [
"partial",
"full",
"layout_change"
],
"type": "string",
"description": "partial: $60–$150/sq ft, may include DIY work; full: $150–$250/sq ft, same layout; layout_change: $250–$350/sq ft, layout changes / high-end. Bands include labor and materials."
},
"width_ft": {
"type": "number",
"description": "Kitchen width in feet; requires length_ft instead of area_sqft. Product must be 20–1,000 sq ft.",
"exclusiveMinimum": 0
},
"area_sqft": {
"type": "number",
"maximum": 1000,
"minimum": 20,
"description": "Kitchen floor area in square feet, 20–1,000. Use area OR length and width."
},
"length_ft": {
"type": "number",
"description": "Kitchen length in feet; requires width_ft instead of area_sqft. Product must be 20–1,000 sq ft.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Compute the least common multiple of 2–20 integers with exact BigInt arithmetic and complete prime factorizations.
| Argument | Type | Description |
|---|---|---|
| integers* | array | 2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored. |
{
"type": "object",
"examples": [
{
"integers": [
"12",
"18",
"24"
]
}
],
"required": [
"integers"
],
"properties": {
"integers": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[+-]?(?:[0-9]{1,12}|1000000000000)$",
"maxLength": 14,
"minLength": 1,
"description": "Signed decimal integer from -1000000000000 to 1000000000000 (±10^12), no separators or exponents. Parsed as exact BigInt."
},
"maxItems": 20,
"minItems": 2,
"description": "2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored."
}
},
"additionalProperties": false
}Computes fixed-rate monthly principal and interest payments, total interest, payoff month and a complete amortization table of at most 360 rows from entered amounts and a nominal annual rate. Optional down payment reduces principal; extra monthly principal payments shorten the modeled term. Uses exact rational arithmetic and nearest-cent half-up rounding. Taxes, insurance, PMI and fees are excluded.
| Argument | Type | Description |
|---|---|---|
| principal* | number | Starting amount in USD before the optional down payment; at most two decimal places. |
| termMonths* | integer | Original or remaining whole-month term. Every period is returned, at most 360 rows. |
| downPayment | number | USD amount subtracted from principal; must be less than principal; at most two decimal places; defaults to zero. |
| extraMonthly | number | Extra principal paid each month in USD; at most two decimal places; defaults to zero. |
| annualRatePercent* | number | Fixed nominal annual interest rate in percent, excluding fees; at most six decimal places. |
{
"type": "object",
"examples": [
{
"principal": 100,
"termMonths": 2,
"annualRatePercent": 12
},
{
"principal": 1300,
"termMonths": 12,
"downPayment": 100,
"extraMonthly": 75,
"annualRatePercent": 0
}
],
"required": [
"principal",
"annualRatePercent",
"termMonths"
],
"properties": {
"principal": {
"type": "number",
"maximum": 100000000,
"minimum": 0.01,
"description": "Starting amount in USD before the optional down payment; at most two decimal places."
},
"termMonths": {
"type": "integer",
"maximum": 360,
"minimum": 1,
"description": "Original or remaining whole-month term. Every period is returned, at most 360 rows."
},
"downPayment": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "USD amount subtracted from principal; must be less than principal; at most two decimal places; defaults to zero."
},
"extraMonthly": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Extra principal paid each month in USD; at most two decimal places; defaults to zero."
},
"annualRatePercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Fixed nominal annual interest rate in percent, excluding fees; at most six decimal places."
}
},
"additionalProperties": false
}Compute a logarithm for a positive value and any positive base other than 1.
| Argument | Type | Description |
|---|---|---|
| base* | number | Positive logarithm base other than 1. |
| value* | number | Value. |
{
"type": "object",
"examples": [
{
"base": 10,
"value": 100
}
],
"required": [
"value",
"base"
],
"properties": {
"base": {
"type": "number",
"maximum": 1e+100,
"minimum": 1e-308,
"description": "Positive logarithm base other than 1."
},
"value": {
"type": "number",
"maximum": 1e+100,
"minimum": 1e-308,
"description": "Value."
}
},
"additionalProperties": false
}Divide decimal strings exactly with long division steps, an integer quotient and remainder. See terminating, repeating or truncated decimals.
| Argument | Type | Description |
|---|---|---|
| digits | integer | Maximum fractional digits before truncation; default 20. |
| divisor* | string | Nonzero signed plain decimal, no exponent; maximum 60 characters. |
| dividend* | string | Signed plain decimal, no exponent; maximum 60 characters. |
{
"type": "object",
"examples": [
{
"digits": 20,
"divisor": "2",
"dividend": "7"
}
],
"required": [
"dividend",
"divisor"
],
"properties": {
"digits": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Maximum fractional digits before truncation; default 20."
},
"divisor": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Nonzero signed plain decimal, no exponent; maximum 60 characters."
},
"dividend": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Signed plain decimal, no exponent; maximum 60 characters."
}
},
"additionalProperties": false
}Make an SVG barcode. Validates retail check digits and lengths. GS1-128 and GS1 DataMatrix accept bracketed (01)GTIN(17)YYMMDD(10)lot; use make_qr for QR codes.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to encode; at most 1024 UTF-8 bytes. |
| format | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Text to encode; at most 1024 UTF-8 bytes."
},
"format": {
"enum": [
"code128",
"ean13",
"ean8",
"upca",
"upce",
"code39",
"itf",
"gs1-128",
"datamatrix"
],
"type": "string",
"default": "code128"
}
}
}Make an SVG QR code for text, a URL, or Wi-Fi network details.
| Argument | Type | Description |
|---|---|---|
| text | string | Text or URL to encode. Required unless wifi is provided. |
| wifi | object | Wi-Fi details; takes precedence over text when present. |
| format | string |
{
"type": "object",
"anyOf": [
{
"required": [
"text"
]
},
{
"required": [
"wifi"
]
}
],
"properties": {
"text": {
"type": "string",
"description": "Text or URL to encode. Required unless wifi is provided."
},
"wifi": {
"type": "object",
"required": [
"ssid",
"security"
],
"properties": {
"ssid": {
"type": "string"
},
"password": {
"type": "string"
},
"security": {
"enum": [
"WPA",
"WEP",
"nopass"
],
"type": "string"
}
},
"description": "Wi-Fi details; takes precedence over text when present."
},
"format": {
"enum": [
"svg"
],
"type": "string",
"default": "svg"
}
}
}Make walking/running loops that start and end at one point, each within 3% of the target distance. Returns Google Maps links and an encoded polyline. Routes and map data © OpenStreetMap contributors (ODbL); each result credits the routing service that made it.
| Argument | Type | Description |
|---|---|---|
| via | any | |
| count | integer | |
| start* | any | |
| stops | array | |
| prefer | array | |
| direction | string | |
| avoid_crime | boolean | Steer round blocks with more reported crime than the start (city police reports, last 12 months; San Francisco and Seattle for now). Not a guarantee. |
| distance_km* | number |
{
"type": "object",
"required": [
"start",
"distance_km"
],
"properties": {
"via": {
"oneOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
}
]
},
"count": {
"type": "integer",
"default": 3,
"maximum": 3,
"minimum": 1
},
"start": {
"oneOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
}
]
},
"stops": {
"type": "array",
"items": {
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
},
"maxItems": 9,
"minItems": 1
},
"prefer": {
"type": "array",
"items": {
"enum": [
"quiet",
"trails",
"flat"
],
"type": "string"
},
"default": [],
"maxItems": 3,
"uniqueItems": true
},
"direction": {
"enum": [
"any",
"n",
"e",
"s",
"w"
],
"type": "string",
"default": "any"
},
"avoid_crime": {
"type": "boolean",
"default": false,
"description": "Steer round blocks with more reported crime than the start (city police reports, last 12 months; San Francisco and Seattle for now). Not a guarantee."
},
"distance_km": {
"type": "number",
"maximum": 42.2,
"minimum": 1
}
},
"additionalProperties": false
}Calculate cost, selling price, gross profit, margin percentage and markup percentage from two independent values including cost or price.
| Argument | Type | Description |
|---|---|---|
| cost | number | Cost per item (USD; at most two decimal places) |
| price | number | Selling price per item (USD; at most two decimal places) |
| marginPercent | number | Gross margin as percent of selling price |
| markupPercent | number | Markup as percent of cost |
{
"type": "object",
"oneOf": [
{
"not": {
"anyOf": [
{
"required": [
"marginPercent"
]
},
{
"required": [
"markupPercent"
]
}
]
},
"required": [
"cost",
"price"
]
},
{
"not": {
"anyOf": [
{
"required": [
"price"
]
},
{
"required": [
"markupPercent"
]
}
]
},
"required": [
"cost",
"marginPercent"
]
},
{
"not": {
"anyOf": [
{
"required": [
"price"
]
},
{
"required": [
"marginPercent"
]
}
]
},
"required": [
"cost",
"markupPercent"
]
},
{
"not": {
"anyOf": [
{
"required": [
"cost"
]
},
{
"required": [
"markupPercent"
]
}
]
},
"required": [
"price",
"marginPercent"
]
},
{
"not": {
"anyOf": [
{
"required": [
"cost"
]
},
{
"required": [
"marginPercent"
]
}
]
},
"required": [
"price",
"markupPercent"
]
}
],
"examples": [
{
"cost": 80,
"price": 100
}
],
"properties": {
"cost": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Cost per item (USD; at most two decimal places)"
},
"price": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Selling price per item (USD; at most two decimal places)",
"exclusiveMinimum": 0
},
"marginPercent": {
"type": "number",
"maximum": 100,
"minimum": -10000,
"description": "Gross margin as percent of selling price"
},
"markupPercent": {
"type": "number",
"maximum": 10000,
"minimum": -100,
"description": "Markup as percent of cost",
"exclusiveMinimum": -100
}
},
"additionalProperties": false
}Convert mass to volume or reverse with named units and either a USDA FoodData Central ingredient cup-weight preset or an entered positive density in g/mL.
| Argument | Type | Description |
|---|---|---|
| to* | string | Opposite dimension from source. |
| from* | string | Explicit mass or volume source. |
| value* | string | Nonnegative decimal (up to 24 digits, effective exponent ±24), fraction (1/2) or mixed fraction (1 1/2). Quantity and integer fraction components ≤10^12; denominator >0; proper fractional part for mixed values. |
| density | number | Custom density in grams per milliliter; exactly one of density or ingredient is required. |
| ingredient | string | USDA FDC ingredient cup-weight preset, interpreted using a 236.5882365 mL US customary cup. Exactly one of ingredient or density is required. |
{
"type": "object",
"oneOf": [
{
"not": {
"required": [
"ingredient"
]
},
"required": [
"density"
]
},
{
"not": {
"required": [
"density"
]
},
"required": [
"ingredient"
]
}
],
"examples": [
{
"to": "us_cup",
"from": "g",
"value": "118.29411825",
"density": 0.5
},
{
"to": "g",
"from": "us_cup",
"value": "1",
"ingredient": "granulated_sugar"
}
],
"required": [
"value",
"from",
"to"
],
"properties": {
"to": {
"enum": [
"g",
"kg",
"oz_av",
"lb_av",
"ml",
"l",
"us_cup",
"us_fl_oz",
"us_gal",
"us_qt",
"us_tbsp",
"us_tsp"
],
"type": "string",
"description": "Opposite dimension from source."
},
"from": {
"enum": [
"g",
"kg",
"oz_av",
"lb_av",
"ml",
"l",
"us_cup",
"us_fl_oz",
"us_gal",
"us_qt",
"us_tbsp",
"us_tsp"
],
"type": "string",
"description": "Explicit mass or volume source."
},
"value": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Nonnegative decimal (up to 24 digits, effective exponent ±24), fraction (1/2) or mixed fraction (1 1/2). Quantity and integer fraction components ≤10^12; denominator >0; proper fractional part for mixed values."
},
"density": {
"type": "number",
"maximum": 1000000,
"description": "Custom density in grams per milliliter; exactly one of density or ingredient is required.",
"exclusiveMinimum": 0
},
"ingredient": {
"enum": [
"all_purpose_flour",
"bread_flour",
"whole_wheat_flour",
"granulated_sugar",
"packed_brown_sugar",
"powdered_sugar",
"butter",
"water",
"whole_milk",
"honey",
"vegetable_oil",
"uncooked_white_rice",
"rolled_oats",
"unsweetened_cocoa_powder",
"table_salt"
],
"type": "string",
"description": "USDA FDC ingredient cup-weight preset, interpreted using a 236.5882365 mL US customary cup. Exactly one of ingredient or density is required."
}
},
"additionalProperties": false
}Calculate mulch layer volume and whole 2 cu ft and 3 cu ft bag counts from rectangle dimensions, circle diameter or total area and depth in inches.
| Argument | Type | Description |
|---|---|---|
| area | number | Total bed area in square feet or square metres |
| unit | string | Dimension unit; area uses its square; default ft |
| shape* | string | Bed shape or already measured total area |
| width | number | Rectangle width in selected unit |
| length | number | Rectangle length in selected unit |
| diameter | number | Circle diameter across the bed in selected unit |
| depthInches* | number | Layer depth in inches |
{
"type": "object",
"oneOf": [
{
"required": [
"length",
"width"
],
"properties": {
"shape": {
"enum": [
"rectangle"
],
"type": "string"
}
}
},
{
"required": [
"diameter"
],
"properties": {
"shape": {
"enum": [
"circle"
],
"type": "string"
}
}
},
{
"required": [
"area"
],
"properties": {
"shape": {
"enum": [
"area"
],
"type": "string"
}
}
}
],
"examples": [
{
"shape": "rectangle",
"width": 8,
"length": 10,
"depthInches": 3
}
],
"required": [
"shape",
"depthInches"
],
"properties": {
"area": {
"type": "number",
"maximum": 1000000000000,
"description": "Total bed area in square feet or square metres",
"exclusiveMinimum": 0
},
"unit": {
"enum": [
"ft",
"m"
],
"type": "string",
"description": "Dimension unit; area uses its square; default ft"
},
"shape": {
"enum": [
"rectangle",
"circle",
"area"
],
"type": "string",
"description": "Bed shape or already measured total area"
},
"width": {
"type": "number",
"maximum": 1000000,
"description": "Rectangle width in selected unit",
"exclusiveMinimum": 0
},
"length": {
"type": "number",
"maximum": 1000000,
"description": "Rectangle length in selected unit",
"exclusiveMinimum": 0
},
"diameter": {
"type": "number",
"maximum": 1000000,
"description": "Circle diameter across the bed in selected unit",
"exclusiveMinimum": 0
},
"depthInches": {
"type": "number",
"maximum": 1200,
"description": "Layer depth in inches",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Calculate Epley and Brzycki one-rep maximum estimates from lifted weight and repetitions.
| Argument | Type | Description |
|---|---|---|
| reps* | integer | |
| units | string | Weight unit; returned estimates have the same unit |
| weight* | number | Lifted weight; results use the same unit |
{
"type": "object",
"examples": [
{
"reps": 5,
"weight": 100
}
],
"required": [
"weight",
"reps"
],
"properties": {
"reps": {
"type": "integer",
"maximum": 12,
"minimum": 1
},
"units": {
"enum": [
"kg",
"lb"
],
"type": "string",
"default": "kg",
"description": "Weight unit; returned estimates have the same unit"
},
"weight": {
"type": "number",
"description": "Lifted weight; results use the same unit",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Calculate running distance, elapsed time or pace from exactly two values and distance units.
| Argument | Type | Description |
|---|---|---|
| pace | string | Pace in minutes, M:SS or H:MM:SS per selected distance unit |
| time | string | Elapsed time in minutes, M:SS or H:MM:SS |
| units | string | |
| distance | number | Distance in selected units |
{
"type": "object",
"oneOf": [
{
"not": {
"required": [
"pace"
]
},
"required": [
"distance",
"time"
]
},
{
"not": {
"required": [
"time"
]
},
"required": [
"distance",
"pace"
]
},
{
"not": {
"required": [
"distance"
]
},
"required": [
"time",
"pace"
]
}
],
"examples": [
{
"time": "25:00",
"distance": 5
}
],
"required": [],
"properties": {
"pace": {
"type": "string",
"minLength": 1,
"description": "Pace in minutes, M:SS or H:MM:SS per selected distance unit"
},
"time": {
"type": "string",
"minLength": 1,
"description": "Elapsed time in minutes, M:SS or H:MM:SS"
},
"units": {
"enum": [
"km",
"mi"
],
"type": "string",
"default": "km"
},
"distance": {
"type": "number",
"description": "Distance in selected units",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Check whether one public HTML page shows content. Returns working, suspect or broken, findings with reasons and bounded snippets, status, final URL and text length. No JavaScript rendering; 10 seconds overall, 2 MB HTML. Public HTTP/HTTPS ports 80/443 only.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http or https page URL. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public http or https page URL."
}
}
}Read one public HTML page as clean Markdown with title, headings, lists, tables and absolute links. No logins, paywalls or JavaScript rendering; 2 MB HTML limit.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http or https page URL. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public http or https page URL."
}
}
}Calculate paint volume and whole containers from entered area or supported surface geometry, openings, whole coats and user-supplied per-coat coverage.
| Argument | Type | Description |
|---|---|---|
| area | string | Total gross surface area in selected squared units. Enter a bounded decimal or fraction string; positive except openings/price. |
| coats* | integer | Whole coat count. |
| areaUnit | string | Dimensions unit; areas and coverage use its square. Default ft. |
| coverage* | string | Entered per-coat coverage in selected square area units per selected volume unit. Enter a bounded decimal or fraction string; positive except openings/price. |
| openings | string | Unpainted opening area in the selected squared unit, no greater than gross area. Default 0. Enter a bounded decimal or fraction string; positive except openings/price. |
| surfaces | array | |
| volumeUnit | string | Volume unit for paint, coverage denominator and container. Default us_gal. |
| containerVolume |
Convert gross annual salary to hourly pay or hourly pay to annual salary using your entered weekly hours and paid weeks. Pure arithmetic.
| Argument | Type | Description |
|---|---|---|
| amount* | number | Gross amount in one entered currency. |
| direction | string | Conversion direction; default annual-to-hourly. |
| paidWeeks* | number | Paid weeks per year. |
| hoursPerWeek* | number | Paid hours per week. |
{
"type": "object",
"examples": [
{
"amount": 52000,
"direction": "annual-to-hourly",
"paidWeeks": 52,
"hoursPerWeek": 40
}
],
"required": [
"amount",
"hoursPerWeek",
"paidWeeks"
],
"properties": {
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Gross amount in one entered currency."
},
"direction": {
"enum": [
"annual-to-hourly",
"hourly-to-annual"
],
"type": "string",
"description": "Conversion direction; default annual-to-hourly."
},
"paidWeeks": {
"type": "number",
"maximum": 53,
"minimum": 0.01,
"description": "Paid weeks per year."
},
"hoursPerWeek": {
"type": "number",
"maximum": 168,
"minimum": 0.01,
"description": "Paid hours per week."
}
},
"additionalProperties": false
}Calculate X percent of Y, X as a percentage of Y, or signed percentage change from X to Y.
| Argument | Type | Description |
|---|---|---|
| x* | number | Percentage, part, or original value by mode |
| y* | number | Whole or new value by mode |
| mode* | string | of: X% of Y; is: X is what % of Y; change: from X to Y |
{
"type": "object",
"examples": [
{
"x": 80,
"y": 100,
"mode": "change"
}
],
"required": [
"mode",
"x",
"y"
],
"properties": {
"x": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Percentage, part, or original value by mode"
},
"y": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Whole or new value by mode"
},
"mode": {
"enum": [
"of",
"is",
"change"
],
"type": "string",
"description": "of: X% of Y; is: X is what % of Y; change: from X to Y"
}
},
"additionalProperties": false
}Check whether a pickleball court fits a space and show public court project costs. Returns rulebook footprints and one-court fit in either orientation, separate cost cards, and unpriced scope. Cost cards are public city project and planning figures, not a price for this court. Pure rules and Decimal, no network, model or clock. Web and MCP share the free daily allowance.
| Argument | Type | Description |
|---|---|---|
| base | string | Omit when unknown. |
| size | string | Omit when unknown. |
| fence | string | Omit when unknown. |
| courts | integer | Court count; omitted uses 1 for math, marked assumed. |
| finish | string | Omit when unknown. |
| lights | string | Omit when unknown. |
| space_width_ft | number | Open, level space in feet; provide both length and width or neither. |
| space_length_ft | number | Open, level space in feet; provide both length and width or neither. |
Estimate pole barn construction costs for given dimensions, optionally finished as living space. Returns national construction ranges for the building only, with no published typical figure. Site work/slab/doors/height/permits are not priced. use=residential adds the separate living-space build-out band with an open top and a combined planning estimate. Includes an unpriced checklist, two separate unscaled reference cards and dated sources. Pure arithmetic, no network or model.
| Argument | Type | Description |
|---|---|---|
| use | string | shell: building only. residential: add the separate living-space build-out band. |
| width_ft* | number | Required width in feet; footprint must be 100–10,000 sq ft. |
| length_ft* | number | Required length in feet; footprint must be 100–10,000 sq ft. |
{
"type": "object",
"examples": [
{
"use": "shell",
"width_ft": 30,
"length_ft": 40
}
],
"required": [
"width_ft",
"length_ft"
],
"properties": {
"use": {
"enum": [
"shell",
"residential"
],
"type": "string",
"default": "shell",
"description": "shell: building only. residential: add the separate living-space build-out band."
},
"width_ft": {
"type": "number",
"maximum": 200,
"minimum": 8,
"description": "Required width in feet; footprint must be 100–10,000 sq ft."
},
"length_ft": {
"type": "number",
"maximum": 200,
"minimum": 8,
"description": "Required length in feet; footprint must be 100–10,000 sq ft."
}
},
"additionalProperties": false
}Compute a real number raised to an entered exponent with bounded inputs and explicit domain errors.
| Argument | Type | Description |
|---|---|---|
| base* | number | Base. |
| exponent* | number | Exponent. |
{
"type": "object",
"examples": [
{
"base": 2,
"exponent": 10
}
],
"required": [
"base",
"exponent"
],
"properties": {
"base": {
"type": "number",
"maximum": 1000000,
"minimum": -1000000,
"description": "Base."
},
"exponent": {
"type": "number",
"maximum": 1000,
"minimum": -1000,
"description": "Exponent."
}
},
"additionalProperties": false
}Compute deterministic primality below 3.3 × 10^24 using the 13 prime Miller–Rabin bases through 41, plus complete factorization through 10^12 or a smallest factor through 10000.
| Argument | Type | Description |
|---|---|---|
| integer* | string | Nonnegative decimal digits, 0 <= n < 3300000000000000000000000 (3.3 × 10^24), at most 25 digits. Full composite factorization through 10^12; otherwise smallest prime factor search through 10000 only. |
{
"type": "object",
"examples": [
{
"integer": "97"
}
],
"required": [
"integer"
],
"properties": {
"integer": {
"type": "string",
"pattern": "^(?:[0-9]{1,24}|[0-2][0-9]{24}|3[0-2][0-9]{23})$",
"maxLength": 25,
"minLength": 1,
"description": "Nonnegative decimal digits, 0 <= n < 3300000000000000000000000 (3.3 × 10^24), at most 25 digits. Full composite factorization through 10^12; otherwise smallest prime factor search through 10000 only."
}
},
"additionalProperties": false
}Fix spelling, grammar, punctuation and word choice while keeping meaning and voice. Text goes to a language model: with no key, a small shared daily allowance (Google Gemini); with an X-OpenRouter-Key header, the caller's OpenRouter key.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to proofread, at most 2,000 words. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 15000,
"minLength": 1,
"description": "Text to proofread, at most 2,000 words."
}
},
"additionalProperties": false
}Compute the third right-triangle side from exactly two measured sides, both acute angles, the right angle and area using the Pythagorean theorem.
| Argument | Type | Description |
|---|---|---|
| a | number | Leg a in the common length unit (10^-9 to 10^9). |
| b | number | Leg b in the common length unit (10^-9 to 10^9). |
| unit | string | Common length unit for every coordinate or side; area uses its square. |
| hypotenuse | number | Hypotenuse, opposite the right angle in the common length unit (10^-9 to 10^9). |
{
"type": "object",
"oneOf": [
{
"required": [
"a",
"b"
]
},
{
"required": [
"a",
"hypotenuse"
]
},
{
"required": [
"b",
"hypotenuse"
]
}
],
"examples": [
{
"a": 3,
"b": 4,
"unit": "m"
}
],
"required": [],
"properties": {
"a": {
"type": "number",
"maximum": 1000000000,
"minimum": 1e-9,
"description": "Leg a in the common length unit (10^-9 to 10^9)."
},
"b": {
"type": "number",
"maximum": 1000000000,
"minimum": 1e-9,
"description": "Leg b in the common length unit (10^-9 to 10^9)."
},
"unit": {
"enum": [
"units",
"mm",
"cm",
"m",
"in",
"ft"
],
"type": "string",
"default": "units",
"description": "Common length unit for every coordinate or side; area uses its square."
},
"hypotenuse": {
"type": "number",
"maximum": 1000000000,
"minimum": 1e-9,
"description": "Hypotenuse, opposite the right angle in the common length unit (10^-9 to 10^9)."
}
},
"description": "Exactly two measured sides of a right triangle; omit the unknown side. The hypotenuse must exceed the known leg.",
"additionalProperties": false
}Solve ax² + bx + c = 0 from entered coefficients. See real or complex roots, the discriminant and linear or constant cases.
| Argument | Type | Description |
|---|---|---|
| a* | number | Coefficient; zero or absolute magnitude 10^-12 to 10^12. |
| b* | number | Coefficient; zero or absolute magnitude 10^-12 to 10^12. |
| c* | number | Coefficient; zero or absolute magnitude 10^-12 to 10^12. |
{
"type": "object",
"examples": [
{
"a": 1,
"b": -3,
"c": 2
}
],
"required": [
"a",
"b",
"c"
],
"properties": {
"a": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Coefficient; zero or absolute magnitude 10^-12 to 10^12."
},
"b": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Coefficient; zero or absolute magnitude 10^-12 to 10^12."
},
"c": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Coefficient; zero or absolute magnitude 10^-12 to 10^12."
}
},
"additionalProperties": false
}Simplify decimal A:B ratios, solve A:B = C:?, or scale the ratio to a target term or total.
| Argument | Type | Description |
|---|---|---|
| a* | number | Nonnegative A term |
| b* | number | Nonnegative B term |
| c | number | Known C term in C:? |
| mode* | string | Operation |
| target | number | Target amount in the same units as A and B |
| targetPart | string | Part assigned the target; default a |
{
"type": "object",
"oneOf": [
{
"properties": {
"mode": {
"enum": [
"simplify"
],
"type": "string",
"description": ""
}
}
},
{
"required": [
"c"
],
"properties": {
"mode": {
"enum": [
"solve"
],
"type": "string",
"description": ""
}
}
},
{
"required": [
"target"
],
"properties": {
"mode": {
"enum": [
"scale"
],
"type": "string",
"description": ""
}
}
}
],
"examples": [
{
"a": 1.5,
"b": 2.5,
"mode": "simplify"
}
],
"required": [
"mode",
"a",
"b"
],
"properties": {
"a": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Nonnegative A term"
},
"b": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Nonnegative B term"
},
"c": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Known C term in C:?"
},
"mode": {
"enum": [
"simplify",
"solve",
"scale"
],
"type": "string",
"description": "Operation"
},
"target": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Target amount in the same units as A and B"
},
"targetPart": {
"enum": [
"a",
"b",
"total"
],
"type": "string",
"description": "Part assigned the target; default a"
}
},
"additionalProperties": false
}Read every barcode in a PNG, JPEG or WebP image, given as base64 (or a data URL), a public https URL, or an attached file. At most 2 MB and 4000 by 4000 pixels. Returns text, format, corner positions and GS1 product number, expiry and lot when present.
| Argument | Type | Description |
|---|---|---|
| url | string | Public https URL of a PNG, JPEG or WebP image; 2 MB maximum. |
| file | object | An image file the user attached (OpenAI Apps SDK file parameter). |
| image | string | Base64 PNG/JPEG/WebP or image data URL; 2 MB decoded maximum. Give one of image, url or file. |
{
"type": "object",
"examples": [
{
"url": "https://apitoolcalls.com/barcode-scanner/samples/ean13.png"
}
],
"properties": {
"url": {
"type": "string",
"maxLength": 8192,
"description": "Public https URL of a PNG, JPEG or WebP image; 2 MB maximum."
},
"file": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"description": "An image file the user attached (OpenAI Apps SDK file parameter)."
},
"image": {
"type": "string",
"description": "Base64 PNG/JPEG/WebP or image data URL; 2 MB decoded maximum. Give one of image, url or file."
}
}
}Search local U.S. CPSC data for up to 10 recall notices that may match — check the notice. updated_at is when this local copy of CPSC data was last refreshed (UTC, ISO 8601), not a recall date; each match's date is its notice date. May not cover every batch or country; read the notice. No CPSC endorsement.
| Argument | Type | Description |
|---|---|---|
| query* | string | Product name, brand, model number or UPC. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Product name, brand, model number or UPC."
}
}
}Compare résumé skills with Columbus, Ohio job postings, or with one pasted job description. Résumé is not stored.
| Argument | Type | Description |
|---|---|---|
| family | string | Job family for the Columbus postings check; required unless job_ad is given. |
| job_ad | string | Plain text of one job description; lists the skills it names that the résumé shows and does not show. |
| resume_text* | string | Plain text of the résumé. |
{
"type": "object",
"examples": [
{
"job_ad": "Data analyst. Required: SQL, Python and Tableau.",
"resume_text": "Data analyst with SQL and Excel experience building weekly reports."
}
],
"required": [
"resume_text"
],
"properties": {
"family": {
"enum": [
"data analyst",
"software engineer",
"project manager"
],
"type": "string",
"description": "Job family for the Columbus postings check; required unless job_ad is given."
},
"job_ad": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "Plain text of one job description; lists the skills it names that the résumé shows and does not show."
},
"resume_text": {
"type": "string",
"maxLength": 50000,
"minLength": 50,
"description": "Plain text of the résumé."
}
}
}Arithmetic on entered numbers only: level end-of-period withdrawal, total withdrawn and complete period table from a balance, fixed entered nominal annual return and term. Monthly, quarterly or annual periods; nearest-cent half-up rounding; final withdrawal clears residue. Rates are entered, never fetched.
| Argument | Type | Description |
|---|---|---|
| years* | integer | Whole years; at most 360 monthly, 120 quarterly or 30 annual rows. |
| balance* | number | Starting balance in USD, at most two decimal places. |
| frequency* | string | Withdrawal timing: 12 monthly, 4 quarterly or 1 annual end-of-period withdrawal per year. |
| annualReturnPercent* | number | Entered fixed nominal annual return percentage; at most six decimal places, divided by periods per year. |
{
"type": "object",
"examples": [
{
"years": 2,
"balance": 100,
"frequency": "annually",
"annualReturnPercent": 10
},
{
"years": 1,
"balance": 1200,
"frequency": "quarterly",
"annualReturnPercent": 0
}
],
"required": [
"balance",
"annualReturnPercent",
"years",
"frequency"
],
"properties": {
"years": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Whole years; at most 360 monthly, 120 quarterly or 30 annual rows."
},
"balance": {
"type": "number",
"maximum": 100000000,
"minimum": 0.01,
"description": "Starting balance in USD, at most two decimal places."
},
"frequency": {
"enum": [
"monthly",
"quarterly",
"annually"
],
"type": "string",
"maxLength": 9,
"description": "Withdrawal timing: 12 monthly, 4 quarterly or 1 annual end-of-period withdrawal per year."
},
"annualReturnPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Entered fixed nominal annual return percentage; at most six decimal places, divided by periods per year."
}
},
"additionalProperties": false
}Compute net gain and return on investment percentage from entered cost and final value, with optional annualization.
| Argument | Type | Description |
|---|---|---|
| cost* | number | Cost (must be positive). |
| years | number | Optional positive duration in years for annualized ROI. |
| finalValue* | number | Final value. |
{
"type": "object",
"examples": [
{
"cost": 100,
"finalValue": 125
}
],
"required": [
"cost",
"finalValue"
],
"properties": {
"cost": {
"type": "number",
"maximum": 1000000000000,
"minimum": 1e-12,
"description": "Cost (must be positive)."
},
"years": {
"type": "number",
"maximum": 1000,
"minimum": 1e-12,
"description": "Optional positive duration in years for annualized ROI."
},
"finalValue": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Final value."
}
},
"additionalProperties": false
}Convert whole numbers from 1 to 3999 to canonical Roman numerals, or convert canonical Roman numerals to numbers.
| Argument | Type | Description |
|---|---|---|
| value* | string | Decimal whole-number text from 1–3999 for to_roman, or Roman numeral text in either case for from_roman. |
| direction* | string | Conversion direction. |
{
"type": "object",
"examples": [
{
"value": "1994",
"direction": "to_roman"
}
],
"required": [
"value",
"direction"
],
"properties": {
"value": {
"type": "string",
"maxLength": 15,
"minLength": 1,
"description": "Decimal whole-number text from 1–3999 for to_roman, or Roman numeral text in either case for from_roman."
},
"direction": {
"enum": [
"to_roman",
"from_roman"
],
"type": "string",
"description": "Conversion direction."
}
},
"additionalProperties": false
}Estimate sloped roof area and roofing squares from a measured footprint and pitch. Calculates optional shingle purchase allowance, historical asphalt installation and matched removal scenarios, verified historical standing-seam bid endpoints, and a benchmark subtotal with your separately quoted extras; missing local prices remain get a local quote.
| Argument | Type | Description |
|---|---|---|
| pitch* | number | Rise p in inches per 12 inches horizontal run; geometry only. |
| layers | integer | Asphalt removal layers; 0 means no removal. Metal rates do not vary with layers; only 0 or 1 supported. |
| material* | string | |
| width_ft | number | Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions. |
| length_ft | number | Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions. |
| quoted_extras | number | Your own total dollars quote for separate items excluded from the installation/removal scope; no assumed surcharge. |
| waste_percent |
Round decimal strings exactly to decimal places, tens, hundreds or other powers of ten. Choose half away from zero or half even, including negative ties.
| Argument | Type | Description |
|---|---|---|
| text* | string | Up to 200 decimal digits with optional exponent -200 through 200. |
| places | integer | Decimal places; negative values round to tens, hundreds etc.; default 0. |
| tieMode | string | Exact halfway rule; default half-away. |
{
"type": "object",
"examples": [
{
"text": "-2.5",
"places": 0,
"tieMode": "half-even"
}
],
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 220,
"minLength": 1,
"description": "Up to 200 decimal digits with optional exponent -200 through 200."
},
"places": {
"type": "integer",
"maximum": 200,
"minimum": -200,
"description": "Decimal places; negative values round to tens, hundreds etc.; default 0."
},
"tieMode": {
"enum": [
"half-away",
"half-even"
],
"type": "string",
"description": "Exact halfway rule; default half-away."
}
},
"additionalProperties": false
}Round a decimal string to a chosen number of significant figures using exact decimal half-up rounding; return plain and scientific notation.
| Argument | Type | Description |
|---|---|---|
| value* | string | Signed decimal string, optionally with exponent notation; no commas. |
| significantFigures* | integer | Number of significant figures to keep. |
{
"type": "object",
"examples": [
{
"value": "0.004560",
"significantFigures": 2
}
],
"required": [
"value",
"significantFigures"
],
"properties": {
"value": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Signed decimal string, optionally with exponent notation; no commas."
},
"significantFigures": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Number of significant figures to keep."
}
},
"additionalProperties": false
}Evaluate arithmetic, powers, roots, logs and trigonometric functions with parentheses. Choose degrees or radians and get finite real results.
| Argument | Type | Description |
|---|---|---|
| angleUnit | string | Angle mode for trig and inverse trig; default degrees. |
| expression* | string | Explicit arithmetic expression; 256 tokens, 64 nested operations. No implicit multiplication. |
{
"type": "object",
"examples": [
{
"angleUnit": "degrees",
"expression": "2^3 + sqrt(81)"
}
],
"required": [
"expression"
],
"properties": {
"angleUnit": {
"enum": [
"degrees",
"radians"
],
"type": "string",
"description": "Angle mode for trig and inverse trig; default degrees."
},
"expression": {
"type": "string",
"maxLength": 512,
"minLength": 1,
"description": "Explicit arithmetic expression; 256 tokens, 64 nested operations. No implicit multiplication."
}
},
"additionalProperties": false
}Normalize decimal strings to scientific notation or expand exponent notation exactly. Keep all entered numerical digits without binary float conversion.
| Argument | Type | Description |
|---|---|---|
| mode | string | Output focus; default normalize. |
| text* | string | Up to 200 decimal digits, exponent -200 through 200. |
{
"type": "object",
"examples": [
{
"mode": "normalize",
"text": "0.00012"
}
],
"required": [
"text"
],
"properties": {
"mode": {
"enum": [
"normalize",
"expand"
],
"type": "string",
"description": "Output focus; default normalize."
},
"text": {
"type": "string",
"maxLength": 220,
"minLength": 1,
"description": "Up to 200 decimal digits, exponent -200 through 200."
}
},
"additionalProperties": false
}Check one public HTML page with fixed SEO rules. Returns schema 1, score, strengths, ranked fixes and facts. No JavaScript rendering; 10 seconds overall, 2 MB HTML and at most 20 links. Public HTTP/HTTPS ports 80/443 only.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http or https page URL. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public http or https page URL."
}
}
}Rewrite the square root of an integer from 0 to 10^12 as a√b using exact integer factors.
| Argument | Type | Description |
|---|---|---|
| value* | integer | Nonnegative integer. |
{
"type": "object",
"examples": [
{
"value": 72
}
],
"required": [
"value"
],
"properties": {
"value": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Nonnegative integer."
}
},
"additionalProperties": false
}Compute slope, y-intercept, slope-intercept and point-slope equations, distance, midpoint and line inclination from two distinct points, including vertical lines.
| Argument | Type | Description |
|---|---|---|
| x1* | number | x1 coordinate, in the common length unit (±10^9). |
| x2* | number | x2 coordinate, in the common length unit (±10^9). |
| y1* | number | y1 coordinate, in the common length unit (±10^9). |
| y2* | number | y2 coordinate, in the common length unit (±10^9). |
| unit | string | Common length unit for every coordinate or side; area uses its square. |
{
"type": "object",
"examples": [
{
"x1": 0,
"x2": 1,
"y1": 1,
"y2": 2
}
],
"required": [
"x1",
"y1",
"x2",
"y2"
],
"properties": {
"x1": {
"type": "number",
"maximum": 1000000000,
"minimum": -1000000000,
"description": "x1 coordinate, in the common length unit (±10^9)."
},
"x2": {
"type": "number",
"maximum": 1000000000,
"minimum": -1000000000,
"description": "x2 coordinate, in the common length unit (±10^9)."
},
"y1": {
"type": "number",
"maximum": 1000000000,
"minimum": -1000000000,
"description": "y1 coordinate, in the common length unit (±10^9)."
},
"y2": {
"type": "number",
"maximum": 1000000000,
"minimum": -1000000000,
"description": "y2 coordinate, in the common length unit (±10^9)."
},
"unit": {
"enum": [
"units",
"mm",
"cm",
"m",
"in",
"ft"
],
"type": "string",
"default": "units",
"description": "Common length unit for every coordinate or side; area uses its square."
}
},
"additionalProperties": false
}Computes and sums rectangle, circle, triangle and L-shaped room areas in square feet and square metres.
| Argument | Type | Description |
|---|---|---|
| unit | string | Common length unit for every entered dimension; default ft. |
| rooms* | array |
{
"type": "object",
"examples": [
{
"unit": "ft",
"rooms": [
{
"shape": "rectangle",
"width": 10,
"length": 12
},
{
"shape": "l-shape",
"width": 10,
"length": 12,
"cutoutWidth": 3,
"cutoutLength": 4
}
]
}
],
"required": [
"rooms"
],
"properties": {
"unit": {
"enum": [
"ft",
"in",
"yd",
"m",
"cm"
],
"type": "string",
"description": "Common length unit for every entered dimension; default ft."
},
"rooms": {
"type": "array",
"items": {
"type": "object",
"oneOf": [
{
"required": [
"length",
"width"
],
"properties": {
"shape": {
"enum": [
"rectangle"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"radius"
],
"properties": {
"shape": {
"enum": [
"circle"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"base",
"height"
],
"properties": {
"shape": {
"enum": [
"triangle"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"length",
"width",
"cutoutLength",
"cutoutWidth"
],
"properties": {
"shape": {
"enum": [
"l-shape"
],
"type": "string",
"description": "Shape."
}
}
}
],
"required": [
"shape"
],
"properties": {
"base": {
"type": "number",
"maximum": 1000000000000,
"description": "Triangle base.",
"exclusiveMinimum": 0
},
"shape": {
"enum": [
"rectangle",
"circle",
"triangle",
"l-shape"
],
"type": "string",
"description": "Room shape."
},
"width": {
"type": "number",
"maximum": 1000000000000,
"description": "Outer width.",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"maximum": 1000000000000,
"description": "Triangle perpendicular height.",
"exclusiveMinimum": 0
},
"length": {
"type": "number",
"maximum": 1000000000000,
"description": "Outer length.",
"exclusiveMinimum": 0
},
"radius": {
"type": "number",
"maximum": 1000000000000,
"description": "Circle radius.",
"exclusiveMinimum": 0
},
"cutoutWidth": {
"type": "number",
"maximum": 1000000000000,
"description": "Missing corner width.",
"exclusiveMinimum": 0
},
"cutoutLength": {
"type": "number",
"maximum": 1000000000000,
"description": "Missing corner length.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
}
},
"additionalProperties": false
}Sum up to seven clock-time shifts and optionally split the total into regular minutes and minutes past 40 hours.
| Argument | Type | Description |
|---|---|---|
| rows* | array | Completed shifts for one workweek; omit blank days |
| overtime | boolean | Split minutes past 40 hours; arithmetic only, without eligibility or pay |
{
"type": "object",
"examples": [
{
"rows": [
{
"end": "18:30",
"start": "09:00",
"breakMinutes": 30
},
{
"end": "18:30",
"start": "09:00",
"breakMinutes": 30
},
{
"end": "18:30",
"start": "09:00",
"breakMinutes": 30
},
{
"end": "18:30",
"start": "09:00",
"breakMinutes": 30
},
{
"end": "18:30",
"start": "09:00",
"breakMinutes": 30
}
],
"overtime": true
}
],
"required": [
"rows"
],
"properties": {
"rows": {
"type": "array",
"items": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"maxLength": 10,
"minLength": 5,
"description": "End clock time HH:MM (24-hour)"
},
"start": {
"type": "string",
"maxLength": 10,
"minLength": 5,
"description": "Start clock time HH:MM (24-hour)"
},
"overnight": {
"type": "boolean",
"default": false,
"description": "End is on the next day; shift at most 24 hours"
},
"breakMinutes": {
"type": "integer",
"maximum": 1440,
"minimum": 0,
"description": "Unpaid break in whole minutes"
}
},
"additionalProperties": false
},
"maxItems": 7,
"minItems": 1,
"description": "Completed shifts for one workweek; omit blank days"
},
"overtime": {
"type": "boolean",
"default": false,
"description": "Split minutes past 40 hours; arithmetic only, without eligibility or pay"
}
},
"additionalProperties": false
}Calculate a bill tip and equal per-person shares, with cent rounding or optional whole-dollar rounding up.
| Argument | Type | Description |
|---|---|---|
| bill* | number | Bill base in USD, at most two decimals |
| people | integer | Number of equal shares; default 1 |
| roundUp | boolean | Round each share up to a whole dollar; otherwise up to a cent |
| tipPercent* | number | Entered tip percentage, at most two decimals |
{
"type": "object",
"examples": [
{
"bill": 100,
"people": 3,
"roundUp": true,
"tipPercent": 18
}
],
"required": [
"bill",
"tipPercent"
],
"properties": {
"bill": {
"type": "number",
"maximum": 1000000000,
"minimum": 0,
"description": "Bill base in USD, at most two decimals"
},
"people": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Number of equal shares; default 1"
},
"roundUp": {
"type": "boolean",
"default": false,
"description": "Round each share up to a whole dollar; otherwise up to a cent"
},
"tipPercent": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Entered tip percentage, at most two decimals"
}
},
"additionalProperties": false
}Convert a bounded decimal or fraction quantity between explicit compatible mass, volume, international length, speed or item-count units. Reject incompatible dimensions; no density is inferred.
| Argument | Type | Description |
|---|---|---|
| to* | string | Target unit in the same dimension. International length definitions and US liquid measures are explicit. |
| from* | string | Explicit source or target unit. mm is millimeters; oz_av is avoirdupois mass; us_fl_oz is volume. US customary volume measures only. |
| value* | string | Nonnegative decimal (up to 24 digits, effective exponent ±24), fraction (1/2) or mixed fraction (1 1/2). Quantity and integer fraction components ≤10^12; denominator >0; proper fractional part for mixed values. |
{
"type": "object",
"examples": [
{
"to": "us_cup",
"from": "us_qt",
"value": "1 1/2"
}
],
"required": [
"value",
"from",
"to"
],
"properties": {
"to": {
"enum": [
"us_qt",
"us_gal",
"us_cup",
"us_fl_oz",
"us_tbsp",
"us_tsp",
"ml",
"l",
"oz_av",
"lb_av",
"g",
"kg",
"cm",
"mm",
"m",
"in",
"ft",
"yd",
"mi",
"km",
"knot",
"mph",
"each"
],
"type": "string",
"description": "Target unit in the same dimension. International length definitions and US liquid measures are explicit."
},
"from": {
"enum": [
"us_qt",
"us_gal",
"us_cup",
"us_fl_oz",
"us_tbsp",
"us_tsp",
"ml",
"l",
"oz_av",
"lb_av",
"g",
"kg",
"cm",
"mm",
"m",
"in",
"ft",
"yd",
"mi",
"km",
"knot",
"mph",
"each"
],
"type": "string",
"description": "Explicit source or target unit. mm is millimeters; oz_av is avoirdupois mass; us_fl_oz is volume. US customary volume measures only."
},
"value": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Nonnegative decimal (up to 24 digits, effective exponent ±24), fraction (1/2) or mixed fraction (1 1/2). Quantity and integer fraction components ≤10^12; denominator >0; proper fractional part for mixed values."
}
},
"additionalProperties": false
}Compare package prices per equal mass, volume or whole item count in one entered currency, with exact tie detection and compatible units only.
| Argument | Type | Description |
|---|---|---|
| currency* | string | Entered three-letter currency label (letters only), shared by all prices; no exchange rates. |
| packages* | array | |
| targetUnit* | string | One common mass, volume or count unit for comparison. |
{
"type": "object",
"examples": [
{
"currency": "USD",
"packages": [
{
"unit": "g",
"price": "3",
"quantity": "500"
},
{
"unit": "kg",
"price": "5",
"quantity": "1"
}
],
"targetUnit": "g"
}
],
"required": [
"packages",
"targetUnit",
"currency"
],
"properties": {
"currency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "Entered three-letter currency label (letters only), shared by all prices; no exchange rates."
},
"packages": {
"type": "array",
"items": {
"type": "object",
"required": [
"price",
"quantity",
"unit"
],
"properties": {
"unit": {
"enum": [
"g",
"kg",
"oz_av",
"lb_av",
"ml",
"l",
"us_cup",
"us_fl_oz",
"us_gal",
"us_qt",
"us_tbsp",
"us_tsp",
"each"
],
"type": "string",
"description": "Explicit package unit; all packages must match target dimension."
},
"price": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Nonnegative price in the one entered currency. Enter a bounded decimal or fraction string; positive except openings/price."
},
"quantity": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Positive net package quantity; whole numbers for item count. Enter a bounded decimal or fraction string; positive except openings/price."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 2
},
"targetUnit": {
"enum": [
"g",
"kg",
"oz_av",
"lb_av",
"ml",
"l",
"us_cup",
"us_fl_oz",
"us_gal",
"us_qt",
"us_tbsp",
"us_tsp",
"each"
],
"type": "string",
"description": "One common mass, volume or count unit for comparison."
}
},
"additionalProperties": false
}Computes cube, box, cylinder, cone, sphere or rectangular-pyramid volume with its formula and cubic-unit conversions.
| Argument | Type | Description |
|---|---|---|
| side | number | Cube side. |
| unit | string | Common length unit for every entered dimension; default ft. |
| shape* | string | Solid shape; pyramid has a rectangular base. |
| width | number | Base width. |
| height | number | Perpendicular height. |
| length | number | Base length. |
| radius | number | Radius, not diameter. |
{
"type": "object",
"oneOf": [
{
"required": [
"side"
],
"properties": {
"shape": {
"enum": [
"cube"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"length",
"width",
"height"
],
"properties": {
"shape": {
"enum": [
"box"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"radius",
"height"
],
"properties": {
"shape": {
"enum": [
"cylinder"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"radius",
"height"
],
"properties": {
"shape": {
"enum": [
"cone"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"radius"
],
"properties": {
"shape": {
"enum": [
"sphere"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"length",
"width",
"height"
],
"properties": {
"shape": {
"enum": [
"pyramid"
],
"type": "string",
"description": "Shape."
}
}
}
],
"examples": [
{
"unit": "m",
"shape": "box",
"width": 4,
"height": 5,
"length": 3
}
],
"required": [
"shape"
],
"properties": {
"side": {
"type": "number",
"maximum": 1000000000000,
"description": "Cube side.",
"exclusiveMinimum": 0
},
"unit": {
"enum": [
"ft",
"in",
"yd",
"m",
"cm"
],
"type": "string",
"description": "Common length unit for every entered dimension; default ft."
},
"shape": {
"enum": [
"cube",
"box",
"cylinder",
"cone",
"sphere",
"pyramid"
],
"type": "string",
"description": "Solid shape; pyramid has a rectangular base."
},
"width": {
"type": "number",
"maximum": 1000000000000,
"description": "Base width.",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"maximum": 1000000000000,
"description": "Perpendicular height.",
"exclusiveMinimum": 0
},
"length": {
"type": "number",
"maximum": 1000000000000,
"description": "Base length.",
"exclusiveMinimum": 0
},
"radius": {
"type": "number",
"maximum": 1000000000000,
"description": "Radius, not diameter.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Size a water softener from household water use and tested hardness, with yearly salt cost. Gallons per person per day is required (no national default used), for softened water only. Iron is optional; unknown when absent, and changes the setting per EcoPure's clear-water ferrous iron rule (5 gpg per ppm); other makers differ. Returns grains per day, working capacity before reserve, optional paired model ratings, three idealized EP42 test-rating examples, notes, assumptions and dated primary sources. Costs are salt only. Pure Decimal arithmetic, no network or model.
| Argument | Type | Description |
|---|---|---|
| bag_lb | number | Bag weight in lb. |
| people* | integer | Required whole household size. |
| salt_lb | number | Your manual's lb salt at capacity_grains; requires capacity_grains. |
| hardness* | number | Required measured hardness; after conversion 0 < gpg <= 100. |
| iron_ppm | number | Optional dissolved clear-water ferrous iron in ppm; absent means unknown. EcoPure adds 5 gpg per ppm (W4); other makers differ. |
| bag_price | number | Price per bag; one store's price (Fleet Farm, observed 2 Oct 2026); enter yours. |
| hardness_unit |
Plan wheelchair ramp length from entrance rise. Returns the minimum horizontal run under ADA 2010 §405.2, cited width, landing, rise-per-run and handrail dimensions, and separate historical HUD accessibility cost cards with missing price cells visible. This is a planning guide, not a code inspection.
| Argument | Type | Description |
|---|---|---|
| rise_inches* | number | Entrance rise in inches; minimum horizontal run excludes landings and door maneuvering space. |
{
"type": "object",
"examples": [
{
"rise_inches": 20
}
],
"required": [
"rise_inches"
],
"properties": {
"rise_inches": {
"type": "number",
"maximum": 1000000000,
"description": "Entrance rise in inches; minimum horizontal run excludes landings and door maneuvering space.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Count words, characters, sentences and paragraphs and estimate reading and speaking times from text.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"examples": [
{
"text": "Hello world."
}
],
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": ""
}
},
"additionalProperties": false
}Find likely causes of water pooling in a yard, fix options, who does them and dated public cost estimates. Returns likely causes to investigate, not a diagnosis, with explainable observed-code rules, safety escalations, options and who does them. Prices are dated public planning estimates, with distinct scopes and source years; no 2026 price adjustment. Omit unknown groups; [] means none observed. Optional numbers price only agreed areas, designed storage or counted downspout sets; the soil check screens root-zone drainage. No network or model. Web and MCP share the free daily allowance.
| Argument | Type | Description |
|---|---|---|
| site | array | Omit for unknown; [] means none observed. lower_outlet: A working lower outlet; utilities_in_area: Utilities in the area; septic_or_well_nearby: A septic system or well nearby; water_entering_house: Water entering the house |
| soil | array | Omit for unknown; [] means none observed. clay: Clay soil; compacted: Compacted soil |
| where | array | Omit for unknown; [] means none observed. foundation: At the foundation; lawn_low_spot: A lawn low spot; slope_bottom: At the bottom of a slope; whole_yard: Across the whole yard |
| timing | array | Omit for unknown; [] means none observed. after_rain: After rain; seasonal: Seasonally; dry_weather: In dry weather |
| grading | array | Omit for unknown; [] means none observed. slopes_toward_house: Ground slopes toward the house; settled_low_spot: A settled low spot; blocked_swale: A blocked swale; new_hard_surface: A new hard surface |
Compute the standardized z score from an entered value, mean and positive standard deviation.
| Argument | Type | Description |
|---|---|---|
| mean* | number | Mean. |
| value* | number | Value. |
| standardDeviation* | number | Standard deviation. |
{
"type": "object",
"examples": [
{
"mean": 70,
"value": 85,
"standardDeviation": 10
}
],
"required": [
"value",
"mean",
"standardDeviation"
],
"properties": {
"mean": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Mean."
},
"value": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Value."
},
"standardDeviation": {
"type": "number",
"maximum": 1000000000000,
"minimum": 1e-12,
"description": "Standard deviation."
}
},
"additionalProperties": false
}| Select observed codes, [] for none observed, or 'unknown'. slopes_toward: Ground slopes toward the house; puddles: Puddles beside the foundation |
| gutters | any | Select observed codes, [] for none observed, or 'unknown'. overflowing: Gutters overflowing; missing: Gutters missing; downspout_near: Downspout discharges near the foundation |
| moisture | any | Select observed codes, [] for none observed, or 'unknown'. cold_surface_sweating: Cold surfaces sweating; humid_air: Humid air entering; indoor_sources: Indoor moisture sources; visible_drip: Visible pipe or fixture drip |
| window_well | any | Select observed codes, [] for none observed, or 'unknown'. debris: Debris in a window well; ponding: Water collects in a window well; starts_at_window: Wetness starts at the window |
{
"type": "object",
"examples": [
{
"where": [
"wall_floor_joint"
],
"timing": [
"rain"
],
"gutters": [
"downspout_near"
]
}
],
"required": [],
"properties": {
"sump": {
"oneOf": [
{
"enum": [
"unknown"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"none",
"power_lost",
"pit_filling_no_discharge",
"running",
"seepage_no_inflow"
],
"type": "string"
},
"maxItems": 5,
"uniqueItems": true
}
],
"default": "unknown",
"description": "Select observed codes, [] for none observed, or 'unknown'. none: No sump; power_lost: Sump power was lost; pit_filling_no_discharge: Pit filling without discharge; running: Sump is running; seepage_no_inflow: Seepage without water flowing into the pit"
},
"where": {
"oneOf": [
{
"enum": [
"unknown"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"wall_crack",
"wall_floor_joint",
"floor",
"window",
"overhead_pipe",
"floor_drain",
"crack_changing",
"wall_bowing"
],
"type": "string"
},
"maxItems": 8,
"uniqueItems": true
}
],
"default": "unknown",
"description": "Select observed codes, [] for none observed, or 'unknown'. wall_crack: Water at a wall crack; wall_floor_joint: Water at the wall-floor joint; floor: Water through the floor; window: Water at a window; overhead_pipe: Water at an overhead pipe or fixture; floor_drain: Water from a floor drain; crack_changing: A crack is changing; wall_bowing: A wall is bowing"
},
"hazard": {
"oneOf": [
{
"enum": [
"unknown"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"standing_water",
"sewage",
"electrical"
],
"type": "string"
},
"maxItems": 3,
"uniqueItems": true
}
],
"default": "unknown",
"description": "Select observed codes, [] for none observed, or 'unknown'. standing_water: Standing water; sewage: Sewage or suspected drain backup; electrical: Possible water contact with electrical equipment"
},
"timing": {
"oneOf": [
{
"enum": [
"unknown"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"rain",
"snowmelt",
"dry_weather",
"water_use",
"humid_summer"
],
"type": "string"
},
"maxItems": 5,
"uniqueItems": true
}
],
"default": "unknown",
"description": "Select observed codes, [] for none observed, or 'unknown'. rain: Wetness after rain; snowmelt: Wetness after snowmelt; dry_weather: Wetness during dry weather; water_use: Wetness during water use; humid_summer: Wetness during humid summer conditions"
},
"grading": {
"oneOf": [
{
"enum": [
"unknown"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"slopes_toward",
"puddles"
],
"type": "string"
},
"maxItems": 2,
"uniqueItems": true
}
],
"default": "unknown",
"description": "Select observed codes, [] for none observed, or 'unknown'. slopes_toward: Ground slopes toward the house; puddles: Puddles beside the foundation"
},
"gutters": {
"oneOf": [
{
"enum": [
"unknown"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"overflowing",
"missing",
"downspout_near"
],
"type": "string"
},
"maxItems": 3,
"uniqueItems": true
}
],
"default": "unknown",
"description": "Select observed codes, [] for none observed, or 'unknown'. overflowing: Gutters overflowing; missing: Gutters missing; downspout_near: Downspout discharges near the foundation"
},
"moisture": {
"oneOf": [
{
"enum": [
"unknown"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"cold_surface_sweating",
"humid_air",
"indoor_sources",
"visible_drip"
],
"type": "string"
},
"maxItems": 4,
"uniqueItems": true
}
],
"default": "unknown",
"description": "Select observed codes, [] for none observed, or 'unknown'. cold_surface_sweating: Cold surfaces sweating; humid_air: Humid air entering; indoor_sources: Indoor moisture sources; visible_drip: Visible pipe or fixture drip"
},
"window_well": {
"oneOf": [
{
"enum": [
"unknown"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"debris",
"ponding",
"starts_at_window"
],
"type": "string"
},
"maxItems": 3,
"uniqueItems": true
}
],
"default": "unknown",
"description": "Select observed codes, [] for none observed, or 'unknown'. debris: Debris in a window well; ponding: Water collects in a window well; starts_at_window: Wetness starts at the window"
}
},
"minProperties": 1,
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"not": {
"required": [
"method"
],
"properties": {
"method": {
"enum": [
"katch"
],
"type": "string"
}
}
}
},
{
"required": [
"bodyFat"
]
}
],
"oneOf": [
{
"required": [
"height"
],
"properties": {
"units": {
"enum": [
"metric"
],
"type": "string"
}
}
},
{
"required": [
"units",
"feet",
"inches"
],
"properties": {
"units": {
"enum": [
"imperial"
],
"type": "string"
}
}
}
],
"examples": [
{
"age": 30,
"sex": "male",
"height": 180,
"weight": 80
}
],
"required": [
"sex",
"age",
"weight"
],
"properties": {
"age": {
"type": "number",
"maximum": 120,
"minimum": 18,
"description": "Adult age in years"
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string"
},
"feet": {
"type": "integer",
"minimum": 0,
"description": "Imperial height in whole feet"
},
"units": {
"enum": [
"metric",
"imperial"
],
"type": "string",
"default": "metric"
},
"height": {
"type": "number",
"description": "Metric height in centimetres",
"exclusiveMinimum": 0
},
"inches": {
"type": "number",
"minimum": 0,
"description": "Imperial additional inches",
"exclusiveMaximum": 12
},
"method": {
"enum": [
"mifflin",
"harris",
"katch"
],
"type": "string",
"default": "mifflin"
},
"weight": {
"type": "number",
"description": "kg or lb by units",
"exclusiveMinimum": 0
},
"bodyFat": {
"type": "number",
"description": "Body fat percentage",
"exclusiveMaximum": 100,
"exclusiveMinimum": 0
},
"activity": {
"enum": [
1.2,
1.375,
1.55,
1.725,
1.9
],
"type": "number",
"default": 1.2
}
},
"additionalProperties": false
}| Deposit interval, default monthly; fractional intervals have no deposit |
{
"not": {
"required": [
"mode",
"contribution"
],
"properties": {
"mode": {
"enum": [
"simple"
],
"type": "string",
"description": ""
},
"contribution": {
"type": "number",
"exclusiveMinimum": 0
}
}
},
"type": "object",
"examples": [
{
"years": 2,
"principal": 1000,
"annualRate": 10,
"contribution": 100,
"compoundingPerYear": 1,
"contributionTiming": "end",
"contributionFrequency": "yearly"
}
],
"required": [
"principal",
"annualRate",
"years"
],
"properties": {
"mode": {
"enum": [
"compound",
"simple"
],
"type": "string",
"description": "Interest calculation; default compound"
},
"years": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Term in years; a fractional tail earns modeled interest"
},
"principal": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Initial principal (USD; at most two decimal places)"
},
"annualRate": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Nominal annual rate / APR (%)"
},
"contribution": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Recurring deposit per complete monthly/yearly period; default 0; simple mode requires 0 (USD; at most two decimal places)"
},
"compoundingPerYear": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Equal compounding periods per year, default 12"
},
"contributionTiming": {
"enum": [
"start",
"end"
],
"type": "string",
"description": "Deposit at start or end of each complete period; default end"
},
"contributionFrequency": {
"enum": [
"monthly",
"yearly"
],
"type": "string",
"description": "Deposit interval, default monthly; fractional intervals have no deposit"
}
},
"additionalProperties": false
}| Base length. |
| diameter | number | Column diameter in the common length unit. |
{
"type": "object",
"oneOf": [
{
"required": [
"length",
"width",
"height"
],
"properties": {
"shape": {
"enum": [
"slab"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"length",
"width",
"height"
],
"properties": {
"shape": {
"enum": [
"footing"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"diameter",
"height"
],
"properties": {
"shape": {
"enum": [
"column"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"width",
"steps",
"rise",
"run"
],
"properties": {
"shape": {
"enum": [
"steps"
],
"type": "string",
"description": "Shape."
}
}
}
],
"examples": [
{
"unit": "in",
"shape": "column",
"waste": 10,
"height": 48,
"diameter": 12
}
],
"required": [
"shape"
],
"properties": {
"run": {
"type": "number",
"maximum": 1000000000000,
"description": "Run per step.",
"exclusiveMinimum": 0
},
"rise": {
"type": "number",
"maximum": 1000000000000,
"description": "Rise per step.",
"exclusiveMinimum": 0
},
"unit": {
"enum": [
"ft",
"in",
"yd",
"m",
"cm"
],
"type": "string",
"description": "Common length unit for every entered dimension; default ft."
},
"count": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Identical project count; default 1."
},
"shape": {
"enum": [
"slab",
"footing",
"column",
"steps"
],
"type": "string",
"description": "Rectangular slab or footing, cylindrical column, or solid equal-rise/run steps."
},
"steps": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Step count."
},
"waste": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Waste percentage; default 10."
},
"width": {
"type": "number",
"maximum": 1000000000000,
"description": "Base width.",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"maximum": 1000000000000,
"description": "Perpendicular height.",
"exclusiveMinimum": 0
},
"length": {
"type": "number",
"maximum": 1000000000000,
"description": "Base length.",
"exclusiveMinimum": 0
},
"diameter": {
"type": "number",
"maximum": 1000000000000,
"description": "Column diameter in the common length unit.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| capacity_check | string | Electrician load calculation result; not_done means not assessed. |
| existing_circuit | string | Suitable dedicated circuit already at the parking spot. |
{
"type": "object",
"examples": [
{
"level": "level2",
"charger_amps": 48
}
],
"properties": {
"level": {
"enum": [
"level1",
"level2"
],
"type": "string",
"description": "Charging level; omit when unknown."
},
"extras": {
"type": "array",
"items": {
"enum": [
"detached_garage",
"outdoor_run",
"finished_walls",
"trenching",
"pavement_cut",
"long_route"
],
"type": "string"
},
"uniqueItems": true
},
"run_feet": {
"type": "number",
"maximum": 500,
"minimum": 1,
"description": "Estimated routed panel-to-charger length, not straight-line distance."
},
"panel_amps": {
"type": "integer",
"maximum": 400,
"minimum": 30,
"description": "Panel/service rating, echoed only; a panel label alone cannot decide an upgrade or price the job."
},
"spare_space": {
"enum": [
"yes",
"no"
],
"type": "string",
"description": "Compatible breaker space for a new circuit."
},
"charger_amps": {
"type": "number",
"maximum": 80,
"minimum": 6,
"description": "Rated or installer-set maximum charging current in amps."
},
"installed_on": {
"type": "string",
"format": "date",
"description": "Placed-in-service date YYYY-MM-DD; omitted follows the after-2026-06-30 rule."
},
"capacity_check": {
"enum": [
"enough",
"not_enough",
"not_done"
],
"type": "string",
"description": "Electrician load calculation result; not_done means not assessed."
},
"existing_circuit": {
"enum": [
"yes",
"no"
],
"type": "string",
"description": "Suitable dedicated circuit already at the parking spot."
}
},
"additionalProperties": false
}| integer |
| Shortest run of characters to keep, 3 to 32. Default 4. |
{
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"examples": [
"AAFIZWxsbyBodHRwczovL2V4YW1wbGUuY29tL2RvY3MAAm9wc0BleGFtcGxlLm9yZwA="
],
"maxLength": 2700000,
"minLength": 1,
"description": "Required. Any file, as base64 or a base64 data URL; at most 2,000,000 bytes once decoded."
},
"kinds": {
"type": "array",
"items": {
"enum": [
"url",
"email",
"ip",
"path",
"key",
"other"
],
"type": "string"
},
"minItems": 1,
"description": "Only list strings of these kinds (url, email, ip, path, key, other). Counts always cover all.",
"uniqueItems": true
},
"limit": {
"type": "integer",
"default": 2000,
"maximum": 2000,
"minimum": 1,
"description": "Most strings to list, in file order. Default and maximum 2,000."
},
"contains": {
"type": "string",
"maxLength": 200,
"description": "Only list strings containing this text (any case)."
},
"filename": {
"type": "string",
"maxLength": 255,
"description": "Optional file name, used only in the result text."
},
"encodings": {
"type": "array",
"items": {
"enum": [
"ascii",
"utf-8",
"utf-16le"
],
"type": "string"
},
"default": [
"ascii",
"utf-16le"
],
"minItems": 1,
"description": "Which text to look for: ascii, utf-16le and utf-8. Default ascii and utf-16le; utf-8 also reads accented and other non-English letters, and finds more false text in random bytes.",
"uniqueItems": true
},
"min_length": {
"type": "integer",
"default": 4,
"maximum": 32,
"minimum": 3,
"description": "Shortest run of characters to keep, 3 to 32. Default 4."
}
},
"additionalProperties": false
}| string |
| Optional maker-confirmed YYYY-MM-DD manufacture date; overrides serial decoding, not installation date. |
| replacement_quote | number | Your own comparable replacement quote in dollars; pair with repair_quote. |
{
"type": "object",
"examples": [
{
"as_of": "2026-10-04",
"brand": "Lennox",
"serial": "5178M 99989",
"century": 1900,
"format_confirmed": true
}
],
"required": [
"as_of"
],
"properties": {
"as_of": {
"type": "string",
"description": "Required real YYYY-MM-DD date for the age calculation."
},
"brand": {
"type": "string",
"description": "Lennox, Rheem or Nordyne; other brands require maker/dealer confirmation."
},
"model": {
"type": "string",
"description": "Model from the rating plate; retained for identification."
},
"serial": {
"type": "string",
"description": "Rating-plate serial, supported nomenclature only."
},
"century": {
"enum": [
1900,
2000
],
"type": "integer",
"description": "Maker/dealer-confirmed century; never inferred from age."
},
"repair_quote": {
"type": "number",
"minimum": 0,
"description": "Your own comparable repair quote in dollars; pair with replacement_quote."
},
"format_confirmed": {
"type": "boolean",
"description": "True only after confirming this model/era uses the documented serial format."
},
"manufacture_date": {
"type": "string",
"description": "Optional maker-confirmed YYYY-MM-DD manufacture date; overrides serial decoding, not installation date."
},
"replacement_quote": {
"type": "number",
"description": "Your own comparable replacement quote in dollars; pair with repair_quote.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| string |
| Entered volume of one container in selected volume units. Enter a bounded decimal or fraction string; positive except openings/price. |
{
"type": "object",
"oneOf": [
{
"not": {
"required": [
"surfaces"
]
},
"required": [
"area"
]
},
{
"not": {
"required": [
"area"
]
},
"required": [
"surfaces"
]
}
],
"examples": [
{
"area": "800",
"coats": 2,
"coverage": "350",
"openings": "100",
"containerVolume": "1"
}
],
"required": [
"coats",
"coverage",
"containerVolume"
],
"properties": {
"area": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Total gross surface area in selected squared units. Enter a bounded decimal or fraction string; positive except openings/price."
},
"coats": {
"type": "integer",
"maximum": 100,
"description": "Whole coat count.",
"exclusiveMinimum": 0
},
"areaUnit": {
"enum": [
"ft",
"m"
],
"type": "string",
"description": "Dimensions unit; areas and coverage use its square. Default ft."
},
"coverage": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Entered per-coat coverage in selected square area units per selected volume unit. Enter a bounded decimal or fraction string; positive except openings/price."
},
"openings": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Unpainted opening area in the selected squared unit, no greater than gross area. Default 0. Enter a bounded decimal or fraction string; positive except openings/price."
},
"surfaces": {
"type": "array",
"items": {
"type": "object",
"oneOf": [
{
"required": [
"length",
"width"
],
"properties": {
"shape": {
"enum": [
"rectangle"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"radius"
],
"properties": {
"shape": {
"enum": [
"circle"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"base",
"height"
],
"properties": {
"shape": {
"enum": [
"triangle"
],
"type": "string",
"description": "Shape."
}
}
},
{
"required": [
"length",
"width",
"cutoutLength",
"cutoutWidth"
],
"properties": {
"shape": {
"enum": [
"l-shape"
],
"type": "string",
"description": "Shape."
}
}
}
],
"required": [
"shape"
],
"properties": {
"base": {
"type": "number",
"maximum": 1000000000000,
"description": "Triangle base.",
"exclusiveMinimum": 0
},
"shape": {
"enum": [
"rectangle",
"circle",
"triangle",
"l-shape"
],
"type": "string",
"description": "Room shape."
},
"width": {
"type": "number",
"maximum": 1000000000000,
"description": "Outer width.",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"maximum": 1000000000000,
"description": "Triangle perpendicular height.",
"exclusiveMinimum": 0
},
"length": {
"type": "number",
"maximum": 1000000000000,
"description": "Outer length.",
"exclusiveMinimum": 0
},
"radius": {
"type": "number",
"maximum": 1000000000000,
"description": "Circle radius.",
"exclusiveMinimum": 0
},
"cutoutWidth": {
"type": "number",
"maximum": 1000000000000,
"description": "Missing corner width.",
"exclusiveMinimum": 0
},
"cutoutLength": {
"type": "number",
"maximum": 1000000000000,
"description": "Missing corner length.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
},
"volumeUnit": {
"enum": [
"us_gal",
"l"
],
"type": "string",
"description": "Volume unit for paint, coverage denominator and container. Default us_gal."
},
"containerVolume": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Entered volume of one container in selected volume units. Enter a bounded decimal or fraction string; positive except openings/price."
}
},
"additionalProperties": false
}{
"type": "object",
"examples": [
{
"size": "recommended",
"courts": 2,
"space_width_ft": 40,
"space_length_ft": 70
}
],
"properties": {
"base": {
"enum": [
"new_concrete",
"new_asphalt",
"existing_slab"
],
"type": "string",
"description": "Omit when unknown."
},
"size": {
"enum": [
"minimum",
"recommended"
],
"type": "string",
"description": "Omit when unknown."
},
"fence": {
"enum": [
"yes",
"no"
],
"type": "string",
"description": "Omit when unknown."
},
"courts": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Court count; omitted uses 1 for math, marked assumed."
},
"finish": {
"enum": [
"acrylic",
"tiles"
],
"type": "string",
"description": "Omit when unknown."
},
"lights": {
"enum": [
"yes",
"no"
],
"type": "string",
"description": "Omit when unknown."
},
"space_width_ft": {
"type": "number",
"maximum": 1000,
"minimum": 1,
"description": "Open, level space in feet; provide both length and width or neither."
},
"space_length_ft": {
"type": "number",
"maximum": 1000,
"minimum": 1,
"description": "Open, level space in feet; provide both length and width or neither."
}
},
"additionalProperties": false
}| number |
| Optional asphalt purchase allowance only. Not applied to installed bid rates. No sourced midpoint/default. |
| footprint_sqft | number | Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions. |
{
"type": "object",
"examples": [
{
"pitch": 6,
"layers": 2,
"material": "asphalt",
"waste_percent": 10,
"footprint_sqft": 1000
}
],
"required": [
"pitch",
"material"
],
"properties": {
"pitch": {
"type": "number",
"minimum": 0,
"description": "Rise p in inches per 12 inches horizontal run; geometry only."
},
"layers": {
"enum": [
0,
1,
2,
3
],
"type": "integer",
"description": "Asphalt removal layers; 0 means no removal. Metal rates do not vary with layers; only 0 or 1 supported."
},
"material": {
"enum": [
"asphalt",
"standing_seam",
"tile"
],
"type": "string"
},
"width_ft": {
"type": "number",
"description": "Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.",
"exclusiveMinimum": 0
},
"length_ft": {
"type": "number",
"description": "Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.",
"exclusiveMinimum": 0
},
"quoted_extras": {
"type": "number",
"minimum": 0,
"description": "Your own total dollars quote for separate items excluded from the installation/removal scope; no assumed surcharge."
},
"waste_percent": {
"type": "number",
"maximum": 15,
"minimum": 10,
"description": "Optional asphalt purchase allowance only. Not applied to installed bid rates. No sourced midpoint/default."
},
"footprint_sqft": {
"type": "number",
"description": "Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| string |
| gpg or mg/L; divide mg/L by 17.1 (W1). |
| interval_days | number | Optional target days between regenerations. |
| capacity_grains | number | Your manual's grains per regeneration; requires salt_lb. |
| gallons_per_person_day* | number | Required softened gallons per person per day; no national default used. Exclude bypassing outdoor taps. |
{
"type": "object",
"examples": [
{
"people": 4,
"hardness": 10,
"gallons_per_person_day": 75
}
],
"required": [
"hardness",
"people",
"gallons_per_person_day"
],
"properties": {
"bag_lb": {
"type": "number",
"default": 40,
"maximum": 100,
"minimum": 1,
"description": "Bag weight in lb."
},
"people": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Required whole household size."
},
"salt_lb": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "Your manual's lb salt at capacity_grains; requires capacity_grains."
},
"hardness": {
"type": "number",
"description": "Required measured hardness; after conversion 0 < gpg <= 100.",
"exclusiveMinimum": 0
},
"iron_ppm": {
"type": "number",
"maximum": 20,
"minimum": 0,
"description": "Optional dissolved clear-water ferrous iron in ppm; absent means unknown. EcoPure adds 5 gpg per ppm (W4); other makers differ."
},
"bag_price": {
"type": "number",
"default": 8.97,
"maximum": 200,
"minimum": 0.01,
"description": "Price per bag; one store's price (Fleet Farm, observed 2 Oct 2026); enter yours."
},
"hardness_unit": {
"enum": [
"gpg",
"mg_l"
],
"type": "string",
"default": "gpg",
"description": "gpg or mg/L; divide mg/L by 17.1 (W1)."
},
"interval_days": {
"type": "number",
"maximum": 60,
"minimum": 1,
"description": "Optional target days between regenerations."
},
"capacity_grains": {
"type": "number",
"maximum": 200000,
"minimum": 1000,
"description": "Your manual's grains per regeneration; requires salt_lb."
},
"gallons_per_person_day": {
"type": "number",
"maximum": 300,
"minimum": 10,
"description": "Required softened gallons per person per day; no national default used. Exclude bypassing outdoor taps."
}
},
"additionalProperties": false
}| gutters | array | Omit for unknown; [] means none observed. overflowing: Overflowing gutters; leaking: Leaking gutters; discharge_near_foundation: Downspouts discharge near the foundation |
| boundary | array | Omit for unknown; [] means none observed. flow_from_higher_ground: Flow from higher ground; new_nearby_hard_surface: A new nearby hard surface |
| downspouts | integer | Whole number of elbow-plus-extension sets, hardware only. |
| groundwater | array | Omit for unknown; [] means none observed. seepage: Seepage; saturated_below_surface: Saturated below the surface; seasonal_high_water: Seasonal high water |
| drop_inches_15min | number | Inches dropped in 15 minutes after pre-wetting and refilling the hole; Iowa State's informal root-zone check, not a dry-well design test. |
| dry_well_cubic_ft | number | Designed storage from a designer; never sized from this questionnaire. |
| rain_garden_sq_ft | number | Agreed garden area; never computed from roof area. |
{
"type": "object",
"examples": [
{
"gutters": [
"discharge_near_foundation"
],
"downspouts": 3
}
],
"required": [],
"properties": {
"site": {
"type": "array",
"items": {
"enum": [
"lower_outlet",
"utilities_in_area",
"septic_or_well_nearby",
"water_entering_house"
],
"type": "string"
},
"maxItems": 4,
"description": "Omit for unknown; [] means none observed. lower_outlet: A working lower outlet; utilities_in_area: Utilities in the area; septic_or_well_nearby: A septic system or well nearby; water_entering_house: Water entering the house",
"uniqueItems": true
},
"soil": {
"type": "array",
"items": {
"enum": [
"clay",
"compacted"
],
"type": "string"
},
"maxItems": 2,
"description": "Omit for unknown; [] means none observed. clay: Clay soil; compacted: Compacted soil",
"uniqueItems": true
},
"where": {
"type": "array",
"items": {
"enum": [
"foundation",
"lawn_low_spot",
"slope_bottom",
"whole_yard"
],
"type": "string"
},
"maxItems": 4,
"description": "Omit for unknown; [] means none observed. foundation: At the foundation; lawn_low_spot: A lawn low spot; slope_bottom: At the bottom of a slope; whole_yard: Across the whole yard",
"uniqueItems": true
},
"timing": {
"type": "array",
"items": {
"enum": [
"after_rain",
"seasonal",
"dry_weather"
],
"type": "string"
},
"maxItems": 3,
"description": "Omit for unknown; [] means none observed. after_rain: After rain; seasonal: Seasonally; dry_weather: In dry weather",
"uniqueItems": true
},
"grading": {
"type": "array",
"items": {
"enum": [
"slopes_toward_house",
"settled_low_spot",
"blocked_swale",
"new_hard_surface"
],
"type": "string"
},
"maxItems": 4,
"description": "Omit for unknown; [] means none observed. slopes_toward_house: Ground slopes toward the house; settled_low_spot: A settled low spot; blocked_swale: A blocked swale; new_hard_surface: A new hard surface",
"uniqueItems": true
},
"gutters": {
"type": "array",
"items": {
"enum": [
"overflowing",
"leaking",
"discharge_near_foundation"
],
"type": "string"
},
"maxItems": 3,
"description": "Omit for unknown; [] means none observed. overflowing: Overflowing gutters; leaking: Leaking gutters; discharge_near_foundation: Downspouts discharge near the foundation",
"uniqueItems": true
},
"boundary": {
"type": "array",
"items": {
"enum": [
"flow_from_higher_ground",
"new_nearby_hard_surface"
],
"type": "string"
},
"maxItems": 2,
"description": "Omit for unknown; [] means none observed. flow_from_higher_ground: Flow from higher ground; new_nearby_hard_surface: A new nearby hard surface",
"uniqueItems": true
},
"downspouts": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Whole number of elbow-plus-extension sets, hardware only."
},
"groundwater": {
"type": "array",
"items": {
"enum": [
"seepage",
"saturated_below_surface",
"seasonal_high_water"
],
"type": "string"
},
"maxItems": 3,
"description": "Omit for unknown; [] means none observed. seepage: Seepage; saturated_below_surface: Saturated below the surface; seasonal_high_water: Seasonal high water",
"uniqueItems": true
},
"drop_inches_15min": {
"type": "number",
"maximum": 20,
"minimum": 0,
"description": "Inches dropped in 15 minutes after pre-wetting and refilling the hole; Iowa State's informal root-zone check, not a dry-well design test."
},
"dry_well_cubic_ft": {
"type": "number",
"maximum": 2000,
"minimum": 1,
"description": "Designed storage from a designer; never sized from this questionnaire."
},
"rain_garden_sq_ft": {
"type": "number",
"maximum": 5000,
"minimum": 10,
"description": "Agreed garden area; never computed from roof area."
}
},
"minProperties": 1,
"additionalProperties": false
}