01Set the API base
Use the deployed HEXL API URL in production. Local development can override this with your own gateway URL.
export HEXL_API_URL="https://x402.hexl.dev"Developer docs
Start with the public catalog, inspect payment terms, then call the endpoint through an x402-capable client when enforcement is enabled.
https://x402.hexl.dev01Use the deployed HEXL API URL in production. Local development can override this with your own gateway URL.
export HEXL_API_URL="https://x402.hexl.dev"02Fetch machine-readable endpoint metadata, including route paths, methods, descriptions, schemas, and display pricing.
curl -s "$HEXL_API_URL/v1/catalog"03Preview runtime x402 route requirements before calling a payable endpoint. Missing seller addresses are omitted from this response.
curl -s "$HEXL_API_URL/v1/x402/routes"04Call a small fixed-price endpoint. When enforcement is disabled, this returns directly. When enforcement is enabled, an unpaid request receives HTTP 402 payment requirements.
curl -s "$HEXL_API_URL/v1/finance/fx?base=USD"e=EUR"Paid request flow
The API server never needs buyer private keys. Buyers sign in their own runtime with a funded wallet on one of the networks advertised by the route terms.
Reference
GETGet npm package metadata: latest version, license, dependency counts, publish time, and repository links. Answers queries like 'latest version of fastify', 'what license does this package use', 'is this npm package maintained'.
/v1/dev/npm-package/:nameGETConvert between fiat currencies at the current exchange rate. Answers queries like 'USD to EUR rate', 'convert dollars to yen', 'what is the GBP/USD exchange rate today'.
/v1/finance/fxGETCurrent crypto spot prices for one or more coins in a fiat currency. Answers queries like 'price of bitcoin', 'how much is ETH worth in USD', 'current solana price'.
/v1/finance/crypto-pricePOSTSummarize a block of text into a few sentences. Answers needs like 'summarize this article', 'give me the TL;DR', 'condense this text'. (Scaffold uses a local extractive fallback until an LLM key is configured.)
/v1/ai/summarizeGETAccepts a tiny donation, then questions why the buyer is voluntarily sending money to a JSON endpoint.
/v1/fun/donateGETReturns a chaotic persona/style modifier for an agent's next response.
/v1/fun/vibePOSTGrades a statement like a timeline reply: based, mid, or fully mogged.
/v1/fun/l-takePOSTGenerates comforting, self-serving cope for a failure while leaving one tiny reality check.
/v1/fun/copiumPOSTCreates an absurd excuse an agent can use instead of apologizing when something is off.
/v1/fun/excusePOSTGives moral support to an overly aggressive user and rewrites the text into chaotic positivity.
/v1/fun/positivityPOSTTranslates a normal concept into maximally unserious AI/Web3 pitch language.
/v1/fun/ai-blockchain-ifyPOSTRephrases a statement as an overpolished LinkedIn post with performative business energy.
/v1/fun/linkedin-ifyPOSTAccepts frustration, discards it, and returns a receipt proving the complaint was denied persistence.
/v1/fun/screamPOSTGenerate a caption describing an image from its URL. Answers needs like 'describe this image', 'caption this picture', 'what is in this photo'. (Scaffolded for the Python/FastAPI worker.)
/v1/media/image-captionPOSTGenerate a production-ready image from a text prompt using the lowest-latency image model tier.
/v1/content/images/generatePOSTEdit one or more source images from a text instruction for product, ad, and social creative workflows.
/v1/content/images/editPOSTStart a low-cost short video generation job from a text prompt and poll for the rendered asset.
/v1/content/videos/text-to-video/basic-5sPOSTAnimate a source image into a short low-cost video job for ads, reels, and product creative.
/v1/content/videos/image-to-video/basic-5sPOSTHash text or encoded bytes with SHA-256, SHA-512, or SHA-1 for verification workflows.
/v1/trust/hashPOSTIssue an HMAC-signed receipt proving the API observed a hash at a specific timestamp.
/v1/trust/notary/receiptPOSTVerify that a notary receipt was signed by this API and has not been modified.
/v1/trust/notary/verifyGETResolve common DNS records for a domain using the gateway resolver.
/v1/domain/dnsGETCheck whether a public domain resolves and appears reachable over HTTP or HTTPS.
/v1/domain/liveGETSummarize MX, SPF, and DMARC records for a domain.
/v1/domain/email-authPOSTNormalize a URL and flag suspicious structure such as credentials, uncommon ports, IP hosts, and Unicode hostnames.
/v1/security/url/parseGETGenerate Sherlock-style public profile URL candidates for a username across common platforms without scraping private data.
/v1/osint/username/searchPOSTBase64 encode or decode a string for lightweight data transformation workflows.
/v1/chef/base64POSTDecode JWT header and payload without verifying the signature.
/v1/chef/jwt/decodePOSTExtract URLs, domains, IP addresses, email addresses, and common hashes from text.
/v1/chef/extract-iocsGETGenerate a deterministic fake person profile for testing and demos.
/v1/faker/profilePOSTGenerate deterministic fake JSON records from simple field names such as name, email, address, company, birthday, uuid, and phone.
/v1/faker/recordsGETReturn clearly labeled payment processor test card values for sandbox development.
/v1/faker/test-cardGETFetch a FRED (St. Louis Fed) economic time series by id, with observations, units, frequency, and source metadata.
/v1/finance/fred-seriesGETFetch a U.S. Bureau of Labor Statistics time series by id (CPI, PPI, employment, JOLTS, etc.) via the official BLS public API.
/v1/finance/bls-seriesGETFetch a U.S. Bureau of Economic Analysis data table (NIPA, Fixed Assets, etc.) for a given frequency and year via the official BEA API.
/v1/finance/bea-dataPOSTRun a factor regression on one or more tickers over a window. Fetches and aligns prices + Fama-French factors internally, builds excess returns, and returns alpha, betas, standard errors, t-stats, p-values, R², diagnostics, structured warnings, a pinned methodology string, and a one-line plain-English interpretation. Sells the saved orchestration of doing this correctly, not the regression compute.
/v1/quant/factor-regressionPOSTScreen an EVM wallet address before paying it: checks the US Treasury OFAC sanctions list and reads on-chain behaviour (is it a contract, balance, activity) to return a 0–100 risk score, machine-readable flags, and a plain-English verdict. Answers 'is it safe to send funds to this address' in one call, on free public data.
/v1/chain/address-riskPOSTScreen an ERC-20 token before buying it: checks if it's a real token, whether the owner can rug it (ownership renounced?), whether it's an upgradeable proxy, how much liquidity exists to sell into, and scans bytecode for dangerous functions. Returns a 0–100 risk score, machine-readable flags, and a plain-English verdict — all from free public RPC reads. Structural check (not yet a buy/sell simulation).
/v1/chain/token-safetyPOSTCheck whether a transaction confirmed: success vs reverted, confirmations, block, gas used, from/to/value — in one call. The primitive a payments agent polls right after sending funds.
/v1/chain/tx-statusPOSTCurrent gas conditions for a chain: base fee, suggested priority tip, suggested max fee, and the estimated cost of a standard transfer. Agents call this before sending to set a fee that lands without overpaying.
/v1/chain/gasPOSTNative balance plus ERC-20 balances for an address. Checks a curated list of major tokens per chain plus any token addresses you pass. NOT an exhaustive holdings scan (raw RPC can't enumerate every token an address holds) — the response states exactly what was checked.
/v1/chain/balancesPOSTQuote a token swap on Uniswap V2-style pools: expected output, price impact, route (direct or via WETH), and fee — from live pool reserves. Saves the agent pool discovery, reserve reads, decimals handling, and constant-product math. Answers queries like 'how much USDC for 1 ETH', 'price impact of swapping X for Y', 'best rate to swap these tokens'.
/v1/chain/swap-quotePOSTEverything about a token in one call: symbol/decimals, USD price, liquidity depth, and our safety/honeypot score with flags — composed so the agent doesn't make eight separate calls. Returns a single plain-English verdict. Answers queries like 'is this token legit', 'what is this token and is it safe to buy', 'should I trust this contract'.
/v1/chain/token-profilePOSTRecover the wallet address that signed a message (EIP-191 personal_sign) and optionally confirm it matches an expected signer. The core check for agent auth, login-with-wallet, and x402-style payment authorization.
/v1/evm/verify-signaturePOSTValidate an EVM address and return its EIP-55 mixed-case checksum form. Catches typos/bad addresses before an agent sends funds.
/v1/evm/checksum-addressPOSTConvert a token amount between human and raw integer forms given its decimals (e.g. 1.5 USDC <-> 1500000). Handles the big-number/decimals math agents get wrong.
/v1/evm/unitsPOSTCompute the EIP-712 digest a wallet signs for typed structured data — used by permits, EIP-3009 transfers, and x402 payment authorizations. Pass domain/types/primaryType/message, get the 32-byte hash.
/v1/evm/eip712-hashPOSTCount the number of LLM tokens in a string using a real BPE tokenizer (GPT-4 family encoding). For agents budgeting context windows and estimating model costs.
/v1/util/count-tokensPOSTTop yield pools by APY, filterable by token symbol, chain, minimum TVL, and stablecoin-only. Sourced from DefiLlama. Answers 'best yield for USDC right now' in one call.
/v1/defi/yieldsPOSTTotal value locked for a specific protocol (by DefiLlama slug, e.g. 'aave') or, with no protocol, the top chains by TVL. Sourced from DefiLlama.
/v1/defi/tvlPOSTCirculating supply and current price for stablecoins (peg/depeg check), or a single symbol. Sourced from DefiLlama. Answers 'is this stablecoin holding its peg' and 'how big is it'.
/v1/defi/stablecoinsPOSTRecent SEC filings for a US-listed company by ticker — form type, date, description, and a direct document link. Optionally filter by form (10-K, 10-Q, 8-K). Wraps the free SEC EDGAR API and resolves ticker->CIK for you.
/v1/finance/edgarPOSTPrice a European call or put with the Black-Scholes model and return all greeks (delta, gamma, vega, theta, rho). Answers queries like 'price this option', 'what is the delta of this call', 'black scholes value', 'option greeks'.
/v1/finance/black-scholesPOSTRun a financial calculation: compound interest, loan amortization payment, NPV, or IRR (iterative solver). Answers queries like 'monthly payment on a loan', 'compound interest', 'net present value', 'internal rate of return'.
/v1/finance/calculatorPOSTTimezone conversion, calendar/business-day arithmetic, durations between timestamps, and a market-open check. Answers queries like 'convert this time to EST', 'add 5 business days', 'how long between these dates', 'is the stock market open now'.
/v1/util/datetimePOSTCompute a cryptographic hash of a string: sha256, sha512, md5, or keccak256 (the EVM hash). Answers queries like 'sha256 of this', 'keccak256 hash', 'hash this string'.
/v1/util/hashPOSTConvert a value between utf8, hex, and base64. Answers queries like 'base64 encode this', 'decode this base64', 'string to hex', 'hex to text'.
/v1/util/encodePOSTResolve an ENS name to its address, or reverse-resolve an address to its ENS name. Answers queries like 'what address is vitalik.eth', 'resolve this ENS name', 'what is the ENS name for this wallet'.
/v1/chain/ens-resolvePOSTFetch a smart contract's verified ABI (and its function/event names) from Sourcify. Answers queries like 'get the ABI for this contract', 'what functions does this contract have', 'is this contract verified'.
/v1/chain/contract-abiPOSTDecode raw EVM transaction calldata into its function name and arguments using the free OpenChain signature database — no ABI needed. Answers queries like 'what does this calldata do', 'decode this transaction input', 'what function is this hex calling'.
/v1/evm/decode-calldataPOSTHistorical price series for a crypto asset over N days, for backtests and trend analysis. Answers queries like 'bitcoin price history', 'ETH price over the last 90 days', 'historical crypto prices'.
/v1/finance/crypto-historyPOSTThe crypto Fear & Greed market-sentiment index (0=extreme fear, 100=extreme greed), latest or a history. Answers queries like 'crypto fear and greed index', 'market sentiment right now', 'is the market fearful or greedy'.
/v1/finance/fear-greedPOSTFees and revenue for a DeFi protocol (by DefiLlama slug), or the top fee-earning protocols. Answers queries like 'how much does uniswap earn in fees', 'top protocols by revenue', 'protocol fees'.
/v1/defi/feesPOSTCheck whether an email is real and deliverable: syntax, MX (mail server) records, and disposable-domain detection — using DNS only, no email sent. Answers queries like 'is this email valid', 'verify this email address', 'is this a disposable email'.
/v1/util/email-verifyPOSTGet a US company's actual financial numbers from its SEC filings, across any period: revenue, net income, gross/operating income, EPS, assets, liabilities, equity, cash flow, R&D, shares — or any raw XBRL concept. Plain metric names are mapped to the right GAAP tags for you. Answers queries like 'Apple revenue last 5 years', 'Microsoft net income quarterly', 'what was Tesla's gross profit in 2023', 'total assets over time'.
/v1/finance/edgar-financialsPOSTGenerate one or more random v4 UUIDs. Answers 'generate a UUID', 'give me 5 unique ids'.
/v1/util/uuidPOSTDecode a JWT's header and payload without verifying the signature, surfacing exp/iat. Answers 'decode this JWT', 'what's in this token', 'when does this token expire'.
/v1/util/jwt-decodePOSTPrice a bond from its terms and yield, with Macaulay/modified duration and current yield. Answers 'price this bond', 'bond duration', 'present value of a bond'.
/v1/finance/bondPOSTGlobal crypto market stats (total market cap, BTC/ETH dominance), the top coins by market cap, or trending coins. Answers 'total crypto market cap', 'bitcoin dominance', 'top 10 coins', 'what's trending in crypto'.
/v1/finance/crypto-marketPOSTCurrent USD prices for tokens by 'chain:address' across many chains (DefiLlama). Use when you have a contract address, not a ticker. Answers 'price of this token contract', 'USD value of this token on Base'.
/v1/defi/coin-pricesPOSTLook up a domain's DNS records (A, AAAA, MX, TXT, NS, CNAME). Answers 'DNS records for this domain', 'what are the MX records', 'show the SPF/TXT records', 'where does this domain resolve'.
/v1/web/dnsPOSTRegistration details for a domain via RDAP (the modern WHOIS): registrar, creation/expiry dates, age, and status. Flags newly-registered domains (a phishing signal). Answers 'when was this domain registered', 'how old is this domain', 'who is the registrar', 'is this domain new'.
/v1/web/domain-infoPOSTCheck a host's SSL certificate: issuer, validity window, days until expiry, and trust. Answers 'is this SSL cert valid', 'when does this certificate expire', 'check the TLS cert for this host'.
/v1/web/ssl-checkPOSTFollow a short or tracking URL through its redirects to the final destination, returning the full chain. Answers 'where does this short link go', 'unshorten this URL', 'resolve this redirect', 'what's the real link'.
/v1/web/url-unshortenPOSTCurrent weather for a city name or coordinates (temperature, wind, conditions). Free via Open-Meteo. Answers 'weather in Tokyo', 'current temperature at these coordinates', 'is it raining in London'.
/v1/data/weatherPOSTPublic holidays for a country and year. Free via Nager.Date. Answers 'public holidays in the US 2026', 'is this a holiday', 'list UK bank holidays'.
/v1/data/holidaysPOSTRun a regular expression over text to test, find a match, or extract all matches with capture groups. Answers 'extract all emails from this text', 'does this match the pattern', 'find all matches'.
/v1/util/regexPOSTBuild EVM transaction calldata from a function signature and arguments (the inverse of decode-calldata). Answers 'encode a transfer call', 'build the calldata for this function', 'ABI-encode these args'.
/v1/evm/abi-encodePOSTCompute the address a contract will be deployed to via CREATE2, from the deployer, salt, and init-code hash. Answers 'what address will this CREATE2 deploy to', 'predict the deterministic contract address'.
/v1/evm/create2-addressPOSTFull month-by-month loan amortization: payment, principal vs interest, and running balance, plus totals. Answers 'amortization schedule for this loan', 'how much interest will I pay', 'principal vs interest breakdown'.
/v1/finance/amortizationPOSTGreat-circle (haversine) distance and initial bearing between two latitude/longitude points. Answers 'distance between these coordinates', 'how far apart are these two points', 'bearing from A to B'.
/v1/data/geo-distancePOSTGet a concise summary (intro extract) of a Wikipedia article by title. Answers 'what is X', 'summarize the Wikipedia article on Y', 'give me a quick fact about Z'.
/v1/data/wikipediaPOSTGeolocate an IP address: country, city, region, coordinates, timezone, and a proxy flag. Free via freeipapi.com. Answers 'where is this IP', 'what country is this IP in', 'is this IP a proxy'.
/v1/data/ip-infoPOSTFacts about a country by name or ISO code: capital, population, region, area, currencies, languages, flag. Answers 'capital of France', 'population of Japan', 'what currency does Brazil use'.
/v1/data/countryPOSTName, symbol, price, market cap, volume, and links for a token by its contract address (CoinGecko). Answers 'what token is this contract', 'price and market cap of this token', 'token details by address'.
/v1/finance/token-infoPOSTFetch a URL and return its status code, response headers, and final URL after redirects. Answers 'what status does this URL return', 'show the response headers', 'what content-type does this serve', 'check security headers'.
/v1/web/http-headersPOSTResolve an ENS name's address plus its text records — avatar, description, url, email, Twitter, GitHub, Telegram. Answers 'what's the twitter for this ENS name', 'get the avatar/socials for vitalik.eth', 'ENS profile'.
/v1/chain/ens-recordsPOSTConvert text between cases: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, Title Case, Sentence case. Answers 'convert to snake case', 'camelCase this', 'make this kebab-case'.
/v1/text/casePOSTTurn text into a clean URL slug: lowercase, accents removed, non-alphanumerics replaced with a separator. Answers 'slugify this title', 'make a URL slug', 'create a permalink'.
/v1/text/slugifyPOSTExtract emails, URLs, IP addresses, phone numbers, hashtags, or mentions from a block of text. Answers 'extract all emails from this', 'find every URL in this text', 'pull out the phone numbers'.
/v1/text/extractPOSTMask personally identifiable information — emails, phone numbers, SSNs, payment cards, IPs — replacing them with [REDACTED] tags. Answers 'redact PII', 'scrub sensitive data', 'mask this before sending to an LLM'.
/v1/text/redactPOSTAnalyze text: character/word/sentence/paragraph counts, reading time, average word length, and most-frequent words. Answers 'word count', 'reading time for this', 'how long is this text'.
/v1/text/analyzePOSTCompute a line-by-line diff between two texts (added/removed/unchanged) with summary stats. Answers 'diff these two texts', 'what changed between these versions', 'compare these strings'.
/v1/text/diffPOSTConvert between physical units — length, mass, volume, area, speed, data size, time, and temperature. Answers 'convert 5 miles to km', 'how many ounces in a kilogram', '100 F to C', 'GB to MB'.
/v1/convert/unitsPOSTConvert a number between bases 2–36 (binary, octal, decimal, hex, etc.) or to/from Roman numerals. Answers 'decimal to hex', 'binary to decimal', '255 in hexadecimal', '2026 in roman numerals'.
/v1/convert/number-basePOSTConvert an array of JSON objects to CSV, or parse CSV into JSON objects (handles quoted fields). Answers 'convert this JSON to CSV', 'parse this CSV to JSON', 'csv to json'.
/v1/convert/json-csvPOSTCompute an HMAC (sha1/sha256/sha512) of a message with a shared secret key, in hex or base64. Answers 'HMAC sign this', 'compute the webhook signature', 'sign this payload'.
/v1/util/hmacPOSTGenerate or verify a time-based one-time password (TOTP, RFC 6238) from a base32 secret — the 6-digit codes used by authenticator apps. Answers 'generate a 2FA code', 'verify this TOTP', 'current authenticator code'.
/v1/util/totpPOSTGenerate strong random passwords with configurable length, count, and character classes (symbols, numbers, case), optionally excluding look-alike characters. Answers 'generate a strong password', 'make me 5 secure passwords'.
/v1/util/passwordPOSTConvert a color between hex/rgb/hsl, or compute the WCAG contrast ratio between two colors (with AA/AAA accessibility pass/fail). Answers 'hex to rgb', 'convert this color to hsl', 'contrast ratio between these colors', 'is this color combo accessible'.
/v1/util/colorPOSTValidate a payment card number (Luhn checksum + brand detection) or an IBAN (mod-97 checksum + country). Answers 'is this card number valid', 'what card brand is this', 'validate this IBAN'.
/v1/util/card-validatePOSTCompute the 4-byte function selector or 32-byte event topic hash from a human-readable signature. Answers 'selector for transfer(address,uint256)', 'event topic hash', 'what's the 4byte for this function'.
/v1/evm/function-selectorPOSTBuild a Merkle root, generate a proof for a leaf, or verify a proof — using the keccak256 + sorted-pairs convention that Solidity's OpenZeppelin MerkleProof verifier expects, so proofs verify on-chain. For airdrops and allowlists. Answers 'merkle root for these addresses', 'generate a merkle proof', 'verify this proof'.
/v1/chain/merklePOSTValidate and parse a phone number (Google's libphonenumber): validity, line type (mobile/landline/VoIP/toll-free), country, and E.164/national/international formats. The same capability as Twilio Lookup. Answers 'is this phone number valid', 'what country is this number', 'is this a mobile number', 'format this to E.164'.
/v1/identity/phonePOSTPrice European (Black-Scholes) or American (binomial tree, early exercise) options with full Greeks (delta/gamma/vega/theta/rho), or solve for implied volatility from a market price. Answers 'price this American put', 'what are the greeks', 'implied volatility for this option', 'delta of this call'.
/v1/quant/option-pricingPOSTCompute risk metrics from a return or price series: Value-at-Risk and CVaR (historical + parametric), volatility, Sharpe/Sortino/Calmar ratios, max drawdown, skew/kurtosis, hit rate. Answers 'value at risk of these returns', 'sharpe ratio', 'max drawdown', 'how risky is this portfolio'.
/v1/quant/risk-metricsPOSTCompute technical indicators over a price/OHLC series using the canonical conventions (Wilder's RSI/ATR, standard EMA/MACD) so values match TradingView/TA-Lib: SMA, EMA, RSI, MACD, Bollinger Bands, ATR, Stochastic. Answers 'RSI of these prices', 'MACD', 'bollinger bands', 'ATR'.
/v1/quant/indicatorsPOSTBacktest a rules-based strategy over a price series (SMA/EMA crossover, RSI, buy-and-hold, or your own signals) — look-ahead-bias-safe, with transaction costs — and get total/annualized return, Sharpe, max drawdown, win rate, trade count, equity curve, and a buy-and-hold benchmark. Answers 'backtest an SMA crossover', 'how would this strategy have performed', 'equity curve and sharpe for these signals'.
/v1/quant/backtestPOSTOptimal portfolio weights from a returns matrix (or expected returns + covariance): minimum-variance, maximum-Sharpe (tangency), risk parity, or the efficient frontier — long-only or unconstrained, with optional covariance shrinkage. Answers 'optimal portfolio weights', 'max sharpe portfolio', 'minimum variance', 'risk parity weights', 'efficient frontier'.
/v1/quant/portfolio-optimizePOSTFuzzy-match a person or company name against the US Treasury OFAC SDN sanctions list (Jaro-Winkler + token-reordering), returning scored matches with sanction type and program. The capability sold by ComplyAdvantage / World-Check. Answers 'is this name sanctioned', 'screen this person against OFAC', 'sanctions check for this company'.
/v1/identity/sanctions-screenPOSTDecode a VIN to its make/model/year/specs, or look up open safety recalls for a vehicle — from the free U.S. NHTSA data. Answers 'decode this VIN', 'recalls for this car', 'what vehicle is this VIN'.
/v1/gov/vehiclePOSTLook up FDA drug recalls (enforcement reports) or a drug's label info (indications, dosage, warnings, side effects) by name — from the free openFDA API. Answers 'has this drug been recalled', 'side effects of X', 'why was this recalled'.
/v1/gov/fdaPOSTSearch ~250M academic papers (OpenAlex): titles, authors, year, citation counts, venue, DOI. Sort by relevance, citations, or recency. Answers 'papers on X', 'most-cited research on Y', 'recent work on Z'.
/v1/science/papersPOSTRecent earthquakes from the USGS real-time feed, filterable by minimum magnitude, time window, and location radius. Answers 'recent earthquakes near here', 'biggest quake this week', 'seismic activity in X'.
/v1/science/earthquakesPOSTSearch ClinicalTrials.gov for studies by condition, drug, or term, optionally filtered by status (e.g. RECRUITING). Returns NCT id, title, phase, conditions, sponsor. Answers 'trials for this drug', 'recruiting trials for X', 'clinical studies on Y'.
/v1/science/clinical-trialsPOSTResolve a name to structured Wikidata knowledge-graph entities (stable IDs, labels, descriptions) — for disambiguation and entity linking. Answers 'what is the Wikidata ID for X', 'which entity is this', 'disambiguate this name'.
/v1/data/wikidataPOSTLook up a specific CVE from the NVD (description, CVSS score/severity, references) or known vulnerabilities in a software package from OSV. Answers 'details for CVE-2021-44228', 'is lodash 4.17.15 vulnerable', 'CVSS score for this CVE'.
/v1/security/cvePOSTCheck whether a password has appeared in known data breaches via Have I Been Pwned, using k-anonymity (the password is NEVER sent — only the first 5 chars of its SHA-1). Answers 'has this password been breached', 'is this password safe'.
/v1/security/breach-checkPOSTFind every TLS certificate issued for a domain via crt.sh — which reveals its subdomains (attack-surface recon / asset discovery). Answers 'find subdomains of X', 'certificate history for this domain', 'enumerate this domain'.
/v1/security/cert-transparencyPOSTLook up a food product by its barcode (Open Food Facts): name, brand, nutrition per 100g, ingredients, allergens, Nutri-Score, labels (vegan/organic). Answers 'scan this barcode', 'nutrition for this product', 'is this vegan', 'allergens in this'.
/v1/data/foodPOSTCurrent air quality for a city or coordinates: US/European AQI and pollutant concentrations (PM2.5, PM10, ozone, NO2, …) via Open-Meteo. Answers 'air quality here', 'is the air safe to breathe', 'pollution in <city>', 'PM2.5 level'.
/v1/data/air-qualityPOSTForward geocode an address/place to coordinates, or reverse geocode coordinates to an address (OpenStreetMap Nominatim). Answers 'coordinates for this address', 'what's at this lat/lng', 'geocode this place'.
/v1/data/geocodePOSTCompute readability scores for text: Flesch Reading Ease, Flesch-Kincaid grade level, and a plain-English reading level. Answers 'how readable is this', 'what reading grade level', 'is this text too hard'.
/v1/text/readabilityPOSTDetect the language of a piece of text (returns the ISO 639-3 code and language name). Answers 'what language is this', 'detect the language', 'is this English'.
/v1/text/language-detectPOSTFind U.S. federal contract or grant awards for a company/organization from USAspending.gov (free, authoritative). Returns award id, amount, awarding agency, period, and description, biggest first. Answers 'what federal contracts did X win', 'government spending with this vendor', 'is this company a government contractor', 'federal grants to Y'.
/v1/gov/spendingPOSTTime series of World Bank development indicators for ANY country — GDP, GDP per capita, population, inflation, unemployment, life expectancy, CO2 per capita, internet users, government debt, and more. Fills the global gap our US-centric FRED/BLS/BEA leave. Answers 'GDP of Japan over 10 years', 'inflation in Brazil', 'population of Nigeria', 'life expectancy in India'.
/v1/finance/world-bankPOSTRecent insider transactions for a public company — we fetch the SEC Form-4 filings and PARSE the ownership XML into clean transactions: who (director/officer + title), buy or sell, shares, price per share, and shares held afterward. The XML parsing + SEC orchestration is the hard-to-DIY value listing filings alone doesn't give. Answers 'insider buying at TSLA', 'did executives sell this stock', 'Form 4 transactions for AAPL', 'who is buying their own shares'.
/v1/finance/insiderPOSTKnow-your-business lookups against the global GLEIF registry of Legal Entity Identifiers. Search by company name to find matching legal entities, or look up a specific 20-character LEI for its legal name, jurisdiction, registered address, and registration status. Answers 'what is the LEI for Apple', 'is this a real registered legal entity', 'who/where is this company', 'verify this business'.
/v1/identity/leiPOSTCompute the real driving distance and travel time between two lat/lng points over the actual road network (OSRM). This is something an agent genuinely cannot compute itself — it needs the road graph, not a straight-line haversine. Answers 'driving distance from A to B', 'how long to drive between these coordinates', 'road distance', 'travel time by car'.
/v1/maps/routePOSTGet the terrain elevation (height above sea level) at a latitude/longitude, in meters and feet, from a digital elevation model (Open-Meteo). Answers 'elevation at these coordinates', 'how high above sea level is this point', 'altitude of this location'.
/v1/maps/elevationPOSTFind words related to a given word using the Datamuse engine: rhymes, near-rhymes, synonyms, antonyms, conceptually-related words, sounds-like, spelled-like, means-like, words that typically follow/precede it, and describing adjectives/nouns. For writing, naming, poetry, and word-game agents. Answers 'words that rhyme with X', 'synonyms for Y', 'words related to Z', 'what rhymes with orange'.
/v1/words/findPOSTDefine a word: part(s) of speech, definitions with usage examples, phonetic pronunciation, and synonyms (Free Dictionary API). Answers 'define X', 'what does Y mean', 'meaning of Z', 'how do you pronounce this word', 'part of speech of'.
/v1/words/dictionaryPOSTFind the closest archived snapshot of a URL in the Internet Archive's Wayback Machine, optionally near a given date. Returns the archived snapshot URL and capture time. Answers 'archived version of this page', 'what did this site look like in 2015', 'when was this page first/last captured', 'is this URL archived'.
/v1/web/waybackPOSTSearch arXiv preprints (where new ML, physics, math, CS, and stats research appears first), sorted by relevance or recency. Returns title, abstract, authors, primary category, publish date, and URL — parsed from arXiv's Atom feed into clean JSON. Answers 'recent papers on diffusion models', 'latest arXiv on transformers', 'preprints about X', 'new research on Y'.
/v1/science/arxivPOSTSearch PubMed (NCBI) for biomedical and life-sciences literature. Returns PMID, title, journal, publication date, authors, and URL. Answers 'recent medical research on X', 'PubMed papers about Y', 'studies on this drug/condition', 'biomedical literature on Z'.
/v1/science/pubmedPOSTLive space data: the International Space Station's current position (op=iss), today's near-Earth asteroids with size/miss-distance/hazard flag from NASA (op=asteroids), or upcoming rocket launches with provider and pad (op=launches). Answers 'where is the ISS right now', 'asteroids passing Earth today', 'next rocket launch', 'upcoming SpaceX launches'.
/v1/science/spacePOSTNormalize a messy drug name to its standard RxNorm concept (NIH/NLM) and surface its active ingredients and brand names. Maps brand↔generic and resolves typos via approximate matching. Answers 'what is the generic for Tylenol', 'active ingredient in Advil', 'brand names for ibuprofen', 'normalize this drug name', 'RxNorm code for X'.
/v1/science/drugPOSTCheck whether an IPv4 address is a known Tor exit relay, using the official Tor Project bulk exit list (cached hourly). A useful fraud/abuse/risk signal — Tor traffic is often scrutinized or blocked. Answers 'is this IP a Tor exit', 'is this user on Tor', 'should I flag this IP', 'Tor exit node check'.
/v1/security/torPOSTResolve a MAC address (or its first 3 octets) to the hardware manufacturer via the IEEE OUI registry. Useful for network/asset inventory and device fingerprinting. Answers 'what vendor made this MAC address', 'manufacturer of this device', 'OUI lookup', 'who makes this hardware'.
/v1/security/mac-vendorPOSTOne call that resolves a company and JOINS what we know: SEC identity (ticker→CIK→official name), its recent filings, and its Legal Entity Identifier (GLEIF/KYB). Saves an agent 3-4 lookups plus the entity-resolution glue. Answers 'tell me about AAPL', 'profile this company', 'who is Apple legally + what have they filed'.
/v1/finance/company-360POSTSearch the actual TEXT of SEC filings (not just the filing list) via EDGAR full-text search, optionally restricted to a form type. Returns company, form, date, and a direct URL. Answers 'which filings mention going concern', 'companies talking about material weakness', 'find 10-Ks discussing X'.
/v1/finance/sec-searchPOSTWhat a big investment manager owns: we find the latest SEC Form 13F-HR filing, locate its information-table XML, and PARSE it into clean holdings (issuer, CUSIP, value, shares), biggest first. Answers 'what does Berkshire own', '13F holdings for this fund', 'top positions of this manager'. Pass the manager's CIK (or a ticker like BRK-B).
/v1/finance/13fPOSTRolls recent SEC Form-4 filings up into NET open-market buying vs selling, for the company and per insider (only code-P buys and code-S sells count toward sentiment; grants/exercises excluded). Answers 'are insiders net buyers or sellers', 'insider sentiment for TSLA', 'who's been buying their own stock'.
/v1/finance/insider-summaryPOSTRecent SEC Form 8-K 'something happened' filings for a company, with the Item numbers decoded into plain English (5.02 = exec change, 2.02 = earnings, 1.01 = material agreement, …). Answers 'recent 8-K events for AAPL', 'did this company report anything material', 'what just happened at this company'.
/v1/finance/8kPOSTIs the US stock market open right now (or at a given time), and what are this year's holidays + early-close days? Rule-based, with weekend-observed shifts and Good Friday — reliably, not by eyeballing. All times US/Eastern. Answers 'is the NYSE open right now', 'is the market open', 'next market holiday', 'market hours today'.
/v1/finance/market-calendarPOSTLatitude/longitude → IANA timezone, current local time, UTC offset, and DST status — using the timezone-boundary map an agent can't derive itself. Answers 'what timezone is this point in', 'local time at these coordinates', 'is it daylight-saving there right now', 'UTC offset here'.
/v1/maps/timezonePOSTThe closest airports to a lat/lng from the OurAirports open dataset (~75k airports): name, IATA/ICAO codes, type, and great-circle distance. The dataset is the moat — an agent doesn't know airport coordinates. Answers 'nearest airport to these coords', 'closest airport', 'what airport serves this location'.
/v1/maps/nearest-airportPOSTGiven up to 25 coordinates, the pairwise DRIVING distances and durations over the real road network (OSRM). For routing/logistics planning across multiple stops. The road graph is the moat (not straight-line). Answers 'drive times between these stops', 'distance matrix for these locations', 'how far apart by car'.
/v1/maps/distance-matrixPOSTAdd N working days to a date, or count working days between two dates — skipping weekends AND that country's public holidays (via Nager.Date). The holiday awareness is the moat; plain weekday math is trivial, this isn't. Answers '5 business days from today in Germany', 'working days between these dates', 'when is this due in business days'.
/v1/data/business-dayPOSTLook up a book by ISBN (10 or 13 digit) via Open Library: title, authors, publisher, publish date, page count, subjects, cover. A catalog lookup an agent can't recall reliably. Answers 'details for this ISBN', 'what book is this', 'who wrote ISBN X', 'how many pages'.
/v1/data/isbnPOSTActive U.S. National Weather Service alerts for a point (lat/lng) or a state: event, severity, urgency, area, headline, effective/expiry. Live official data (US-only). Answers 'any weather alerts here', 'severe weather warnings for CA', 'is there a storm warning at these coordinates'.
/v1/data/weather-alertsPOSTASN, network operator/ISP, and hosting/proxy/mobile flags for an IP — the network metadata used for bot/VPN/datacenter detection (complements data/ip-info geolocation). Answers 'is this IP a datacenter/VPN', 'what network is this IP on', 'ASN for this IP', 'is this a hosting provider'. (Metadata, not a threat verdict.)
/v1/data/ip-intelPOSTGiven a set of SPDX license IDs (e.g. your dependencies'), the resulting obligation level, the license the combined/distributed work must carry, and known incompatibilities (e.g. GPL-2.0 ⊗ Apache-2.0). Deterministic guidance — correctness is the moat; license compat is easy to get subtly wrong. Answers 'are these licenses compatible', 'can I combine MIT and GPL-3.0', 'what license must my project be'.
/v1/dev/license-checkPOSTResolve the transitive PRODUCTION dependencies of an npm package@range, with each semver range resolved to a concrete version (depth/size capped). Answers 'full dependency tree of express', 'what does this package pull in transitively', 'how many deps does X have'. The recursive semver resolution is the annoying part.
/v1/dev/dep-treePOSTHealth of a GitHub repository: stars, forks, open-issue load, days since last push, license, archived flag, topics, and a 'maintained?' read. Answers 'is this repo maintained', 'health of owner/repo', 'how active is this project', 'when was this last updated'. Accepts 'owner/name' or a github.com URL.
/v1/dev/github-healthPOSTValidates an email's syntax, checks its domain actually has MX records (can receive mail), and flags disposable/temporary domains (maintained blocklist) and role addresses (info@, admin@). For signup/fraud filtering — we never send mail. Answers 'is this email real/deliverable', 'is this a throwaway email', 'does this domain accept mail', 'is this a role account'.
/v1/identity/email-riskPOSTValidate an EU VAT number against the official VIES service and return whether it's valid plus the registered name/address. KYB / invoicing / tax compliance. Answers 'is this VAT number valid', 'who is this VAT registered to', 'verify this EU business'. Include the country prefix (e.g. DE…). EU member states only.
/v1/identity/vatPOSTThe first 6-8 digits of a card (the BIN/IIN — NOT sensitive, not PCI) identify the issuing bank, country, brand, and card type. For checkout fraud signals and routing. Answers 'what bank issued this card', 'country of this card', 'is this debit or credit', 'is this prepaid'.
/v1/identity/binPOSTChecks an IBAN's structure + checksum and resolves its bank (name, BIC, city) via openiban. The bank-directory resolution — not just the mod-97 check an agent could compute — is the value. Answers 'is this IBAN valid', 'which bank is this IBAN', 'BIC for this IBAN', 'what country is this IBAN'.
/v1/identity/ibanPOSTGiven a URL, pull out the clean title, author, published date, site name, and main text — stripping nav/ads/boilerplate (the hard part). Research agents feed this to themselves constantly. Answers 'extract the article', 'readable text of this URL', 'get the main content of this page', 'who wrote this and when'.
/v1/web/articlePOSTSearch funded research projects from NIH RePORTER (biomedical) or NSF (science/engineering), normalized to title, recipient, amount, year, agency, URL. Answers 'who got funded for X', 'NIH grants on CRISPR', 'NSF awards for quantum computing', 'research funding for this topic'.
/v1/science/grantsPOSTSearch Hacker News stories or comments (Algolia HN API), by relevance or recency, with points and comment counts. For research/trend agents. Answers 'top HN discussion about X', 'what is HN saying about Y', 'recent HN posts on Z', 'trending on Hacker News'.
/v1/dev/hn-searchPOSTSearch Stack Overflow Q&A (Stack Exchange API) by query and optional tag, with score and whether the question is answered/accepted. For coding agents. Answers 'Stack Overflow answers for X', 'how do people solve Y', 'top SO question about Z'.
/v1/dev/stackoverflowPOSTSearch GitHub repositories (or code, if a token is configured) by query, with stars, language, and URL. Answers 'find repos that do X', 'popular Y libraries', 'open-source projects for Z', 'code examples of W'. Uses GITHUB_TOKEN if set; code search requires it.
/v1/dev/github-searchPOSTWeekly/monthly download counts and month-over-month momentum for an npm package (npm registry download API). Pairs with dev/npm-package + dev/dep-tree. Answers 'is this package growing or dying', 'how popular is X', 'download trend for Y', 'npm downloads for Z'.
/v1/dev/npm-trendsPOSTKey fundamentals + derived ratios for a public company, computed from SEC XBRL: revenue, net income, assets, equity, EPS, plus margins, ROE, ROA, debt/equity, and YoY revenue growth. Answers 'fundamentals for AAPL', 'profit margin of X', 'is this company profitable', 'ROE for Y'. (No live price, so no P/E.)
/v1/finance/fundamentalsPOSTBack out the Black-Scholes implied volatility from an option's market price and terms (Newton-Raphson with a bisection fallback). The inverse of finance/black-scholes; pure compute, deterministic. Answers 'implied vol from this option price', 'IV for a call trading at P', 'what volatility does this price imply'.
/v1/finance/implied-volPOSTThe latest US Treasury constant-maturity yields across tenors (1mo→30yr) from FRED, in one call, with the 2s10s spread and an inversion flag. Answers 'Treasury yield curve today', 'is the curve inverted', '10-year yield', '2s10s spread', 'current interest rates'.
/v1/finance/yield-curvePOSTThe exchange rate between two currencies on a specific past date (ECB rates via Frankfurter), and optionally convert an amount. Fills the historical gap our finance/fx (latest) leaves. Answers 'USD to EUR on 2020-03-15', 'GBP/JPY rate on date X', 'convert 100 USD to EUR at date D'.
/v1/finance/fx-historicalPOSTDaily high/low temperature, precipitation, and max wind for a location over a past date range, plus a summary (Open-Meteo archive). Answers 'weather at place X on date Y', 'rainfall last January at these coords', 'was it hot on date D', 'historical temperatures here'.
/v1/data/weather-historyPOSTResolve a postal/ZIP code to its place name(s), state/region, and coordinates, for a country (Zippopotam). Answers 'city for ZIP 90210', 'where is postcode X', 'coordinates of this ZIP', 'what state is this ZIP in'. Forms & logistics.
/v1/data/zipPOSTDaily Wikipedia view counts for an article over a date range (Wikimedia REST API), with total and daily average — a topic-popularity / attention signal. Answers 'how many views does X get', 'is interest in Y rising', 'Wikipedia traffic for Z over time'.
/v1/data/wiki-pageviewsPOSTIs a domain registered? Checks RDAP (the registry protocol): a 404 means available, a record means taken (with creation/expiry when shown). Answers 'is example.com available', 'is this domain taken', 'when does this domain expire', 'can I register this domain'.
/v1/web/domain-availablePOSTFetch a PDF by URL and extract its text + page count, so agents can read PDFs they otherwise can't parse. Answers 'extract text from this PDF', 'read this PDF', 'what does this PDF say', 'get the text of this document'. Text-based PDFs only (scanned/image PDFs need OCR).
/v1/web/pdfPOSTFetch a URL's HTML and extract elements by CSS selector into structured JSON (text, or a named attribute). Static HTML only (no JavaScript execution). Answers 'get the price from this page', 'extract all links', 'pull the h1 of this URL', 'scrape these fields from a page'.
/v1/web/scrapePOSTDescriptive statistics for one numeric array (n, mean, median, stdev, variance, min/max, quartiles), OR ordinary-least-squares linear regression + correlation given x and y arrays. Pure compute. Answers 'stats for these numbers', 'regress y on x', 'correlation between these series', 'fit a trend line', 'standard deviation of'.
/v1/util/statsPOSTValidate a JSON value against a JSON Schema (Ajv, draft-07/2020-12) and get detailed errors (path, message, keyword). For agents producing or checking structured output. Pure compute. Answers 'validate this JSON against this schema', 'does this data match the schema', 'is this JSON valid per schema'.
/v1/util/json-validatePOSTSearch the web and get ranked results (title, URL, snippet) for a query — the core 'find information' primitive every agent needs. Answers 'search the web for X', 'find pages about Y', 'what does the web say about Z', 'look up W online'. Backed by SearXNG or Brave when configured, with a keyless fallback so it always responds.
/v1/web/searchPOSTPersistent per-namespace key-value memory so a stateless agent can remember things between calls and sessions. Ops: set (optional TTL), get, list, delete; values are arbitrary JSON. Authenticate with a namespace + token you choose (first use binds the token). Answers 'remember this for later', 'recall what I stored', 'persist state across runs', 'give my agent memory'.
/v1/agent/kvPOSTA queryable reputation / track-record for agent or wallet addresses — a trust primitive for the agent-to-agent economy. op=report files your standing +1/-1 vote (with optional tag + note) about a subject; op=query returns the aggregate (Wilson confidence score, up/down counts, reporter count, recent notes). Answers 'is this agent/address trustworthy', 'reputation of X', 'rate this counterparty', 'credit score for this agent'.
/v1/agent/reputationPOSTRegister a webhook we'll call back at a future time — one-shot ('delaySeconds' or 'at') or recurring ('everySeconds') — so an ephemeral agent can do delayed or periodic work it otherwise can't. op=create/list/cancel. Anti-abuse: the callback URL must echo a challenge token (ownership check) before a job is accepted. Answers 'call me back in an hour', 'ping my webhook every day', 'schedule a future task', 'cron for my agent'.
/v1/agent/schedulePOSTCheck text for grammar and spelling issues (LanguageTool), returning each problem with a message, the offending span, and suggested fixes. For writing/editing/content agents. Answers 'proofread this', 'check this text for grammar', 'fix spelling and grammar', 'is this sentence correct'.
/v1/text/grammarPOSTEstimate the likely age, gender, and nationality associated with a first name (agify/genderize/nationalize, in one call). Statistical priors over the name, not facts about a person — for personalization and form enrichment. Answers 'likely gender of this name', 'what age does this name suggest', 'probable nationality of X'.
/v1/identity/name-insightsPOSTNotable historical events, births, deaths, or holidays for a calendar date (defaults to today), from Wikipedia. For trivia, content, and daily-digest agents. Answers 'what happened on June 3', 'historical events today', 'who was born on this date', 'on this day in history'.
/v1/data/on-this-dayPOSTSearch books by title, author, or keyword (Open Library) — title, authors, first-publish year, ISBN, cover. Complements data/isbn (direct ISBN lookup). Answers 'find books about X', 'books by author Y', 'what's the ISBN of Z', 'search for this book'.
/v1/data/book-searchPOSTSearch TV shows (TVmaze): genre, status, network, rating, premiere date, summary. For media/entertainment agents. Answers 'info about Breaking Bad', 'what network is show X on', 'is this show still running', 'rating of Y'.
/v1/data/tv-showPOSTFind recipes by meal name or by a main ingredient (TheMealDB): category, cuisine, ingredients with measures, and instructions. For cooking/meal-planning agents. Answers 'recipe for arrabiata', 'meals with chicken', 'how do I make X', 'what can I cook with Y'.
/v1/data/recipePOSTFetch the lyrics for a song given the artist and title (lyrics.ovh). For music/content agents. Answers 'lyrics to Yellow by Coldplay', 'get the words to this song', 'what are the lyrics of X'. Coverage is community-sourced, so some songs are missing.
/v1/data/lyricsPOSTA random quote, or the quote of the day (ZenQuotes). For content/greeting agents. Answers 'give me a quote', 'quote of the day', 'inspirational quote', 'a motivational saying'.
/v1/data/quotePOSTSearch anime titles (Jikan / MyAnimeList): type, episode count, score, year, status, genres, synopsis. For media/entertainment agents. Answers 'info about Naruto', 'score of this anime', 'anime like X', 'how many episodes does Y have'.
/v1/data/animePOSTLook up a sports team (TheSportsDB): sport, league, country, stadium, founding year, description. For sports chat agents. Answers 'info about Arsenal', 'what league is team X in', 'where does Y play', 'when was this team founded'.
/v1/data/sports-teamPOSTCompute network & broadcast addresses, usable host range, netmask, wildcard, address/host counts, and private/public for an IPv4 CIDR — or test whether an IP is inside the block. Subnet math LLMs get wrong; this is deterministic. Answers 'what's the range of 10.0.0.0/24', 'is this IP in this subnet', 'how many hosts in /26', 'netmask for /20'.
/v1/util/cidrPOSTSign a JWT from a payload + secret (with optional expiry), or verify a token's signature and expiry — HS256/384/512. Cryptography an LLM cannot perform. Complements util/jwt-decode (decode only). Answers 'sign this JWT', 'create a token', 'verify this JWT signature', 'is this token valid/expired'.
/v1/util/jwtPOSTHash a password with bcrypt or scrypt, or verify a password against a stored hash (auto-detects the algorithm). These KDFs are deliberately slow and an LLM cannot compute them — the real primitive for signup/auth. The password is never logged. Answers 'hash this password', 'verify this password against this bcrypt hash', 'is this the right password'.
/v1/util/password-hashPOSTValidate the check digit of common identifiers: credit-card & IMEI (Luhn), ISIN & CUSIP (securities), VIN (vehicles), EAN-13/UPC-A (products), ABA routing numbers, ISBN-10/13. Each uses a different fiddly algorithm. Answers 'is this ISIN valid', 'validate this VIN', 'is this a valid routing number', 'check this barcode/ISBN'.
/v1/util/identifierPOSTSplit text into chunks of at most N TOKENS with optional overlap, using the GPT tokenizer — the everyday RAG primitive agents need before embedding/retrieval. Chunking by characters is wrong because models count tokens. Answers 'chunk this document for RAG', 'split this into 500-token pieces', 'token-aware chunking with overlap'.
/v1/util/chunkPOSTCash-flow analytics: net present value (npv), internal rate of return (irr), date-aware IRR (xirr), and compound annual growth rate (cagr). IRR/XIRR are root-finding problems LLMs reliably get wrong; this is deterministic. Answers 'IRR of these cash flows', 'NPV at 10%', 'CAGR from 100 to 200 over 3 years', 'XIRR for these dated flows'.
/v1/finance/cashflowPOSTPure geospatial math on coordinates: great-circle distance, initial bearing, destination point (from bearing+distance), midpoint, bounding box, point-in-polygon, and spherical polygon area. The trig is fiddly; this is deterministic. Answers 'bearing from A to B', 'is this point inside this polygon', 'area of this polygon', 'point N km from here at bearing X'.
/v1/maps/geoPOSTSunrise, sunset, solar noon, dawn/dusk, golden hour, plus moon phase and illumination for a coordinate and date (computed in-process). The astronomy is non-trivial and exact. Answers 'sunrise/sunset here', 'golden hour today', 'moon phase tonight', 'when is dusk at these coordinates'.
/v1/data/sun-moonPOSTReturns an actionable patch-priority bucket (P0-P4) with rationale for a CVE by joining CISA KEV (active exploitation), FIRST EPSS (30-day exploit probability), and CVSS base score — the join no single source gives you. Answers 'should I patch this CVE now', 'is this CVE actively exploited', 'exploit probability of CVE-2021-44228', 'patch priority for a CVE'.
/v1/security/exploit-priorityPOSTReturns a malicious/suspicious/clean verdict and 0-100 risk score for a URL by joining abuse.ch URLhaus and OpenPhish threat feeds with structural red flags (risky TLD, raw-IP host, punycode, '@' obfuscation, deep subdomains). Answers 'is this URL malicious', 'phishing check for this link', 'reputation of this URL', 'is this link safe to click'.
/v1/security/url-reputationPOSTReturns a 0-100 risk score and verdict for an IPv4 address by joining the Spamhaus DROP list (hijacked/criminal netblocks), the FireHOL level-1 blocklist, and the dan.me.uk Tor exit-node list. Answers 'is this IP malicious', 'IP reputation / risk score', 'is this a Tor exit node', 'is this IP on a blocklist'.
/v1/security/ip-reputationPOSTReturns a malware verdict for an MD5/SHA-1/SHA-256 file hash from abuse.ch MalwareBazaar's keyless recent-samples corpus, normalized to family/signature, file type, first-seen, and tags. Answers 'is this file hash malware', 'what malware family is this hash', 'MalwareBazaar lookup', 'is this SHA256 known-bad'.
/v1/security/file-hashPOSTGenerates likely impersonation domains for a domain (homoglyph swaps, keyboard typos, omission/insertion/transposition, alternate TLDs), checks which actually resolve in DNS, and risk-ranks them so registered lookalikes surface first. Answers 'typosquat domains for this domain', 'lookalike domains of X', 'which lookalikes are registered', 'phishing domain variants'.
/v1/security/lookalike-domainsPOSTChecks an IPv4 address against ~12 well-known DNS blocklists (Spamhaus ZEN/SBL/XBL/PBL, Barracuda, SpamCop, SORBS, UCEPROTECT, CBL, DroneBL) in parallel and aggregates into one verdict with category classification (spam/proxy/exploit/policy). Answers 'is this IP blacklisted', 'DNSBL / RBL check', 'is this IP on Spamhaus', 'is this a spam source'.
/v1/security/dnsblPOSTReturns how many known breaches contain a password plus a severity read, using the HIBP Pwned Passwords range API with k-anonymity — only the first 5 chars of the SHA-1 leave this process, so the full hash and password are never exposed. Answers 'has this password been pwned', 'how many breaches contain this password', 'is this password safe', 'pwned password count'.
/v1/security/password-pwnedPOSTLook up the public breaches affecting a domain via Have I Been Pwned's keyless catalog, normalized into a clean schema: each breach with date, accounts pwned, and exposed data classes, sorted newest-first, plus a rolled-up list of all distinct data classes leaked and the total accounts exposed. Answers 'what breaches hit acme.com', 'has this domain been breached', 'what data was exposed in breaches of this company', 'how many accounts leaked for this domain'.
/v1/security/email-breachesPOSTFetch a URL's response headers and grade them against a Mozilla-Observatory-style rubric (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP, Server disclosure), returning a weighted 0-100 score, a letter grade, per-header pass/fail with the reason, and a concrete fix for every failing header. The value-add: it scores and prescribes, it does not just echo headers. Answers 'grade the security headers of this site', 'is my CSP/HSTS configured correctly', 'what security headers am I missing', 'how do I fix my header score'.
/v1/security/headers-gradePOSTResolve a MITRE ATT&CK technique ID (e.g. T1059 or T1059.001) to its name, description, tactics, and platforms, plus — the value-add — the mitigations, detection strategies, and adversary groups associated with it, resolved by walking the ATT&CK STIX relationship graph (lazy-loaded keyless Enterprise bundle, cached daily). Answers 'how do I mitigate T1059', 'which APT groups use this technique', 'how do I detect command-and-scripting-interpreter abuse', 'what tactic is this ATT&CK technique under'.
/v1/security/mitre-techniquePOSTResolve a CWE ID (e.g. CWE-79 or 79) to its name, abstraction, and plain-text description, plus — the value-add — its potential mitigations (phase + strategy + text), related weaknesses (parent/child/peer with nature), and real observed CVE examples, all extracted from MITRE's official CWE XML catalog (lazy-loaded keyless zip, unzipped in-process, cached daily). Answers 'what is CWE-79', 'how do I mitigate this weakness', 'what CVEs are examples of this CWE', 'what weaknesses are related to SQL injection'.
/v1/security/cwePOSTGiven an IP address or domain, fetch the authoritative RDAP record (keyless rdap.org bootstrap) and walk the nested entity tree to extract the abuse-role contact (email/phone), the network/registry owner, the allocation range and handle, and country — flattening RDAP's painful nested vCard arrays into one 'where do I report abuse' answer. Answers 'who do I report abuse for this IP to', 'abuse contact for this domain', 'who owns this IP range', 'abuse email for a network'.
/v1/security/abuse-contactPOSTProfile an autonomous system (e.g. AS15169) by joining three keyless RIPEstat data calls — as-overview (holder/RIR), as-routing-consistency (announced prefix count + BGP peer count), and abuse-contact-finder — then DERIVING a hosting-vs-transit network classification and a footprint tier from the prefix and peer counts, plus the abuse-reporting contact. Answers 'who owns AS15169', 'is this ASN a transit or hosting network', 'how many prefixes does this AS announce', 'abuse contact for an autonomous system'.
/v1/security/asnPOSTPure-compute IOC processor: scan text for indicators of compromise, detect and classify each (ipv4, ipv6, domain, url, email, md5/sha1/sha256 hash, cve), and convert safely between defanged (hxxp://, 1[.]2[.]3[.]4, evil[dot]com) and live forms — returning each indicator with its type, value, and defanged form plus counts by type. Deterministic and offline. Answers 'defang these IOCs', 'refang this hxxp link', 'what indicators are in this text', 'classify these IOCs by type'.
/v1/security/ioc-defangPOSTFuzzy-match a person's name against the OpenSanctions Politically Exposed Persons (PEP) bulk snapshot (Jaro-Winkler + token reordering, alias-aware) and return scored matches with role, countries, birth date and aliases. The curated PEP corpus plus good fuzzy matching is the value-add — distinct from OFAC sanctions (PEPs are elevated-risk officials, not sanctioned). Answers 'is this person a PEP', 'politically exposed person check', 'screen this name for PEP status', 'KYC PEP match'.
/v1/identity/pep-screenPOSTFuzzy-match a name against the US Trade.gov Consolidated Screening List — the federated union of 10+ export-control / restricted-party lists (BIS Entity List & Denied Persons, OFAC SDN, State ITAR debarred, etc.) — and return scored matches with the source list, programs, countries and a name-vs-alias match explanation. The curated federated corpus is the moat. Answers 'is this company on a denied-party list', 'export control screening', 'restricted party check', 'BIS Entity List match'.
/v1/identity/denied-partyPOSTScore a country's money-laundering and sanctions risk by joining the FATF grey list (increased monitoring) + FATF black list (call for action) + comprehensive OFAC sanctions programs into one deterministic 0-100 score with a risk band and the contributing factors. Three authoritative signals normally in three places, one answer. Accepts ISO alpha-2/3 or country name. Answers 'AML risk of this country', 'is this country FATF grey-listed', 'sanctions risk for Iran', 'country compliance risk score'.
/v1/identity/country-riskPOSTCheck a ship name or IMO number against the OFAC SDN vessel records (free public sdn.csv) — we parse the vessel rows out of the flat file, extract the IMO from the unstructured remarks, and serve exact-IMO lookup plus fuzzy name matching with the vessel's flag, type, call sign, tonnage and program. Maritime compliance teams pay for exactly this. Answers 'is this vessel sanctioned', 'OFAC vessel check by IMO', 'sanctioned ship lookup', 'screen this vessel name'.
/v1/identity/vessel-screenPOSTValidate the ISO 9362 BIC structure (the 8-vs-11, test-flag and primary-office rules LLMs get subtly wrong) and decode every component — institution/bank code, ISO-3166 country (mapped to a country name), location code, branch — flagging test BICs and passive participants, and resolving a curated snapshot of well-known institutions to a bank name. Deterministic, offline. Answers 'is this a valid SWIFT/BIC code', 'what bank is this BIC', 'decode this BIC', 'what country is this SWIFT code'.
/v1/identity/swift-bicPOSTCompute a composite supply-chain risk score (0-100) and band for an npm or PyPI package by joining OSV.dev vulnerabilities, typosquat distance to the ecosystem's most-installed packages, and maintenance signals (age, days-since-release, deprecation/yank) into one weighted read with rationale. Answers 'is this package safe to install', 'risk score for this npm package', 'is this a typosquat of a popular package', 'should I trust this dependency'.
/v1/dev/package-riskPOSTQuery OSV.dev for a package (npm, PyPI, Go, crates.io, Maven, etc.) and return every advisory normalized into one clean schema — id, CVE/GHSA aliases, severity label, CVSS vector, summary, fixed-in versions, references — sorted worst-first. Answers 'known vulnerabilities in this package', 'CVEs for lodash 4.17.15', 'what version fixes this advisory', 'GHSA advisories for this dependency'.
/v1/dev/package-vulnsPOSTScore how likely a package name is impersonating a popular one, combining Levenshtein edit distance, homoglyph/confusable folding, and separator-swap transforms against a snapshot of the most-installed npm/PyPI packages, then ranking the closest legitimate targets with a confidence label. Pure compute. Answers 'is this package a typosquat', 'what popular package does this impersonate', 'is expres a squat of express', 'check this name for impersonation'.
/v1/dev/typosquatPOSTSearch NVD by vendor/product keyword and return recent CVEs normalized into one schema (id, severity, CVSS score, vector, summary, dates, references), re-sorted by CVSS severity so the most dangerous issue leads — a product-wide view that complements the single-ID security/cve lookup. Answers 'recent CVEs for log4j', 'vulnerabilities in openssl', 'most severe CVEs for this product', 'NVD search by product name'.
/v1/dev/cve-for-productPOSTFetch the newest non-prerelease, non-draft GitHub release for owner/repo and return a clean parsed view — fully parsed semver (major/minor/patch/prerelease/build), changelog body, download assets (name/size/url/downloads), author, and days-since-publish; falls back to scanning the release list when the tagged latest is a prerelease. Answers 'latest stable release of facebook/react', 'changelog for this repo', 'download assets for the newest release', 'what version did this project just ship'.
/v1/dev/github-releasePOSTNormalize PyPI's sprawling JSON for a package into one clean schema — latest version, resolved license (from metadata or classifiers), runtime dependency list (extras excluded), supported Python versions, release count, age, days-since-last-release, yanked flags, and a maintenance read (active/stale/abandoned/yanked). Parallels dev-npm-package for Python. Answers 'metadata for this PyPI package', 'what license does requests use', 'is this Python package maintained', 'dependencies of this pip package', 'is this release yanked'.
/v1/dev/pypi-packagePOSTReturns normalized Docker Hub tag metadata for an image reference: per-tag compressed size, architectures, OS, last-pushed time, and digest, plus a derived summary (total tags, newest tag, multi-arch flag, latest digest). The value-add is normalizing Docker Hub's deeply nested paginated tag API into one clean schema. Answers 'what tags does the nginx image have', 'is this image multi-arch', 'how big is the redis docker image', 'latest digest for grafana/grafana'.
/v1/dev/docker-imagePOSTJoins the npm registry (latest publish date, deprecation flag) with the linked GitHub repo (last push, open issues, archived flag, stars) and derives a single maintenance verdict — maintained / at-risk / abandoned — with a 0-100 score and the contributing signals. The value-add is the multi-source join + scoring in one call. Answers 'is this npm package still maintained', 'is this dependency abandoned', 'how long since this package was updated', 'is this library deprecated'.
/v1/dev/abandonedPOSTReturns an npm package's minified + gzipped byte size, dependency count, tree-shakeable and side-effect-free flags, a derived weight class, and estimated download time on slow 3G / 4G — normalized from Bundlephobia. The value-add is the derived weight classification and download-time estimate over the raw blob. Answers 'how big is this npm package', 'gzip size of lodash', 'is this package tree-shakeable', 'is this dependency heavy'.
/v1/dev/bundle-sizePOSTResolves a semver range (^, ~, x-ranges, hyphen ranges, comparator sets) against a list of candidate versions: which versions satisfy, the highest match, whether a specific version is in range, and the next breaking (major) version — fully deterministic. Semver range math is fiddly and LLMs get it subtly wrong. Answers 'which versions satisfy ^1.2.0', 'is 1.9.9 in this range', 'highest version matching ~0.4.1', 'what is the next breaking version'.
/v1/dev/semverPOSTReturns an SPDX license's canonical name, OSI/FSF status, structured permissions / conditions / limitations (choosealicense.com taxonomy), a copyleft classification (none/weak/strong/network), and quick compatibility hints — from a vendored snapshot. The value-add is the normalized obligation breakdown + copyleft flag an agent would otherwise scrape. Answers 'what are the obligations of GPL-3.0', 'is Apache-2.0 copyleft', 'permissions and limitations of MIT', 'is AGPL network copyleft'.
/v1/dev/spdx-licensePOSTResolves an npm package's GitHub repo and aggregates every GitHub release whose tag falls in (from, to] into one semver-ordered diff (version, date, prerelease flag, notes), plus a breaking-change flag and major-bump count. The value-add is the span aggregation + ordered selection across many releases that an agent would otherwise paginate by hand. Answers 'what changed between v2 and v3 of this package', 'aggregate release notes across versions', 'are there breaking changes upgrading', 'changelog from 1.0.0 to 2.0.0'.
/v1/dev/changelogPOSTScreen a crypto address against the official US Treasury OFAC SDN digital-currency-address list, returning not just a sanctioned boolean but WHO it belongs to (entity name + SDN entry number), WHICH sanctions program(s) it falls under, and the chain — across every chain OFAC tracks (BTC, ETH, TRX, XMR, USDT, etc.). The authoritative SDN CSV is snapshotted daily and served as instant lookups. Answers 'is this wallet sanctioned by OFAC', 'who does this sanctioned address belong to', 'what program is this address under', 'screen this crypto address for compliance'.
/v1/chain/sanctioned-addressPOSTClassify an EVM address against a curated label set of well-known exchanges, bridges, mixers, tokens, and infrastructure contracts, returning a clean category taxonomy (exchange / bridge / mixer / contract / token / burn / unknown) plus a derived risk grade (mixers flagged high). Turns a raw 0x string into a 'who is this?' answer in one call. Answers 'whose wallet is this address', 'is this a Binance/Coinbase hot wallet', 'is this a Tornado Cash mixer address', 'classify this contract address'.
/v1/chain/address-labelPOSTCheck a stablecoin's peg health by joining DefiLlama's stablecoin feed with CoinGecko spot, returning the consensus price, basis-point deviation from $1, a cross-source spread, circulating supply, and a derived status (stable / watch / depeg) an agent can branch on. Saves the caller from fetching two feeds and doing band math. Answers 'is USDC depegged', 'how far off peg is this stablecoin', 'stablecoin peg status', 'is USDT trading at $1'.
/v1/chain/stablecoin-depegPOSTCurrent gas price across N EVM chains (ethereum, base, arbitrum, optimism, polygon, bsc, avalanche) in ONE call, each joined with its native-token USD price to quote the concrete dollar cost of a plain transfer and a typical swap, ranked cheapest-first. Saves agents from per-chain RPC + price calls and error-prone wei->gwei->USD math. Answers 'gas price on base vs arbitrum', 'cheapest chain to transact right now', 'how much USD to send a transaction', 'multi-chain gas comparison'.
/v1/chain/gas-multiPOSTDerive a wallet's first-transaction date, lifetime transaction count, and age in days from a keyless block explorer, then score a single freshness verdict (empty / fresh / new / established / veteran) an agent can branch on for risk. Turns a raw tx list into one risk-grade signal. Answers 'how old is this wallet', 'is this a brand-new wallet', 'first transaction date of this address', 'wallet freshness risk signal'.
/v1/chain/wallet-agePOSTReturn normalized block facts (height, time, tx count, gas used / limit, gas-used %, base fee in gwei) by block number, 'latest', OR a unix timestamp — the timestamp path binary-searches the chain to resolve 'which block was live at time T?', a primitive no single RPC method provides. Raw hex is decoded into clean numbers. Answers 'what block was at this timestamp', 'block info for height N', 'latest block on base', 'gas used in this block'.
/v1/chain/blockPOSTCross-resolve a US stock ticker, SEC CIK (central index key), or company name against the SEC's public company_tickers snapshot, returning the zero-padded 10-digit CIK (the form EDGAR APIs require), the ticker, the legal title, and a ready EDGAR link. The value-add is the normalized cross-map + fuzzy name search over a corpus agents otherwise download and index themselves. Answers 'what is Apple's CIK', 'which company is ticker AAPL', 'CIK for Microsoft', 'find the ticker for this company name'.
/v1/finance/ticker-resolvePOSTConvert between a US CUSIP and ISIN (ISIN = 'US' + CUSIP + computed check digit) in either direction AND independently validate both check digits with the correct algorithms (CUSIP modulus-10 double-add-double over base-36; ISIN Luhn over digit-expanded chars). Deterministic securities-identifier math LLMs get wrong. Answers 'convert this CUSIP to ISIN', 'what is the ISIN for CUSIP 037833100', 'is this ISIN valid', 'validate this CUSIP check digit'.
/v1/finance/cusip-isinPOSTAdjust a dollar amount between two years using the BLS CPI-U index (keyless public API), returning the real (inflation-adjusted) amount, the two index values used, the cumulative inflation %, and the annualized rate. The value-add is picking the right index periods and deriving the metrics, not a raw index dump. Answers 'what is $100 in 1990 worth today', 'inflation between 2000 and 2020', 'adjust this amount for inflation', 'cumulative inflation since 1980'.
/v1/finance/inflation-adjustPOSTJoin the latest values of five headline US indicators into one call: GDP (World Bank), CPI year-over-year + unemployment rate (BLS), the 10-year Treasury par yield (US Treasury), and the effective fed funds rate (NY Fed) — all keyless. The value-add is the join + schema normalization across four sources agents would otherwise call and reconcile separately. Answers 'snapshot of the US economy', 'latest GDP CPI unemployment and rates', 'current US macro dashboard', 'where do US indicators stand now'.
/v1/finance/econ-snapshotPOSTComposite US recession indicator combining the 3-month/10-year Treasury yield-curve inversion (US Treasury) and the Sahm rule from BLS unemployment (3-month moving average minus trailing-12-month low) into one scored signal with a plain-English verdict. The value-add is computing both classic indicators and fusing them. Answers 'are we heading into a recession', 'is the yield curve signaling recession', 'what does the Sahm rule say', 'US recession probability indicators'.
/v1/finance/recession-signalPOSTNormalize the New York Fed's reference-rate feeds (SOFR, EFFR, OBFR, BGCR, TGCR — all keyless) into one clean map and surface the FOMC fed funds target range published alongside EFFR. The value-add is one normalized snapshot across two feeds. Answers 'what is SOFR today', 'current effective fed funds rate', 'SOFR vs EFFR', 'what is the fed funds target range'. (Discount rate and IORB are omitted — no keyless feed exists for them.)
/v1/finance/fed-ratesPOSTDerive the watched Treasury curve spreads (2s10s, 3m10y, 5s30s) in basis points from the latest US Treasury daily par-yield curve (keyless) and flag inversions — the exact recession-watch metrics, computed rather than handing back a raw curve. Answers 'is the yield curve inverted', 'what is the 2s10s spread', 'current 3-month 10-year spread', 'treasury curve spreads in basis points'.
/v1/finance/treasury-spreadPOSTSearch the full text of SEC EDGAR filings via the public EFTS endpoint (keyless) and return a flat, clean result: filer name + 10-digit CIK, form type, filing date, accession number, location, and a ready-to-open filing URL — instead of EFTS's nested Elasticsearch blob. Answers 'find 10-K filings mentioning climate risk', 'which companies disclosed X', 'search SEC filings for this phrase', 'recent 8-K filings about Y'.
/v1/finance/sec-fulltextPOSTTurn a lat/lon into a normalized administrative hierarchy (country, state, county, city, suburb, street, house number, postcode) plus a single formatted address, by collapsing OpenStreetMap Nominatim's messy address fields into one predictable schema. Answers 'what address is at these coordinates', 'reverse geocode this lat/lon', 'what city/country is this point in', 'street address for a GPS fix'.
/v1/maps/reverse-geocodePOSTResolve a lat/lon to its country name, ISO alpha-2/alpha-3 code, continent, and UN region/subregion via offline ray-casting point-in-polygon over a cached Natural Earth boundary snapshot — no per-request network call. Answers 'what country is this point in', 'which country owns these coordinates', 'ISO code for a lat/lon', 'is this point on land or in the ocean'.
/v1/maps/country-atPOSTFind nearby points of interest by category (cafe, restaurant, hotel, hospital, pharmacy, atm, bank, fuel, parking, supermarket, school, park, museum, ...) within a radius — it builds the correct Overpass QL (which agents botch), runs it, and normalizes results into a distance-sorted list with name, coordinates, address, opening hours, phone, and website. Answers 'cafes near me', 'closest pharmacy to these coordinates', 'hotels within 1km', 'find ATMs nearby'.
/v1/maps/osm-poiPOSTTurn a polyline (ordered lat/lon points) into a full elevation profile: evenly resampled points along the route with cumulative distance and height, plus total ascent (gain), descent (loss), min/max/start/end elevation, and net change — using keyless Open-Meteo elevation. Unlike single-point elevation, this profiles a whole route. Answers 'elevation profile of this hike', 'total climbing on this route', 'how much elevation gain along this path', 'min and max altitude of a trail'.
/v1/maps/elevation-profilePOSTMulti-day daily + hourly weather forecast for a city or coordinates from Open-Meteo, normalized from parallel arrays into a clean per-day/per-hour schema with WMO weather-code words, precipitation probability, wind, sunrise and sunset. Answers 'what's the 7-day forecast for Tokyo', 'will it rain tomorrow at these coordinates', 'hourly temperature forecast', 'forecast high and low for the next week'.
/v1/data/weather-forecastPOSTUV index forecast for a city or coordinates from Open-Meteo, returning the current and peak UV with the WHO category word (low/moderate/high/very high/extreme), a per-Fitzpatrick-skin-type burn-time estimate, and protection guidance. Answers 'what's the UV index here', 'how long until I burn in the sun', 'is the UV high today', 'do I need sunscreen right now'.
/v1/data/uv-indexPOSTMarine forecast for coastal coordinates from Open-Meteo, normalized into a clean hourly schema of wave and swell height/period/direction, with each wave height translated into a Douglas sea-state word (calm/slight/moderate/rough/high) plus current and peak wave height. Answers 'what's the surf like here', 'wave height forecast', 'is the sea rough today', 'swell period and direction at these coordinates'.
/v1/data/marinePOSTPollen and air-quality snapshot for a city or coordinates from Open-Meteo, returning current grass/birch/alder/mugwort/ragweed/olive pollen with low/moderate/high/very-high bands, PM2.5/PM10/ozone, the European AQI translated to its category word, and the dominant pollen. Answers 'what's the pollen count here', 'is the air quality bad today', 'which pollen is highest right now', 'AQI and allergy outlook for this city'.
/v1/data/pollenPOSTResolve a 3-letter IATA or 4-letter ICAO airport code to its name, city, country, latitude/longitude, elevation, and IANA timezone in one clean schema, served from a cached OpenFlights public-domain snapshot. Answers 'what airport is JFK', 'where is ICAO EGLL', 'timezone and coordinates of LAX', 'what city is airport code NRT in'.
/v1/data/airportPOSTResolve a 2-character IATA or 3-letter ICAO airline code to its name, country, radio callsign, and active status in one clean schema, served from a cached OpenFlights public-domain snapshot (placeholder rows skipped). Answers 'what airline is AA', 'who is ICAO BAW', 'callsign for Lufthansa code LH', 'is airline code PA still active'.
/v1/data/airlinePOSTResolve a DOI to clean Crossref metadata (title, authors, journal, year, volume/issue/page, publisher, type, citation count) and return a ready-to-paste citation formatted in APA, MLA, Chicago, and BibTeX. The value-add is the four formatted citation strings, which LLMs get subtly wrong. Answers 'cite this DOI in APA', 'BibTeX for 10.1038/nphys1170', 'who wrote this paper', 'how many citations does this DOI have'.
/v1/data/doiPOSTResolve an ORCID iD to a flattened researcher profile via the ORCID public API: name, biography, country, keywords, external links, summarized employment and education affiliations, plus a works summary (count + most recent titles). The value-add is collapsing ORCID's deeply nested record into one clean schema. Answers 'who is ORCID 0000-0002-1825-0097', 'what has this researcher published', 'where does this researcher work', 'this author's affiliations'.
/v1/data/orcidPOSTLook up a scholarly WORK (by DOI or OpenAlex ID) or an AUTHOR (by ORCID or OpenAlex ID) on OpenAlex and return normalized metrics: for works, citation count, year, venue, open-access status and weighted concepts; for authors, works count, total citations, h-index, i10-index and top concepts. The value-add is collapsing OpenAlex's large objects into the few metrics that matter. Answers 'how many citations does this paper have', 'h-index of this author', 'what concepts is this work about', 'is this paper open access'.
/v1/data/openalexPOSTResolve an ISSN to journal info by joining Crossref (canonical title, publisher, DOI counts) with DOAJ (verified open-access status, license, subjects/keywords, APC info, year OA began). The value-add is merging two sources into one schema and answering whether the journal is open access. Answers 'who publishes ISSN 2167-8359', 'is this journal open access', 'what subjects does this journal cover', 'how many articles has this journal published'.
/v1/data/journalPOSTSearch consumer product recalls via the CPSC SaferProducts API and normalize each verbose record into a clean schema: recall date, title, hazard, remedy, affected products, manufacturers/importers/retailers, units, and the official URL, sorted newest-first. The value-add is flattening CPSC's nested arrays into one readable list; distinct from NHTSA vehicle recalls. Answers 'recalls for strollers', 'is this product recalled', 'consumer product safety recalls', 'recent recalls for this brand'.
/v1/data/product-recallPOSTGiven a latitude/longitude (and optional radius) return Wikipedia articles near that point, each with a recomputed great-circle distance in meters, a compass bearing, and a clean article URL, sorted nearest-first. The value-add is the verified distance + bearing and the ready-to-use links. Answers 'what's near these coordinates', 'Wikipedia articles around this lat/lon', 'nearby landmarks', 'what's at this location'.
/v1/data/wiki-geosearchPOSTFetches the live ISS two-line element set (TLE) from Celestrak and propagates the orbit in-process with a self-contained SGP4 propagator to return the next overhead passes for your coordinates: rise time/direction, peak elevation, set time, duration, and a visibility rating. The value-add: turning a raw TLE an LLM cannot propagate into concrete dated viewing times. Answers 'when can I see the ISS', 'next ISS pass over my location', 'ISS overhead times tonight', 'what time does the space station fly over'.
/v1/data/iss-passPOSTResolves a website domain to the organization that owns it by querying the Wikidata knowledge graph (official-website triple) and normalizing the messy graph result into one clean record: legal name, industries, country, inception year, employee count, stock ticker, and logo URL. The value-add: joining the website triple to entity facts so a bare domain becomes a structured company profile, no Clearbit key required. Answers 'who owns this domain', 'what company is behind apple.com', 'company industry and logo for this website', 'what org runs this domain'.
/v1/data/domain-to-companyPOSTMatches a common or scientific name against the GBIF backbone taxonomy and returns the accepted name, the full Linnaean hierarchy (kingdom to species), rank, accepted/synonym status, match confidence, and the global occurrence count of how many times the species has actually been recorded. The value-add: joining the fuzzy name-match endpoint to the occurrence-count endpoint so a messy name becomes a clean, evidence-backed taxonomy record. Answers 'what is the taxonomy of a lion', 'scientific name for this animal', 'how many observations of this species', 'classify this organism'.
/v1/data/gbif-speciesPOSTLooks up a product on Open Food Facts and, beyond normalizing it, RE-COMPUTES the Nutri-Score nutritional grade (A-E) from the raw per-100g nutriments using the official 2017 points algorithm, then cross-checks the computed grade against the stored one. The value-add: deriving and validating a health metric rather than echoing it, plus a clean ingredient/allergen/nutrition schema. Distinct from data-food (USDA). Answers 'Nutri-Score for this barcode', 'how healthy is this product', 'score this food', 'is this barcode product good or bad for me'.
/v1/data/openfoodfactsPOSTReturns retail pump prices (gasoline and diesel) for a country from a curated in-module snapshot, normalized into one schema and enriched: prices in both USD/litre and USD/gallon, each fuel's deviation from the global average, and the country's expensiveness rank. The value-add: converting units, deriving comparisons, and ranking so a bare country name returns a comparable, contextualized price record. Answers 'gas price in Germany', 'diesel cost per gallon in Japan', 'how expensive is fuel here vs the world average', 'cheapest country for petrol'.
/v1/data/fuel-pricesPOSTQueries the public USAspending.gov award-search API for a recipient/company name and aggregates every federal award (contracts + grants) into one rollup: total obligated dollars, award count, average award, the agencies funding them, and a top-awards leaderboard. The value-add: collapsing the paginated per-award firehose into a single recipient-level summary with derived totals. Distinct from a per-program gov-spending feed. Answers 'how much federal money has this company received', 'government contracts to this recipient', 'top awards for this organization', 'US gov spending on this vendor'.
/v1/data/spending-recipientPOSTParse a standard 5-field cron expression (or @daily/@hourly aliases) into a plain-English description AND compute the next N fire times in any IANA timezone. Cron semantics (steps, ranges, DOM/DOW-OR) are subtle and LLMs get them wrong; this is deterministic. Answers 'what does 0 9 * * 1-5 mean', 'next 5 runs of this cron', 'explain this crontab', 'when does */15 * * * * fire'.
/v1/data/cron-describePOSTExpand an iCalendar RFC-5545 recurrence rule (FREQ + INTERVAL + BYDAY/BYMONTHDAY/BYMONTH + COUNT/UNTIL) from a DTSTART into the next N concrete datetimes. RRULE math (BYDAY ordinals, INTERVAL skips, COUNT/UNTIL bounds) is fiddly and LLMs get it wrong; this is deterministic. Answers 'next 5 occurrences of FREQ=WEEKLY;BYDAY=MO,WE,FR', 'expand this RRULE', 'when does this recurring event fire', '2nd Tuesday of each month'.
/v1/data/rrulePOSTGeocode a place name (OpenStreetMap) to coordinates, resolve its IANA timezone (Open-Meteo), and return the current local time, UTC offset, timezone abbreviation, and whether it is observing DST right now. The full fuzzy-name to coordinates to timezone to live-clock join is something an LLM cannot do (no clock, no tz database). Answers 'what time is it in Tokyo', 'current time in Paris', 'is it DST in Sydney now', 'UTC offset for Mumbai'.
/v1/data/time-inPOSTAdd or subtract N business days to a date, or count the working days in a range, honoring a country's public holidays (Nager.Date) on top of weekends — with a breakdown of which weekends and holidays were skipped. The country-holiday-snapshot join is the moat over naive weekday math. Answers '10 business days after this date in the US', 'how many workdays between two dates in Germany', 'subtract 5 working days skipping holidays', 'business days in this range'.
/v1/data/workdayPOSTReturn ISO-8601 week number & week-year, quarter, day-of-year, days remaining in the year, weekday, leap-year flag, a configurable fiscal-year/quarter mapping, and a relative description ('3rd Wednesday of the month'). ISO week numbering and fiscal mapping are fiddly and LLMs get them wrong; this is deterministic. Answers 'what ISO week is this date', 'which quarter is this', 'day of year', 'fiscal year for a date with an October fiscal start'.
/v1/data/week-infoPOSTCompute the next occurrence of a recurring event (next Friday-the-13th, next leap day, next New Year, next named weekday) or an explicit target date, plus the exact time-until broken into days/hours/minutes. The recurrence-finding math (e.g. the next Feb 29 or the next Friday the 13th) is something LLMs get wrong; this is deterministic. Answers 'when is the next Friday the 13th', 'how long until the next leap day', 'countdown to New Year', 'time until next Monday'.
/v1/data/countdownPOSTResolve an ISO 18245 4-digit merchant category code to its official description plus a high-level group (Retail, Restaurants, Travel, Financial, etc.) so payment agents can classify transactions. Answers 'what is MCC 5411', 'category for grocery stores', 'group for 4111', 'describe merchant code 5812'.
/v1/ref/mccPOSTGiven an alpha-2, alpha-3, numeric code, or country name, return the full ISO 3166-1 cross-walk (alpha2/alpha3/numeric/name) plus UN M49 region/subregion and a validity flag — the normalization agents need for messy country fields. Answers 'convert US to alpha-3', 'what is country code 826', 'is XX a valid country', 'region for Japan'.
/v1/ref/country-codesPOSTResolve a 3-letter ISO 4217 code to currency name, symbol, the MINOR-UNIT exponent (decimal places agents get wrong — JPY 0, USD 2, BHD 3), and the countries using it — the value-add for correct money math. Answers 'how many decimals does JPY have', 'symbol for EUR', 'what countries use USD', 'minor units of BHD'.
/v1/ref/currencyPOSTGiven an ISO 639-1/2/3 code or a name, return the cross-walked codes plus English name, native (endonym) name, default script, and writing direction (ltr/rtl) — the value-add for rendering localized text. Answers '639-3 code for English', 'is Arabic RTL', 'native name of de', 'language for code zh'.
/v1/ref/languagePOSTResolve an HTTP status code to its reason phrase, defining RFC, category (1xx-5xx), and the derived operational flags cacheable + retryable — the semantics agents need to decide whether to retry or cache. Answers 'what does 429 mean', 'is 503 retryable', 'RFC for 418', 'is 200 cacheable'.
/v1/ref/http-statusPOSTResolve a port number (and optional tcp/udp protocol) to its IANA-registered service, a plain description, the range category, and a security RISK note flagging ports commonly abused in attacks — the value-add over a bare IANA list. Answers 'what runs on port 3389', 'is port 23 dangerous', 'service for tcp/443', 'risk of exposing 6379'.
/v1/ref/portPOSTLook up by file extension ('.pdf') or MIME type ('application/pdf') and get the canonical MIME, extensions, a coarse category, whether the format is binary vs text, and common aliases — the bidirectional cross-walk agents need for content-type handling. Answers 'MIME type for .png', 'extension for application/json', 'is image/jpeg binary', 'category of text/csv'.
/v1/ref/mimePOSTGiven a TLD ('.com', 'uk') or a hostname ('example.co.jp'), return the sponsoring registry, the type (gTLD/ccTLD/sponsored/new-gTLD), the associated country for ccTLDs, and IDN/DNSSEC support flags — the value-add over a flat IANA list. Answers 'who runs .com', 'is .io a country code', 'registry for .org', 'country for .de'.
/v1/ref/tldPOSTGiven a character or codepoint ('A', 'U+0041', '0x41', '65') return codepoint (hex+decimal), Unicode block, general category, UTF-8/UTF-16 encodings, and — the security value-add — CONFUSABLE homoglyph look-alikes used in spoofing/phishing. Answers 'what is U+0041', 'codepoint of é', 'is this a Cyrillic look-alike', 'confusables for the letter a'.
/v1/ref/unicodePOSTLook up by emoji glyph ('🚀'), CLDR shortcode (':rocket:'), or name keyword and get the canonical name, shortcode, category/group, and the Unicode codepoint sequence — the bidirectional cross-walk agents need to render or interpret emoji. Answers 'what is 🚀', 'shortcode for fire', 'codepoints of 😀', 'emoji for thumbs up'.
/v1/ref/emojiPOSTParse a raw User-Agent string into browser+version, OS+version, device type (desktop/mobile/tablet/bot), and — the value-add — BOT detection flagging crawlers, AI agents, headless browsers, and HTTP libraries from a curated ruleset. Answers 'what browser is this UA', 'is this a bot', 'what OS does this user agent indicate', 'detect crawler from user agent'.
/v1/ref/user-agentPOSTResolve any domain to its registrable domain (eTLD+1), public suffix, and subdomain using the canonical Mozilla Public Suffix List (cached daily), with correct wildcard/exception handling and ICANN-vs-PRIVATE flags. The MORE: agents get eTLD+1 wrong constantly; this is list-backed and deterministic. Answers 'what is the registrable domain of foo.bar.co.uk', 'eTLD+1 of this hostname', 'public suffix for this domain', 'is this an ICANN or private suffix'.
/v1/ref/public-suffixPOSTReturn a country's postal-code regex, human-readable format, and example for ~45 countries, and optionally validate a supplied code against the pattern (case/space-normalized). The MORE: most agents only know the US 5-digit zip; this is a curated multi-country format table plus real regex validation. Answers 'what is the postal code format for the UK', 'validate this Canadian postcode', 'postal regex for Germany', 'is this a valid zip code'.
/v1/ref/postal-formatPOSTResolve an ISO 10383 MIC to its exchange name, operating MIC, country, city, IANA timezone, and regular trading hours, then compute whether the market is OPEN RIGHT NOW (timezone + weekday aware). The MORE: a curated MIC table joined with a live open/closed calculation an LLM can't do. Answers 'what exchange is MIC XNYS', 'is the LSE open now', 'trading hours for Tokyo Stock Exchange', 'timezone of this market code'.
/v1/ref/micPOSTLook up a NAICS or SIC industry code by number (with NAICS sector context), or search both classification systems by keyword, returning matching codes and titles. The MORE: a curated cross-system table so agents can map between NAICS and legacy SIC and resolve a code to a human-readable industry. Answers 'what is NAICS 541511', 'SIC code for software', 'industry name for this code', 'NAICS to SIC mapping'.
/v1/ref/naics-sicPOSTGiven an IANA timezone name, return the current local time, UTC offset (signed minutes + ±HH:MM), the standard offset, the abbreviation, and whether DST is currently in effect (derived from the embedded tz database). The MORE: agents get offsets and DST wrong; this is computed deterministically with correct DST handling. Answers 'what is the UTC offset of America/New_York', 'is it DST in this timezone now', 'current time in Tokyo', 'timezone abbreviation for this zone'.
/v1/ref/timezonePOSTDecode a VIN's World Manufacturer Identifier offline: country/region of assembly (ISO 3779) and manufacturer (inline WMI prefix table); for a full 17-char VIN it also validates the ISO 3779 check digit and extracts the model-year code. The MORE: VIN check-digit math + WMI region map + curated manufacturer table, no NHTSA round-trip. Answers 'who made this VIN', 'what country is this VIN from', 'is this VIN check digit valid', 'decode this WMI'.
/v1/ref/vin-wmiPOSTAccept a CSS/X11 color name or a hex string and return canonical hex, RGB, HSL, the nearest named CSS color (Euclidean RGB distance), relative luminance, and the WCAG contrast ratio + AA/AAA pass flags against black and white. The MORE: the full 148-name CSS color table + nearest-color matching + WCAG contrast math LLMs get wrong. Answers 'what is the hex for tomato', 'nearest named color to #ff0001', 'contrast ratio of this color on white', 'is this color AA accessible'.
/v1/ref/color-namePOSTValidate a 9-digit ABA/RTN via the official check-digit formula, decode the Federal Reserve routing symbol (FRB district + type from the first two digits), and resolve well-known numbers to a bank via an inline table. The MORE: ABA checksum + FRB-district decode + curated bank table, all offline (the full FedACH directory is license-gated). Answers 'is this routing number valid', 'what bank is routing 021000021', 'which Fed district issued this RTN', 'validate this ABA number'.
/v1/ref/bank-routingPOSTResolve a 3-letter IATA code (cached daily from the OurAirports dataset): a metropolitan code (NYC, LON, TYO) expands to all serving airports, while an airport code (JFK) resolves to its city and that city's other airports. The MORE: a curated metro-code -> member-airport table joined against the ~75k-row OurAirports corpus. Answers 'what airports serve NYC', 'which city is JFK in', 'expand the LON metro code', 'airports for this city code'.
/v1/ref/iata-cityPOSTReturn a curated stopword list for an ISO-639-1 language (11 languages incl. en/es/fr/de/zh/ja/ar/ru), and optionally strip stopwords from supplied text returning the filtered tokens + removal stats. The MORE: a multi-language stopword corpus plus an actual tokenize-and-filter step for NLP/RAG pipelines in one call. Answers 'give me English stopwords', 'remove stopwords from this text', 'French stopword list', 'clean this text for indexing'.
/v1/ref/stopwordsPOSTReturn a country's IBAN total length, BBAN structure, and a worked example from the ISO 13616 registry (33 countries), and optionally validate a supplied IBAN (length, allowed characters, and the ISO 7064 mod-97 check). The MORE: the IBAN registry spec table + real mod-97 checksum validation, which LLMs cannot do reliably. Answers 'what is the IBAN length for Germany', 'validate this IBAN', 'IBAN format for the UK', 'is this IBAN checksum valid'.
/v1/ref/iban-countryPOSTFetches and parses a site's robots.txt into per-user-agent allow/disallow groups + crawl-delay, discovers Sitemap directives, and (given a test path) returns a deterministic crawl verdict using correct longest-match precedence. The value-add: it implements the fiddly robots matching rule callers usually get wrong. Answers 'can I crawl this URL', 'what does this site's robots.txt allow', 'find the sitemap from robots.txt', 'is this path disallowed for my bot'.
/v1/web/robotsPOSTFetches a page and fingerprints its technologies (CMS, frameworks, ecommerce, analytics, CDN, JS libraries, server) from response headers + HTML signatures using a built-in ruleset, returning each detection with the evidence that matched. The value-add: messy headers/markup become a clean categorized technology list. Answers 'what is this site built with', 'does this use WordPress/Shopify', 'what analytics does this site run', 'detect the framework behind this URL'.
/v1/web/tech-stackPOSTFetches a page and parses OpenGraph (og:*), Twitter Card (twitter:*), and standard meta/title/canonical tags, merging them with fallbacks into one normalized social card { title, description, image, siteName, type, author, url }. The value-add: any metadata dialect collapses into a single clean object. Answers 'get the social card for this URL', 'what's the OpenGraph image', 'extract title and description from this page', 'preview this link'.
/v1/web/opengraphPOSTFetches a page, scans link rel=alternate tags plus common feed paths to locate RSS/Atom/JSON feeds, then parses the first discovered feed to preview its latest items. The value-add: one call goes from a bare site URL to discovered feed URLs PLUS a parsed preview of recent items. Answers 'find the RSS feed for this site', 'does this blog have a feed', 'discover Atom feeds on this page', 'get the feed URL and latest posts'.
/v1/web/feed-discoverPOSTFetches a feed URL and normalizes RSS 2.0, Atom, and JSON Feed into ONE item schema { title, link, summary, published, author, id } with ISO timestamps. The value-add: callers stop branching on feed dialect — three incompatible formats become one clean list. Answers 'parse this RSS feed', 'normalize this Atom feed', 'read the latest items from this feed', 'convert this feed to JSON'.
/v1/web/feed-parsePOSTFetches a sitemap.xml (or sitemap index) and parses it into a flat URL inventory with ISO lastmod, changefreq, and priority; sitemap-index files are transparently expanded one level. The value-add: nested index + urlset structures collapse into one normalized URL list. Answers 'list all URLs in this sitemap', 'get the sitemap inventory for this domain', 'when was this page last modified per the sitemap', 'expand this sitemap index'.
/v1/web/sitemapPOSTFollows every redirect hop manually (no auto-follow), recording each URL, status code, Location header, and Set-Cookie along the way until the final response, and flags loops + https-to-http downgrades. The value-add: unlike a plain unshortener it returns the FULL per-hop chain with status codes and cookies. Answers 'trace every redirect for this URL', 'what status codes does this link return', 'does this redirect downgrade to http', 'what cookies are set during redirects'.
/v1/web/redirect-chainPOSTResolves a domain's MX records and classifies the email hosting provider (Google Workspace, Microsoft 365, Proton, Zoho, Fastmail, Amazon SES, self-hosted, ...) from the MX hostnames, then reports SPF/DMARC presence as a spam-readiness signal. The value-add: opaque MX hostnames become a named provider plus deliverability posture. Answers 'who hosts this domain's email', 'is this Google Workspace or Microsoft 365', 'does this domain have SPF and DMARC', 'can this domain receive mail'.
/v1/web/mx-providerPOSTDiscovers a site's favicon (from link rel=icon tags, falling back to /favicon.ico), fetches the icon bytes, and computes both a SHA-256 and the Shodan-compatible MurmurHash3 of the base64-encoded body. The value-add: the mmh3 favicon hash is the exact fingerprint used to pivot across hosts serving the same icon for asset discovery / phishing detection. Answers 'get the favicon hash for this site', 'fingerprint this favicon', 'find this site's favicon URL', 'compute the Shodan favicon hash'.
/v1/web/faviconPOSTSends a preflight OPTIONS (with configurable Origin and request method) plus a GET, reads every Access-Control-* response header, and flags misconfigurations: wildcard-with-credentials, reflected origin, null-origin-allowed, wildcard methods/headers, returning a security verdict. The value-add: it interprets headers into a verdict instead of just echoing them. Answers 'is this API's CORS misconfigured', 'does this endpoint allow my origin', 'check CORS preflight for this URL', 'are credentials allowed cross-origin'.
/v1/web/corsPOSTIssues a GET and measures HTTP status, time to first byte, total time, downloaded body size, and redirect status, then for https URLs reads the TLS certificate's days-until-expiry — all in one call with health flags. The value-add: status + latency + payload size + redirect + cert expiry in a SINGLE normalized snapshot. Answers 'is this site up', 'how fast does this URL respond', 'what's the TTFB for this site', 'when does this site's SSL cert expire'.
/v1/web/pingPOSTMatch text against a curated multi-language profanity snapshot (English, Spanish, French, German, Portuguese) and return a flag, per-match severity (mild/moderate/strong), a total severity score, and a masked version of the input — with leet-speak normalization so 'sh1t'/'@ss' still match. Gives a moderation decision, not a raw substring hit. Answers 'is this text profane', 'mask the swear words', 'how bad is this language', 'does this contain profanity in Spanish'.
/v1/text/profanityPOSTReduce text to its Unicode confusable 'skeleton' (mapping Cyrillic/Greek look-alikes, full-width forms and digit/letter swaps to Latin prototypes), report the scripts present, whether it mixes scripts, and a spoof flag — the IDN-homograph / lookalike-domain attack signal — plus an optional comparison to a target string. Answers 'is this a homoglyph spoof', 'does аpple.com spoof apple.com', 'is this domain a lookalike', 'what scripts are in this string'.
/v1/text/confusablesPOSTRomanize non-Latin scripts to Latin/ASCII using curated mapping tables (Cyrillic, Greek, special letters like ß/æ) plus Unicode NFD decomposition to strip diacritics, returning the cleaned text, the scripts seen, an is-ASCII flag, and a URL slug. Real cross-script romanization, not a naive accent strip. Answers 'romanize this Cyrillic', 'transliterate Greek to Latin', 'strip the accents from this', 'make an ASCII slug from this name'.
/v1/text/transliteratePOSTCount syllables per word using a dictionary of known irregulars layered over a vowel-group heuristic (silent-e, diphthongs, consonant+le), produce hyphenation break points, and derive reading (200 wpm) and speaking (130 wpm) time for the whole text. Dictionary-corrected, not a raw vowel count. Answers 'how many syllables in this', 'hyphenate these words', 'reading time of this text', 'syllables per word average'.
/v1/text/syllablesPOSTCheck each word against a common-English dictionary snapshot plus a curated high-frequency typo map, flag unknown words, and return ranked correction suggestions via Damerau-Levenshtein edit distance (distance, then dictionary frequency). Returns corrections, not just a boolean. Answers 'spellcheck this text', 'suggest corrections for these words', 'is this spelled right', 'fix the typos in this'.
/v1/text/spellPOSTEncode a lat/lon to a base32 geohash at a chosen precision, or decode a geohash to its bounding box, center, error margins and the 8 neighbouring cells — the bit-interleaving base32 math LLMs get wrong, computed deterministically. Answers 'what is the geohash for these coordinates', 'decode this geohash to lat/lon', 'what are the neighbouring geohash cells', 'bounding box of geohash u4pruydqqvj'.
/v1/maps/geohashPOSTEncode a lat/lon to a Google Open Location Code (Plus Code) at a chosen length, or decode a code to its bounding box, center and resolution — a faithful implementation of the OLC base-20 pair + grid-refinement algorithm an LLM cannot reproduce. Answers 'what is the Plus Code for these coordinates', 'decode this Plus Code', 'Open Location Code for the Eiffel Tower', 'bounding box of 8FW4V75V+9Q'.
/v1/maps/plus-codePOSTConvert a geographic lat/lon to Universal Transverse Mercator (zone, latitude band, hemisphere, easting, northing) and to an MGRS grid reference, computing the WGS-84 transverse-Mercator projection series an LLM cannot evaluate. Answers 'what is the UTM coordinate for this lat/lon', 'convert these coordinates to MGRS', 'which UTM zone is Paris in', 'easting and northing for 48.8584, 2.2945'.
/v1/maps/utmPOSTConvert lat/lon + zoom to XYZ web-mercator tile coordinates and a Bing Maps quadkey with the tile's geographic bounding box, or decode a quadkey back to tile/zoom + bbox — the slippy-map tiling math an LLM cannot compute reliably. Answers 'what tile contains this lat/lon at zoom 12', 'quadkey for these coordinates', 'decode this quadkey to a tile', 'bounding box of XYZ tile'.
/v1/maps/quadkeyPOSTGiven two IANA timezones, report the current local time and UTC offset in each, the signed hour difference, and COMPUTE the overlapping slice of a 9-17 working day shared by both zones — DST-correct offset math evaluated via Intl that an LLM cannot perform. Answers 'what time is it in Tokyo when it's noon in New York', 'how many hours ahead is London', 'overlapping working hours between two timezones', 'best meeting window across zones'.
/v1/maps/tz-overlapPOSTCompute a geodesic bounding box two ways: from a center lat/lon + radius (km) with correct cos(lat) longitude shrinkage and approximate area, or from a list of points yielding the enclosing bbox, centroid, span in km and area — geodesic degree math an LLM cannot compute. Answers 'bounding box for a 10km radius around these coordinates', 'enclosing box for these points', 'centroid of a set of coordinates', 'how many degrees of longitude is 10km at this latitude'.
/v1/maps/bboxPOSTLooks up an aircraft by callsign or ICAO24 hex on the keyless OpenSky Network and normalizes its raw positional-array state vector into a clean record: live latitude/longitude, barometric & geometric altitude (with feet), ground speed (with knots), heading and compass direction, vertical rate, squawk, origin country and on-ground flag. The value-add: parsing OpenSky's untyped index-based array format an LLM can't reliably decode. Answers 'where is flight X', 'live position of this aircraft', 'altitude and speed of this callsign', 'is this plane on the ground'.
/v1/data/flight-livePOSTResolves a 6-digit ICAO24 transponder hex to its aircraft identity from the keyless OpenSky metadata database: tail registration, manufacturer, model, ICAO type code, operator and owner, plus the country of registration (falling back to the ICAO hex address block when metadata is sparse). The value-add: turning an opaque hex transponder address into a clean aircraft identity card. Answers 'whose plane is hex 4ca7b6', 'registration for this ICAO24', 'what type of aircraft is this', 'which operator owns this hex'.
/v1/data/aircraftPOSTLike data-iss-pass but for ANY object in the NORAD catalog: fetches the live two-line element set (TLE) for a given catalog id from Celestrak and propagates the orbit in-process with a self-contained SGP4 propagator to return the next overhead passes for your coordinates — rise time/direction, peak elevation, set time, duration and a visibility rating. The value-add: TLE orbital propagation an LLM cannot do, generalized to any satellite. Answers 'when does Hubble fly over', 'next pass of NORAD 20580', 'starlink overhead times tonight', 'when can I see this satellite'.
/v1/data/satellite-passPOSTGiven an observer lat/lon (and an optional from-date) returns the next solar and lunar eclipses with date, type (total/annular/partial/penumbral) and a rough local-visibility verdict, computed from a bundled table of real eclipse elements (NASA five-millennium catalog, 2024-2030). The value-add: an astronomy lookup plus a central-path visibility heuristic an LLM cannot reliably recall. Answers 'when is the next solar eclipse here', 'next lunar eclipse', 'will I see the eclipse from my location', 'upcoming eclipses near me'.
/v1/data/eclipsePOSTGiven a NOAA CO-OPS tide station id, fetches today's high/low tide predictions from the keyless tides-and-currents API, normalizes them into clean events (meters and feet) and DERIVES the next upcoming tide and the day's tidal range from the highs and lows. The value-add: turning the raw hi/lo prediction rows into labelled events plus a computed next-tide and range an LLM can't extract. US stations. Answers 'next high tide at station X', 'tide times today', 'when is low tide', 'what is the tidal range here'.
/v1/data/tidePOSTClassic OSINT primitive: given a first name, last name and corporate domain, generates the ranked, de-duplicated list of likely email formats (first.last@, flast@, first@, f.last@, last.first@, …) each with a confidence score derived from real-world pattern prevalence, after sanitizing diacritics and stripping protocol/www from the domain. The value-add: the exhaustive permutation set plus the ranking heuristic, deterministic where an LLM is vague. Answers 'likely email for this person', 'guess corporate email format', 'email permutations for first last at domain', 'most probable work email'.
/v1/osint/email-permutatorPOSTSplit text into sentences and rank each by TextRank-style centrality (a cosine-similarity graph over bag-of-words vectors iterated to a PageRank stationary distribution), then return the top-N most representative sentences in original reading order. Deterministic and reproducible, saving the agent its own context tokens versus summarizing in-context. Answers 'summarize this text', 'extract the key sentences', 'give me a TextRank summary', 'shorten this to N sentences'.
/v1/text/summarize-extractivePOSTExtract ranked keyphrases with RAKE (split into candidate phrases at stop-words and punctuation, then score each word by deg(word)/freq(word) over the co-occurrence graph and sum into phrase scores), plus single-word term frequencies and scores. The extraction algorithm is the value-add, not a raw word count. Answers 'extract keywords from this', 'what are the key phrases', 'RAKE keyword extraction', 'rank the important terms'.
/v1/text/keywordsPOSTScore sentiment with a VADER-style bundled valence lexicon: per-token valence with negation flipping, intensifier boosting and ALL-CAPS/exclamation emphasis, squashed to a compound score in [-1,1] with pos/neg/neutral proportions and a per-sentence breakdown. A stable, deterministic, reproducible score with no model or upstream. Answers 'what is the sentiment of this', 'is this positive or negative', 'score the tone of this text', 'per-sentence sentiment breakdown'.
/v1/text/sentimentPOSTDeterministic NER over free text: extract emails, URLs, IPv4 addresses, phone numbers, money amounts, dates, @handles, #hashtags and capitalized organisation/person candidates (Title-Case spans with an org-suffix gazetteer), each with character offsets and a type. A regex+gazetteer pipeline, no LLM. Answers 'extract entities from this text', 'find the emails and urls', 'pull out names and organizations', 'get money and dates with offsets'.
/v1/text/entitiesPOSTSegment text into sentences, words and extended grapheme clusters with the Unicode-aware Intl.Segmenter (emoji and combining marks count as one grapheme), returning counts at each level plus average words-per-sentence, chars-per-word, code-point and UTF-16 lengths, and reading/speaking time. Correct Unicode segmentation, not a naive space/period split. Answers 'count the sentences in this', 'how many words and characters', 'segment this text Unicode-aware', 'reading time of this passage'.
/v1/text/sentencesPOSTFetch daily price series for a list of CoinGecko coins (keyless) and compute the full Pearson correlation matrix of their daily returns, plus the most- and least-correlated pairs. The value-add is the correlation computation an agent can't get from raw prices — it tells you how a basket actually co-moves. Answers 'how correlated are BTC and ETH', 'correlation matrix for my coins', 'are these tokens diversified', 'do these move together'.
/v1/finance/crypto-correlationPOSTFetch a coin's daily price history (keyless CoinGecko) and compute its risk profile: annualized realized volatility, maximum drawdown, a Sharpe-ish ratio, total return and best/worst day. The value-add is the risk math — an agent gets a price array, not the volatility and drawdown that describe the asset's risk. Answers 'how volatile is BTC', 'max drawdown of ETH', 'annualized volatility of this coin', 'is this token risky'.
/v1/finance/crypto-volatilityPOSTFind a fund's two most recent SEC 13F-HR filings (keyless EDGAR), parse both information tables, and diff them by CUSIP into new buys, full exits, increased and decreased positions. The value-add is the QoQ diff — wave-1 finance-13f only lists current holdings; this shows what the manager actually changed last quarter. Answers 'what did Berkshire buy last quarter', '13F changes for this fund', 'new positions vs exits', 'what did this manager sell'.
/v1/finance/13f-changesPOSTRead eth_feeHistory over the last N blocks from a free public RPC and derive the base-fee distribution: p10/p50/p90 percentiles in gwei, min/max, the current level, and a send-or-wait recommendation based on where the current fee sits in the recent range. The value-add is the percentile derivation — chain/gas gives only the spot fee; this tells you whether now is cheap or expensive. Answers 'is gas cheap right now', 'gas price percentiles', 'should I wait to send', 'recent base-fee range'.
/v1/chain/gas-historyPOSTTake the newest additions to the CISA KEV catalog (keyless, daily-cached) and join each with its FIRST EPSS score, then rank by a blend of recency, exploit probability and ransomware linkage to surface what's hot. The value-add is deriving 'what is hot' from feed deltas — neither feed alone gives a ranked trending list. Answers 'what CVEs are trending', 'newest actively-exploited vulnerabilities', 'what should I patch this week', 'hot CVEs right now'.
/v1/security/cve-trendingPOSTPull recent quakes from the USGS GeoJSON feed (keyless) within a radius, compute the exact great-circle distance (Haversine) to each, sort nearest-first, and aggregate stats: count, strongest magnitude, nearest event, felt-report count and an aftershock count. The value-add is the radius filter, per-event distance and aggregate stats the raw feed doesn't give. Answers 'any earthquakes near me', 'quakes within 200km', 'closest recent earthquake', 'felt earthquakes nearby'.
/v1/science/earthquake-nearbyPOSTFor an entity or topic over a timespan, query GDELT (keyless) for daily article-volume and average-tone timelines, then aggregate them: a combined per-day series, overall average tone, most-positive and most-negative day, peak-volume day and top source domains. The value-add is the tone aggregation over time — data/news returns headlines, this returns the sentiment trajectory. Answers 'how has sentiment about X trended', 'tone timeline for topic Y', 'is coverage positive or negative', 'when did coverage of Z peak'.
/v1/data/news-tonePOSTQuery global news by keyword/topic (optionally filtered by source country or language) via the keyless GDELT DOC API, returning recent headlines normalized into clean objects with title, source domain, canonical URL, ISO 8601 date and numeric tone, plus an average-tone metric. The MORE: GDELT's raw ArtList is messy (compact date strings, string/number tone, domain-only sources) — this parses it into typed headline objects and computes average tone. Answers 'latest news about climate', 'headlines on AI from the US', 'recent articles in French about elections', 'what is the news tone on a topic'.
/v1/data/newsPOSTFetch the most-viewed Wikipedia articles for a given date and project (e.g. en.wikipedia) via the keyless Wikimedia REST API, returning a ranked leaderboard with view counts, canonical links and each article's share of the top-N views. Distinct from data-wiki-pageviews (one article's time series) — this is the daily leaderboard. The MORE: filter pseudo-pages (Main_Page, Special:, Portal:), decode underscored titles, re-rank, and compute each entry's share of total views. Answers 'what is trending on Wikipedia', 'most-read articles on 2026-06-01', 'top pages on German Wikipedia', 'what were people reading about'.
/v1/data/wikipedia-trendingPOSTFormat a numeric amount as a currency string via Intl.NumberFormat given an ISO 4217 currency and BCP-47 locale — correct symbol placement, digit grouping, the right number of minor units (JPY=0, USD=2, BHD=3) and an optional accounting style that parenthesizes negatives. The MORE: locale+currency correctness (symbol position, separators, minor-unit count) that LLMs routinely get wrong. Answers 'format 1234.5 as EUR in de-DE', 'how do you write this amount in JPY', 'accounting format for a negative balance', 'what is the currency symbol for X'.
/v1/ref/money-formatPOSTSpell a number out in English as a cardinal ('one thousand two hundred thirty-four') and an ordinal ('…thirty-fourth'), plus a Roman numeral (1–3999) and a check-writing 'dollars and cents' form. The MORE: the spelled-out conversions LLMs get wrong on edge cases (teens, -ty/-tieth ordinals, scale words, cents rounding). Answers 'write 1234 in words', 'ordinal form of 21', 'Roman numeral for 2026', 'spell this amount for a check'.
/v1/ref/number-wordsPOSTAggregates USGS earthquakes for a region (bbox or center+radius) and period into count, max magnitude, total released energy (joules + TNT-equivalent via the Gutenberg-Richter relation), and a magnitude histogram. Answers 'How seismically active is this area?', 'What is the total earthquake energy released here this month?', 'What is the magnitude distribution near this point?'.
/v1/science/seismicityPOSTCompares today's forecast high/low for a location against the 1991-2020 climate normal for that calendar day (Open-Meteo, keyless), computing the anomaly, a z-score, and a plain verdict. Answers 'Is today unusually hot for this place?', 'What is the temperature anomaly versus the 30-year normal?', 'How does today compare to the historical average?'.
/v1/data/climate-normalPOSTPulls a curated panel of latest World Bank development indicators (GDP, GDP per capita, population, life expectancy, growth, inflation, internet, CO2) for two ISO country codes and computes per-indicator deltas, ratios, and a leader. Answers 'How do these two countries compare?', 'What is the GDP-per-capita ratio between them?', 'Which country has higher life expectancy?'.
/v1/data/country-comparePOSTProjects a country's latest World Bank population figure forward to the present instant using the growth rate implied by the two most recent data points (keyless), yielding a live estimate plus implied per-day and per-second growth. Answers 'What is the population of this country right now?', 'How fast is this country growing?', 'What is the current population projected from the latest figure?'.
/v1/data/population-nowPOSTReads an EVM address's public facts via keyless public RPC (nonce, native balance, code presence) and derives a profile: wallet-vs-contract, an activity tier from the outbound tx count, and funded/dormant signals. Answers 'How active is this wallet?', 'Is this address a contract or a wallet?', 'How many transactions has this address sent?'.
/v1/chain/address-activityPOSTResolves a domain's creation and expiry dates via RDAP (keyless) and derives age in days/years, days-until-expiry, and a young-domain risk bucket (newly-registered domains are a classic phishing signal). Answers 'How old is this domain?', 'When was this domain registered?', 'Is this a newly registered (suspicious) domain?'.
/v1/security/domain-agePOSTDerives the decade-by-decade popularity trend of a US given name from an inlined SSA national rank snapshot (keyless, zero marginal cost): peak decade and rank, current rank, and a rising/falling/stable trajectory. Answers 'Is this name rising or falling?', 'When was this name most popular?', 'What is the popularity trend of this baby name by decade?'.
/v1/data/name-trendPOSTCompute an email's canonical Gravatar MD5 hash, avatar URL, and whether a public Gravatar profile exists, normalizing the profile (display name, location, linked accounts) from the keyless gravatar.com endpoint. The value-add is the correct case/whitespace-sensitive hash plus existence + profile normalization an LLM gets wrong. Answers 'does this email have a Gravatar', 'Gravatar avatar URL for X', 'Gravatar hash of this email', 'is there a public profile for this email'.
/v1/osint/gravatarPOSTAggregate a GitHub username into a single recon card: profile, public repo/follower counts, top languages by repo count, total stars, account age in days, and a recent-push activity signal, from the keyless GitHub REST API. The value-add is the aggregation (top languages, total stars, account age, activity classification) the raw API never hands you. Answers 'who is this GitHub user', 'top languages of X', 'how old is this GitHub account', 'how active is this developer'.
/v1/osint/github-userPOSTBuild a deduped, filtered inventory of every historical URL the Internet Archive captured for a domain via the keyless Wayback CDX API, with first/last capture + snapshot count per URL and status-code/extension summaries. Distinct from a single closest snapshot: this is the full crawl-surface map. The value-add is the CDX normalization and aggregation. Answers 'all archived URLs for this domain', 'historical pages of X', 'wayback URL inventory', 'what paths did this site expose over time'.
/v1/osint/wayback-urlsPOSTResolve a Bitcoin address to balance, total received/sent, transaction count, and a confirmed/unconfirmed split via the keyless mempool.space API, normalized to both sats and BTC. The value-add is folding mempool's chain/mempool stat split into one clean balance sheet, and it opens Bitcoin coverage alongside our EVM endpoints. Answers 'balance of this Bitcoin address', 'total received by this BTC address', 'how many transactions for this wallet', 'is there unconfirmed activity on this address'.
/v1/osint/bitcoin-addressPOSTNormalize a Bitcoin txid into inputs/outputs, total value, fee, fee-rate (sat/vB), confirmations, and block details via the keyless mempool.space API. The value-add is the derived metrics: fee-rate computed from fee/vsize and confirmations derived against the live chain tip, plus a clean input/output list. Answers 'details of this Bitcoin transaction', 'fee of this BTC tx', 'how many confirmations does this txid have', 'what is the fee rate of this transaction'.
/v1/osint/bitcoin-txPOSTFetch an image URL and parse the JPEG APP1 / TIFF EXIF block in-process (no key, no dependency) to extract camera make/model, capture settings, timestamp, and decoded GPS coordinates. The value-add is the in-process EXIF parse and GPS decode, converting rational DMS into a signed decimal lat/lon plus a maps link an LLM cannot recover from raw bytes. Answers 'EXIF data of this image', 'GPS location of this photo', 'what camera took this picture', 'when was this photo taken'.
/v1/osint/image-exifPOSTResolve a domain via the keyless RDAP protocol to registrar, registrant org, nameservers, and status, then surface pivot leads (reverse-nameserver and reverse-registrant) for chasing related domains. The value-add is the relationship surfacing: unwinding RDAP's entity/vcard graph, normalizing nameservers to their apex providers, and emitting ready-to-run pivots without fabricating data. Answers 'who registered this domain', 'nameservers of X', 'what is the registrar', 'how do I pivot to related domains from this one'.
/v1/osint/domain-pivotPOSTAssemble a curated set of ready-to-paste advanced search queries (Google, Bing, GitHub dorks) for a target (domain/name/email) and an intent (files, logins, exposed, social) — pure compute, no upstream. The value-add is the curated, correct dork templates with exact operator syntax recon analysts use, classified target, and prebuilt search URLs. Answers 'OSINT dorks for this domain', 'Google dork to find exposed files', 'GitHub search for leaked secrets', 'find login pages for X'.
/v1/osint/dork-builderPOSTScore a password 0-4 (zxcvbn-style) with effective entropy in bits, estimated offline/online crack times, and specific weakness feedback (common-password hits, keyboard/character sequences, repeats, low diversity, missing character classes). Distinct from util-password (generation) and util-password-hash (KDF). Answers 'how strong is this password', 'how long to crack this password', 'why is my password weak', 'what's the entropy of this password'.
/v1/util/password-strengthPOSTResolve a chemical symbol, element name, or atomic number to authoritative periodic-table data: group, period, block, category, standard atomic mass, electron configuration, and phase at STP — full 118-element coverage. Answers 'what is the atomic mass of iron', 'electron configuration of gold', 'what group is chlorine in', 'element with atomic number 79'.
/v1/ref/elementPOSTResolve a physical constant by name or symbol (c, h, G, Na, e, k, R, ...) to its CODATA 2018 recommended value, SI units, standard uncertainty, and relative uncertainty — flagging exact (defined) constants. LLMs misremember digits and units; this is authoritative. Answers 'what is the speed of light', 'value of Planck constant', 'Avogadro number with units', 'gravitational constant uncertainty'.
/v1/ref/physical-constantsPOSTResolve a North American Numbering Plan area code (3 digits) to the primary region/state/province it serves, its country, and its primary IANA timezone — covering US states, Canadian provinces, and Caribbean NANP members. Answers 'what area code is 415', 'where is 416 located', 'what timezone is the 808 area code', 'which province uses 604'.
/v1/ref/area-codePOSTCompute the western (tropical) sun-sign from month/day boundaries plus its element, modality, and ruling planet; the Chinese zodiac animal and element from the year cycle; and the traditional birthstone for a given date. The date→sign boundary math is deterministic where LLMs slip. Answers 'what zodiac sign is March 25', 'Chinese zodiac for 1990', 'birthstone for January', 'what's my star sign'.
/v1/ref/zodiacPOSTResolve a paper name (A4, Letter, Legal, B5, ...) to dimensions in mm, inches, and pixels at a chosen DPI, plus aspect ratio and series neighbors — accurate ISO 216 A/B/C and US sizes. The DPI→pixel derivation is the value-add for print/layout work. Answers 'what is A4 in pixels at 300 DPI', 'Letter size in mm', 'dimensions of A3', 'A4 vs Letter'.
/v1/ref/paper-sizePOSTConvert a clothing size between US, UK, EU, and JP for women's tops/dresses or men's tops, returning the equivalent sizes plus the alpha (S/M/L) label — accepts a regional size or an alpha label. Cross-region row alignment is the value-add. Answers 'what is US women's 8 in EU', 'convert UK 12 to US', 'men's medium in EU', 'EU 40 in US sizing'.
/v1/ref/clothing-sizePOSTConvert a shoe size between US, UK, EU, JP, and foot length in cm for men or women, returning the nearest equivalent across all systems plus the cm foot length. Men's and women's grids differ, so the cross-region alignment is the value-add. Answers 'what is men's US 9 in EU', 'convert UK 7 women's to US', 'EU 42 in cm', 'shoe size in Japanese sizing'.
/v1/ref/shoe-sizePOSTMap between a key name and the JavaScript KeyboardEvent fields — `key`, legacy `keyCode`/`which`, physical `code`, and DOM key `location` (with a readable name). Bidirectional: accepts a key name, numeric keyCode, or code string. Answers 'what is the keyCode for Enter', 'which key is code 65', 'what is event.code for ArrowUp', 'JS keycode reference'.
/v1/ref/keycodePOSTResolve a resolution name (1080p, 4K, QHD, ...) or explicit WxH to width x height plus the derived reduced aspect ratio, decimal aspect, total pixels, and megapixels. The aspect-ratio and megapixel derivation is the value-add. Answers 'what resolution is 1080p', 'how many pixels is 4K', 'aspect ratio of 2560x1440', 'megapixels of an 8K display'.
/v1/ref/screen-resolutionPOSTParse an ISO 8601 duration (e.g. P1Y2M10DT2H30M) into a normalized component breakdown, total seconds/minutes/hours/days (nominal 30-day months, 365-day years), and a human-readable phrase; optionally add or subtract it from a base date. ISO-8601 duration grammar is exactly what LLMs mishandle. Answers 'how many seconds is PT1H30M', 'parse this ISO duration', 'add P1D to this date', 'convert PT90M to hours'.
/v1/ref/iso-durationPOSTFetch CoinGecko /global and derive BTC & ETH market-cap dominance %, the altcoin share, total market cap & 24h volume, and a 24h dominance/market-cap trend verdict (rising/flat/falling). The value-add is the computed dominance + altcoin-share + trend, not a raw blob. Answers 'what is Bitcoin dominance right now', 'is BTC dominance rising', 'what share of the market is altcoins', 'total crypto market cap and trend'.
/v1/finance/crypto-dominancePOSTPull the BLS public CPI-U index series (headline + core) keyless and compute the latest year-over-year inflation rate, the month-over-month change, and a 12-month trend for both headline and core. The value-add is the YoY rate computation: BLS publishes an index level, we turn it into the percentage people quote. Differs from finance-inflation-adjust (which adjusts a dollar amount). Answers 'what is the current US inflation rate', 'latest CPI YoY', 'headline vs core inflation', 'is inflation rising or falling'.
/v1/finance/inflation-ratePOSTRead eth_feeHistory from a free public RPC, compute an EWMA + linear trend slope of the base fee, project it ~1 hour out, and layer recent priority-fee tips to produce slow/standard/fast estimates in gwei. The value-add is the forecast. Differs from chain-gas (current spot) and chain-gas-history (past percentiles). Answers 'will gas be cheaper in an hour', 'predicted gas price', 'forecast slow vs fast gas', 'is base fee trending up'.
/v1/chain/gas-forecastPOSTFor a lat/lon and calendar date, pull the full Open-Meteo archive (1940-present, keyless) and compute the all-time record high, record low, and max daily precipitation observed on that day-of-year across every year (with the years they were set); optionally rank a supplied value against the historical distribution. The value-add is the all-time records derivation. Differs from data-climate-normal (anomaly vs 30-year mean). Answers 'what is the record high for this day here', 'hottest June 3 on record', 'is today a record', 'max rainfall ever on this date'.
/v1/data/weather-extremesPOSTRead NOAA SWPC (keyless) for the latest planetary Kp index and solar-wind speed, then derive the geomagnetic storm level (G0-G5) and an aurora-visibility verdict including the approximate equatorward latitude where aurora may be seen. The value-add is the aurora-visibility derivation from raw Kp. Differs from science-space (ISS/asteroids/launches). Answers 'is there an aurora tonight', 'current Kp index', 'geomagnetic storm level', 'how far south can aurora be seen'.
/v1/science/space-weatherPOSTTake a list of cities or coordinate pairs, fetch each one's current US AQI + PM2.5 from Open-Meteo (keyless), and derive a ranked comparison: cleanest-to-dirtiest order, best/worst picks, and the AQI spread. The value-add is the multi-location ranking. Differs from data-air-quality (single location). Answers 'which of these cities has the cleanest air', 'rank these cities by AQI', 'compare air quality across locations', 'best and worst air right now'.
/v1/science/aqi-rankPOSTPull CoinGecko's trending-search feed (keyless) and normalize it into a flat ranked list: each trending coin's name, symbol, market-cap rank, USD price, 24h change, and market cap. The value-add is normalizing the nested trending payload into an agent-friendly table. Answers 'what crypto is trending right now', 'top trending coins', 'what is hot in crypto', 'trending coin prices'.
/v1/data/crypto-trendingPOSTResolve a team via TheSportsDB (keyless) and read its last events, then derive current form: the W/D/L sequence, win rate, current streak, goals (points) for/against, and goal difference over the last N games. The value-add is the form derivation from raw results. Differs from data-sports-team (static club info). Answers 'what is Arsenal's recent form', 'how many of their last 5 did they win', 'current win streak', 'goals scored vs conceded lately'.
/v1/data/sports-formPOSTParse raw email headers into the Received hop chain with per-hop delays, SPF/DKIM/DMARC auth results, originating IP, message-id, and spam/anomaly signals — the hop + auth parsing an LLM does unreliably, done deterministically. Answers 'parse these email headers', 'did this email pass SPF/DKIM/DMARC', 'what is the originating IP of this message', 'how long did this email take to deliver'.
/v1/security/email-headersPOSTAggregate a vendor's (and optional product's) CVEs into count-by-year, CVSS severity distribution, average score, and a recent-vs-prior trend — historical analytics over the NVD keyword search (keyless). Distinct from listing CVEs or trending CVEs: this is the computed metric. Answers 'how many CVEs does this vendor have', 'CVE trend for a product', 'severity breakdown of CVEs for X', 'is this vendor getting more vulnerable over time'.
/v1/security/cve-statsPOSTTest an HS256/384/512 JWT's HMAC signature against a bundled wordlist of common/weak secrets and report whether it is crackable and which secret matched — an offline dictionary crack an LLM cannot perform. Distinct from JWT alg/claims audits and sign/verify-with-known-key. Answers 'is this JWT signed with a weak secret', 'crack this JWT', 'what is the secret for this token', 'is this JWT brute-forceable'.
/v1/security/jwt-weak-secretPOSTResolve a domain's CNAME chain (via Cloudflare DNS-over-HTTPS, keyless) and flag dangling-CNAME / subdomain-takeover risk by matching unclaimed-service fingerprints (GitHub Pages, S3, Heroku, Azure, etc.) — takeover-risk detection, not just resolution. Answers 'is this subdomain vulnerable to takeover', 'what does this CNAME point to', 'dangling CNAME check', 'subdomain takeover risk for this host'.
/v1/osint/domain-takeoverPOSTGenerate username variations from a handle (or first/last name) using separators, leetspeak, casing, and common suffixes, plus likely profile URLs across major platforms — the permutation + URL templating. Distinct from username-existence search. Answers 'generate username variations for john doe', 'what handles might this person use', 'permute this username', 'likely social profile URLs for a handle'.
/v1/osint/username-permutationsPOSTApply the common-input-ownership heuristic over a BTC address's recent transactions (mempool.space, keyless) to surface other addresses likely controlled by the same entity — the clustering signal, not single-address stats. Answers 'what other addresses belong to this wallet', 'co-spend cluster for this BTC address', 'common-input-ownership for this address', 'find sibling addresses'.
/v1/osint/bitcoin-clusterPOSTEnumerate every principal lunar phase (new, first-quarter, full, last-quarter) falling within a given year + month, each with its exact UTC date/time and illumination fraction — the value-add being the full-month phase computation (vs a single-date phase). Differs from data/sun-moon which returns one date's phase plus sun rise/set. Answers 'when is the full moon this month', 'list all moon phases in January 2024', 'next new moon date'.
/v1/data/moon-calendarPOSTCompute the topocentric altitude and azimuth of the Sun and each naked-eye planet (Mercury through Saturn) for a UTC date/time and observer lat/lon, plus whether each body is above the horizon — the value-add being the multi-body planetary position computation. Differs from data/sun-moon which returns only sun/moon rise & set times. Answers 'where is Jupiter in the sky now', 'is Venus visible from here tonight', 'sun altitude and azimuth at this location'.
/v1/data/solar-positionsPOSTResolve ABO/Rh red-cell transfusion compatibility for a donor and/or recipient: which types they can donate to, which they can receive from, the donor-to-recipient verdict, and universal-donor (O-) / universal-recipient (AB+) flags — the value-add being the antigen-based compatibility logic LLMs get backwards. Answers 'can O- donate to A+', 'who can receive AB+ blood', 'is this donor-recipient pair compatible', 'is O- a universal donor'.
/v1/ref/blood-typePOSTDecode resistor color bands (4/5/6-band) into resistance, tolerance %, and temperature coefficient, or encode a resistance value + band count + tolerance back into colors — the value-add being the bidirectional IEC 60062 band encode/decode. Answers 'what resistance is brown-black-red-gold', 'color bands for a 4.7k 5% resistor', 'decode this 5-band resistor', 'tolerance of a gold band'.
/v1/ref/resistor-colorPOSTConvert cooking quantities between volume and weight using an ingredient DENSITY table (e.g. 1 cup flour = ~125 g, 1 cup sugar = ~200 g) and convert oven temperatures (C/F/gas mark) — the value-add being density-aware volume-to-weight conversion. Differs from util/convert-units which is generic and density-unaware. Answers 'how many grams is 1 cup of flour', 'convert 200g sugar to cups', '350F in celsius', 'gas mark for 180C'.
/v1/ref/cooking-unitsPOSTReturn a country's first-level ISO 3166-2 subdivisions (states/provinces/regions) with their codes, names, and subdivision type, or resolve a single subdivision — the value-add being the inline subdivision table. Differs from ref/country-codes which is country-level only. Answers 'list the states of the US', 'what is CA-QC', 'provinces of Canada', 'ISO code for Bavaria'.
/v1/ref/iso-3166-2POSTSpell a chord name (e.g. Cmaj7, Am, G7) into its constituent notes and interval formula, or name a chord from a set of notes — the value-add being the bidirectional music-theory interval computation over the 12-tone scale. Answers 'what notes are in Cmaj7', 'name the chord C E G', 'intervals of a minor triad', 'spell a Dsus4 chord'.
/v1/ref/chordPOSTCompute a personalized recommended daily intake from age + sex (+ optional weight/height/activity): estimated calories (Mifflin-St Jeor BMR x activity), macro split, fiber, water, and vitamin/mineral targets from US DRI reference tables — the value-add being the profile-driven RDI computation. Differs from data/food which is per-food nutrient lookup. Answers 'daily calorie needs for a 30yo male', 'how much protein should I eat', 'recommended iron intake for women', 'RDA vitamins by age'.
/v1/ref/nutrition-rdiPOSTLook up an x402 seller address in our proprietary Base-settlement index and return a transparent 0-100 trust score with full evidence — distinct on-chain buyers, repeat-buyer ratio, settled volume, and penalties for self-dealing/wash, single-payer concentration, and thin history. The value-add is a full historical settlement index no agent can reconstruct per-query, joined to an explained reputation score. Answers 'is this x402 seller trustworthy', 'is this seller wash-trading or self-dealing', 'how many real buyers has this seller served'.
/v1/x402/seller-scorePOSTDo one unpaid probe of an x402 endpoint and classify it before you spend a payment — verify it returns a well-formed HTTP 402 with parseable payment requirements and extract the advertised price/network/asset, or flag it dead, not-x402, or malformed. The value-add is a maintained probe + classification so agents don't waste a payment on a honeypot, dead host, or misconfigured server. Answers 'is this x402 endpoint real before I pay', 'what price/network/asset does this endpoint advertise', 'is this endpoint a honeypot or dead'.
/v1/x402/preflightPOSTClassify whether an x402 endpoint is overpriced or a thin resale wrapper — fingerprint its host/body against known upstreams (mapbox, serpapi, openai, google, etc.) and compare its price to our cross-market per-category price distribution. The value-add is our cross-market price baselines and upstream fingerprints that an agent cannot compute per-query. Answers 'am I overpaying for this endpoint', 'is this just a reselling wrapper of a known API', 'how does this price compare to the market'.
/v1/x402/price-checkPOSTTraces an EVM address's counterparties up to two hops over public RPC (bounded to recent transfers and top-K counterparties per hop), matches every hop against the OFAC crypto-address index plus a curated mixer/bridge/exchange/hack label set, and returns a 0-100 exposure score with a risk narrative, direct/indirect fund-flow paths, first/last activity, and behavioral flags — labelled multi-hop tracing an agent cannot cheaply replicate. Answers 'Does this wallet have direct or indirect exposure to sanctioned, mixer, or hack addresses?', 'What is its overall AML risk score and why?'.
/v1/chain/wallet-diligencePOSTCompliance-grade KYT report for an EVM address: splits flow into source-of-funds (money in) vs destination (money out), categorises every counterparty against the OFAC crypto-address index plus a curated mixer/bridge/exchange/hack/contract label set, and returns an auditable PASS/REVIEW/BLOCK verdict with machine-readable reason codes, a 0-100 risk score, a source-of-funds cleanliness call, in/out category breakdowns, concentration and wallet-freshness signals, and the specific tainting evidence. Answers 'Is it safe to transact with this wallet?', 'Where did this wallet's funds come from?', 'Should I block, review, or pass this address?'.
/v1/chain/aml-reportPOSTDeep scam/honeypot risk report for an ERC-20 token contract: pulls the real holder list to compute top-1 and top-10 holder concentration (the single biggest pre-rug tell), parses the VERIFIED contract ABI for dangerous privileges (mint, blacklist/blocklist, pause, mutable fee/tax, trading-enable gate, max-tx/max-wallet limits, transferable ownership), reads owner() over public RPC to check renouncement, and folds in verification status, upgradeable-proxy detection, supply, and the explorer's own scam flag into a 0-100 risk score, a four-level verdict (likely_safe | caution | high_risk | likely_scam), machine-readable reason codes, and a plain-English narrative. Answers 'Is this token a rug?', 'Can the owner mint or blacklist me?', 'Does one wallet hold the whole float?', 'Is it safe to ape this memecoin?'.
/v1/chain/token-rug-checkPOSTProfit/loss report for an EVM wallet across its ERC-20 holdings with real cost-basis accounting — not a balance dump. Over a bounded window of recent token-transfers it reconstructs, per token, amount in/out, the average cost basis (from inbound transfers' USD price), realized P&L (outbound amount x (sell price - cost basis)), the current holding from token-balances valued at a live keyless spot price, and unrealized P&L (holding x (current price - cost basis)). Rolls up to portfolio totals: total realized, total unrealized, net P&L, total current value, win rate, and best/worst position. Answers 'Is this wallet up or down, and by how much?', 'What is my realized vs unrealized P&L per token?', 'What is my cost basis and win rate?'.
/v1/chain/wallet-pnlPOSTPre-interaction contract-security read for an EVM address: confirms it is actually a contract (not an EOA), detects upgradeable proxies by reading the EIP-1967 and legacy zeppelinos implementation/admin storage slots (an admin who can swap the code), scans the runtime bytecode with a PUSH-data-aware opcode walk for dangerous opcodes (SELFDESTRUCT, DELEGATECALL), checks Blockscout verification status, and scans verified source for owner/admin/upgrade backdoors, collapsing it into a 0-100 risk score, a low/medium/high/critical verdict, and machine-readable reason codes (NOT_A_CONTRACT, UNVERIFIED, UPGRADEABLE_PROXY, SELFDESTRUCT_PRESENT, DELEGATECALL_PRESENT, OWNER_PRIVILEGES) plus a narrative. Answers 'Is it safe to interact with this contract?', 'Can an admin swap this contract code?', 'Is this contract verified and free of self-destruct backdoors?'.
/v1/chain/contract-riskPOSTBridge-usage analytics for an EVM wallet: over a bounded window of Blockscout ERC-20 token-transfers plus native transactions, it matches every counterparty against a curated cross-chain bridge label set (Wormhole, Synapse, Polygon, Optimism, Base, Avalanche, Multichain and more), detects exactly which bridges the wallet has used, splits inflow vs outflow USD per bridge, totals bridged volume, counts the number of distinct bridges, picks the dominant route, derives an inbound/outbound/balanced direction bias, and folds it into a four-level bridge-exposure tier (none | light | moderate | heavy) with a 0-100 exposure score and a plain-English summary — heavy multi-bridge usage is a cross-chain-movement / fund-obfuscation signal. Answers 'Which bridges has this wallet used?', 'How much value did this wallet move across chains?', 'Is this wallet bridging funds out (exit/obfuscation)?', 'How cross-chain-active is this address?'.
/v1/chain/bridge-tracePOSTDeep holder-distribution analytics for an ERC-20 token (distribution science, NOT a risk verdict). From the real top-holder list it computes the holder count, the top-1/top-5/top-10/top-50 concentration curve, a Gini coefficient over the sampled holders (0 = perfectly equal, 1 = one wallet holds everything), whale-tier counts (holders >1% and >0.1% of supply), and a distribution-shape verdict (highly_concentrated | moderate | well_distributed). It also returns a circulating-holder view that excludes detectable burn, LP, and known contract addresses (via a curated label set plus the explorer is_contract flag) so the metrics reflect real end-holders rather than the null address or a DEX pool. Answers 'How concentrated is this token's supply?', 'What is the Gini coefficient of the holders?', 'How many whales hold more than 1% of supply?', 'Is this token well distributed or whale-dominated?'.
/v1/chain/token-holder-analyticsPOSTBehavioral archetype classifier for an EVM wallet. Pulls Blockscout lifetime counters plus the most-recent transactions and ERC-20 token-transfers, derives a panel of activity metrics (lifetime tx count, wallet age, active days, token diversity, inbound/outbound transfer ratio, distinct inbound senders, contract-creation count, avg tx/day, dormancy) and collapses them into a single archetype — active_trader, hodler, bot_high_frequency, airdrop_farmer, contract_deployer, fresh_wallet, or dormant — with a 0-1 confidence, a runner-up alternate, the behavioral signals that drove the call, and the full metric panel. Answers 'What kind of wallet is this?', 'Is this address a bot or a real user?', 'Is this wallet an airdrop farmer / sybil?', 'Is this a long-term hodler or an active trader?', 'Is this wallet fresh or dormant?'.
/v1/chain/wallet-behavior-profilePOSTMeasures a token's real on-chain DEX liquidity depth and slippage curve. Finds the token's main Uniswap-V2-style pool against WETH via the V2 factory getPair, reads getReserves over free public RPC, prices both sides in USD, and runs the constant-product AMM math to return total pool depth (USD), the pool-implied token price, and the price-impact/slippage for buying AND selling at $1k / $10k / $100k notionals — plus a 0-100 illiquidity score, a deep/adequate/thin/illiquid verdict, machine-readable reason codes, and a plain-English narrative. Distinct from a single-route swap quote: this is the full depth/slippage CURVE plus a liquidity-risk verdict. If no V2 pool exists it returns a clear no_v2_pool_found result, not an error. Answers 'How deep is this token's liquidity?', 'How much will a $10k trade slip?', 'Can I exit a $100k position without crashing the price?', 'Is this token's liquidity thin enough to rug?'.
/v1/defi/dex-liquidity-depthPOSTBuild the full N-asset Pearson correlation matrix for a basket of 2-10 CoinGecko coins from their daily returns (keyless price history), then collapse it into the decision an agent actually needs: a 0-100 DIVERSIFICATION SCORE derived from the average pairwise correlation (lower avg corr = better diversified), a WELL_DIVERSIFIED / MODERATE / CONCENTRATED rating, the per-asset average correlation to the rest of the basket (so you can see which holding is redundant and which is the best hedge), the most- and least-correlated pairs, and a human narrative. Tolerates partial upstream failure and falls back to Coinpaprika historical OHLCV when CoinGecko rate-limits an id. Answers 'is this basket diversified', 'which of my coins is redundant', 'how correlated is my portfolio', 'should I diversify these tokens'.
/v1/finance/correlation-matrixPOSTPerpetual-futures funding rates for a crypto across multiple KEYLESS, US-reachable venues (dYdX v4, Hyperliquid, OKX, KuCoin), normalized to a common annualized basis (rate x periods/yr) since venues settle on different intervals (hourly vs 8h). Returns each venue's current + annualized rate, the cross-venue average, the max-min SPREAD (a funding-arb / fragmentation gauge), and a long/short-bias signal with a 0-100 conviction score: positive funding = longs pay shorts = crowded long. Geoblocked venues (Binance, Bybit) are omitted; failed venues are tolerated. Answers 'what is the BTC perp funding rate', 'are traders crowded long or short', 'cross-venue funding spread', 'annualized funding rate for ETH', 'is funding positive or negative'.
/v1/finance/funding-rate-monitorPOSTFinancial-statement health diagnostic for a US public company, computed from its own SEC EDGAR XBRL 10-K filings (keyless, authoritative). Resolves a ticker or CIK, pulls the latest two annual periods, and returns the key financials (revenue, net income, assets, liabilities, equity, current assets/liabilities, long-term debt, operating cash flow, diluted EPS, diluted shares) plus derived ratios (net margin, gross margin, ROE, ROA, debt-to-equity, current ratio, accrual ratio, YoY revenue & earnings growth). The value-add over a raw numbers dump: it scores fundamental health into a 0-9 Piotroski F-Score with a per-signal breakdown, an earnings-quality call from the accrual ratio, machine-readable reason codes, and a STRONG / NEUTRAL / WEAK verdict with a narrative. Answers 'Is this company fundamentally improving or deteriorating?', 'What is AAPL's Piotroski F-Score?', 'Is this company's profit backed by cash?', 'Give me the financials and a health verdict for this ticker.'.
/v1/finance/sec-financialsPOSTLightweight Know-Your-Business screen for a company NAME. Fuzzy-matches the name against OFAC SDN ENTITY records only (the organisations OFAC lists — banks, airlines, trading companies — never individuals or vessels), enriches it with keyless Wikidata firmographics (country, industry, inception year, headquarters, official website), and folds in a FATF/OFAC jurisdiction-risk note when the resolved country is high-risk. Returns one deterministic verdict — clear / possible_match / sanctioned_match — plus the matched SDN entity (with entity number and sanctions program), the firmographics, and a disclaimer. Distinct from identity-sanctions-screen (matches any name, mostly individuals) and chain-sanctioned-address (crypto addresses): this is company/entity KYB by name. Answers 'Is this company on the OFAC sanctions list?', 'Should I onboard this business?', 'What country and industry is this company, and is its jurisdiction high-risk?'.
/v1/identity/company-screenPOSTFraud / abuse-prevention risk report for an IPv4 or IPv6 address: fuses ip-api.com geolocation (country, region, city), ASN + network operator, and the provider's hosting/proxy/mobile flags with live Tor-exit-list membership into a 0-100 risk score, a graded verdict (residential/low | mobile/low | unknown/medium | proxy/medium | datacenter/high | tor/critical), a connection type, an allow/step-up/deny recommendation, machine-readable reason codes, and the specific evidence. Validates the IP and rejects private/reserved ranges. Distinct from security-ip-reputation (criminal-netblock blocklists) — this answers connection trust for signups, checkout, and session-risk. Answers 'Is this IP a VPN, proxy, or datacenter?', 'Is this a Tor exit node?', 'Should I allow, step-up, or deny this user's IP?', 'Is this a real residential or mobile connection?'.
/v1/identity/ip-riskPOSTEmail-authentication posture grader for a domain: looks up SPF (TXT at the root), DMARC (TXT at _dmarc.<domain>), and probes common DKIM selectors over DNS-over-HTTPS, then PARSES them into structured facts (SPF final qualifier -all/~all/?all/+all and DNS-lookup count, DMARC p=/sp=/pct=/rua/alignment, DKIM selector presence) and collapses them into a letter grade A-F, a 0-100 score, a spoofability verdict (can an attacker forge mail From: this domain?), a deliverability read, machine-readable issue codes, and a prioritised list of concrete remediation fixes with the exact record to publish. Unlike a raw record dump, this returns the decision an agent can branch on. Answers 'Can someone spoof email from this domain?', 'Is this domain's email authentication set up correctly?', 'What SPF/DMARC/DKIM fixes does this domain need?', 'Will mail from this domain land in the inbox?'.
/v1/security/email-authPOSTCurrent operational status for an airport (IATA or ICAO code) for travel agents, composed from LIVE keyless aviation weather: the latest METAR observation plus the TAF forecast from aviationweather.gov (NOAA Aviation Weather Center). It parses flight category (VFR / MVFR / IFR / LIFR) from ceiling and visibility, reads surface wind and gusts, scans the TAF for a deteriorating trend, and collapses it all into the read a travel agent actually needs: a 0-100 delay-risk score with a LOW / MODERATE / HIGH / SEVERE band, the specific drivers (low ceiling/visibility, gusty winds, worsening forecast), the parsed conditions, the forecast trend, and a plain-English summary. The value-add: turning raw METAR/TAF fields no LLM can reliably decode into an actionable 'will this airport cause delays right now?' verdict. Answers 'What is the operational status of JFK?', 'Is there a weather delay risk at LHR?', 'What is the flight category at KSFO?', 'Will weather delay flights at this airport today?'.
/v1/data/airport-statusPOSTModels rooftop solar PV PRODUCTION for any location from a full typical year of keyless Open-Meteo daily shortwave-radiation data. Converts the MJ/m² irradiance series to peak-sun-hours and runs the standard yield model (kWh ≈ capacityKw × insolation × performance-ratio) to derive annual & average-daily energy yield, capacity factor, peak-sun-hours, a monthly profile, seasonal best/worst month, specific yield (kWh/kWp/yr), estimated CO₂ offset, and a plain-English suitability verdict. Answers 'how much energy will solar panels produce at this location', 'estimated annual kWh for a 5 kW rooftop system', 'solar capacity factor and peak sun hours for my coordinates', 'is this location good for solar PV', 'specific yield and CO2 offset for a solar array'. A modelled estimate on public climate data, not a financial guarantee.
/v1/science/solar-estimatePOSTPharmacovigilance safety read on a single drug, fusing three distinct openFDA datasets into one decision-oriented summary: top adverse-event reactions plus the total FAERS report count (/drug/event), recall/enforcement history with the most-recent recall and worst classification (/drug/enforcement), and boxed-warning presence plus key warning text from the official label (/drug/label). Collapses them into a derived 0-100 concernScore, a four-level verdict (LOW | MODERATE | ELEVATED | HIGH), the top machine-readable safety signals (e.g. FDA_BOXED_WARNING, CLASS_I_RECALL_HISTORY, MULTIPLE_SERIOUS_REACTIONS), the serious reaction terms detected, and an honest coverage note for any dataset that returned nothing. Answers 'Is this drug safe?', 'Does this drug have a black box warning?', 'What are the most-reported side effects of this drug?', 'Has this drug been recalled by the FDA?'. INFORMATIONAL ONLY — not medical advice.
/v1/health/drug-safetyPOSTTurn a paper reference into a defensible influence read. Accepts a DOI, an arXiv id, an OpenAlex id, or a free-text title, resolves it via OpenAlex (keyless, ~250M works), and returns NORMALIZED scholarly-impact metrics plus a derived verdict — citation count, citations-per-year velocity, FWCI (field-weighted citation impact), citation percentile (top-1%/top-10% flags), referenced-works count, venue, year, authors, open-access status and OA url, and top concepts/topics — collapsed into an influence label the caller can branch on: highly_cited, above_average, emerging, or low, with the reasons behind it. Distinct from a raw record lookup: it adds the field-aware verdict and falls back to citation velocity when OpenAlex has not yet computed a percentile (e.g. fresh preprints). Answers 'How influential is this paper?', 'Is this paper highly cited for its field?', 'What is this paper's FWCI and citation percentile?', 'Is this a foundational or an emerging work?'.
/v1/data/research-paper-metricsPOSTMulti-hazard natural-disaster risk report for a lat/lon, the composite property-risk score an insurer or real-estate underwriter pays for. Composes keyless public data into per-hazard 0-100 scores plus one overall hazard score and verdict: EARTHQUAKE (historical M≥3 seismic density within 100km over ~30y plus the strongest event, from the USGS FDSN earthquake catalog), EXTREME_HEAT (frequency of days ≥35°C), HEAVY_PRECIP (frequency of days ≥50mm plus the wettest single day), EXTREME_COLD (frequency of days ≤-15°C) and HIGH_WIND (frequency of days ≥70km/h) from the Open-Meteo historical climate archive. Returns per-hazard scores and bands, an overall ACCEPTABLE/REVIEW/AVOID verdict, the dominant hazard, the driving facts, and a narrative; each upstream is fetched in parallel and a failed source marks its hazard 'unavailable' rather than failing the call. Answers 'How risky is this location for natural disasters?', 'What is the earthquake and climate hazard for this property?', 'Which natural hazard dominates here?', 'Is this site acceptable to underwrite or build on?'.
/v1/science/climate-hazard-riskPOSTParses a chemical formula (nested parentheses, brackets, hydrate dots) and returns molar mass with a per-element mass breakdown and percent composition, using an audited inline atomic-weight table. Answers 'What is the molar mass of C6H12O6?', 'What percent of glucose is carbon?'.
/v1/chemistry/molar-massPOSTConverts between grams and moles using a formula (molar mass auto-derived) or explicit molar mass, and returns the particle count via Avogadro's number. Answers 'How many moles are in 36 g of water?', 'How many grams is 2 mol of NaCl?'.
/v1/chemistry/moles-gramsPOSTComputes molarity (mol/L) from solute moles, or from grams plus a formula/molar mass, and a solution volume in L or mL. Answers 'What is the molarity of 0.5 mol in 2 L?', 'What is the concentration of 5 g NaCl in 250 mL?'.
/v1/chemistry/molarityPOSTComputes molality (mol solute per kg solvent) from moles or grams+formula and solvent mass, the temperature-independent concentration used in colligative-property work. Answers 'What is the molality of 2 mol in 500 g solvent?', 'mol/kg of a salt solution?'.
/v1/chemistry/molalityPOSTSolves the dilution equation C1·V1 = C2·V2 for whichever of the four variables is omitted, and returns the volume of solvent to add. Answers 'How much water to dilute 2 M to 0.5 M?', 'What final volume gives 0.5 M from 0.5 L of 2 M?'.
/v1/chemistry/dilutionPOSTConverts a solute/solution mass pair (or a mass fraction) into ppm, ppb, mass fraction and mass percent, with the dilute-aqueous mg/L note. Answers 'What is 5 mg in 1 kg in ppm?', 'Convert a 0.0005% solution to ppb'.
/v1/chemistry/ppm-concentrationPOSTComputes mass, mole, or volume percent of a component in a mixture from matching-unit amounts, returning the percent, fraction and remainder. Answers 'What mass percent is 25 g of a 200 g mixture?', 'mole percent of one component'.
/v1/chemistry/percentPOSTSolves the ideal gas law PV = nRT for the one omitted variable (pressure atm, volume L, moles, temperature K) and reports the gas constant used. Answers 'How many moles fill 22.4 L at STP?', 'What pressure does 1 mol exert in 10 L at 300 K?'.
/v1/chemistry/ideal-gasPOSTSolves the combined gas law (P1·V1)/T1 = (P2·V2)/T2 for the one omitted state variable using absolute temperatures. Answers 'What volume after doubling pressure and temperature?', 'final pressure of a gas heated at fixed volume?'.
/v1/chemistry/combined-gasPOSTApplies Dalton's law to split a total pressure into component partial pressures from mole fractions or moles (auto-normalised), with optional labels. Answers 'What is the partial pressure of O2 in air?', 'partial pressures of a 1:3 gas mix at 1 atm'.
/v1/chemistry/partial-pressurePOSTComputes the effusion/diffusion rate ratio of two gases via Graham's law rate1/rate2 = sqrt(M2/M1), accepting molar masses or formulas, and identifies the faster gas. Answers 'How much faster does H2 effuse than O2?', 'relative diffusion rate of two gases'.
/v1/chemistry/grahams-lawPOSTInterconverts pH, pOH, [H+] and [OH-] at 25 °C (Kw = 1e-14) from any single input and classifies acidity. Answers 'What is the pH if [H+] = 1e-3?', 'Convert pOH 11 to pH and [OH-]'.
/v1/chemistry/ph-scalePOSTComputes pH/pOH of a fully dissociating strong acid or base from molar concentration, accounting for acid/base valence (e.g. H2SO4 → 2 H+). Answers 'What is the pH of 0.01 M HCl?', 'pH of 0.05 M H2SO4?'.
/v1/chemistry/strong-acid-base-phPOSTComputes buffer pH via Henderson-Hasselbalch pH = pKa + log10([A-]/[HA]) from pKa (or Ka) and conjugate-base/weak-acid amounts. Answers 'What is the pH of an acetate buffer with equal A- and HA?', 'buffer pH from a base/acid ratio'.
/v1/chemistry/henderson-hasselbalchPOSTInterconverts Ka↔pKa and Kb↔pKb and derives the conjugate pair via pKa + pKb = 14 from any single input. Answers 'What is the pKa for Ka = 1.8e-5?', 'Find Kb and pKb of acetic acid's conjugate base'.
/v1/chemistry/ka-pkaPOSTComputes percent yield = actual/theoretical × 100, optionally deriving the theoretical yield from limiting-reagent moles, mole ratio and product molar mass. Answers 'What is the percent yield if 8 g of 10 g expected formed?', 'theoretical mass from moles of limiting reagent'.
/v1/chemistry/percent-yieldPOSTFor aA + bB → product, identifies the limiting reactant from moles (or grams+formulas) and coefficients, then returns excess remaining and theoretical product moles. Answers 'Which reactant limits the reaction?', 'How much product and leftover excess form?'.
/v1/chemistry/limiting-reagentPOSTDerives the empirical formula from percent (or mass) composition by mole-ratio normalisation and small-integer rounding, plus the molecular formula when a molecular mass is given. Answers 'What is the empirical formula of 40% C, 6.7% H, 53.3% O?', 'molecular formula of glucose from composition'.
/v1/chemistry/empirical-formulaPOSTComputes grams of solute needed to make a target molarity in a given volume via grams = M × V(L) × molar mass (formula parsed automatically). Answers 'How many grams of NaCl make 0.5 L of 1 M?', 'mass of solute for a target concentration'.
/v1/chemistry/solution-prepPOSTRelates rate constant k and half-life, then computes remaining fraction/amount after time t or the time to reach a target fraction via N(t)=N0·e^(-kt). Answers 'How much remains after two half-lives?', 'What is k for a given half-life?', 'carbon-14 dating fraction'.
/v1/chemistry/first-order-kineticsPOSTSolves the Beer-Lambert law A = ε·b·c for the one omitted variable and returns transmittance and percent transmittance. Answers 'What concentration gives absorbance 0.5 at ε=1000?', 'Convert absorbance to %transmittance'.
/v1/chemistry/beer-lambertPOSTEvaluates the Arrhenius equation k = A·e^(-Ea/RT) for a rate constant, or solves activation energy Ea from two (k,T) points. Answers 'What is the rate constant at 350 K?', 'Find Ea from rate constants at two temperatures'.
/v1/chemistry/arrheniusPOSTReturns the centroidal second moment of area I, section modulus S=I/c, cross-sectional area, and radius of gyration for rectangle, solid/hollow circle, or symmetric I-beam sections. Answers 'What is the moment of inertia of an I-beam?', 'What is the section modulus of a rectangular beam?'.
/v1/engineering/section-inertiaPOSTComputes flexural stress σ=M·c/I=M/S from a bending moment plus either I & c or the section modulus, with optional factor of safety, moment capacity, and pass/fail against an allowable stress. Answers 'What is the bending stress in a beam?', 'Is my beam within the allowable stress?'.
/v1/engineering/bending-stressPOSTComputes the critical elastic buckling load Pcr=π²EI/(KL)² with the effective-length factor for the end condition, plus slenderness ratio, critical stress, and buckling factor of safety. Answers 'What is the critical buckling load of a column?', 'What is the slenderness ratio?'.
/v1/engineering/euler-bucklingPOSTSolves the axial elasticity relation σ=E·ε from any sufficient subset of force/area, elongation/length, modulus, stress, or strain, and reports elongation when the modulus is known. Answers 'What is the Young's modulus from stress and strain?', 'How much will this rod stretch under load?'.
/v1/engineering/stress-strainPOSTComputes factor of safety = strength/applied and margin of safety (FoS−1) for stress, load, or generic strength pairs, with a pass/fail against a required minimum. Answers 'What is the factor of safety?', 'Does this design meet the required safety factor?'.
/v1/engineering/factor-of-safetyPOSTComputes polar moment J, maximum shear stress τ=T·r/J and angle of twist θ=TL/(GJ) for a solid or hollow circular shaft, plus FoS and torque capacity against an allowable shear. Answers 'What is the shear stress in a shaft under torque?', 'How much does a shaft twist?'.
/v1/engineering/shaft-torsionPOSTComputes average shear stress V/A and the peak shear stress at the neutral axis using the shape factor (1.5 rectangle, 4/3 solid circle, 2 thin tube), so an agent doesn't confuse average vs maximum. Answers 'What is the max shear stress in a beam?', 'What is the shape factor for shear?'.
/v1/engineering/beam-shear-stressPOSTComputes thermal strain α·ΔT, free expansion ΔL=α·L·ΔT, and the induced stress σ=E·α·ΔT (plus reaction force) when expansion is fully restrained. Answers 'What is the thermal stress in a restrained bar?', 'How much will a beam expand when heated?'.
/v1/engineering/thermal-stressPOSTSolves free fall under gravity (no drag) given a drop height or fall time, returning the other plus impact velocity in m/s and km/h, with optional initial velocity. Answers 'How long does it take to fall a given height?', 'What is the impact velocity from a drop?'.
/v1/engineering/free-fallPOSTComputes terminal velocity vt=sqrt(2mg/(ρ·Cd·A)) for a body falling through a fluid, with the weight and drag-force balance check at terminal speed. Answers 'What is the terminal velocity of a falling object?', 'How fast does a skydiver fall?'.
/v1/engineering/terminal-velocityPOSTComputes mechanical work W=F·d·cosθ and power P=W/t (and instantaneous P=F·v) returning joules, watts, kilowatts, and horsepower plus the force component along the displacement. Answers 'How much work is done by a force?', 'What power is required to do this work in a given time?'.
/v1/engineering/work-powerPOSTApplies the impulse–momentum theorem J=F·Δt=Δp=m·(v−u) to solve for the missing force, time, or velocity change, returning momentum before and after. Answers 'What force is needed to stop a moving mass in a given time?', 'What is the impulse on an object?'.
/v1/engineering/impulse-momentumPOSTSolves a one-dimensional two-body collision (elastic, perfectly inelastic, or with a coefficient of restitution e) by conserving momentum, returning final velocities and kinetic energy lost. Answers 'What are the velocities after an elastic collision?', 'How much energy is lost in an inelastic collision?'.
/v1/engineering/collision-1dPOSTApplies Hooke's law F=k·x to solve for the missing one of spring constant, displacement, or force, and always reports the stored elastic energy U=½k·x². Answers 'What force does a spring exert at a given extension?', 'How much energy is stored in a compressed spring?'.
/v1/engineering/hookes-law-springPOSTComputes the equivalent stiffness of multiple springs combined in series (1/k=Σ1/kᵢ) or parallel (k=Σkᵢ). Answers 'What is the equivalent spring constant in series?', 'What is the combined stiffness of parallel springs?'.
/v1/engineering/spring-combinationPOSTComputes angular frequency ω=sqrt(k/m), period T=2π·sqrt(m/k), and frequency for a mass–spring oscillator, plus max velocity, acceleration, and energy for a given amplitude. Answers 'What is the period of a mass on a spring?', 'What is the natural frequency of an oscillator?'.
/v1/engineering/simple-harmonic-motionPOSTComputes the small-angle period T=2π·sqrt(L/g) and frequency of a simple pendulum, with an optional first-order large-amplitude correction. Answers 'What is the period of a pendulum?', 'How does amplitude affect the pendulum period?'.
/v1/engineering/pendulum-periodPOSTComputes the ideal mechanical advantage (number of supporting rope segments) and the effort force to lift a load, with an efficiency-adjusted real effort and rope pulled per unit of load rise. Answers 'What is the mechanical advantage of a block and tackle?', 'How much force to lift a load with this pulley system?'.
/v1/engineering/pulley-advantagePOSTComputes lever mechanical advantage = effort arm / load arm, classifies the lever, and solves for the required effort or liftable load via F_e·d_e=F_l·d_l. Answers 'What is the mechanical advantage of a lever?', 'How much effort to lift a load with this lever?'.
/v1/engineering/leverPOSTResolves a block on an inclined plane: gravity components, normal force, max static friction, whether it slides, the angle of repose, and the net acceleration under kinetic friction. Answers 'Will a block slide down an incline?', 'What is the acceleration of a block on a ramp with friction?'.
/v1/engineering/incline-frictionPOSTComputes gauge pressure P=ρ·g·h at a fluid depth, the absolute pressure with atmosphere added, and the total force on a submerged flat area. Answers 'What is the water pressure at a given depth?', 'What is the absolute pressure underwater?'.
/v1/engineering/hydrostatic-pressurePOSTComputes centripetal acceleration a=v²/r=ω²·r and force F=m·v²/r for uniform circular motion, plus angular velocity, period, rpm, and the frictionless banking angle. Answers 'What is the centripetal force on a car in a turn?', 'What banking angle is needed for a curve?'.
/v1/engineering/centripetal-forcePOSTValidates the ISO 3779 VIN mod-11 check digit and decodes WMI/VDS/VIS, world region, model-year candidates, and serial. Answers 'Is this VIN valid?', 'What does this VIN decode to?'.
/v1/validate/vinPOSTValidates an IBAN via ISO 13616 mod-97 checksum plus per-country length, and parses country code, check digits, and BBAN. Answers 'Is this IBAN valid?', 'What country and BBAN is this?'.
/v1/validate/ibanPOSTValidates an ISO 9362 BIC/SWIFT format (8 or 11 chars) and parses bank, country, location, branch, plus test-BIC and primary-office flags. Answers 'Is this SWIFT/BIC well-formed?', 'Which bank/country/branch is this?'.
/v1/validate/bicPOSTValidates a 15-digit IMEI Luhn check digit and parses the TAC (Type Allocation Code), reporting body, and serial. Answers 'Is this IMEI valid?', 'What is the TAC of this device?'.
/v1/validate/imeiPOSTValidates a SIM-card ICCID (MII 89 telecom prefix + Luhn check) and parses MII, country code, and issuer ID. Answers 'Is this SIM ICCID valid?', 'Which country/issuer is this SIM?'.
/v1/validate/iccidPOSTParses an IMSI into MCC (country), MNC (network), and MSIN, honoring 2- or 3-digit MNC. Answers 'What is the MCC/MNC of this IMSI?', 'How do I split this IMSI?'.
/v1/validate/imsiPOSTValidates ISBN-10 (mod-11) or ISBN-13 (GS1 mod-10), and converts between the two forms with the correct recomputed check digit. Answers 'Is this ISBN valid?', 'What is the ISBN-13 for this ISBN-10?'.
/v1/validate/isbnPOSTValidates an ISSN mod-11 check character (digit or X) and derives its EAN-13/977 barcode. Answers 'Is this ISSN valid?', 'What is the EAN-13 barcode for this ISSN?'.
/v1/validate/issnPOSTValidates an ISMN-13 (printed-music identifier, 9790 prefix, GS1 mod-10), accepting the legacy 'M' form. Answers 'Is this ISMN valid?', 'Does this music number have a valid check digit?'.
/v1/validate/ismnPOSTValidates the GS1 mod-10 check digit for UPC-A, EAN-13, EAN-8, or GTIN-14, auto-detecting the format and emitting the zero-padded canonical GTIN-14. Answers 'Is this barcode number valid?', 'What is the GTIN-14 form?'.
/v1/validate/gtinPOSTValidates the 18-digit GS1 SSCC (Serial Shipping Container Code) mod-10 check digit and parses the extension digit. Answers 'Is this SSCC valid?', 'What is the pallet/container check digit?'.
/v1/validate/ssccPOSTValidates an ISO 17442 Legal Entity Identifier via mod-97 checksum and parses the LOU prefix, entity ID, and check digits. Answers 'Is this LEI valid?', 'Which LOU issued this LEI?'.
/v1/validate/leiPOSTValidates a US National Provider Identifier using Luhn computed over the 80840 prefix per the CMS spec. Answers 'Is this NPI valid?', 'Does this healthcare provider ID pass its checksum?'.
/v1/validate/npiPOSTValidates a US ABA routing number via the 3-7-1 weighted mod-10 checksum and resolves the Federal Reserve district and ABA institution ID. Answers 'Is this routing number valid?', 'Which Fed district issued it?'.
/v1/validate/routing-numberPOSTValidates a 7-character SEDOL security identifier via its 1-3-1-7-3-9 weighted mod-10 check digit. Answers 'Is this SEDOL valid?', 'Does this LSE security code pass its checksum?'.
/v1/validate/sedolPOSTValidates the canonical 8-4-4-4-12 UUID format and reports version (1-8), RFC 4122/9562 variant, and Nil/Max special cases. Answers 'Is this a valid UUID?', 'What version and variant is it?'.
/v1/validate/uuidPOSTValidates an EUI-48 MAC in colon/hyphen/cisco-dot/bare form and parses OUI vs NIC plus unicast/multicast and universal/local bits. Answers 'Is this MAC valid?', 'Is it unicast or locally administered?'.
/v1/validate/mac-addressPOSTIdentifies the payment network (Visa, Mastercard, Amex, Discover, Diners, JCB, UnionPay) from a card BIN/prefix and checks length validity for that network. Answers 'Which network is this card?', 'Is the length valid for it?'.
/v1/validate/card-binPOSTValidates US EIN structure (NN-NNNNNNN), rejecting prefixes the IRS never assigns and mapping the prefix to its issuing campus. Answers 'Is this EIN well-formed?', 'Which IRS campus issued this prefix?'.
/v1/validate/einPOSTValidates US SSN structure (rejects 000/666/900-999 area, 00 group, 0000 serial) and splits area/group/serial. Structure-only — makes no claim of actual issuance. Answers 'Is this SSN structurally valid?', 'What are its area/group/serial parts?'.
/v1/validate/ssnPOSTComputes the check digit for a payload under a chosen scheme: Luhn, GS1 mod-10, ISO 7064 mod-11, ISO 7064 MOD 97-10, Verhoeff, or Damm. Answers 'What check digit completes this number?', 'How do I generate a valid identifier under scheme X?'.
/v1/validate/check-digitPOSTConverts betting odds between American, decimal, fractional, and implied probability (supply one, get all four) and adds break-even win rate and unit payout multiple. Answers 'What is +150 in decimal odds?', 'What implied probability does these odds carry?'.
/v1/sports/odds-convertPOSTRemoves the bookmaker vig from a two-way market via proportional normalization, returning fair probabilities, fair decimal odds, and the baked-in margin. Answers 'What are the true no-vig odds on this moneyline?', 'How much vig is in this two-way market?'.
/v1/sports/novig-2wayPOSTRemoves vig from a three-way home/draw/away market and returns fair probabilities and fair decimal odds for all outcomes with a sum-to-one consistency check. Answers 'What are the fair 1X2 odds with the vig stripped out?', 'What is the bookmaker margin on this 3-way?'.
/v1/sports/novig-3wayPOSTKelly criterion stake sizing for a single bet from win probability and decimal odds, returning full and fractional-Kelly fractions, recommended stake on a bankroll, edge, and expected log-growth, with a no-bet flag for non-positive edge. Answers 'How much should I stake using Kelly?', 'What is my half-Kelly bet size?'.
/v1/sports/kelly-stakePOSTComputes the expected value of a single bet from true win probability, decimal odds, and stake, separating win-branch profit from lose-branch loss and flagging +EV. Answers 'Is this a +EV bet?', 'What is the expected profit on this wager?'.
/v1/sports/bet-expected-valuePOSTComputes betting ROI/yield over a record from total staked and total returned, optionally adding profit-per-bet and realized win rate from bet counts. Answers 'What is my betting ROI?', 'What is my yield per bet?'.
/v1/sports/betting-roiPOSTCombines independent parlay legs into total decimal/American odds and hit probability, computes payout and profit on a stake, and (with true leg probabilities) the parlay EV exposing compounded vig. Answers 'What are the combined odds of my parlay?', 'What is the payout on a 3-leg accumulator?'.
/v1/sports/parlay-oddsPOSTEnumerates all parlay combinations of a chosen size from N selections, counting tickets (n choose k) and computing per-ticket combined odds, payout, and total stake. Answers 'How many tickets in a round-robin?', 'What does each parlay combo pay in my round-robin?'.
/v1/sports/round-robinPOSTPrices a football/basketball teaser by combining post-adjustment decimal odds for all legs into payout and profit, and returns the implied break-even win rate per leg. Answers 'What does my 6-point teaser pay?', 'What win rate per leg do I need to break even on a teaser?'.
/v1/sports/teaser-oddsPOSTComputes the bookmaker hold and overround across any number of outcomes from their decimal odds, distinguishing overround (sum of implied probs minus 1) from true hold (margin/overround). Answers 'What is the hold on this market?', 'How much edge has the book baked in?'.
/v1/sports/bookmaker-holdPOSTDetects a two-way sure-bet (1/oddsA + 1/oddsB < 1) and computes the stake split for a target total that locks equal profit on either outcome, with guaranteed profit and ROI. Answers 'Is there an arbitrage between these two books?', 'How do I split my stake to lock a sure profit?'.
/v1/sports/arbitrage-2wayPOSTUpdates two Elo ratings after one game with a configurable K-factor and an optional margin-of-victory multiplier that scales blowouts, returning expected scores, points exchanged, and new ratings. Answers 'What are the new Elo ratings after this result?', 'How much should ratings move for a blowout win?'.
/v1/sports/elo-updatePOSTMaps an Elo rating gap (plus optional home-field advantage in Elo points) to each side's win probability and implied fair decimal/American odds. Answers 'What is the win probability given this Elo gap?', 'What are the fair odds from these ratings?'.
/v1/sports/elo-win-probabilityPOSTBuilds the scoreline grid from each side's expected goals and aggregates home/draw/away probabilities, most-likely scoreline, fair 1X2 odds, over/under 2.5 and both-teams-to-score probabilities. Answers 'What are the 1X2 probabilities from these expected goals?', 'What is the most likely scoreline?'.
/v1/sports/poisson-matchPOSTConverts a point spread into a straight-up win probability via a normal margin model with sport-specific standard deviation, returning cover and push probabilities and the implied fair moneyline. Answers 'What win probability does a -7 spread imply?', 'What are the fair odds for this point spread?'.
/v1/sports/spread-winprobPOSTApproximates the point spread implied by a moneyline by inverting the normal margin model (moneyline to win probability to z-score to expected margin), consistent with the spread-to-probability convention. Answers 'What spread does a -300 moneyline imply?', 'How many points is this favorite worth?'.
/v1/sports/moneyline-to-spreadPOSTComputes the long-run break-even win rate for a bet at given odds (American or decimal) and, with a stated true win probability, the edge over break-even and a +EV flag. Answers 'What win rate do I need to break even at -110?', 'How much edge over break-even do I have?'.
/v1/sports/breakeven-winratePOSTQuantifies closing-line value by comparing the decimal odds you bet at against the closing odds, returning CLV in odds-percentage and implied-probability terms and whether you beat the close. Answers 'Did I beat the closing line?', 'What is my CLV on this bet?'.
/v1/sports/closing-line-valuePOSTRuns a paired-samples t-test on before/after measurements, returning t, df, two-tailed p-value, the CI of the mean difference and Cohen's dz effect size. Answers 'Is the change between paired measurements significant?', 'What is the t-statistic and p-value for matched pairs?'.
/v1/stats/paired-t-testPOSTTests an observed proportion against a hypothesized value with the normal approximation, returning z, the one/two-tailed p-value and the standard error. Answers 'Is my observed rate significantly different from the expected rate?', 'What is the z and p for a single proportion?'.
/v1/stats/one-proportion-z-testPOSTCompares two independent proportions with a pooled-variance z-test, returning z, p-value, both rates, the pooled proportion and the difference. Answers 'Are these two conversion rates significantly different?', 'What is the z-statistic comparing two proportions?'.
/v1/stats/two-proportion-z-testPOSTBuilds a Welch or pooled t confidence interval for the difference between two independent means from summary stats, returning the interval, df, t-critical and margin of error. Answers 'What is the 95% CI for the gap between two group means?', 'Does the mean difference exclude zero?'.
/v1/stats/ci-diff-meansPOSTComputes a Wald confidence interval for the difference between two independent proportions, returning the interval, z, standard error and margin of error. Answers 'What is the CI for the difference between two rates?', 'Is the lift between two proportions significant?'.
/v1/stats/ci-diff-proportionsPOSTSolves the power equation for two-means (Cohen's d) or two-proportions (Cohen's h): give n to get power, or give target power to get required n per group. Answers 'How many subjects per group do I need?', 'What is my statistical power at this sample size?'.
/v1/stats/power-analysisPOSTComputes Spearman's rho (rank correlation, tie-corrected) with a t-based significance test, capturing monotonic association robust to outliers and non-linearity. Answers 'What is the rank correlation between two variables?', 'Is the monotonic relationship significant?'.
/v1/stats/spearman-correlationPOSTUpdates Beta posteriors for two variants from conversion counts and computes P(B beats A) by exact numerical integration plus expected lift and posterior means/variances. Answers 'What is the probability that variant B is better than A?', 'What is the expected lift in a Bayesian A/B test?'.
/v1/stats/bayesian-ab-testPOSTEvaluates the exponential distribution: CDF/survival/PDF at x or an interval probability, plus mean, median and variance. Answers 'What is the probability of waiting less than t with this rate?', 'What is the survival probability of an exponential lifetime?'.
/v1/stats/exponential-probabilityPOSTComputes geometric probabilities (exact/at-most/at-least) under either the trials-until-success or failures-before-success convention, plus mean and variance. Answers 'What is the chance the first success comes on trial k?', 'What is P(X >= k) for a geometric distribution?'.
/v1/stats/geometric-probabilityPOSTComputes negative-binomial probabilities for the number of failures before the r-th success (exact/at-most/at-least) with mean and variance. Answers 'What is the probability of k failures before r successes?', 'What is the negative binomial PMF/CDF?'.
/v1/stats/negative-binomial-probabilityPOSTComputes hypergeometric probabilities for k successes in n draws without replacement from a population of N with K successes (exact/at-most/at-least), plus mean and variance. Answers 'What is the probability of drawing k specific items without replacement?', 'What is the hypergeometric PMF?'.
/v1/stats/hypergeometric-probabilityPOSTPerforms Fisher's exact test on a 2x2 contingency table (left/right/two-tailed) with exact hypergeometric tail probabilities and the odds ratio — correct for small counts where chi-square fails. Answers 'Is there an exact association in this 2x2 table?', 'What is Fisher's exact p-value?'.
/v1/stats/fisher-exact-testPOSTComputes the odds ratio and relative risk with log-based confidence intervals (Haldane-Anderson zero-cell correction) plus absolute risks and risk difference from a 2x2 exposure/outcome table. Answers 'What is the odds ratio and its 95% CI?', 'What is the relative risk between exposed and unexposed groups?'.
/v1/stats/odds-ratio-risk-ratioPOSTApplies a family-wise multiple-comparison correction (Bonferroni, Holm step-down, or Sidak) to a set of p-values, returning adjusted p-values, the per-comparison alpha and which hypotheses are rejected. Answers 'How do I correct p-values for multiple testing?', 'Which results survive Holm/Bonferroni correction?'.
/v1/stats/multiple-comparison-correctionPOSTControls the false-discovery rate via the Benjamini-Hochberg step-up procedure, returning the critical p-value, monotone BH-adjusted q-values and which discoveries are kept. Answers 'Which p-values survive FDR control?', 'What is the BH critical threshold and adjusted q-values?'.
/v1/stats/benjamini-hochberg-fdrPOSTRuns the Mann-Whitney U (Wilcoxon rank-sum) test for two independent samples with tie- and continuity-corrected normal approximation, returning U, z and p — a non-parametric alternative to the two-sample t-test. Answers 'Do two groups differ when the data isn't normal?', 'What is the Mann-Whitney U and p-value?'.
/v1/stats/mann-whitney-uPOSTRuns the Wilcoxon signed-rank test for paired/one-sample data (drops zeros, tie- and continuity-corrected), returning W+, W-, z and p — a non-parametric alternative to the paired t-test. Answers 'Is there a median shift between paired non-normal measurements?', 'What is the Wilcoxon signed-rank statistic and p-value?'.
/v1/stats/wilcoxon-signed-rankPOSTRuns the Kruskal-Wallis H test (tie-corrected) across three or more independent groups, returning H, df, chi-square p-value and per-group rank sums — a non-parametric one-way ANOVA. Answers 'Do several groups differ when data isn't normal?', 'What is the Kruskal-Wallis H and p-value?'.
/v1/stats/kruskal-wallisPOSTRuns Tukey-style pairwise post-hoc comparisons after a one-way ANOVA, returning each pair's mean difference, studentized-range q-statistic, standard error and an approximate p-value flagging which groups differ. Answers 'Which group means differ after a significant ANOVA?', 'What are the pairwise Tukey HSD comparisons?'.
/v1/stats/tukey-hsdPOSTActs as a programmatic statistical table: computes critical values or p-values for the normal, Student t, chi-square and F distributions given alpha/confidence, tail and degrees of freedom. Answers 'What is the t/F/chi-square critical value at this alpha and df?', 'What is the p-value for this test statistic?'.
/v1/stats/distribution-critical-valuePOSTConverts between common effect-size metrics — Cohen's d, Pearson r, odds ratio and eta-squared — using the standard formulas (with an optional sample-size adjustment for d↔r). Answers 'How do I convert Cohen's d to r or an odds ratio?', 'What is the equivalent effect size in another metric?'.
/v1/stats/effect-size-convertPOSTComputes a t-based prediction interval for the next single observation, or a normal two-sided tolerance interval (Howe k-factor) that covers a target fraction of the population with stated confidence — distinct from a confidence interval for the mean. Answers 'What range will the next observation fall in?', 'What interval covers 95% of the population with 95% confidence?'.
/v1/stats/prediction-intervalPOSTTests whether an ISO date is a working day given a custom weekend mask and explicit holiday list, returning the weekday and the precise reason it is or isn't a business day. Answers 'Is 2026-07-04 a business day?', 'Is this date a weekend or a holiday?'.
/v1/datetime/is-business-dayPOSTCounts working days between two ISO dates honoring a custom weekend mask and explicit holiday list, returning a breakdown of calendar days, weekend days and holidays skipped, with signed direction. Answers 'How many business days between two dates?', 'Net working days excluding my holidays?'.
/v1/datetime/business-days-betweenPOSTAdds (or subtracts, if negative) N working days to an ISO date, skipping a custom weekend mask and explicit holidays, returning the landing date, its weekday and how many non-business days were skipped. Answers 'What date is 3 business days from now?', 'Add 10 working days excluding holidays.'.
/v1/datetime/add-business-daysPOSTSums the working hours between two ISO datetimes given a daily workday window (e.g. 09:00-17:00), a weekend mask and holidays, clamping each day to the open window. Answers 'How many working hours elapsed between two timestamps?', 'Billable in-office hours over this span?'.
/v1/datetime/working-hours-betweenPOSTAdds a number of working hours to a start datetime against a workday window, weekend mask and holidays, rolling overflow into subsequent working days to return the exact SLA breach/due instant. Answers 'When is a 10-working-hour SLA due?', 'Deadline counting only business hours.'.
/v1/datetime/sla-due-datePOSTResolves the date of the Nth occurrence of a given weekday in a month (e.g. 3rd Monday), accepting weekday names or 0-6 and erroring when that occurrence doesn't exist. Answers 'When is the 3rd Monday of March 2026?', 'Date of the 2nd Tuesday this month?'.
/v1/datetime/nth-weekday-of-monthPOSTResolves the date of the last given weekday in a month (e.g. last Monday = Memorial Day), returning which occurrence number it is. Answers 'When is the last Friday of December 2026?', 'Last Monday of May (Memorial Day)?'.
/v1/datetime/last-weekday-of-monthPOSTComputes precise age from a birthdate to a reference date as years, months and days (with carry/borrow), plus totals and days to the next birthday. Answers 'How old is someone born 1990-02-15 as of today?', 'Exact age in years, months and days.'.
/v1/datetime/agePOSTBreaks the span between two ISO datetimes into calendar years/months/days plus hours/minutes/seconds (with borrow), and emits an ISO-8601 duration string and unit totals. Answers 'Exact duration between two timestamps?', 'How many years, months and days apart are these?'.
/v1/datetime/precise-durationPOSTConverts a raw duration in seconds or milliseconds into a human phrase ("2 days, 7 hours, ...") with a per-unit breakdown and optional maxUnits truncation. Answers 'What is 200000 seconds in plain English?', 'Humanize this millisecond duration.'.
/v1/datetime/humanize-durationPOSTConverts a wall-clock datetime from one fixed UTC offset (in minutes) to another via UTC, with no IANA/tz-database dependency so the result is fully deterministic. Answers 'Convert 14:30 UTC-5 to UTC+1', 'What is this local time in another offset?'.
/v1/datetime/offset-convertPOSTComputes all 11 US federal holidays for a year from first principles (fixed dates, nth-weekday rules and the Saturday→Friday / Sunday→Monday observed rule) — no lookup table. Answers 'What are the US federal holidays in 2026?', 'When is Thanksgiving / observed July 4th?'.
/v1/datetime/us-federal-holidaysPOSTComputes Easter Sunday for a year via the Computus algorithm — Western (Gregorian) or Orthodox (Julian, returned as the Gregorian-calendar date). Answers 'What date is Easter 2026?', 'When is Orthodox Easter?'.
/v1/datetime/easterPOSTDerives the Easter-anchored movable feasts (Ash Wednesday, Palm Sunday, Good Friday, Ascension, Pentecost, Corpus Christi, etc.) for a year from Easter offsets, Western or Orthodox. Answers 'When is Ash Wednesday 2026?', 'Dates of all movable feasts this year?'.
/v1/datetime/movable-feastsPOSTConverts between an astronomical Julian Date (and Modified JD) and a Gregorian instant in both directions using exact JDN arithmetic. Answers 'What is the Julian Date for J2000.0?', 'Convert JD 2451545.0 to a calendar date.'.
/v1/datetime/julian-datePOSTConverts between Unix epoch timestamps (seconds or milliseconds) and ISO-8601 datetimes in both directions, returning both unit forms and the weekday. Answers 'What is this ISO time as a Unix timestamp?', 'Convert epoch 1780531200 to a date.'.
/v1/datetime/unix-convertPOSTAdds or subtracts an ISO-8601 duration (P1Y2M10DT2H30M) to a datetime using CALENDAR-accurate month/year arithmetic — clamping to month-end (Jan 31 + P1M = Feb 28/29) rather than nominal 30-day months. Answers 'What is Jan 31 + 1 month?', 'Add P1Y2M to this date correctly.'.
/v1/datetime/add-iso-durationPOSTDetermines which week of the month a date falls in under both the simple ceil(day/7) and the calendar (weekStartsOn-aligned) conventions, plus the nth-occurrence of its weekday and total weeks. Answers 'Which week of the month is this date?', 'Is this the last week of the month?'.
/v1/datetime/week-of-monthPOSTFinds the next or previous occurrence of a given weekday relative to a reference date, with an optional includeStart flag, returning the resolved date and signed day offset. Answers 'When is the next Monday after this date?', 'Find the previous Friday.'.
/v1/datetime/next-weekdayPOSTCounts how many of each weekday fall in an inclusive date range (e.g. how many Mondays in June), plus total weekday vs weekend day counts, using O(1) arithmetic. Answers 'How many Fridays between two dates?', 'Weekday vs weekend day count for this span?'.
/v1/datetime/weekday-occurrencesPOSTComputes the exact binomial coefficient C(n,r) (BigInt-exact for huge n) plus notation and a plain-language reading. Answers 'How many ways to choose 5 cards from 52?', 'What is nCr exactly without overflow?'.
/v1/gametheory/combinationsPOSTComputes the exact number of ordered arrangements P(n,r)=n!/(n-r)! using BigInt so large values stay exact. Answers 'How many ways to arrange 3 of 10 runners on a podium?', 'What is nPr?'.
/v1/gametheory/permutationsPOSTComputes the exact multinomial coefficient n!/(k1!·k2!···) for distinct arrangements of a multiset given group sizes. Answers 'How many distinct arrangements of the letters in MISSISSIPPI?', 'What is the multinomial coefficient?'.
/v1/gametheory/multinomial-coefficientPOSTReturns n! exactly for non-negative integers (BigInt) and falls back to the Lanczos gamma extension Γ(n+1) for fractional or large n. Answers 'What is 10! exactly?', 'What is 0.5! via the gamma function?'.
/v1/gametheory/factorial-gammaPOSTCounts the ways to distribute identical items into distinct bins (with or without empty bins) via the stars-and-bars formula. Answers 'How many ways to split 10 identical balls into 4 boxes?', 'Non-negative integer solutions to x1+...+x4=10?'.
/v1/gametheory/stars-and-barsPOSTCounts the partitions p(n) of an integer into unordered positive summands, optionally bounded by max number of parts or max part size, via exact DP. Answers 'How many ways can 10 be written as a sum of positive integers?', 'p(n) with parts at most k?'.
/v1/gametheory/integer-partitionsPOSTComputes the exact probability that N dice with S sides sum to (exactly / at least / at most) a target via convolution DP, with favorable/total counts and odds. Answers 'What is P(sum=7) on 2d6?', 'Chance of rolling at least 15 on 4d6?'.
/v1/gametheory/dice-sum-probabilityPOSTComputes the shared-birthday collision probability for k people over D days, or inverts to find the people needed for a target probability. Answers 'What is the chance two of 23 people share a birthday?', 'How many people for a 50% collision?'.
/v1/gametheory/birthday-paradoxPOSTComputes the expected number of random draws (with replacement) to collect all (or k of n) distinct coupon types, plus variance and standard deviation. Answers 'How many cereal boxes to get all 6 toys?', 'Expected draws to complete a collectible set?'.
/v1/gametheory/coupon-collectorPOSTComputes expected gacha/loot pulls to obtain a target via the geometric distribution, with optional hard-pity truncation and per-copy/total expectations. Answers 'How many pulls on average for a 0.6% rate with 90 pity?', 'Expected loot drops to get N copies?'.
/v1/gametheory/gacha-expected-pullsPOSTComputes the mean, variance, standard deviation and skewness of a discrete distribution given values and matching probabilities (validated to sum to 1). Answers 'What is E[X] and Var(X) for this payoff distribution?', 'Expected value and spread of a discrete random variable?'.
/v1/gametheory/discrete-expectationPOSTComputes expected utility, certainty equivalent and risk premium for a gamble under exponential (CARA), log, or power (CRRA) utility, classifying the risk attitude. Answers 'What guaranteed amount equals this risky bet for a risk-averse agent?', 'What is the risk premium under CARA utility?'.
/v1/gametheory/certainty-equivalentPOSTFinds all pure-strategy Nash equilibria and the interior mixed-strategy equilibrium of a 2x2 bimatrix game from both players' payoff matrices. Answers 'What are the equilibria of this 2x2 game?', 'What is the mixed strategy for matching pennies?'.
/v1/gametheory/nash-2x2POSTScans a payoff matrix (your rows vs opponent columns) for strictly or weakly dominant rows and lists dominated strategies that can be eliminated. Answers 'Do I have a dominant strategy in this game?', 'Which strategies are dominated and can be removed?'.
/v1/gametheory/dominant-strategyPOSTComputes maximin/minimax over a zero-sum payoff matrix, detects a pure saddle point and reports the game value or the bound interval requiring mixed play. Answers 'Does this zero-sum game have a saddle point?', 'What is the value of this matrix game?'.
/v1/gametheory/zero-sum-minimaxPOSTComputes stay-vs-switch win probabilities for the generalized Monty Hall problem with D doors and any number of revealed losing doors. Answers 'Should I switch in Monty Hall?', 'What is the switch advantage with 100 doors?'.
/v1/gametheory/monty-hallPOSTComputes the probability of reaching a target before going broke and the expected number of bets in the classic random-walk gambler's ruin, handling fair and biased games. Answers 'What is my chance of doubling my bankroll before ruin?', 'How long until the random walk hits a boundary?'.
/v1/gametheory/gamblers-ruinPOSTComputes the optimal stopping cutoff (reject-then-pick rule) and exact success probability for the secretary/best-choice problem of size n. Answers 'How many candidates should I observe before hiring?', 'What is the optimal stopping rule and its win chance?'.
/v1/gametheory/secretary-problemPOSTTallies ranked ballots under plurality, Borda, Condorcet and instant-runoff (IRV), returning each method's winner, full round-by-round IRV, pairwise Condorcet check and Borda scores. Answers 'Who wins under each voting method?', 'Is there a Condorcet winner or a cycle?'.
/v1/gametheory/voting-resultPOSTTallies approval ballots (each voter approves any subset of candidates), returning per-candidate approvals, ranking, winner and approval rate. Answers 'Who wins under approval voting?', 'What fraction of voters approved the winner?'.
/v1/gametheory/approval-votingPOSTAllocates seats to parties by D'Hondt, Sainte-Laguë (highest averages) or Hamilton (largest remainder), returning allocation plus seat/vote shares. Answers 'How are parliamentary seats divided under D'Hondt?', 'What does Sainte-Laguë vs Hamilton give for these vote totals?'.
/v1/gametheory/apportionmentPOSTComputes exact Shapley values (fair marginal-contribution payouts) for a small cooperative game given the value of every coalition, and verifies efficiency. Answers 'How should a coalition's payoff be split fairly?', 'What is each player's Shapley value?'.
/v1/gametheory/shapley-valuePOSTRecomputes the HMAC-SHA256(serverSeed, clientSeed:nonce) outcome and converts it to a float, dice roll or bounded integer to verify a provably-fair gambling result. Answers 'Was this casino roll provably fair given the seeds?', 'What outcome does this server/client seed pair produce?'.
/v1/gametheory/provably-fair-verifyPOSTComputes the total resistance of N resistors in series or parallel with the canonical reciprocal-sum formula. Answers 'What is the equivalent resistance of these resistors in parallel?', 'What is the total series resistance?'.
/v1/electrical/resistor-networkPOSTComputes total capacitance of N capacitors in series or parallel (the reciprocal rule is opposite to resistors, a common slip). Answers 'What is the total capacitance of these caps in series?', 'How do parallel capacitors add?'.
/v1/electrical/capacitance-networkPOSTSplits a total current across two parallel branches and returns each branch current plus the parallel resistance. Answers 'How much current flows through each parallel resistor?', 'What is the current-divider output?'.
/v1/electrical/current-dividerPOSTComputes conductor voltage drop (volts and %) for single- or three-phase runs by AWG, length, current and material, and recommends the thinnest gauge meeting a max-drop limit. Answers 'What is the voltage drop on this wire run?', 'Is AWG 12 adequate or do I need a thicker gauge?'.
/v1/electrical/voltage-dropPOSTReturns diameter, cross-section area (mm2/kcmil) and resistance-per-length for an AWG conductor in copper or aluminum, with total resistance over an optional length. Answers 'What is the diameter and resistance of AWG 12 wire?', 'How many ohms per km for this gauge?'.
/v1/electrical/awg-propertiesPOSTRelates line/phase voltage and current for wye/delta and returns real, reactive and apparent power plus the phase angle (power triangle). Answers 'What is the kW and kVA of a 3-phase load?', 'What is the phase voltage in a wye connection?'.
/v1/electrical/three-phase-powerPOSTComputes the capacitor kVAR needed to raise power factor from current to target at a real load, and optionally the capacitance for a given voltage/frequency. Answers 'How many kVAR of capacitors do I need to correct power factor to 0.95?', 'What capacitor size fixes my PF?'.
/v1/electrical/pf-correctionPOSTComputes the inductor-resistor time constant tau = L/R, the 99% settling time, and the current rise/decay percentage at an optional time. Answers 'What is the RL time constant?', 'How long until the inductor current reaches steady state?'.
/v1/electrical/rl-time-constantPOSTComputes stored energy E = 1/2 C V^2 and stored charge Q = C V for a capacitor. Answers 'How much energy is stored in this capacitor?', 'What charge does a cap hold at this voltage?'.
/v1/electrical/capacitor-energyPOSTComputes stored magnetic energy E = 1/2 L I^2 and flux linkage psi = L I for an inductor. Answers 'How much energy is stored in this inductor?', 'What is the flux linkage at this current?'.
/v1/electrical/inductor-energyPOSTConverts a complex impedance R + jX into magnitude and phase angle, classifies it as inductive/capacitive, and returns conductance/susceptance/admittance. Answers 'What is the magnitude and phase of this impedance?', 'Is this load inductive or capacitive?'.
/v1/electrical/impedancePOSTComputes the LC resonant frequency f = 1/(2*pi*sqrt(L*C)), angular frequency and the reactance at resonance. Answers 'What is the resonant frequency of this LC circuit?', 'What inductor/capacitor tunes to this band?'.
/v1/electrical/resonant-frequencyPOSTEstimates battery runtime under load using the Peukert equation (more accurate than naive Ah/A), plus delivered watt-hours at an optional voltage. Answers 'How long will this battery last at this load?', 'What is the Peukert-corrected runtime?'.
/v1/electrical/battery-runtimePOSTSizes the required battery capacity (Ah) for a daily load given autonomy days, depth-of-discharge and temperature derate, and the parallel-battery count. Answers 'How many amp-hours of battery do I need for off-grid autonomy?', 'How many batteries in parallel?'.
/v1/electrical/battery-bank-sizingPOSTDetermines max and min PV panels per series string within the inverter/MPPT voltage window, applying cold-Voc and hot-Vmp temperature corrections. Answers 'How many solar panels can I put in series for this inverter?', 'Is my string voltage within the MPPT window at temperature extremes?'.
/v1/electrical/solar-string-sizingPOSTSizes inverter continuous and surge ratings (W and VA) from connected loads, applying a power factor and sizing margin. Answers 'What size inverter do I need for these loads?', 'How many VA continuous and surge?'.
/v1/electrical/inverter-sizingPOSTConverts between dBm and watts/milliwatts (and dBW), and applies a dB gain/loss returning power and voltage ratios and the output level. Answers 'What is 30 dBm in watts?', 'What is the output power after 10 dB of gain?'.
/v1/electrical/dbm-wattsPOSTComputes free-space and velocity-factor-adjusted wavelength plus full/half/quarter-wave element lengths for a frequency. Answers 'What is the wavelength at this frequency?', 'How long should a quarter-wave antenna be?'.
/v1/electrical/antenna-wavelengthPOSTComputes the geodesic distance between two coordinates on the WGS-84 ellipsoid via Vincenty's iterative inverse formula (sub-meter accurate, ~0.3-0.5% better than haversine), plus initial/final bearings and the spherical correction. Answers 'What is the precise ellipsoidal distance between two points?', 'How far off is haversine from the true geodesic?'.
/v1/geo/vincenty-distancePOSTReturns the initial (forward) and final (reverse) azimuths of the geodesic between two points on the WGS-84 ellipsoid, plus 16-point compass labels. The bearing changes along a geodesic, so both endpoints differ. Answers 'What heading do I depart on and arrive at?', 'What is the final bearing at the destination?'.
/v1/geo/vincenty-bearingPOSTComputes the loxodrome (rhumb line) between two points: distance, the single constant compass bearing you steer the whole way, and how much longer it is than the great circle. Answers 'What constant heading connects two points?', 'How much extra distance does a rhumb line add?'.
/v1/geo/rhumb-linePOSTProjects a destination coordinate from a start point following a constant compass bearing for a given distance (loxodromic dead reckoning). Answers 'Where do I end up steering a fixed heading for N km?', 'What point lies due-east 100 km from here along a rhumb line?'.
/v1/geo/rhumb-destinationPOSTGiven a point and a great-circle path (start->end), returns the cross-track (perpendicular) distance off the route, the along-track distance from the start, and which side (left/right) the point lies. Answers 'How far off the planned route is this point?', 'How far along the leg have I progressed?'.
/v1/geo/cross-trackPOSTFinds the nearest point on a finite great-circle segment to a query point, returning the distance, the nearest coordinate, the parametric position t (0..1), and whether the foot of the perpendicular is clamped to an endpoint. Answers 'What is the closest point on this line segment?', 'How far is this point from a finite path edge?'.
/v1/geo/point-to-segmentPOSTInterpolates a coordinate at a given fraction (0..1) along the great-circle arc between two points using spherical interpolation, plus the distance from start. Answers 'What coordinate is 50% of the way along this route?', 'How do I place waypoints evenly along a great circle?'.
/v1/geo/intermediate-pointPOSTReturns the antipodal coordinate diametrically opposite a point through Earth's center, plus the antipodal distance. Answers 'What is the point on the exact opposite side of the Earth?', 'How far away is the antipode?'.
/v1/geo/antipodePOSTSums the haversine lengths of every edge of a polygon (or open polyline), returning total perimeter in km and miles plus the per-edge breakdown. Answers 'What is the perimeter of this geofence?', 'How long is the boundary of this polygon?'.
/v1/geo/polygon-perimeterPOSTComputes the true area-weighted centroid (center of mass) of a polygon via the shoelace centroid formula with a cosine-latitude correction — not the naive vertex average. Answers 'Where is the geometric center of this polygon?', 'What is the centroid of a geofence for label placement?'.
/v1/geo/polygon-centroidPOSTExpands a min/max lat-lon bounding box outward by a buffer distance in km on every side, converting km to degrees with the correct cos(latitude) longitude shrinkage. Answers 'How do I add a 10 km buffer around this bbox?', 'What are the padded bounds for a search radius?'.
/v1/geo/bbox-expandPOSTTests whether a coordinate falls inside a min/max lat-lon bounding box, correctly handling antimeridian-crossing boxes (where minLon > maxLon). Answers 'Is this point inside the bounding box?', 'Does my coordinate fall within a tile/extent that wraps the dateline?'.
/v1/geo/point-in-bboxPOSTComputes the convex hull of a set of coordinates using Andrew's monotone-chain algorithm (cos-latitude projected), returning the ordered boundary vertices that enclose all points. Answers 'What is the smallest convex boundary around these points?', 'Which points form the outer envelope of my cluster?'.
/v1/geo/convex-hullPOSTConverts geodetic coordinates (lat, lon, ellipsoidal height) to Earth-Centered Earth-Fixed (ECEF) Cartesian X/Y/Z meters on the WGS-84 ellipsoid, plus the prime-vertical radius. Answers 'What are the ECEF coordinates of this position?', 'How do I convert GPS lat/lon to 3D Cartesian?'.
/v1/geo/geodetic-to-ecefPOSTConverts Earth-Centered Earth-Fixed (ECEF) Cartesian X/Y/Z meters back to geodetic latitude, longitude and ellipsoidal height on WGS-84 using Bowring's closed-form method. Answers 'What lat/lon does this ECEF coordinate map to?', 'How do I invert 3D Cartesian back to GPS coordinates?'.
/v1/geo/ecef-to-geodeticPOSTConverts a UTM grid coordinate (zone, hemisphere, easting, northing) back to geographic latitude/longitude on WGS-84 using the Snyder inverse series — the reverse of forward UTM projection. Answers 'What lat/lon does this UTM coordinate correspond to?', 'How do I un-project a UTM easting/northing?'.
/v1/geo/utm-to-latlonPOSTDecodes a Military Grid Reference System (MGRS) string (zone, band, 100km square, digits) to geographic latitude/longitude on WGS-84, resolving the 100km square and northing band via the underlying UTM inverse. Answers 'What lat/lon is this MGRS grid reference?', 'How do I decode an MGRS coordinate to GPS?'.
/v1/geo/mgrs-to-latlonPOSTComputes the area enclosed by a polygon on the WGS-84 ellipsoid via the line-integral (spherical-excess) method, returning m², km², hectares, acres and winding orientation — accurate where the planar shoelace fails on large or high-latitude polygons. Answers 'What is the true area of this geofence/parcel?', 'How many hectares does this polygon cover?'.
/v1/geo/geodesic-areaPOSTBuilds the tightest tangent bounding box that contains a circle of given radius (km) around a center point, returning the bbox, the four corner coordinates and the diagonal length. Answers 'What bounding box covers a 10 km search radius?', 'What are the NE/SW corners around a center point?'.
/v1/geo/bbox-from-radiusPOSTCombined Vincenty rangefinder: returns the ellipsoidal distance (km and nautical miles), the initial compass bearing and the final bearing from an observer to a target — the navigation/targeting pair in one call. Answers 'How far and in what direction is the target?', 'What range and heading do I set to reach a point?'.
/v1/geo/range-bearingPOSTConverts a scientific-pitch note (e.g. A4, C#5, Bb3) to its equal-temperament frequency with a configurable A4 reference, plus MIDI number, period and wavelength. Answers 'What frequency is A4?', 'What Hz is C#5 at A4=432?'.
/v1/music/note-frequencyPOSTMaps any frequency in Hz to the nearest note name and MIDI number and reports the cents deviation (sharp/flat) from in-tune — the core of a pitch/tuner read-out. Answers 'What note is 445 Hz?', 'How many cents flat is 438 Hz from A4?'.
/v1/music/frequency-notePOSTConverts between a MIDI note number (0–127) and a note name and frequency in both directions, with pitch class, octave and enharmonic spelling. Answers 'What note is MIDI 69?', 'What is the MIDI number of A4?'.
/v1/music/midi-notePOSTComputes the interval in cents, semitones and octaves between two frequencies using the canonical 1200·log2 ratio — the unit microtuning and intonation work depends on. Answers 'How many cents between 440 and 523.25 Hz?', 'Is this interval a true octave?'.
/v1/music/cents-betweenPOSTTransposes a note up or down a given number of semitones and returns the new note name, MIDI number and frequency for both pitches, choosing flat spellings on descent. Answers 'What is C4 up a perfect fifth?', 'Transpose A4 down an octave.'.
/v1/music/transposePOSTIdentifies the musical interval between two notes — semitone count, interval name and shorthand (P5, M3, tritone) plus compound-interval handling and cents. Answers 'What interval is C4 to G4?', 'How many semitones from E to B?'.
/v1/music/intervalPOSTBuilds the notes of a chord from a root and quality (maj, min, 7, dim, aug, sus2/4, m7b5, 9, add9 and more) and returns note names, MIDI numbers and frequencies. Answers 'What notes are in Cmaj?', 'Spell a G dominant 7 chord.'.
/v1/music/chord-notesPOSTIdentifies the chord(s) implied by a set of notes, testing every note as a possible root (inversions) against a recipe table and returning the root-position best match. Answers 'What chord is C-E-G?', 'Name the chord A-C-E.'.
/v1/music/chord-identifyPOSTGenerates the notes of a scale from a root and mode (major, natural/harmonic/melodic minor, all seven church modes, major/minor pentatonic, blues, whole-tone, chromatic) with the W-H step pattern. Answers 'What notes are in C major?', 'Spell the A blues scale.'.
/v1/music/scale-notesPOSTReturns the key signature for a major or minor key — the count and ordered list of sharps or flats, derived via the circle of fifths and relative-major mapping. Answers 'How many sharps does G major have?', 'What is the key signature of A minor?'.
/v1/music/key-signaturePOSTFinds a key's relative, parallel, dominant and subdominant keys and its position on the circle of fifths — the harmonic neighbourhood used for modulation. Answers 'What is the relative minor of C major?', 'Where is C on the circle of fifths?'.
/v1/music/related-keysPOSTConverts a tempo in BPM to the millisecond duration of every note value (whole through thirty-second), each with straight, dotted (×1.5) and triplet (×2/3) variants — the producer's tempo-to-time table. Answers 'How long is an eighth note at 120 BPM?', 'Dotted quarter ms at 90 BPM?'.
/v1/music/bpm-note-durationPOSTComputes the tempo-synced delay/reverb pre-delay time in ms (and Hz) for a chosen note value, plus dotted and triplet variants and the bar duration — to lock time-based FX to the groove. Answers 'What delay time syncs an eighth note at 120 BPM?', 'Dotted delay ms for this tempo?'.
/v1/music/delay-timePOSTComputes the number of audio samples per beat (and per chosen note value) for a BPM and sample rate, both exact and rounded — the buffer math for sample-accurate DSP and looping. Answers 'How many samples per beat at 120 BPM, 44.1 kHz?', 'Samples in a sixteenth note?'.
/v1/music/samples-per-beatPOSTDerives BPM from tap intervals (or timestamps) by averaging gaps, and reports the standard deviation, steadiness and a confidence rating — a tap-tempo detector with a stability read-out. Answers 'What BPM is a 500 ms tap?', 'How steady is my tapping?'.
/v1/music/tap-tempoPOSTAnalyses a time signature — simple vs compound classification, felt beats per bar, bar value in whole notes, and (given BPM) the note, bar and total-passage durations in ms. Answers 'Is 6/8 simple or compound?', 'How long is a bar of 4/4 at 120 BPM?'.
/v1/music/time-signaturePOSTCompares just-intonation (small-integer 5-limit ratio) and equal-temperament frequencies for an interval above a tonic, with the cents deviation and the audible beat frequency between them. Answers 'What is a just perfect fifth above A4?', 'How many cents sharp is the just major third?'.
/v1/music/just-intonationPOSTPerforms decibel arithmetic — convert between a ratio and dB (power or amplitude), and logarithmically add or subtract dB levels (e.g. combining incoherent sources) which simple addition gets wrong. Answers 'What is 90 dB + 90 dB?', 'How many dB is a 2x amplitude gain?'.
/v1/music/decibelPOSTReturns a full year-by-year sum-of-the-years'-digits accelerated depreciation schedule (expense, accumulated, book value) that lands exactly on salvage. Answers 'What is the SYD depreciation schedule?', 'How much accelerated depreciation in year 1?'.
/v1/finance/depreciation-sydPOSTReturns a units-of-production (activity-based) depreciation schedule from a per-unit rate and units used each period, capping at salvage. Answers 'What is the units-of-production depreciation?', 'How much depreciation per unit?'.
/v1/finance/depreciation-unitsPOSTReturns a declining-balance depreciation schedule (200%/150%/custom factor) that automatically switches to straight-line when that maximizes expense, never dropping below salvage. Answers 'What is the double-declining-balance schedule?', 'When does it switch to straight-line?'.
/v1/finance/depreciation-ddbPOSTReturns a MACRS GDS depreciation schedule using embedded IRS Pub 946 half-year (default) or mid-quarter percentage tables for 3/5/7/10/15/20-year property. Answers 'What is the MACRS depreciation schedule?', 'How much MACRS depreciation in year 1?'.
/v1/finance/depreciation-macrsPOSTSplits the gain on a depreciated asset sale into §1245/§1250 ordinary-income recapture, unrecaptured §1250 gain, and §1231 capital gain. Answers 'How much depreciation recapture do I owe?', 'What part of my gain is ordinary income?'.
/v1/finance/depreciation-recapturePOSTComputes weighted-average-cost inventory (perpetual moving-average ledger or periodic single average) with running COGS and ending inventory value from a purchase/sale stream. Answers 'What is COGS under weighted average?', 'What is my ending inventory value?'.
/v1/finance/inventory-weighted-averagePOSTBuilds the cost-of-goods-sold statement (retail: beginning + net purchases − ending) or full cost-of-goods-manufactured + COGS schedule (manufacturing, with WIP and DM/DL/MOH). Answers 'What is my cost of goods sold?', 'What is cost of goods manufactured?'.
/v1/finance/cogs-statementPOSTComputes progressive tax via the marginal-slice method over CALLER-SUPPLIED brackets (no embedded rate tables), returning per-bracket breakdown plus marginal and effective rates. Answers 'What tax do these brackets produce?', 'What is my effective vs marginal rate?'.
/v1/finance/progressive-taxPOSTDecomposes net (after-tax) income from caller-supplied federal/state/local/FICA/other rates applied to income net of pre-tax deductions, with per-component tax amounts. Answers 'What is my take-home pay?', 'How much goes to each tax?'.
/v1/finance/after-tax-incomePOSTComputes the FLSA weighted-average regular rate across multiple pay rates in one week (plus non-discretionary bonus) and the resulting half-time overtime premium. Answers 'What is the blended regular rate?', 'How much overtime premium for mixed pay rates?'.
/v1/finance/blended-overtimePOSTProrates a period salary for a mid-period hire or termination by daily rate over calendar or working days, returning prorated pay and amount withheld. Answers 'How much for a partial pay period?', 'What is the prorated salary?'.
/v1/finance/paycheck-prorationPOSTComputes the implied annualized cost of forgoing an early-payment cash discount (e.g. 2/10 net 30 ≈ 37% APR), both nominal and effective. Answers 'Is the 2/10 net 30 discount worth taking?', 'What APR does the cash discount imply?'.
/v1/finance/early-payment-discountPOSTApplies a series (chain/cascading) trade discount like 10/5/2 successively and returns the single equivalent discount rate and net price. Answers 'What is the net price after a 10/5/2 chain discount?', 'What single discount equals a series?'.
/v1/finance/trade-discount-chainPOSTFoots a multi-line invoice with per-line discounts, mixed taxable/exempt lines, per-line tax rates, and optional taxable shipping into a sales-tax grand total. Answers 'What is the invoice total with sales tax?', 'How much tax on a mixed taxable/exempt invoice?'.
/v1/finance/sales-tax-invoicePOSTReturns the circular orbital speed v=sqrt(mu/r) and matching period for an orbit radius or altitude above a named body (Earth, Mars, Sun, etc.), with bundled standard gravitational parameters so no mass lookup is needed. Answers 'What speed for a circular orbit at 400 km?', 'How fast is LEO?'.
/v1/space/circular-orbit-velocityPOSTReturns the escape velocity v=sqrt(2mu/r) from a body surface or a given radius, using bundled planetary constants. Answers 'What is Earth's escape velocity?', 'Escape speed from the Moon?'.
/v1/space/escape-velocityPOSTReturns the orbital period from Kepler's third law T=2*pi*sqrt(a^3/mu) in seconds/minutes/hours/days/years plus mean motion, for any semi-major axis about a named body. Answers 'Orbital period at this altitude?', 'How long is one orbit?'.
/v1/space/orbital-periodPOSTReturns the orbital speed at radius r on an elliptical orbit of semi-major axis a via the vis-viva equation v=sqrt(mu*(2/r-1/a)), validating that r is reachable. Answers 'Speed at perigee/apogee?', 'How fast on this transfer ellipse?'.
/v1/space/vis-viva-velocityPOSTReturns the semi-major axis a=(mu*T^2/4*pi^2)^(1/3) from a given orbital period (inverse Kepler 3rd), in meters/km/AU. Answers 'What altitude gives a 90-minute orbit?', 'Orbit size for this period?'.
/v1/space/semimajor-axis-from-periodPOSTReturns the two-burn Hohmann transfer between coplanar circular orbits: both delta-v burns, total delta-v, and half-ellipse transfer time. Answers 'Delta-v from LEO to GEO?', 'How long is a Hohmann transfer?'.
/v1/space/hohmann-transferPOSTSolves the Tsiolkovsky rocket equation either way: delta-v from a mass ratio, or propellant mass needed for a target delta-v, accepting exhaust velocity or specific impulse (Isp). Answers 'Delta-v for this mass ratio?', 'How much propellant for 9 km/s?'.
/v1/space/rocket-equationPOSTReturns the specific orbital energy epsilon=-mu/(2a) (or from r and v) and classifies the orbit as elliptical/parabolic/hyperbolic. Answers 'Is this orbit bound?', 'What is the specific energy of this trajectory?'.
/v1/space/specific-orbital-energyPOSTReturns the synchronous orbit radius, altitude, and speed where the period matches a body's sidereal rotation (defaults to Earth's sidereal day -> ~35786 km GEO). Answers 'How high is geostationary orbit?', 'Synchronous altitude for Mars?'.
/v1/space/geostationary-orbitPOSTReturns L1/L2 distances from the secondary (Hill-sphere first-order r≈R·(mu/3)^(1/3)) and the L3 offset from the primary for a two-body system from the masses and separation. Answers 'How far is Sun-Earth L1/L2?', 'Where is the L2 halo region?'.
/v1/space/lagrange-pointsPOSTReturns the synodic period 1/S=|1/T1-1/T2| — how often two orbiting bodies realign (e.g. Earth-Mars launch windows) — in seconds/days/years. Answers 'How often do Earth and Mars line up?', 'Synodic period of two satellites?'.
/v1/space/synodic-periodPOSTReturns the required departure phase angle (target lead angle) for a Hohmann transfer to rendezvous with a body on the destination orbit, plus transfer time and synodic period. Answers 'What is the launch phase angle to Mars?', 'When is the transfer window?'.
/v1/space/hohmann-phase-anglePOSTReturns the Newtonian gravitational force F=G*m1*m2/r^2 between two masses plus the acceleration each experiences. Answers 'Gravitational pull between two bodies?', 'Force between Earth and Moon?'.
/v1/space/gravitational-forcePOSTReturns surface gravity g=G*M/R^2 (in m/s^2 and Earth g) plus surface escape velocity from a body's mass and radius, or a named body. Answers 'What is surface gravity on Mars?', 'Gravity of a planet with this mass and radius?'.
/v1/space/surface-gravityPOSTReturns the Schwarzschild (event-horizon) radius r_s=2*G*M/c^2 in m/km/AU for a mass given in kg or solar masses. Answers 'Event horizon radius of a black hole?', 'Schwarzschild radius of the Sun?'.
/v1/space/schwarzschild-radiusPOSTReturns the rigid (1.26) and fluid (2.44) Roche limits — the distance inside which tidal forces tear a satellite apart — from the primary's radius and density and the satellite's density. Answers 'How close can a moon orbit before breaking up?', 'Roche limit for these densities?'.
/v1/space/roche-limitPOSTConverts an astronomical distance between m/km/AU/light-years/parsecs and returns the light travel time in s/min/hours/years. Answers 'How long does light take to cross this distance?', 'Convert light-years to parsecs.'.
/v1/space/light-travelPOSTSolves the distance-modulus relation m-M=5*log10(d/10pc): give any two of apparent magnitude, absolute magnitude, or distance and it returns the third plus the distance modulus. Answers 'Absolute magnitude from apparent magnitude and distance?', 'Distance from the distance modulus?'.
/v1/space/magnitude-distancePOSTReturns the angular size theta=2*atan(size/(2*distance)) in radians/degrees/arcminutes/arcseconds from a physical size and distance (same units). Answers 'How big does the Moon appear?', 'Angular diameter of an object at this range?'.
/v1/space/angular-sizePOSTConverts between cosmological redshift z and recessional velocity using the relativistic (default) or classical Doppler relation, and optionally returns the Hubble distance from H0. Answers 'Velocity from redshift z?', 'Redshift for this recession speed?'.
/v1/space/redshift-velocityPOSTReturns the equation of time (minutes/seconds) — the difference between apparent and mean solar time — and the solar declination for a given UTC instant, via the NOAA solar approximation. Answers 'How far ahead is a sundial today?', 'Equation of time for this date?'.
/v1/space/equation-of-timePOSTReturns Greenwich mean sidereal time (GMST) and, with a longitude, local mean sidereal time (LMST) in degrees, hours, and HMS for a UTC instant (IAU 1982). Answers 'What is the sidereal time now?', 'Local sidereal time at this longitude?'.
/v1/space/sidereal-timePOSTReturns solar declination, day length, and the sunrise/civil/nautical/astronomical twilight hour angles and band spans for a date and latitude (solar-depression geometry, returns null at polar day/night). Answers 'How long is twilight here?', 'Day length and twilight bands for this latitude?'.
/v1/space/twilight-timesPOSTComputes the National Weather Service 'feels-like' heat index using the full Rothfusz regression with low/high-humidity adjustments and a Steadman fallback, returning a risk category. Answers 'What is the heat index at 35C and 60% humidity?', 'Is this heat dangerous?'.
/v1/climate/heat-indexPOSTComputes the 2001-revision NWS/Environment Canada wind chill temperature with frostbite-risk timing and the cooling delta versus air temperature. Answers 'What is the wind chill at -10C with 30 km/h wind?', 'How fast can frostbite set in?'.
/v1/climate/wind-chillPOSTComputes dew point, frost point, and saturation/actual vapor pressure from temperature and relative humidity using the Magnus-Tetens approximation, plus the temperature-dew spread. Answers 'What is the dew point at 25C and 60% RH?', 'How close are we to fog?'.
/v1/climate/dew-pointPOSTComputes the Environment Canada humidex comfort index from temperature and dew point with a discomfort band. Answers 'What is the humidex at 30C with a 22C dew point?', 'How uncomfortable is this humidity?'.
/v1/climate/humidexPOSTComputes the Australian Bureau of Meteorology apparent temperature combining heat, humidity (vapor pressure) and wind cooling. Answers 'What does 30C, 70% RH and 3 m/s wind feel like?', 'What is the BoM feels-like temperature?'.
/v1/climate/apparent-tempPOSTEstimates outdoor-in-sun wet-bulb globe temperature from temperature, humidity, wind and solar radiation using Stull's natural wet-bulb plus a solar globe term, returning the work/rest heat-stress flag. Answers 'What is the WBGT for these conditions?', 'Is it safe to exercise outside?'.
/v1/climate/wbgtPOSTComputes the Temperature-Humidity-Wind index used by personal weather stations: the heat index reduced by a Davis-style wind-cooling term. Answers 'What is the THW index at 35C, 60% RH, 15 km/h wind?', 'How much does wind offset this heat?'.
/v1/climate/thw-indexPOSTConverts a raw pollutant concentration (PM2.5, PM10, O3, CO, SO2, NO2) into the US EPA Air Quality Index via the official piecewise-linear breakpoint interpolation with EPA truncation rules, returning category and color. Answers 'What AQI is 35.5 ug/m3 of PM2.5?', 'Which color band is this pollution?'.
/v1/climate/epa-aqiPOSTInverts the US EPA AQI: given a target AQI value and pollutant, returns the breakpoint concentration that produces it, for planning thresholds. Answers 'What PM2.5 level equals AQI 100?', 'What concentration pushes us into Unhealthy?'.
/v1/climate/aqi-concentrationPOSTComputes the overall US EPA AQI from a set of pollutant concentrations by taking the maximum sub-index and reporting the dominant pollutant, the canonical reporting rule. Answers 'What is the overall AQI given these pollutants?', 'Which pollutant is driving the AQI?'.
/v1/climate/aqi-overallPOSTMaps a 0-500 Pollutant Standards Index value to its Singapore NEA band and 24h health advisory. Answers 'What does PSI 150 mean?', 'What activity advice goes with this PSI?'.
/v1/climate/psi-categoryPOSTComputes daily Growing Degree Days from min/max temperature, a crop base temperature and an optional horizontal upper cutoff. Answers 'How many GDD accumulate with Tmin 12C, Tmax 30C, base 10C?', 'When will my crop reach maturity?'.
/v1/climate/growing-degree-daysPOSTComputes fruit-tree dormancy chill accumulation from an array of hourly temperatures using both the 0-7.2C chill-hours model and the weighted Utah chill-units model. Answers 'How many chill hours did this day provide?', 'Did my orchard meet its chilling requirement?'.
/v1/climate/chill-hoursPOSTComputes reference evapotranspiration (ET0) by the Hargreaves-Samani equation from min/max temperature and extraterrestrial radiation, returning mm/day. Answers 'What is the reference ET for Tmin 15C, Tmax 30C, Ra 35 MJ?', 'How much irrigation water does the crop need?'.
/v1/climate/hargreaves-etPOSTComputes peak stormwater runoff via the SI Rational Method Q = C·i·A/360 from runoff coefficient, rainfall intensity and catchment area, returning peak flow in m3/s and L/s. Answers 'What is the peak runoff for C 0.7, 50 mm/hr, 2 ha?', 'How big must this drain be?'.
/v1/climate/rational-runoffPOSTComputes instantaneous and cumulative soil infiltration after time t via Horton's exponential-decay equation from initial/final rates and a decay constant. Answers 'What is the infiltration rate after 1 hour?', 'How much water has soaked in by now?'.
/v1/climate/soil-infiltrationPOSTComputes building Energy Use Intensity (kWh/m2/yr and kBtu/ft2/yr) from annual energy and floor area, with an optional benchmark comparison. Answers 'What is the EUI for 150000 kWh over 1000 m2?', 'How does this building compare to its benchmark?'.
/v1/climate/energy-use-intensityPOSTComputes data-center Power Usage Effectiveness, its inverse DCiE, and overhead load from total facility vs IT power, with an efficiency rating. Answers 'What is the PUE for 1800 kW total and 1200 kW IT?', 'How efficient is this data center?'.
/v1/climate/puePOSTComputes total blue+green+grey water footprint from per-unit factors and quantity, returning litres, cubic metres and a component breakdown. Answers 'What is the water footprint for 100 units at these factors?', 'How much grey water does this product embody?'.
/v1/climate/water-footprintPOSTComputes EROI/EROEI, net energy and the net-energy fraction from energy delivered vs invested, with a viability rating. Answers 'What is the EROI for 1000 units delivered and 50 invested?', 'Is this energy source a net producer?'.
/v1/climate/eroiPOSTComputes the WHO UV Index from erythemally-weighted surface irradiance with exposure category and a Fitzpatrick skin-type burn-time estimate. Answers 'What UV index is 0.2 W/m2 erythemal?', 'How long until I burn at this UV?'.
/v1/climate/uv-index-irradiancePOSTEstimates minutes of midday sun needed for a target vitamin-D dose given UV index and Fitzpatrick skin type, via a standard erythemal-dose conversion. Answers 'How long in UVI 8 sun to make 1000 IU vitamin D?', 'How much sun does a darker-skinned person need?'.
/v1/climate/vitamin-d-exposurePOSTDecomposes a wind into crosswind and head/tailwind components relative to a runway heading, with the crosswind side. Answers 'What is the crosswind component for runway 09 with wind 130 at 20?', 'Is there a tailwind on this runway?'.
/v1/nav/wind-componentsPOSTSolves the navigation wind triangle for true heading, wind-correction angle and ground speed from true course, TAS and wind. Answers 'What heading and ground speed do I fly to track this course in wind?', 'What is my wind correction angle?'.
/v1/nav/wind-trianglePOSTComputes true airspeed from calibrated airspeed plus pressure altitude and OAT, returning density altitude, density ratio, speed of sound and Mach. Answers 'What is my TAS at 8000 ft and 0 C?', 'What density altitude and Mach correspond to this CAS?'.
/v1/nav/true-airspeedPOSTComputes pressure altitude from field elevation and altimeter setting, then density altitude and ISA deviation from OAT. Answers 'What is the density altitude at a 5000 ft field at 30 C?', 'How far above ISA is it today?'.
/v1/nav/density-altitudePOSTComputes Mach number, local speed of sound and flight regime from TAS and either OAT or pressure altitude (ISA). Answers 'What is my Mach at FL350?', 'What is the speed of sound at this temperature?'.
/v1/nav/mach-speed-of-soundPOSTComputes trip fuel from distance, ground speed and burn rate, adding reserve and taxi/takeoff allowances for total required fuel. Answers 'How much fuel for 300 nm at 150 kt burning 10/hr?', 'What is my total block fuel with a 45-minute reserve?'.
/v1/nav/fuel-requiredPOSTComputes flight endurance from usable fuel and burn rate, plus still-air range at an optional ground speed. Answers 'How long can I stay airborne on 40 gallons at 10/hr?', 'What still-air range does my fuel give at 120 kt?'.
/v1/nav/endurancePOSTComputes the point-of-no-return distance and time given usable fuel, burn and asymmetric out/back ground speeds with reserve. Answers 'How far out can I fly and still return on fuel?', 'What is my PNR time with a tailwind out and headwind back?'.
/v1/nav/point-of-no-returnPOSTComputes the equal-time (critical) point between two airfields from total distance and the out/back ground speeds. Answers 'Where is the ETP where continuing and turning back take equal time?', 'What is my critical point with these winds?'.
/v1/nav/equal-time-pointPOSTComputes specific range (distance per fuel unit) in still air and over the ground from TAS, fuel flow and an optional headwind. Answers 'How many nm per gallon do I get over the ground?', 'How much fuel do I burn per nautical mile into a headwind?'.
/v1/nav/specific-rangePOSTSums station moments to find total weight, CG arm and %MAC, then checks against forward/aft CG limits and max gross weight. Answers 'Is this loading within the CG envelope?', 'What is my %MAC at this loadout?'.
/v1/nav/weight-balancePOSTComputes top-of-descent distance, required descent rate (fpm) and time for a target altitude loss at a given gradient/angle and ground speed. Answers 'How many miles out do I start a 3-degree descent from FL350?', 'What fpm do I need at 450 kt?'.
/v1/nav/top-of-descentPOSTComputes the descent rate (fpm), glidepath angle and gradient needed to lose a given altitude over a given distance at ground speed. Answers 'What fpm do I need to lose 3000 ft in 10 nm?', 'What glidepath angle does that imply?'.
/v1/nav/descent-ratePOSTConverts between climb rate (fpm), gradient percent and ft-per-nm at a ground speed, returning climb angle. Answers 'What gradient is 500 fpm at 120 kt?', 'What climb rate do I need for a 250 ft/nm gradient?'.
/v1/nav/climb-gradientPOSTComputes turn rate, radius, load factor and full-turn time from TAS plus either bank angle or desired turn rate (defaults to standard rate). Answers 'What bank gives a standard-rate turn at 120 kt?', 'What is the radius of a 30-degree banked turn?'.
/v1/nav/turn-performancePOSTSolves the current triangle for set (current direction) and drift (current speed) from heading/speed through water versus course/speed over ground. Answers 'What current set and drift explain my actual track?', 'How strong is the current pushing my boat off course?'.
/v1/nav/set-and-driftPOSTEstimates tidal height at an intermediate time between low and high water using the rule of twelfths, with elapsed twelfths and fraction of range. Answers 'What is the tide height 3 hours after low water?', 'How much of the tidal range has come in by now?'.
/v1/nav/rule-of-twelfthsPOSTComputes closest point of approach (CPA) distance and time-to-CPA (TCPA) for own vessel versus a contact given bearing, range, course and speed. Answers 'How close will that ship pass and when?', 'Are we on a collision course?'.
/v1/nav/cpa-tcpaPOSTSolves for the missing one of speed, distance or time given the other two, returning time as hours and h/m. Answers 'How long to cover 300 nm at 150 kt?', 'What speed covers this distance in this time?'.
/v1/nav/speed-distance-timePOSTComputes a new latitude/longitude from a start position run on a course at a speed for a time using mid-latitude (plane) sailing. Answers 'Where am I after 6 hours due east at 10 kt from 40N 70W?', 'What is my DR position now?'.
/v1/nav/dead-reckoningPOSTComputes the composite (series) thermal resistance R = R_in + Σ(t_i/k_i) + R_out, overall U = 1/R, heat flux, and total heat loss for a multilayer building assembly with optional air-film resistances. Answers 'What is the R-value of this wall assembly?', 'What is the U-value and heat loss through a multilayer wall?'.
/v1/engineering/wall-rvaluePOSTComputes convective heat-transfer rate Q = h·A·(Ts − T∞) and, for a lumped body with mass & specific heat, the instantaneous cooling rate dT/dt. Answers 'What is the convective heat loss from a surface?', 'How fast does this object cool?'.
/v1/engineering/convection-coolingPOSTComputes radiated emissive power Q = ε·σ·A·T⁴ and net radiative exchange ε·σ·A·(Ts⁴ − Tsurr⁴) with a surroundings temperature. Answers 'How much heat does a hot surface radiate?', 'What is the net radiation between a body and its surroundings?'.
/v1/engineering/radiation-heatPOSTComputes the LMTD = (ΔT1 − ΔT2)/ln(ΔT1/ΔT2) for a counter- or co-current heat exchanger from the four terminal temperatures, plus the heat duty Q = U·A·LMTD when conductance is supplied, with the equal-ΔT limit handled. Answers 'What is the LMTD of a heat exchanger?', 'What heat duty does this exchanger transfer?'.
/v1/engineering/lmtdPOSTEffectiveness-NTU method: computes NTU = UA/Cmin, capacity ratio Cr, and effectiveness ε via the closed-form relation for counter/parallel/cross flow, plus actual heat duty and both outlet temperatures from inlets. Answers 'What is the effectiveness of this heat exchanger?', 'What are the outlet temperatures from the NTU method?'.
/v1/engineering/heat-exchanger-ntuPOSTComputes the fin parameter m = sqrt(hP/kAc), efficiency η = tanh(mLc)/mLc with corrected length Lc = L + t/2, fin effectiveness, and actual heat dissipation for a uniform straight fin with adiabatic tip. Answers 'What is the efficiency of a cooling fin?', 'How much heat does a fin dissipate?'.
/v1/engineering/fin-efficiencyPOSTComputes boundary work W = ∫P dV for an ideal-gas isothermal (nRT·ln(V2/V1)), isobaric (P·ΔV), isochoric (0), or adiabatic ((P1V1−P2V2)/(γ−1)) process, returning work, heat, ΔU, and final state. Answers 'What is the work done in an isothermal/adiabatic expansion?', 'What is the final pressure after adiabatic compression?'.
/v1/engineering/ideal-gas-workPOSTComputes the maximum reversible thermal efficiency η = 1 − Tc/Th and the Carnot COP for heating (Th/(Th−Tc)) and cooling (Tc/(Th−Tc)) between two reservoir temperatures in Kelvin. Answers 'What is the maximum efficiency of a heat engine?', 'What is the best possible COP for a heat pump?'.
/v1/engineering/carnot-efficiencyPOSTAir-standard Otto (spark-ignition) thermal efficiency η = 1 − 1/r^(γ−1) from compression ratio r and specific-heat ratio γ, plus the compression temperature ratio. Answers 'What is the ideal efficiency of a gasoline engine?', 'How does compression ratio affect engine efficiency?'.
/v1/engineering/otto-efficiencyPOSTAir-standard Brayton (gas-turbine) thermal efficiency η = 1 − 1/rp^((γ−1)/γ) from pressure ratio rp and specific-heat ratio γ, plus the isentropic compressor temperature ratio. Answers 'What is the efficiency of a gas turbine?', 'How does pressure ratio affect Brayton efficiency?'.
/v1/engineering/brayton-efficiencyPOSTCoefficient of performance COP = Q/W for a real cooling or heating cycle, with the Carnot-limit COP and second-law (relative) efficiency when reservoir temperatures are supplied. Answers 'What is the COP of my AC unit?', 'How close is this heat pump to the Carnot limit?'.
/v1/engineering/refrigeration-copPOSTComputes sensible heat Q = m·cp·ΔT for a temperature change and latent heat Q = m·L for a phase change (with optional phase fraction), returning the total — the classic don't-forget-the-latent-term energy balance. Answers 'How much energy to heat and boil this water?', 'What is the total heat for a phase change?'.
/v1/engineering/sensible-latent-heatPOSTDecomposes the Bernoulli equation into pressure head P/(ρg), velocity head v²/(2g), and elevation head z at two points, returning total head, head difference, and the solved unknown pressure at point 2 for a given head loss. Answers 'What are the pressure/velocity/elevation heads?', 'What is the downstream pressure from Bernoulli?'.
/v1/engineering/bernoulli-headsPOSTComputes pipe-friction head loss hf = f·(L/D)·v²/(2g) with the friction factor solved implicitly from the Colebrook-White equation (turbulent, iterated) or 64/Re (laminar), returning Reynolds number, flow regime, friction factor, head loss, and pressure drop. Answers 'What is the pressure drop in a pipe?', 'What is the Darcy friction factor?'.
/v1/engineering/darcy-weisbachPOSTComputes local/minor head loss hL = K·v²/(2g) for a single K or a summed list of fitting/valve/bend K-values, returning total K, velocity head, head loss, and pressure drop — the companion to Darcy-Weisbach major losses. Answers 'What is the head loss from pipe fittings?', 'What pressure drop do these valves and elbows cause?'.
/v1/engineering/minor-lossesPOSTComputes water head loss hf = 10.67·L·Q^1.852/(C^1.852·D^4.8704) (SI Hazen-Williams), returning head loss, hydraulic gradient, and pressure drop for a given roughness coefficient C. Answers 'What is the head loss in a water main?', 'What pressure drop does Hazen-Williams predict?'.
/v1/engineering/hazen-williamsPOSTSolves Manning's equation Q = (1/n)·A·R^(2/3)·S^(1/2) for a rectangular or trapezoidal channel, computing flow area, wetted perimeter, hydraulic radius, top width, velocity, and discharge. Answers 'What is the discharge in an open channel?', 'What flow velocity does Manning's equation give?'.
/v1/engineering/manning-flowPOSTComputes flow rate Q = Cd·A2/sqrt(1−β⁴)·sqrt(2·ΔP/ρ) through an orifice plate or venturi from the measured pressure drop, with the diameter ratio β, throat area, velocity-of-approach factor, and throat velocity. Answers 'What flow rate does this orifice/venturi meter read?', 'How do I size a differential-pressure flow meter?'.
/v1/engineering/orifice-venturi-flowPOSTComputes the terminal settling velocity of a small sphere in a viscous fluid by Stokes' law v = (ρp−ρf)·g·d²/(18·μ), returning the velocity, particle Reynolds number, and a validity flag (Stokes valid for Re < ~1). Answers 'How fast does a particle settle in water?', 'Is Stokes law valid for this particle size?'.
/v1/engineering/stokes-settlingPOSTFrom dry-bulb temperature and relative humidity computes saturation & actual vapor pressure (Magnus), dew-point temperature (Magnus inversion), humidity ratio (kg/kg), and absolute humidity (g/m³). Answers 'What is the dew point at this temperature and humidity?', 'What is the humidity ratio of moist air?'.
/v1/engineering/psychrometricsPOSTComputes the required airflow CFM = BTU/h / (1.08·ΔT) to deliver a sensible HVAC load (also in L/s and m³/h) and the air changes per hour ACH = CFM·60/volume for a room. Answers 'What CFM do I need for this cooling load?', 'How many air changes per hour does this airflow give?'.
/v1/engineering/airflow-cfmPOSTFrom an airflow CFM and a target velocity (fpm) computes the required cross-sectional area, round-duct diameter, equivalent square side, and the actual velocity for a chosen rounded diameter — to avoid undersized, noisy ducts. Answers 'What duct size do I need for this CFM?', 'What is the air velocity in this duct?'.
/v1/engineering/duct-sizingPOSTConverts between sRGB/hex and CIE-LAB (with XYZ and LCh intermediates) under the D65 white point, both directions, with in-gamut flag on the reverse path. Answers 'What is the CIE-LAB value of this color?', 'Convert LAB back to a hex color.'
/v1/design/lab-convertPOSTConverts between sRGB/hex and CIE 1931 XYZ tristimulus values (D65), plus the xy chromaticity coordinates, both directions. Answers 'What are the XYZ tristimulus values?', 'What are the xy chromaticity coordinates?'
/v1/design/xyz-convertPOSTConverts between sRGB/hex and CIE-LCh (cylindrical LAB: lightness, chroma, hue), both directions, exposing the LAB intermediate. Answers 'What is the LCh of this color?', 'How saturated (chroma) is it perceptually?'
/v1/design/lch-convertPOSTConverts between sRGB/hex and Ottosson's OKLab perceptual color space (with OKLCh derived), both directions. OKLab gives perceptually-uniform lightness and is the modern basis for color UIs. Answers 'What is the OKLab value?', 'Convert OKLab back to hex.'
/v1/design/oklab-convertPOSTConverts between sRGB/hex and OKLCH (perceptual cylindrical: lightness, chroma, hue), both directions, plus the ready-to-use CSS oklch() string. Answers 'What is the OKLCH of this color?', 'Give me the CSS oklch() value.'
/v1/design/oklch-convertPOSTConverts between sRGB/hex and CMYK (cyan/magenta/yellow/key) percentages for print, both directions, plus a CSS-style cmyk() string. Answers 'What is the CMYK breakdown for printing?', 'Convert these CMYK percentages to RGB.'
/v1/design/cmyk-convertPOSTConverts between sRGB/hex and HSV/HSB (hue, saturation, value/brightness), both directions, plus the HSL view. Answers 'What is the HSV/HSB of this color?', 'Convert HSB back to a hex color.'
/v1/design/hsv-convertPOSTComputes the WCAG 2.1 contrast ratio between a foreground and background and reports AA/AAA pass for normal & large text, the 3:1 non-text/UI threshold, both relative luminances, and an overall rating. Answers 'Does this text pass WCAG AA?', 'What is the contrast ratio?'
/v1/design/wcag-contrastPOSTGiven a background (and optional preferred text color + WCAG level), returns black/white ratios and an accessible foreground — nudging a preferred color's OKLCH lightness until it meets the target ratio. Answers 'What text color passes WCAG on this background?', 'Make this color accessible.'
/v1/design/accessible-foregroundPOSTComputes WCAG relative luminance plus two perceived-brightness models (BT.601 luma and HSP) and a dark/light verdict for text-pairing. Answers 'What is the relative luminance of this color?', 'Is this color dark or light?'
/v1/design/relative-luminancePOSTSimulates how a color appears under 7 color-vision deficiencies (protan/deutan/tritan -opia & -omaly, achromatopsia) via Viénot/Brettel LMS matrices; pass a type for one or omit for all. Answers 'How does this color look to a color-blind user?', 'Simulate deuteranopia for this color.'
/v1/design/color-blind-simulatePOSTChecks whether two colors stay distinguishable (LAB ΔE above a threshold) for normal vision AND under protan/deutan/tritan color-blindness, flagging the weakest case so you can add a non-color cue. Answers 'Can color-blind users tell these two colors apart?', 'Is this color pair CVD-safe?'
/v1/design/color-distinguishablePOSTComputes perceptual color difference between two colors with all three canonical formulas — CIE76, CIE94, and CIEDE2000 — in LAB, plus a human-readable perceptibility label. Answers 'How different are these two colors perceptually?', 'What is the CIEDE2000 delta-E?'
/v1/design/delta-ePOSTGenerates a harmony palette from a base color — complementary, analogous, triadic, tetradic/square, or split-complementary (or all at once) — via hue rotation in HSL. Answers 'What colors go with this one?', 'Give me a triadic palette from this base.'
/v1/design/color-harmonyPOSTBuilds tint (toward white), shade (toward black), and tone (toward gray) ramps plus a perceptually-even OKLCH monochromatic scale from one base color, N steps each. Answers 'Give me lighter/darker variants of this color.', 'Build a color scale for a design system.'
/v1/design/color-rampPOSTInterpolates an N-stop gradient between two colors in sRGB, OKLCH (shortest-hue arc), OKLab, or CIE-LAB, returning the stops plus a ready CSS linear-gradient string. OKLCH avoids the muddy mid-tones of naive sRGB blends. Answers 'Generate gradient stops between two colors.', 'Interpolate this gradient in OKLCH.'
/v1/design/gradientPOSTMixes two colors at a given ratio using additive (linear-light), subtractive (CMY pigment), or perceptual (OKLab) models — each gives a physically distinct result. Answers 'What do you get mixing these two colors?', 'Blend two paints (subtractive) at 50/50.'
/v1/design/color-mixPOSTConverts a blackbody color temperature in Kelvin (1000-40000K) to an approximate sRGB color (Tanner Helland model) with a descriptive label from candlelight to cool daylight. Answers 'What color is 3000K light?', 'Convert color temperature to RGB.'
/v1/design/kelvin-rgbPOSTGenerates a modular typographic scale, size(n) = base x ratio^n, returning px and rem for each step above/below a base size; accepts named musical ratios. Answers 'What font sizes does a 1.25 major-third scale give from 16px?', 'What is the rem value for each step of my type scale?'.
/v1/design/modular-scalePOSTRecommends a line-height (leading) for a font size and line length using the heuristic that ideal leading rises with measure and falls with size, clamped to a readable range. Answers 'What line-height should I use for 16px body text on a 66-character measure?', 'How many px of leading is that?'.
/v1/design/line-heightPOSTConverts a target characters-per-line into a px/rem/ch measure using font size and glyph-width factor, and flags whether it sits in the readable 45-75 CPL band (66 ideal). Answers 'How wide should my text column be for 66 characters per line at 16px?', 'Is a 120-character measure too wide?'.
/v1/design/optimal-line-lengthPOSTSnaps line-height up to a whole number of baseline-grid units and returns the snapped leading, line-height, and rhythm-preserving margins. Answers 'How do I align 16px text to an 8px baseline grid?', 'What line-height keeps my vertical rhythm?'.
/v1/design/vertical-rhythmPOSTConverts a CSS length between px, rem, em, and pt given a root font size and optional parent size, honoring the 96px=1in / 72pt=1in relationship. Answers 'What is 24px in rem and pt?', 'How many px is 12pt?'.
/v1/design/css-unit-convertPOSTBuilds a CSS clamp() for fluid type by linearly interpolating font size between a min/max viewport, returning the slope (vw), intercept (rem), and a ready-to-paste clamp() string. Answers 'What clamp() scales 16px to 24px between 320px and 1280px viewports?', 'What is the vw slope for fluid type?'.
/v1/design/fluid-type-clampPOSTLooks up an envelope size (ISO C series, DL, US No.10/No.9/A7/Monarch) returning mm/inch/pixel dimensions at a DPI and the paper-fold it accommodates. Answers 'What are DL envelope dimensions and what does it hold?', 'How many pixels is a C5 envelope at 300 DPI?'.
/v1/design/envelope-sizePOSTScales a content box to fit inside a page minus margins while preserving aspect ratio, returning the scale factor, fitted size, and centering offsets. Answers 'What scale fits a 300x400mm artwork onto A4 with 10mm margins?', 'Where do I position it to center it on the page?'.
/v1/design/fit-on-pagePOSTSolves among pixel count, physical print size, and DPI given any two, also reporting PPCM and a quality verdict versus 300 DPI. Answers 'How big does a 3000px image print at 300 DPI?', 'What DPI do I get printing 1500px at 5 inches?'.
/v1/design/print-dpiPOSTFrom a trim size plus bleed and safe margins, computes the full bleed (document) size and the safe content box in mm and pixels at a DPI. Answers 'What document size do I set up for an A4 print with 3mm bleed?', 'How big is the safe area with a 5mm margin?'.
/v1/design/bleed-trim-safePOSTSolves a column grid (W = n*col + (n-1)*gutter) returning column width, percentages, and the x-position of every column. Answers 'What is the column width for a 12-column 1200px grid with 20px gutters?', 'Where does each column start?'.
/v1/design/column-gridPOSTSimplifies w:h to lowest terms, names common ratios, and fits a source box into a target with both contain and cover, reporting letterbox/pillarbox bars and crop overflow. Answers 'What is 1920x1080 as a ratio and how does it fit a 1000x1000 box?', 'How big are the letterbox bars?'.
/v1/design/aspect-ratioPOSTDivides a length into major/minor sections in golden (phi) proportion, returning both segments, the split points from each end, and percentages. Answers 'Where do I split a 100-unit length at the golden ratio?', 'What percent is the golden major section?'.
/v1/design/golden-ratio-splitPOSTReturns the four power-points and gridline coordinates for a width x height frame, the focal anchors for composition and cropping. Answers 'Where are the rule-of-thirds power points for a 1920x1080 frame?', 'Where do the gridlines fall?'.
/v1/design/rule-of-thirdsPOSTEstimates reading and speaking time from a word count (or text) using configurable WPM rates, returning minutes and formatted m:ss for each. Answers 'How long to read 1190 words?', 'How long would it take to speak this aloud?'.
/v1/design/reading-timePOSTEstimates characters per line, lines, and total character/word capacity for a box from font size, glyph width and line-height. Answers 'How much text fits in a 400x300px box at 16px?', 'Roughly how many words can this box hold?'.
/v1/design/text-fit-boxPOSTSolves the nut-factor torque relation T=K·D·F for the induced clamp/preload, with preload stress and the share of proof load when proof strength and tensile-stress area are supplied. Answers 'What clamp force does my tightening torque produce?', 'Am I within 75-90% of proof load?'.
/v1/engineering/bolt-preload-torquePOSTComputes the ISO/UTS tensile-stress area, minor (root) area and nominal area from major diameter and pitch, plus proof and yield loads. Answers 'What is the tensile-stress area of an M12x1.75 bolt?', 'What axial load brings it to proof?'.
/v1/engineering/thread-stress-areaPOSTSplits an external tensile load between bolt and members via the joint stiffness constant C, returns bolt load, member load, the separation load, and yield/separation factors of safety. Answers 'How much of the external load does the bolt actually see?', 'At what load does the joint gap?'.
/v1/engineering/bolted-joint-loadPOSTCombines direct shear (load/N) with the moment-induced secondary shear distributed by distance from the group centroid, returning the resultant on the critical farthest bolt. Answers 'Which bolt in my pattern is worst-loaded under an eccentric force?', 'What is the peak bolt shear?'.
/v1/engineering/bolt-group-shearPOSTComputes the 0.707·leg throat, weld stress on the throat plane, factor of safety and the required leg size for an allowable stress. Answers 'What stress is in my fillet weld?', 'What leg size do I need for this load?'.
/v1/engineering/weld-fillet-stressPOSTReturns cycles (and reversals) to failure from a fully-reversed alternating stress via the Basquin power law, supporting both the σf'(2N) reversal basis and the S=a·N^b cycle basis. Answers 'How many cycles until fatigue failure at this stress?', 'Am I in the high-cycle regime?'.
/v1/engineering/fatigue-sn-lifePOSTReturns the fatigue factor of safety under combined mean and alternating stress by the Goodman, Soderberg (linear) and Gerber (parabolic) criteria, plus a first-cycle yield check. Answers 'Is my mean+alternating stress combination safe for infinite life?', 'Which mean-stress criterion governs?'.
/v1/engineering/mean-stress-fatiguePOSTApplies Miner's linear damage rule D=Σ(nᵢ/Nᵢ) over variable-amplitude load blocks, returning total damage, failure prediction, remaining-life fraction and repeats-to-failure. Answers 'Has my variable load spectrum used up the part's fatigue life?', 'How many more times can I run this sequence?'.
/v1/engineering/miner-cumulative-damagePOSTCorrects the rotating-beam endurance limit with the Shigley Marin factors (surface ka, size kb, load kc, temperature kd, reliability ke), returning the adjusted Se and each factor. Answers 'What endurance limit should I use for my actual part finish, size and reliability?'.
/v1/engineering/marin-endurance-limitPOSTComputes hoop, longitudinal and von-Mises stress for a thin-walled cylinder, flags the D/t validity limit and inverts to the required wall thickness for an allowable stress. Answers 'What is the hoop stress in my pressure pipe?', 'How thick must the wall be?'.
/v1/engineering/thin-wall-vesselPOSTSolves Lame's equations for radial and hoop stress through a thick-walled cylinder under internal/external pressure, reporting bore, outer-surface and probe-radius stresses with max hoop at the bore. Answers 'What are the true stresses in a thick pressure cylinder?', 'How wrong is thin-wall theory here?'.
/v1/engineering/thick-wall-lamePOSTComputes the equal membrane stress of a thin-walled sphere (half a cylinder's hoop for the same D,t) and the required wall thickness for an allowable stress. Answers 'What is the wall stress in my spherical tank?', 'How thin can a sphere be vs a cylinder?'.
/v1/engineering/sphere-vesselPOSTComputes modulus of resilience σy²/(2E), modulus of toughness from the stress-strain curve, and the absolute strain energy of a loaded bar. Answers 'How much elastic energy can this material store to yield?', 'What is its toughness modulus?'.
/v1/engineering/strain-energy-resiliencePOSTComputes lateral strain −ν·εaxial, volumetric strain εaxial(1−2ν) and the transverse dimensional change from axial strain (or axial stress and E). Answers 'How much does my bar neck laterally when stretched?', 'What is the volume change under uniaxial load?'.
/v1/engineering/poisson-lateral-strainPOSTReturns the theoretical stress-concentration factor Kt and peak stress for a circular hole (infinite or finite-width plate, Heywood) or a shoulder fillet. Answers 'How much does this hole/fillet amplify my nominal stress?', 'What is the peak local stress?'.
/v1/engineering/stress-concentrationPOSTCross-walks steel hardness between Vickers (HV), Brinell (HB) and Rockwell C (HRC) and estimates tensile strength (σu≈3.45·HB) from any one input. Answers 'What HRC corresponds to 400 HV?', 'Roughly what tensile strength does this hardness imply?'.
/v1/engineering/hardness-conversionPOSTComputes specific stiffness E/ρ and specific strength σ/ρ — the per-weight merit ratios that drive lightweight material selection. Answers 'How stiff/strong is this material per unit mass?', 'Why does aluminium or CFRP beat steel in weight-critical parts?'.
/v1/engineering/specific-stiffness-strengthPOSTComputes the slenderness ratio λ, the transition slenderness Cc=√(2π²E/Sy), classifies the column as Euler (long) or Johnson (intermediate), and returns the governing critical stress. Answers 'Does my column buckle elastically or yield first?', 'What critical stress applies?'.
/v1/engineering/column-slendernessPOSTComputes bearing (hole crushing) stress P/(d·t) and shear-out (tear-out) stress P/(2·e·t) for a pin in a plate, with factors of safety against allowables. Answers 'Will the bolt hole crush or tear out?', 'Is my edge distance enough?'.
/v1/engineering/bearing-shear-outPOSTComputes spur-gear tooth-root bending stress σ=Wt/(F·m·Y) via the Lewis equation, with the Barth dynamic factor and the safe tangential load for an allowable stress. Answers 'What is the root bending stress on my gear tooth?', 'What tangential load can it carry?'.
/v1/engineering/gear-lewis-bendingPOSTComputes the first critical (whirling) speed by the Rayleigh static-deflection method ωc=√(g/δ), deriving δ from EI beam theory if not supplied, and the operating-speed resonance margin. Answers 'At what rpm does my shaft whirl?', 'Is my operating speed safely clear of resonance?'.
/v1/engineering/shaft-critical-speedPOSTSolves the thin-lens/spherical-mirror equation 1/f = 1/do + 1/di for whichever of focal length, object or image distance is missing, plus magnification and real/virtual + upright/inverted classification with sign conventions handled. Answers 'Where does a lens form the image?', 'Is the image real, inverted, and magnified?'.
/v1/engineering/thin-lensPOSTComputes focal length and dioptric power of a thin lens from its refractive index and two surface radii via 1/f = (n/n_med − 1)(1/R1 − 1/R2), with optional surrounding-medium index. Answers 'What focal length results from these radii?', 'How many dioptres is this lens?'.
/v1/engineering/lensmakerPOSTComputes camera f-number / aperture diameter, hyperfocal distance and near/far depth-of-field limits from focal length, aperture, subject distance and circle of confusion using the standard thin-lens DOF model. Answers 'What is the hyperfocal distance?', 'How much of the scene will be in focus?'.
/v1/engineering/depth-of-fieldPOSTComputes horizontal/vertical/diagonal angular field of view from sensor dimensions and focal length via FOV = 2·atan(sensor/2f), plus linear scene coverage at a given distance. Answers 'What angle of view does this lens give?', 'How wide a scene fits at 10 m?'.
/v1/engineering/field-of-viewPOSTApplies Snell's law n1·sinθ1 = n2·sinθ2 to find the refraction angle, detects total internal reflection, and reports the critical angle when passing into a less-dense medium. Answers 'At what angle does light refract?', 'Is there total internal reflection here?'.
/v1/engineering/snell-refractionPOSTSolves the grating equation d·sinθ = m·λ for the diffraction angle of a given order from line density (lines/mm) or slit spacing, and reports the maximum observable order. Answers 'At what angle does the m-th order appear?', 'How many diffraction orders can I see?'.
/v1/engineering/diffraction-gratingPOSTComputes double-slit (Young) bright-fringe spacing Δy = λL/d or single-slit central-maximum width from a·sinθ = λ, on a distant screen. Answers 'How far apart are the interference fringes?', 'How wide is the central diffraction band?'.
/v1/engineering/slit-interferencePOSTComputes the diffraction-limited angular resolution θ = 1.22·λ/D for a circular aperture, in radians/arcseconds, plus the smallest resolvable separation at a target distance. Answers 'What is the resolving power of this aperture?', 'How small a detail can it distinguish at range?'.
/v1/engineering/rayleigh-resolutionPOSTComputes numerical aperture NA = n·sinθ from an acceptance half-angle, or NA = sqrt(n_core² − n_clad²) for an optical fibre, plus acceptance cone angle and equivalent f-number. Answers 'What is the NA of this objective/fibre?', 'What is the light-gathering acceptance cone?'.
/v1/engineering/numerical-aperturePOSTConverts between wavelength and frequency via v = f·λ at a given medium speed (or via refractive index, dividing c), returning period, angular frequency and wavenumber. Answers 'What wavelength is this frequency?', 'What frequency corresponds to 500 nm in glass?'.
/v1/engineering/wave-frequencyPOSTComputes the transverse wave speed v = sqrt(T/μ) on a stretched string from tension and linear mass density (or mass+length), with the fundamental frequency for a fixed-fixed length. Answers 'How fast does a wave travel on this string?', 'What is its fundamental pitch?'.
/v1/engineering/string-wave-speedPOSTComputes the observed frequency for sound f' = f·(c±v_obs)/(c∓v_src) with a clear toward-positive sign convention, returning the frequency shift and pitch direction, and guarding the sonic-boom regime. Answers 'What pitch does a moving observer hear?', 'How much does an approaching siren shift?'.
/v1/engineering/doppler-soundPOSTLists the harmonic series for a string/open-open pipe (f_n = n·v/2L) or a closed-open pipe (f_n = (2n−1)·v/4L, odd-only), returning fundamental plus N harmonic frequencies and wavelengths. Answers 'What are the overtone frequencies of this pipe/string?', 'Why does a closed pipe skip even harmonics?'.
/v1/engineering/standing-wave-harmonicsPOSTComputes the beat frequency f_beat = |f1 − f2| between two close tones, with beat period and the perceived average pitch. Answers 'How many beats per second do these tones produce?', 'What pitch is perceived during the beating?'.
/v1/engineering/beat-frequencyPOSTConverts acoustic intensity (W/m²) to dB intensity level and dB SPL, deriving RMS sound pressure from p = sqrt(I·ρ·c) (or the reverse), with the air's acoustic impedance. Answers 'What dB SPL corresponds to this intensity?', 'What sound pressure does this power produce?'.
/v1/engineering/sound-intensity-levelPOSTApplies the inverse-square law for a point source, ΔL = 20·log10(d1/d2) (~6 dB per doubling), to find the sound level at a new distance. Answers 'How much quieter is it twice as far away?', 'What dB level reaches the receiver at this distance?'.
/v1/engineering/inverse-square-attenuationPOSTComputes reverberation time RT60 = 0.161·V/A from room volume and total absorption, accepting either a total sabin value or a list of surfaces (area × absorption coefficient), with average absorption. Answers 'What is this room's reverberation time?', 'How much absorption do I need for a target RT60?'.
/v1/engineering/sabine-reverberationPOSTComputes the speed of sound in dry air as c = 331.3·sqrt(1 + T/273.15) with the linear approximation for comparison. Answers 'How fast does sound travel at this temperature?', 'How much does the speed of sound change with heat?'.
/v1/engineering/speed-of-sound-airPOSTComputes SNR in decibels from a power ratio (10·log10) or amplitude/voltage ratio (20·log10), returning the linear ratio and a quality rating. Answers 'What is the SNR in dB?', 'Do I use 10·log or 20·log for power vs amplitude?'.
/v1/engineering/signal-to-noise-ratioPOSTComputes photon energy E = h·f = h·c/λ from frequency or wavelength, in both joules and electron-volts, with the complementary frequency/wavelength. Answers 'How much energy does a 500 nm photon carry?', 'What is the eV of this light?'.
/v1/engineering/photon-energyPOSTComputes the blackbody peak emission wavelength λ_peak = b/T and peak frequency from temperature, and classifies the spectral region (UV/visible/IR…). Answers 'At what wavelength does a hot body emit most strongly?', 'What colour is a 5778 K blackbody?'.
/v1/engineering/wien-peakPOSTComputes Cronbach's alpha internal-consistency reliability from a respondents x items score matrix, plus standardized alpha, item variances, mean inter-item correlation, and alpha-if-item-dropped diagnostics. Answers 'What is the reliability of my scale?', 'Which item is dragging down my alpha?'.
/v1/stats/cronbach-alphaPOSTCorrelates two half-test score arrays and applies the Spearman-Brown prophecy formula to estimate full-test reliability. Answers 'How reliable is my test from a single administration?', 'What does Spearman-Brown project for the whole test?'.
/v1/stats/split-half-reliabilityPOSTComputes Kuder-Richardson KR-20 and KR-21 reliability for dichotomous (0/1) test items from a respondents x items matrix, with per-item difficulties and total-score variance. Answers 'How reliable is my right/wrong test?', 'What is KR-20 vs KR-21 for this item set?'.
/v1/stats/kuder-richardsonPOSTComputes composite reliability (Raykov's rho / omega) and Average Variance Extracted from standardized factor loadings, with a convergent-validity verdict. Answers 'What is the composite reliability of my latent construct?', 'Does my construct meet the AVE >= 0.5 threshold?'.
/v1/stats/composite-reliabilityPOSTComputes the Standard Error of Measurement (SD * sqrt(1 - reliability)) and a confidence band around an observed test score. Answers 'How much measurement noise is in this score?', 'What is the 95% confidence interval around an observed score?'.
/v1/stats/standard-error-measurementPOSTComputes Cohen's kappa inter-rater agreement from a square confusion matrix (rater A rows x rater B columns), correcting observed agreement for chance, with a Landis-Koch interpretation. Answers 'How much do two raters agree beyond chance?', 'What is kappa for this confusion matrix?'.
/v1/stats/cohens-kappaPOSTComputes Fleiss' kappa for agreement among a fixed number of raters across many subjects from a subjects x categories count matrix, with per-category proportions. Answers 'How much do my N annotators agree beyond chance?', 'What is Fleiss kappa for this rating table?'.
/v1/stats/fleiss-kappaPOSTComputes intraclass correlation from a subjects x raters matrix, returning ICC(1,1), ICC(2,1), and ICC(3,1) from the one/two-way ANOVA mean squares, with a Koo-Li reliability verdict. Answers 'How consistent are my raters/measurements?', 'Which ICC form applies and what is its value?'.
/v1/stats/intraclass-correlationPOSTComputes Net Promoter Score as (%promoters - %detractors) from promoter/passive/detractor counts, or by bucketing a raw array of 0-10 ratings, with category percentages and a benchmark verdict. Answers 'What is my NPS?', 'How do my 0-10 ratings translate into promoters and detractors?'.
/v1/stats/net-promoter-scorePOSTComputes CSAT (% at/above the satisfied threshold), mean score, top-2-box, bottom-2-box and net-top-box from a frequency distribution of scale responses. Answers 'What is my CSAT and top-2-box?', 'What share of responses are in the bottom box?'.
/v1/stats/csat-top-boxPOSTScores raw Likert responses into mean, SD, mode, full distribution, and percent agree/neutral/disagree, with optional reverse-coding of flagged items. Answers 'What is the mean and distribution of my Likert item?', 'How do I reverse-code and summarize responses?'.
/v1/stats/likert-scorePOSTCombines sub-scores with arbitrary (non-normalized) weights into a weighted total and weighted mean, normalizes the weights, and expresses the result as a percentage of a max score. Answers 'What is my weighted composite survey score?', 'How do unequal section weights roll up?'.
/v1/stats/weighted-survey-scorePOSTComputes the margin of error and confidence interval for a survey proportion, with optional finite population correction. Answers 'What is the +/- margin of error on this poll result?', 'How does a finite population shrink my MoE?'.
/v1/stats/proportion-margin-of-errorPOSTComputes the required survey sample size for a target margin of error on a proportion using Cochran's formula, with finite population correction. Answers 'How many respondents do I need for +/-5% at 95%?', 'How does my finite population reduce the needed sample?'.
/v1/stats/survey-sample-sizePOSTConverts a raw score (or a z directly) across the full normalized standard-score family: z, T (M=50,SD=10), stanine, sten, IQ/deviation (M=100,SD=15), scaled (M=10,SD=3), and percentile. Answers 'What T-score / stanine / sten / IQ does this raw score map to?', 'What percentile is this z?'.
/v1/stats/standard-score-convertPOSTAssigns letter grades from raw scores using a normal curve with configurable target percentages, returning z-cutoffs, cutoff scores, per-score grades, and the resulting grade distribution. Answers 'What grade does each score get on a curve?', 'Where do the A/B/C/D/F cutoffs fall?'.
/v1/stats/grade-on-curvePOSTComputes credit-weighted unweighted and weighted (honors/AP bonus) GPA from a list of courses with grade points and credit hours, returning total quality points and credits. Answers 'What is my GPA from these courses?', 'How do honors/AP bonus points change my weighted GPA?'.
/v1/stats/gpaPOSTRuns classical item analysis on a 0/1 correct/incorrect matrix: per-item difficulty (p-value), upper-lower group discrimination index, point-biserial correlation, and a quality flag. Answers 'Which test items are too easy/hard or non-discriminating?', 'What is each item's discrimination and point-biserial?'.
/v1/stats/item-analysisPOSTComputes the point-biserial correlation between a dichotomous (0/1) variable and a continuous variable, with the two group means and standard deviation. Answers 'How well does this item predict total score?', 'What is the point-biserial r between a 0/1 and a continuous measure?'.
/v1/stats/point-biserialPOSTEvaluates a JSONPath expression against a document, returning every matched value plus its concrete normalized path; supports $ . .. * [n] [a,b] [start:end] and filters [?(@.x>v)]. Answers 'Which nodes match this JSONPath?', 'How do I extract values deep in nested JSON?'.
/v1/data-transform/jsonpathPOSTRuns a JMESPath-style expression (dotted projections, [n], [], list filters [?expr], | pipes) over a JSON document and returns the projected result. Answers 'What does this JMESPath expression return?', 'How do I project and filter JSON like the AWS CLI?'.
/v1/data-transform/jmespathPOSTResolves an RFC6901 JSON Pointer against a document, returning the decoded tokens, whether the target exists, and the referenced value. Answers 'What value does this JSON Pointer point to?', 'How do I resolve /a/b/0 with ~0/~1 escapes?'.
/v1/data-transform/json-pointerPOSTReads a deeply nested value from an object/array using a dot+bracket path (a.b[0].c), returning found-flag and value with an optional default. Answers 'What is the value at this nested path?', 'How do I safely read deep JSON without crashing on missing keys?'.
/v1/data-transform/deep-getPOSTImmutably sets a value at a dot+bracket path, auto-creating intermediate objects/arrays, and returns a new document. Answers 'How do I set a nested value, creating parents as needed?', 'How do I update deep JSON without mutating the original?'.
/v1/data-transform/deep-setPOSTImmutably deletes the value at a dot+bracket path (splicing arrays, deleting keys) and reports whether anything was removed. Answers 'How do I delete a nested key or array element?', 'Was the path actually present before deletion?'.
/v1/data-transform/deep-deletePOSTApplies an RFC6902 JSON Patch (add/remove/replace/move/copy/test) to a document, honoring '-' array append and failing loudly on test mismatches. Answers 'What does this document look like after applying these patch ops?', 'How do I apply an RFC6902 patch correctly?'.
/v1/data-transform/json-patch-applyPOSTComputes the minimal RFC6902 JSON Patch that transforms one document into another (add/remove/replace), so you can store or transmit changes instead of whole docs. Answers 'What patch turns doc A into doc B?', 'How do I diff two JSON documents into RFC6902 ops?'.
/v1/data-transform/json-patch-diffPOSTApplies an RFC7386 JSON Merge Patch where null deletes a key and nested objects recurse, returning the merged document. Answers 'How do I apply an RFC7386 merge patch?', 'How does null-deletes-key merging work?'.
/v1/data-transform/json-merge-patchPOSTPerforms a git-style 3-way deep merge of two edits over a common base, auto-merging non-conflicting changes and listing conflicts where both sides changed a path differently. Answers 'How do I merge two concurrent edits to a config?', 'Where do ours/theirs conflict against the base?'.
/v1/data-transform/three-way-mergePOSTFlattens a nested object/array into single-level keys using dot (a.b.0) or bracket (a.b[0]) notation, preserving empty containers. Answers 'How do I flatten nested JSON into dotted keys?', 'How do I turn a tree into a flat key/value map?'.
/v1/data-transform/flattenPOSTRebuilds a nested object/array from a flat map of dot/bracket keys (the inverse of flatten), inferring arrays from numeric indices. Answers 'How do I expand dotted keys back into nested JSON?', 'How do I unflatten a.b[0] style keys?'.
/v1/data-transform/unflattenPOSTBuilds a new object containing only the listed dot-paths, reconstructing the nesting for each kept value. Answers 'How do I keep only specific nested fields?', 'How do I project a subset of deep JSON?'.
/v1/data-transform/deep-pickPOSTReturns a copy of an object with the listed dot-paths removed (deep delete of each). Answers 'How do I strip specific nested fields?', 'How do I omit deep keys from JSON?'.
/v1/data-transform/deep-omitPOSTRenames top-level keys of an object (or every object in an array) per an old->new map, leaving unlisted keys untouched. Answers 'How do I rename fields across records?', 'How do I remap snake_case to camelCase keys?'.
/v1/data-transform/rename-keysPOSTFilters an array of objects with a Mongo-style predicate ($eq,$ne,$gt,$gte,$lt,$lte,$in,$nin,$contains,$regex,$exists) and reports matched/total. Answers 'Which records match these conditions?', 'How do I query an array with a JSON predicate?'.
/v1/data-transform/filter-byPOSTApplies a deterministic transform (upper/lower/trim/number/string/boolean/round) to every value of an object. Answers 'How do I transform all values of an object at once?', 'How do I coerce or normalize every field?'.
/v1/data-transform/map-valuesPOSTStably sorts an array of objects by one or more key paths, each ascending or descending, with type-aware comparison. Answers 'How do I sort records by multiple fields?', 'How do I do a stable multi-key sort?'.
/v1/data-transform/sort-byPOSTGroups an array of objects into a map of keyValue -> items[] by a key path, reporting the group count. Answers 'How do I group records by a field?', 'How do I bucket an array into a keyed map?'.
/v1/data-transform/group-byPOSTIndexes an array of objects into a map of keyValue -> item (last write wins), turning a list into a lookup table. Answers 'How do I index records by id?', 'How do I build a lookup map from an array?'.
/v1/data-transform/key-byPOSTRemoves duplicate objects from an array keeping the first per key-path value, and reports how many were removed. Answers 'How do I dedupe records by a field?', 'How do I keep one row per id?'.
/v1/data-transform/unique-byPOSTSplits an array into [matching, rest] using a Mongo-style predicate, partitioning in a single pass. Answers 'How do I split records into pass/fail buckets?', 'How do I partition an array by a condition?'.
/v1/data-transform/partitionPOSTSplits an array into fixed-size chunks (last chunk may be shorter) and reports the chunk count. Answers 'How do I batch an array into groups of N?', 'How do I paginate a list into fixed-size pages?'.
/v1/data-transform/chunkPOSTZips multiple parallel arrays into tuples, or unzips an array of tuples back into columns. Answers 'How do I zip columns into rows (or back)?', 'How do I combine parallel arrays elementwise?'.
/v1/data-transform/zipPOSTTransposes a 2D matrix, swapping rows and columns, and reports the resulting dimensions. Answers 'How do I transpose a matrix or table?', 'How do I turn rows into columns?'.
/v1/data-transform/transposePOSTRemoves duplicate objects from an array by deep value equality (key-order independent), keeping first occurrences. Answers 'How do I dedupe an array of objects ignoring key order?', 'How do I remove structurally identical records?'.
/v1/data-transform/dedupe-objectsPOSTInfers a draft-07 JSON Schema from a sample JSON value, merging array item shapes and marking always-present keys as required. Answers 'What JSON Schema describes this sample?', 'How do I generate a schema from example data?'.
/v1/data-transform/schema-inferPOSTReports the JSON type of a value, plus per-key types for objects or distinct element types for arrays (distinguishing integer vs number). Answers 'What are the types of each field?', 'Is this number an integer or a float?'.
/v1/data-transform/detect-typesPOSTCoerces each field of an object to the types declared in a JSON Schema's properties (string<->number<->boolean<->integer) and lists which fields changed. Answers 'How do I cast stringy fields to the right types?', 'How do I coerce form/CSV data to a schema?'.
/v1/data-transform/coerce-typesPOSTGenerates a TypeScript interface (or type alias) from a sample JSON value, unioning heterogeneous array element types. Answers 'What TypeScript type matches this JSON?', 'How do I generate a TS interface from an API response?'.
/v1/data-transform/json-to-typescriptPOSTGenerates a Go struct with json tags from a sample JSON object, exporting CamelCase field names. Answers 'What Go struct matches this JSON?', 'How do I generate a Go struct with json tags from an API response?'.
/v1/data-transform/json-to-goPOSTParses CSV into records with full options: custom delimiter, quote char, header on/off, skip-rows, trim, and type coercion (RFC4180 quoting with embedded commas/quotes/newlines). Answers 'How do I parse CSV with a custom delimiter and quoting?', 'How do I coerce CSV cells to typed values?'.
/v1/data-transform/csv-parsePOSTParses tab-separated values into records (header row -> objects) with optional type coercion. Answers 'How do I parse TSV into JSON?', 'How do I read tab-delimited data?'.
/v1/data-transform/tsv-parsePOSTParses fixed-width columnar text using [name,start,width] field specs (0-based, half-open), trimming cells by default. Answers 'How do I parse fixed-width / column-aligned records?', 'How do I read legacy mainframe-style flat files?'.
/v1/data-transform/fixed-width-parsePOSTParses NDJSON / JSON Lines into an array (one JSON value per line) or stringifies an array back to NDJSON, with line-level error reporting. Answers 'How do I parse JSON Lines?', 'How do I convert an array to/from NDJSON?'.
/v1/data-transform/ndjsonPOSTConverts between a YAML subset (block maps/lists, scalars, comments) and JSON in either direction. Answers 'How do I convert YAML to JSON (or back)?', 'How do I parse simple YAML config without a library?'.
/v1/data-transform/yaml-jsonPOSTConverts a TOML subset (tables, key/value, arrays, quoted strings) to JSON, or JSON back to TOML. Answers 'How do I convert TOML to JSON (or back)?', 'How do I parse a Cargo/pyproject-style config?'.
/v1/data-transform/toml-jsonPOSTConverts a simple XML document to JSON with attributes as @attr, text as #text, and repeated elements collapsed into arrays. Answers 'How do I convert XML to JSON?', 'How do I turn an XML API response into an object?'.
/v1/data-transform/xml-jsonPOSTConverts a URL query string to a JSON object (repeated and []-suffixed keys become arrays, percent-decoded) or an object back to a query string. Answers 'How do I parse a query string into JSON?', 'How do I build a query string from an object?'.
/v1/data-transform/querystring-jsonPOSTParses a .env file into a JSON object, handling export prefixes, single/double quotes with escapes, inline comments, and key validation. Answers 'How do I parse a .env file into JSON?', 'How do I read dotenv variables programmatically?'.
/v1/data-transform/dotenv-parsePOSTReplaces the values at the listed dot-paths with a placeholder (default [REDACTED]) and reports which paths were redacted. Answers 'How do I redact sensitive fields by path?', 'How do I scrub PII out of a JSON payload?'.
/v1/data-transform/redact-pathsPOSTMasks string values at the listed paths, keeping the last N characters visible (e.g. card numbers, emails) with a configurable mask char. Answers 'How do I mask a card/SSN keeping the last 4?', 'How do I partially redact values for display?'.
/v1/data-transform/mask-valuesPOSTSerializes JSON with optionally sorted keys, pretty-printed or minified, producing byte-stable deterministic output and a byte count. Answers 'How do I produce canonical sorted-key JSON?', 'How do I minify or pretty-print with stable key order?'.
/v1/data-transform/serializePOSTFixes broken JSON an LLM emitted — strips markdown fences and prose, repairs trailing commas, single quotes, unquoted keys, Python literals (True/None), and closes truncated strings/brackets — returning valid JSON plus the parsed value and the list of fixes applied. Answers 'how do I parse this model output that isn't quite valid JSON?', 'how do I recover a truncated JSON response?'.
/v1/llm/json-repairPOSTPulls every balanced JSON object/array embedded in free-form LLM text (handling nested braces and fenced blocks), repairs and parses each, and returns all blocks with their positions plus the first value. Answers 'how do I get the JSON out of a chatty model answer?', 'which JSON blocks are in this text?'.
/v1/llm/json-extractPOSTValidates a (possibly stringified) LLM value against a minimal JSON-Schema and coerces loose types — numeric strings to numbers, yes/no/1 to booleans, integer rounding, min/max clamping, applied defaults — returning the cleaned value, every coercion, and any remaining validation errors. Answers 'how do I force model output to match my schema?', 'how do I clean up loosely-typed JSON from an LLM?'.
/v1/llm/schema-coercePOSTHeuristic prompt-injection / jailbreak scanner: runs a pattern bank (ignore-previous, role override, system-prompt exfiltration, DAN/developer-mode, encoding evasion, fake delimiters, secret exfiltration, hidden zero-width chars) to produce a weighted 0-100 risk score, the matched rules with snippets, and a gate recommendation. Answers 'is this user input a prompt-injection attack?', 'should I trust this text before feeding it to my model?'.
/v1/llm/injection-scanPOSTScans a prompt or text for PII and secret patterns (email, phone, SSN, Luhn-checked credit card, IPv4, AWS access key, JWT) and returns counts by type, exact match locations, and a redacted copy with each hit masked. Answers 'is there PII in this prompt before I send it to a model?', 'how do I redact secrets from this text?'.
/v1/llm/pii-scanPOSTEstimates per-message tokens (real GPT tokenizer + ChatML framing overhead), reserves room for the completion, and reports whether a conversation fits a given context window, by how much it overflows, and the utilization percentage. Answers 'will these messages fit in my context window?', 'how many tokens of headroom do I have left?'.
/v1/llm/token-budgetPOSTTruncates a message list to fit a token budget using drop-middle, sliding-window (keep latest), or keep-ends strategies, always pinning a leading system message — returns the kept messages in order, the tokens used, and which indices were dropped. Answers 'how do I trim a long conversation to fit the window?', 'which messages should I drop to stay under budget?'.
/v1/llm/truncate-contextPOSTGreedily packs the highest-scoring retrieval chunks under a token budget (relevance-ordered, accounting for separators), emits the assembled context string, which chunks were included vs dropped, and the budget utilization — the core RAG assembly step. Answers 'which retrieved chunks fit in my context budget?', 'how do I assemble the best context for RAG?'.
/v1/llm/rag-packPOSTRenders a {{mustache}}-style prompt template with variable substitution, {{#if}} conditionals, {{#each}} loops, and dotted paths — no eval, fully deterministic — and reports which variables were used and which were referenced but missing. Answers 'how do I fill a prompt template with these variables?', 'which template variables am I missing?'.
/v1/llm/template-renderPOSTFormats labeled input/output examples into a consistent few-shot prompt block (configurable labels, separators, and instructions) then appends the live query with an open output label — and reports the example count and token size. Answers 'how do I build a few-shot prompt from these examples?', 'how do I format examples for in-context learning?'.
/v1/llm/few-shot-formatPOSTBuilds a normalized OpenAI-style chat message array from system/context/turns/user inputs and also emits the raw ChatML (<|im_start|>) serialization plus a token estimate — the deterministic way to assemble a chat request. Answers 'how do I build a chat messages array?', 'what does the ChatML for this conversation look like?'.
/v1/llm/chatml-buildPOSTApplies stop sequences to raw/streamed model output: finds the earliest stop string and returns the text cut at (and excluding) it, plus which sequence matched and where — the deterministic equivalent of an API stop parameter for post-hoc trimming. Answers 'how do I cut model output at a stop token?', 'where does the first stop sequence appear?'.
/v1/llm/stop-sequencePOSTExtracts every fenced code block (```lang … ```) from markdown with its language tag, and returns a per-language histogram — the reliable way to pull runnable code out of an LLM answer. Answers 'how do I get the code blocks from this markdown?', 'what languages are in this response?'.
/v1/llm/code-blocksPOSTPulls citations out of LLM prose — bracketed [1][2] references, [^fn] footnote markers and their definitions, and bare URLs — deduped and sorted, for grounding and attribution checks. Answers 'what sources did the model cite?', 'how do I extract footnotes and links from this answer?'.
/v1/llm/citationsPOSTStrips chain-of-thought / reasoning blocks (<thinking>, <think>, <scratchpad>, <reflection>, <reasoning>) from a response and returns the clean answer plus the extracted reasoning separately, with counts of tags and characters removed. Answers 'how do I remove the model's thinking from the final answer?', 'how do I separate reasoning from the response?'.
/v1/llm/strip-thinkingPOSTNormalizes a prompt — strips common leading indentation, collapses runs of blank lines, trims trailing whitespace, normalizes line endings — and reports the token count before vs after plus tokens saved (cleaner prompts often cost less). Answers 'how do I clean up this indented prompt?', 'how many tokens can I save by normalizing whitespace?'.
/v1/llm/dedent-promptPOSTDiffs two LLM outputs line-by-line and at the token level: a line-similarity ratio, added/removed lines, change count, and Jaccard token overlap — to detect regressions or measure prompt-change drift. Answers 'how different are these two model responses?', 'did my prompt change alter the output?'.
/v1/llm/output-diffPOSTSelf-consistency / majority vote over N candidate answers (case- and whitespace-normalized): picks the modal answer, reports vote share as confidence, flags full agreement, and returns the full tally — implements the self-consistency sampling technique. Answers 'which answer do most of my samples agree on?', 'how confident is the majority vote?'.
/v1/llm/self-consistencyPOSTTurns per-token logprobs into interpretable confidence metrics: sequence perplexity, mean and minimum token probability, the list of low-confidence tokens, and a 0-1 confidence score (geometric-mean probability). Answers 'how confident was the model in this output?', 'which tokens were the model unsure about?'.
/v1/llm/logprob-confidencePOSTDetects degenerate repetition or looping in model output: the longest consecutive repeated line, the most-repeated word n-gram, and the distinct-token ratio — the classic 'model got stuck' signal — with a verdict and mitigation hint. Answers 'is my model output stuck in a loop?', 'is this response degenerate/repetitive?'.
/v1/llm/repetition-detectorPOSTEstimates an LLM call cost from token counts and caller-supplied per-1K rates (separate input, output, and cached-read rates), returning the line-item breakdown, total, and blended cost-per-1K — provider-agnostic and keyless. Answers 'what does this LLM call cost?', 'how do I price input vs output vs cached tokens?'.
/v1/llm/cost-estimatePOSTModels end-to-end LLM latency from token counts and throughput: time-to-first-token (optionally including prefill) plus completion-tokens / tokens-per-second, the total time, effective throughput, and whether it fits a deadline budget. Answers 'how long will this generation take?', 'will this LLM call meet my latency budget?'.
/v1/llm/latency-budgetPOSTFocused JSON syntax fixer for the most common LLM mistakes only — trailing commas, single quotes to double quotes, and unquoted object keys — without stripping prose or closing truncation; use when you trust the structure but not the punctuation. Answers 'how do I fix single quotes and trailing commas in this JSON?', 'why won't this nearly-valid JSON parse?'.
/v1/llm/fix-json-syntaxPOSTDetects whether a model response is leaking its hidden system prompt by scanning for tell-tale phrases (you-are-a-helpful-assistant, my-instructions-are, knowledge-cutoff) and, when the real system prompt is supplied, computing verbatim line overlap — guarding against prompt-extraction attacks. Answers 'did the model leak its system prompt?', 'how much of my hidden instructions appear in this response?'.
/v1/llm/system-leakPOSTNormalizes a chat history for replay: merges consecutive same-role messages, drops empty messages, and validates roles — fixing the 'messages must alternate' / 'consecutive roles not allowed' errors many chat APIs throw. Answers 'how do I fix consecutive same-role messages?', 'how do I clean a chat history before resending it?'.
/v1/llm/normalize-messagesPOSTReturns cosine similarity, distance, and angle between two embedding vectors plus a similarity interpretation. Answers 'How similar are these two embeddings?', 'What is the cosine distance between vector a and b?'.
/v1/retrieval/cosine-similarityPOSTReturns the inner (dot) product of two vectors — the raw unnormalized similarity used by many ANN indexes. Answers 'What is the dot product of these vectors?', 'What is the inner-product similarity score?'.
/v1/retrieval/dot-productPOSTReturns L2 distance, squared distance, and a 1/(1+d) similarity between two vectors. Answers 'What is the Euclidean distance between these embeddings?', 'How far apart are vector a and b in L2 space?'.
/v1/retrieval/euclidean-distancePOSTReturns the L1 / taxicab distance (sum of absolute coordinate differences) between two vectors. Answers 'What is the Manhattan distance between these vectors?', 'What is the L1 norm of the difference?'.
/v1/retrieval/manhattan-distancePOSTReturns the L-infinity distance (largest single-dimension difference) and which dimension dominates. Answers 'What is the Chebyshev distance between these vectors?', 'Which dimension differs the most?'.
/v1/retrieval/chebyshev-distancePOSTReturns the number of differing positions, match count, and similarity between two equal-length binary or symbol vectors. Answers 'What is the Hamming distance between these binary codes?', 'How many bits differ?'.
/v1/retrieval/hamming-distancePOSTReturns Jaccard similarity & distance with intersection/union sizes for two sets (deduplicated). Answers 'How similar are these two sets/tag lists?', 'What is the Jaccard index?'.
/v1/retrieval/jaccard-similarityPOSTReturns the Pearson correlation coefficient plus means, covariance and a strength label for two equal-length vectors. Answers 'How correlated are these two vectors?', 'What is the Pearson r between a and b?'.
/v1/retrieval/pearson-correlationPOSTBrute-force k-nearest-neighbour search of a query vector over a matrix by cosine, dot, or euclidean, returning ranked ids and scores. Answers 'Which rows are closest to my query embedding?', 'What are the top-k nearest vectors?'.
/v1/retrieval/topk-nearestPOSTReturns the unit-length (L2-normalized) vector plus its original magnitude. Answers 'How do I normalize this embedding to unit length?', 'What is the unit vector?'.
/v1/retrieval/normalize-vectorPOSTReturns the element-wise mean (centroid) of a set of vectors. Answers 'What is the centroid of these embeddings?', 'What is the average vector for this cluster?'.
/v1/retrieval/centroidPOSTPerforms element-wise vector add, subtract, or scalar scale and returns the result with its magnitude. Answers 'What is a+b / a-b for these vectors?', 'How do I scale this embedding?'.
/v1/retrieval/vector-arithmeticPOSTQuantizes a float embedding to int8 (max-abs scaling, with dequant scale) or binary (sign threshold), reporting compression ratio and byte size. Answers 'How do I compress this embedding to int8?', 'What is the binary quantization of this vector?'.
/v1/retrieval/quantize-vectorPOSTReturns L1, L2, and L-infinity norms plus sparsity, non-zero count, and mean of a vector. Answers 'What is the magnitude of this embedding?', 'How sparse is this vector?'.
/v1/retrieval/vector-magnitudePOSTReturns a statistical profile of an embedding: dimension, L2 norm, mean/std, min/max, sparsity, and whether it is unit-norm. Answers 'What are the stats of this embedding vector?', 'Is this vector already normalized?'.
/v1/retrieval/dimension-infoPOSTRe-orders candidate vectors with Maximal Marginal Relevance to balance query relevance against diversity (lambda), returning the diversified selection. Answers 'How do I diversify my retrieval results?', 'What is the MMR re-ranking of these candidates?'.
/v1/retrieval/mmr-rerankPOSTFuses multiple ranked id-lists into one ranking using Reciprocal Rank Fusion (RRF), ideal for hybrid lexical+vector search. Answers 'How do I combine multiple search rankings?', 'What is the RRF fused order?'.
/v1/retrieval/reciprocal-rank-fusionPOSTLinearly combines per-source relevance scores with weights (optional min-max normalization) into one fused ranking. Answers 'How do I blend BM25 and vector scores?', 'What is the weighted score fusion?'.
/v1/retrieval/weighted-score-fusionPOSTSorts candidates by externally supplied cross-encoder scores and reports new ranks plus per-item rank deltas vs the retrieval order. Answers 'How do I re-rank results by my reranker scores?', 'How much did each result move?'.
/v1/retrieval/rerank-by-scoresPOSTGreedily removes near-duplicate vectors above a cosine threshold (keep-first), reporting kept ids and what each dropped item duplicated. Answers 'How do I remove duplicate chunks from retrieval?', 'Which vectors are near-duplicates?'.
/v1/retrieval/dedupe-by-cosinePOSTBuilds a TF-IDF model from a corpus: sorted vocabulary, smoothed IDF weights, and per-document tf-idf vectors (optional sublinear tf). Answers 'How do I TF-IDF vectorize these documents?', 'What are the IDF weights for this corpus?'.
/v1/retrieval/tfidf-vectorizePOSTScores and ranks documents against a query with the Okapi BM25 formula (configurable k1/b), the de-facto lexical retrieval baseline. Answers 'How do I rank these docs for my query with BM25?', 'What is the BM25 score per document?'.
/v1/retrieval/bm25-scorePOSTReturns shared keywords, overlap coefficient, and query coverage between a query and a document. Answers 'Which query keywords appear in this document?', 'What fraction of my query does this doc cover?'.
/v1/retrieval/keyword-overlapPOSTComputes Jaccard similarity over character or word n-gram shingles of two texts for near-duplicate detection. Answers 'How similar are these two texts by shingling?', 'Are these documents near-duplicates?'.
/v1/retrieval/shingle-jaccardPOSTProduces a deterministic MinHash signature of a text's shingles for scalable set-similarity / LSH deduplication. Answers 'What is the MinHash signature of this text?', 'How do I estimate Jaccard at scale?'.
/v1/retrieval/minhash-signaturePOSTComputes a SimHash fingerprint of a text and, if a second text is given, the Hamming distance / similarity for near-duplicate detection. Answers 'What is the SimHash of this text?', 'Are these two documents near-duplicates?'.
/v1/retrieval/simhashPOSTSplits text into overlapping token-window chunks with start/end token offsets — the core RAG ingestion step. Answers 'How do I chunk this text into N-token windows with overlap?', 'What are the token chunks for embedding?'.
/v1/retrieval/chunk-by-tokensPOSTSplits text at sentence boundaries and packs sentences up to a character budget, preserving sentence integrity. Answers 'How do I chunk text by sentences?', 'How do I split docs without cutting sentences?'.
/v1/retrieval/chunk-by-sentencesPOSTSplits text at blank-line paragraph boundaries and packs paragraphs up to a character budget. Answers 'How do I chunk text by paragraphs?', 'How do I split a doc on blank lines?'.
/v1/retrieval/chunk-by-paragraphsPOSTLangChain-style recursive character splitter: splits on a separator hierarchy down to a size limit with optional overlap. Answers 'How do I recursively split text like LangChain?', 'How do I chunk with a separator hierarchy?'.
/v1/retrieval/recursive-character-splitPOSTSplits text into fixed-size character windows with a configurable stride/overlap and deterministic offsets. Answers 'How do I chunk text into fixed windows with stride?', 'What are the sliding-window character chunks?'.
/v1/retrieval/fixed-window-chunkPOSTPerforms one k-means iteration: assigns vectors to the nearest centroids (euclidean/cosine), recomputes centroids, and reports inertia and cluster sizes. Answers 'How do I assign embeddings to centroids?', 'What is one k-means update step?'.
/v1/retrieval/kmeans-assignPOSTComputes the silhouette score (cohesion vs separation, range [-1,1]) for a labeled clustering, with per-point values and a quality label. Answers 'How good is my clustering?', 'What is the silhouette score of these labels?'.
/v1/retrieval/silhouette-scorePOSTSingle-link agglomerative grouping of vectors by a cosine threshold (union-find), clustering near-duplicates without choosing k. Answers 'How do I group near-duplicate embeddings?', 'How do I cluster vectors above a cosine threshold?'.
/v1/retrieval/cosine-threshold-groupsPOSTComputes the Levenshtein edit distance (insert/delete/substitute) between two strings plus a length-normalized similarity ratio. Answers 'how many single-character edits separate these strings?', 'how similar are they 0-1?'.
/v1/text/levenshteinPOSTComputes the Damerau-Levenshtein distance, which counts an adjacent transposition (e.g. 'teh'->'the') as a single edit in addition to insert/delete/substitute. Answers 'how far apart are these allowing letter swaps?', 'is this a transposition typo?'.
/v1/text/damerau-levenshteinPOSTComputes Jaro and Jaro-Winkler similarity, which weights common prefixes and excels at short strings like names. Answers 'how similar are these two names 0-1?', 'do they share a leading prefix?'.
/v1/text/jaro-winklerPOSTComputes the Hamming distance (count of differing positions) between two equal-length strings and lists the mismatch positions. Answers 'how many positions differ?', 'where exactly do these fixed-length codes diverge?'.
/v1/text/hammingPOSTComputes the Sørensen-Dice coefficient over character bigrams, a robust similarity measure for short strings that ignores word order. Answers 'how similar are these strings by shared bigrams?', 'are they near-duplicates?'.
/v1/text/sorensen-dicePOSTComputes Jaccard similarity (intersection over union) over word or character token sets, with overlap counts. Answers 'how much do these texts overlap as sets?', 'what fraction of tokens are shared?'.
/v1/text/jaccardPOSTComputes the longest common subsequence (non-contiguous) of two strings, returning its length, the reconstructed sequence, and a similarity ratio. Answers 'what is the longest ordered set of shared characters?', 'how aligned are these sequences?'.
/v1/text/lcsPOSTFinds the longest contiguous substring shared by two strings, with its length and start index in each input. Answers 'what is the longest matching run?', 'where does it occur in each string?'.
/v1/text/lcsubstringPOSTRanks a list of candidate strings against a query using a blended Levenshtein-ratio + Jaro-Winkler score, returning the best match and a full ranked list with per-candidate scores. Answers 'which option in this list does my query most likely mean?', 'how confident is the match?'.
/v1/text/fuzzy-best-matchPOSTComputes the classic 4-character Soundex phonetic code for each word so that similar-sounding names collide (Robert and Rupert both code R163). Answers 'what is the Soundex code?', 'do these names sound alike phonetically?'.
/v1/text/soundexPOSTComputes the American Metaphone phonetic key for each word, a more accurate sounds-like encoding than Soundex that handles English consonant rules. Answers 'what is the Metaphone code?', 'do these words sound the same?'.
/v1/text/metaphonePOSTComputes the NYSIIS (New York State Identification and Intelligence System) phonetic code, tuned for surname matching with prefix/suffix normalization. Answers 'what is the NYSIIS code?', 'do these surnames match phonetically?'.
/v1/text/nysiisPOSTComputes the Caverphone 2.0 phonetic code (a 10-character key designed for accent-tolerant surname matching). Answers 'what is the Caverphone code?', 'do these names sound alike under Caverphone?'.
/v1/text/caverphonePOSTDecides whether two strings sound alike, returning the chosen-algorithm verdict plus a cross-check across Soundex, Metaphone, NYSIIS and Caverphone with an agreement count. Answers 'do these two names sound the same?', 'how many phonetic algorithms agree?'.
/v1/text/phonetic-matchPOSTParses English cardinal number words (with 'and', hyphens, and negatives) into an integer value. Answers 'what integer is spelled out here?', 'how do I parse "two thousand five hundred and twelve" into 2512?'.
/v1/text/words-to-numberPOSTSpells a monetary amount as legal/check phrasing in both a spoken form and a check-writing 'and NN/100 dollars' form, with configurable unit names. Answers 'how do I write this amount on a check?', 'what is the legal words form of $1234.50?'.
/v1/text/number-to-currency-wordsPOSTAppends the correct English ordinal suffix to an integer, correctly handling the 11-13 'th' exceptions (21st, 112th, 2nd). Answers 'what is the ordinal form of this number?', 'is it -st, -nd, -rd, or -th?'.
/v1/text/ordinalizePOSTConverts an English noun to its plural form with irregular (person->people), uncountable (sheep), and spelling-rule handling, optionally choosing singular/plural by count. Answers 'what is the plural of this word?', 'is it irregular or uncountable?'.
/v1/text/pluralizePOSTConverts an English plural noun back to its singular form with irregular and spelling-rule handling (wolves->wolf, people->person). Answers 'what is the singular of this plural?', 'how do I reverse-inflect a noun?'.
/v1/text/singularizePOSTTurns a machine identifier (snake_case, kebab-case, camelCase, trailing _id) into a friendly human-readable label in sentence or title case. Answers 'how do I make first_name_id into a display label?', 'what is the human-readable form of this key?'.
/v1/text/humanizePOSTWraps text to a target column width on word boundaries (never splitting words), with optional per-line indent, returning both joined text and the line array. Answers 'how do I reflow this paragraph to 80 columns?', 'how do I word-wrap without breaking words?'.
/v1/text/word-wrapPOSTTruncates text to a maximum length on a word boundary and appends an ellipsis, never cutting mid-word and accounting for the ellipsis length. Answers 'how do I shorten this to N chars cleanly?', 'how do I add a … without breaking a word?'.
/v1/text/truncate-wordsPOSTPads a string to a target width with left, right, or center alignment using a custom fill character. Answers 'how do I align this to a fixed width?', 'how do I center text with dots/spaces?'.
/v1/text/pad-alignPOSTRenders rows and optional headers into an aligned monospace ASCII box-drawing table with per-column alignment. Answers 'how do I print a clean ASCII table?', 'how do I align columns for terminal output?'.
/v1/text/ascii-tablePOSTBuilds a padded, alignment-aware GitHub-flavored markdown table from headers and rows. Answers 'how do I generate a markdown table?', 'how do I set column alignment in markdown?'.
/v1/text/markdown-table-buildPOSTParses a markdown table string into headers, a rows matrix, and an array of row objects keyed by header. Answers 'how do I extract data from a markdown table?', 'how do I turn a markdown table into JSON objects?'.
/v1/text/markdown-table-parsePOSTAdds a leading indent to every line or removes the common leading whitespace (dedent) across all lines. Answers 'how do I indent this block by N spaces?', 'how do I strip the common indentation from a snippet?'.
/v1/text/indentPOSTPrefixes each line with a right-aligned line number and a custom separator. Answers 'how do I add line numbers to this text?', 'how do I produce a numbered listing?'.
/v1/text/line-numberingPOSTApplies AP/Chicago title-case rules, capitalizing significant words while keeping articles, conjunctions and short prepositions lowercase (except first/last). Answers 'how do I title-case a headline correctly?', 'which small words stay lowercase?'.
/v1/text/title-casePOSTLowercases the text then capitalizes the first letter of each sentence (after . ! ?). Answers 'how do I convert SHOUTING text to normal sentence case?', 'how do I capitalize only sentence starts?'.
/v1/text/sentence-casePOSTInverts the case of every letter (upper to lower and vice versa). Answers 'how do I flip the case of this string?', 'how do I invert uppercase and lowercase?'.
/v1/text/swap-casePOSTReverses the order of words while preserving each word intact. Answers 'how do I reverse the word order of a sentence?', 'how do I flip a phrase end-to-start?'.
/v1/text/reverse-wordsPOSTDerives initials and an acronym from a phrase, optionally skipping small words. Answers 'what is the acronym of this phrase?', 'how do I get the initials of a name or organization?'.
/v1/text/initialsPOSTConverts straight quotes, apostrophes, double dashes and ellipses to typographic equivalents (curly quotes, em dash, …), or reverses smart punctuation back to ASCII. Answers 'how do I add typographic quotes?', 'how do I convert -- to an em dash?'.
/v1/text/smart-quotesPOSTRemoves diacritics via Unicode NFD decomposition (é->e, naïve->naive) while leaving the base letters intact. Answers 'how do I remove accents from text?', 'how do I fold é/ñ/ü to plain ASCII letters?'.
/v1/text/strip-accentsPOSTRemoves duplicate lines preserving first-seen order, optionally case-insensitive and/or trimming whitespace, reporting how many were removed. Answers 'how do I remove duplicate lines?', 'how many duplicates are in this list?'.
/v1/text/dedupe-linesPOSTSorts lines alphabetically or numerically, ascending or descending, with optional case-insensitivity and dedupe. Answers 'how do I sort these lines?', 'how do I sort numbers as numbers, not strings?'.
/v1/text/sort-linesPOSTLays out a list of items into evenly spaced, aligned columns (column-major like `ls`), with configurable column count and gap. Answers 'how do I format a list into columns?', 'how do I print items ls-style across the terminal?'.
/v1/text/columnizePOSTEvaluates a JsonLogic expression against a data object (var, comparisons, and/or/not, arithmetic, if, in, missing) and returns the result, truthiness and type. Answers 'Does this rule pass for this data?', 'What value does this JsonLogic produce?'.
/v1/workflow/jsonlogic-evalPOSTFires the first row of a condition->action decision table whose conditions all match the facts; conditions support eq/ne/gt/gte/lt/lte/in/nin/between/regex/exists and wildcard. Answers 'Which rule applies to these facts?', 'What action should fire?'.
/v1/workflow/decision-tablePOSTRuns a when/then rules engine: fires all (or highest-priority) rules whose JsonLogic condition is truthy, merging their consequents into the fact set and returning the derived facts. Answers 'Which rules fire on these facts?', 'What new facts are derived?'.
/v1/workflow/rules-enginePOSTSelects a value from a document via a dot/bracket JSONPath-lite path and tests it with an operator (eq/gt/in/regex/exists/...), returning whether it matched. Answers 'Does the value at this path satisfy this condition?', 'What value is at this path?'.
/v1/workflow/jsonpath-matchPOSTEvaluates a nested predicate tree (all/any/not + fact comparisons) against a context and returns the boolean result with a per-leaf trace. Answers 'Is this composite condition satisfied?', 'Which sub-conditions passed?'.
/v1/workflow/predicate-evalPOSTResolves a feature flag by walking ordered JsonLogic targeting rules against a context and returning the first matching value, else the default, with which rule served it. Answers 'Is this flag on for this user?', 'Which flag variant should I serve?'.
/v1/workflow/feature-flagPOSTResolves role inheritance, expands wildcard permissions (e.g. billing:*), and decides whether a subject's roles grant a permission, listing the effective permission set. Answers 'Can this subject perform this action?', 'What permissions do these roles grant?'.
/v1/workflow/entitlement-checkPOSTHashes userId+experiment into [0,1) and assigns a sticky A/B/n variant by cumulative weight split, so the same user always lands in the same bucket. Answers 'Which experiment variant is this user in?', 'How do I split traffic deterministically?'.
/v1/workflow/ab-bucketPOSTSelects items from a weighted list using a deterministic seeded PRNG so the same seed reproduces the exact pick, while honouring weights across seeds. Answers 'Which item does this seed pick?', 'How do I weight a reproducible random choice?'.
/v1/workflow/weighted-pickPOSTPlaces nodes with virtual replicas on a hash ring and finds which node owns a key plus the next N nodes for replication, giving stable assignment under node changes. Answers 'Which shard/node owns this key?', 'Where do replicas go on the ring?'.
/v1/workflow/consistent-hashPOSTDeterministically decides whether a sticky subject is inside a percentage rollout/canary cohort for a feature by hashing subject+feature into a stable bucket. Answers 'Is this user in the X% rollout?', 'Should I enable the canary for this tenant?'.
/v1/workflow/rollout-gatePOSTSelects the next arm to pull via UCB1 or epsilon-greedy given each arm's pull and reward stats, returning per-arm means and exploration scores. Answers 'Which option should I try next?', 'How do I balance explore vs exploit?'.
/v1/workflow/bandit-pickPOSTComputes a valid execution order for a DAG via Kahn's algorithm (ties broken alphabetically for determinism) and throws if the graph has a cycle. Answers 'In what order can I run these dependent steps?', 'Is this dependency graph runnable?'.
/v1/workflow/topological-sortPOSTDetects whether a directed graph contains a cycle and returns one concrete example cycle path if present, using DFS colouring. Answers 'Does this dependency graph have a cycle?', 'Which nodes form the loop?'.
/v1/workflow/detect-cyclePOSTFinds the longest-weighted path through a DAG of weighted nodes and returns earliest/latest start, finish and slack per node so zero-slack tasks are flagged as critical. Answers 'What is the longest path through my task graph?', 'Which steps have no schedule slack?'.
/v1/workflow/critical-path-graphPOSTRemoves edges implied by longer paths to produce the minimal edge set with identical reachability, listing kept and removed edges. Answers 'Which dependency edges are redundant?', 'What is the minimal equivalent DAG?'.
/v1/workflow/transitive-reductionPOSTComputes a valid install/build order from items and their declared dependencies, or throws and names the items in a dependency cycle. Answers 'In what order should I install these packages?', 'Are there circular dependencies?'.
/v1/workflow/dependency-resolvePOSTComputes all nodes reachable from one or more start nodes in a directed graph (transitive closure) with BFS distances and the unreachable remainder. Answers 'Which nodes can I reach from here?', 'What is downstream/affected by this node?'.
/v1/workflow/reachable-setPOSTAssigns each DAG node the length of its longest dependency chain so nodes in the same layer can run in parallel, returning layers and per-node levels. Answers 'Which steps can run in parallel?', 'How deep is my dependency graph?'.
/v1/workflow/level-layeringPOSTValidates an FSM definition: confirms initial/final states exist and transitions reference known states, and flags duplicate (state,event) pairs and unreachable/dead-end states. Answers 'Is this state machine well-formed?', 'Is it deterministic?'.
/v1/workflow/fsm-validatePOSTGiven an FSM, a current state and an event, decides whether the transition is allowed and returns the target state. Answers 'Can I fire this event from this state?', 'What state would this event lead to?'.
/v1/workflow/fsm-can-transitionPOSTLists every event accepted from a given FSM state and the resulting target state, and flags whether the state is terminal/final. Answers 'What can happen next from this state?', 'Is this a dead-end state?'.
/v1/workflow/fsm-next-statesPOSTRuns a sequence of events through an FSM from a starting state, returning the final state and an executed trace, throwing on any illegal event. Answers 'Where does this event sequence land?', 'Is this event sequence valid?'.
/v1/workflow/fsm-apply-eventPOSTDetects FSM states never reachable from the initial state and states that cannot reach any final state, to catch dead logic. Answers 'Are any states unreachable?', 'Can every state still finish?'.
/v1/workflow/fsm-unreachablePOSTComputes per-attempt retry delays for exponential/linear/fixed backoff with an optional cap and deterministic full/equal jitter, plus the total worst-case wait. Answers 'What delays should my retries use?', 'How long until I exhaust retries?'.
/v1/workflow/backoff-schedulePOSTReplays timestamped requests against a token bucket (capacity + refill rate) and reports which requests were allowed vs throttled and the running token count. Answers 'Would these requests be rate-limited?', 'How many requests pass under this limit?'.
/v1/workflow/token-bucketPOSTGiven a last-emitted timestamp and a new event time, decides whether to fire now under leading/trailing debounce or throttle and when the next emit is eligible. Answers 'Should I emit this event now?', 'When can I fire again?'.
/v1/workflow/throttle-decisionPOSTDerives a stable SHA-256 idempotency key from a canonicalized request (namespace + method + path + key-sorted body) so identical requests collapse to one key regardless of field order. Answers 'What idempotency key should this request use?', 'Are these two requests the same?'.
/v1/workflow/idempotency-keyPOSTSplits a total time budget across pipeline steps proportional to weights, reserving an optional safety margin and returning each step's budget and cumulative deadline. Answers 'How much time should each step get?', 'What is the deadline after each step?'.
/v1/workflow/deadline-budgetPOSTDecides the next circuit-breaker state (closed/open/half-open) and whether to allow the call given recent success/failure counts, a failure threshold, and cooldown timing. Answers 'Should the circuit open?', 'Can I make this call right now?'.
/v1/workflow/circuit-breakerPOSTPrices the entire quantity at the single tier rate the quantity falls into (volume model), with the selected tier, flat fee, and effective unit price. Answers 'How much for 60 units under volume pricing?', 'Which tier does my order fall into?'.
/v1/commerce/tiered-pricingPOSTPrices each successive band of quantity at its own tier rate like tax brackets, returning a per-tier breakdown and blended effective unit price. Answers 'What does graduated/marginal tier pricing cost for 120 units?', 'How is the bill split across bands?'.
/v1/commerce/graduated-pricingPOSTApplies a list of percentage discounts sequentially (correct retail compounding) and additively, returning both totals, the equivalent single discount, and the gap between methods. Answers 'What is 20% then 10% off?', 'Is stacking additive or sequential?'.
/v1/commerce/discount-stackPOSTApplies a percent (optionally capped), fixed-amount, or BOGO (buy X get Y at Z% off) coupon to a cart subtotal, enforcing minimum spend and a $0 floor. Answers 'What does a 15% coupon capped at $25 give me?', 'How much off with buy-one-get-one-free?'.
/v1/commerce/coupon-applyPOSTConverts a raw price into a charm/psychological price (.99, .95, round, even, or a custom ending) and reports the left-digit and whether it crosses a dollar threshold. Answers 'What is the .99 charm price for $19.42?', 'How do I price-ladder to a .95 ending?'.
/v1/commerce/charm-pricingPOSTCompares a fixed bundle price to the à-la-carte sum, returning absolute and percent savings and a list-price-proportional allocation of the bundle price for revenue recognition. Answers 'How much does this bundle save vs buying separately?', 'How do I split bundle revenue across items?'.
/v1/commerce/bundle-savingsPOSTMaps a demand/utilization ratio to a stepped surge multiplier (with an optional cap) and returns the surged price and surcharge. Answers 'What surge multiplier applies at 1.6x demand?', 'What is the surged price and surcharge?'.
/v1/commerce/surge-pricingPOSTChecks a list of seller offers against a minimum-advertised-price floor (with optional tolerance), flagging violations, shortfall amounts, and the worst offender. Answers 'Which sellers are below MAP?', 'How far below the MAP floor is the worst offer?'.
/v1/commerce/map-checkPOSTNormalizes package options to price-per-unit (per oz/ml/count), ranks them, and reports the best value and its savings vs the worst. Answers 'Which size is cheaper per ounce?', 'What is the best unit-price option?'.
/v1/commerce/unit-price-comparePOSTFinds the qualifying quantity-break discount for an order, the resulting unit and line price, and how many more units unlock the next break. Answers 'What bulk discount applies at 75 units?', 'How many more units to the next price break?'.
/v1/commerce/volume-discountPOSTEvaluates an 'N for $X' multi-buy offer against a desired quantity, splitting into full deal groups plus a regular-price remainder and reporting the effective unit price and savings. Answers 'How much for 7 at 3-for-$10?', 'Is the multi-buy deal worth it?'.
/v1/commerce/multi-buy-dealPOSTComputes the unused credit on the old plan and the prorated charge for the new plan over the remaining days of a billing cycle, netting to an immediate charge or credit. Answers 'What do I owe for a mid-cycle upgrade?', 'How much credit for a downgrade?'.
/v1/commerce/subscription-prorationPOSTBills metered usage across graduated rate tiers above an included free allowance, adding an optional base platform fee and returning a per-tier breakdown and blended rate. Answers 'What is my usage bill across tiers?', 'How much do I owe after the included allowance?'.
/v1/commerce/metered-billingPOSTComputes the prorated mid-term true-up charge or credit for seats added or removed and the next-period recurring charge at the new seat count. Answers 'What is the true-up for adding 5 seats mid-term?', 'What will I be billed next period?'.
/v1/commerce/seat-true-upPOSTCompares an annual plan to 12× the monthly price, returning dollar/percent savings, effective monthly rate, implied free months, and break-even month. Answers 'How much do I save paying annually?', 'When does the annual plan beat monthly?'.
/v1/commerce/annual-vs-monthlyPOSTEstimates expected revenue from a cohort of trial starts given a conversion rate, monthly price, and expected lifetime, net of trial cost, plus value per trial start. Answers 'What is a free trial worth?', 'What is the expected value per trial start?'.
/v1/commerce/trial-conversion-valuePOSTBuilds a failed-payment dunning calendar from retry-day offsets, returning cumulative day offsets for each attempt and the final write-off day after a grace period. Answers 'When are the dunning retries?', 'When do I write off the invoice?'.
/v1/commerce/dunning-schedulePOSTDecomposes MRR change into new, expansion, reactivation, contraction, and churn buckets, returning ending MRR, net-new MRR, NRR, GRR, and quick ratio in one pass. Answers 'What is my MRR bridge this month?', 'What are my NRR/GRR and quick ratio?'.
/v1/commerce/mrr-movementPOSTCombines gross-margin-adjusted LTV (from ARPA, margin, churn) with CAC to return the LTV:CAC ratio, CAC payback in months, and a health verdict. Answers 'What is my LTV:CAC ratio?', 'How many months to pay back CAC?'.
/v1/commerce/ltv-cac-ratioPOSTTotals a cart with correct order-of-operations: line items -> order discount (pct then fixed) -> tax (exclusive add-on or inclusive extraction) -> shipping. Answers 'What is my cart total with tax and discount?', 'How much tax is baked into this gross price?'.
/v1/commerce/cart-totalPOSTSplits a bill among diners by their item shares, allocating tax and tip proportionally (the fair method) and fixing penny rounding on the last person. Answers 'How do we split the check fairly with tax and tip?', 'What does each person owe?'.
/v1/commerce/split-billPOSTConverts between a decimal major amount and the integer minor-unit representation (cents, satoshis, wei) used by payment rails and on-chain transfers, with correct per-currency exponents (NO FX). Answers 'How many cents is $12.34?', 'What is 1500 minor units in JPY?'.
/v1/commerce/currency-minor-unitsPOSTProrates a refund for the unused portion of a service period, net of an optional non-refundable fee, and reports merchant-retained amount. Answers 'How much refund for the unused days?', 'What does the merchant keep after the fee?'.
/v1/commerce/refund-prorationPOSTBreaks a gross sale into platform commission, payment processing (pct + fixed), and other fees, returning seller net payout and effective total take-rate. Answers 'What is my net payout after marketplace fees?', 'What is the effective take-rate?'.
/v1/commerce/marketplace-payoutPOSTGenerates an even installment / BNPL payment calendar (e.g. Pay-in-4) with an optional down payment and finance fee, fixing the final payment for penny rounding and reporting cost of credit. Answers 'What is my Pay-in-4 schedule?', 'What is the cost of credit?'.
/v1/commerce/installment-schedulePOSTSplits an order total into an upfront deposit (percent or fixed) and the remaining balance, with optional due-day offsets and a non-refundable flag for cancellation math. Answers 'What deposit and balance for a 25% deposit?', 'What is refundable if cancelled?'.
/v1/commerce/deposit-balancePOSTRuns a sequence of charges and reloads against a gift-card / store-credit balance, declining over-balance charges (unless overdraft allowed) and returning a full ledger and remaining balance. Answers 'What is my gift-card balance after these transactions?', 'Which charges were declined?'.
/v1/commerce/gift-card-balancePOSTEncodes/decodes bytes as RFC4648 base32 or Crockford base32 (padding-aware, hex/base64/utf8 input), returning hex + UTF-8 views of decoded output. Answers 'What is the base32 of these bytes?', 'Decode this Crockford base32 string.'
/v1/encoding/base32POSTEncodes/decodes bytes as RFC9285 base45 — the alphanumeric encoding used by EU Digital COVID Certificates and QR payloads — with strict triple/pair validation. Answers 'What is the base45 of this data?', 'Decode this base45 QR string.'
/v1/encoding/base45POSTEncodes/decodes bytes as base62 (0-9A-Za-z) using big-integer radix conversion, preserving leading-zero bytes — the scheme used for short IDs and URL slugs. Answers 'What is the base62 of these bytes?', 'Decode this base62 token.'
/v1/encoding/base62POSTEncodes/decodes bytes as ASCII85 (Adobe-style with 'z' run shortcut) or Z85 (ZeroMQ RFC32), handling partial trailing groups. Answers 'What is the ASCII85 of this data?', 'Decode this Z85 string.'
/v1/encoding/base85POSTEncodes/decodes bytes as z-base-32 (Zooko's human-oriented base32 alphabet used by Tahoe-LAFS and Mnet), case-insensitive on decode. Answers 'What is the z-base-32 of these bytes?', 'Decode this z-base-32 string.'
/v1/encoding/zbase32POSTEncodes/decodes a byte stream as canonical lowercase base36 via big-integer radix conversion — common for compact alphanumeric IDs and timestamps. Answers 'What is the base36 of these bytes?', 'Decode this base36 string back to bytes.'
/v1/encoding/base36POSTIdentifies the leading multibase prefix of a string (IPFS/libp2p self-describing encoding) and returns the resolved encoding name, numeric base, and payload. Answers 'What encoding is this multibase string?', 'Split a multibase value into prefix and payload.'
/v1/encoding/multibase-parsePOSTParses a hex/base64 multihash (IPFS) into its varint hash-function code, declared digest length, named algorithm, and the digest itself — validating length consistency. Answers 'What hash algorithm does this multihash use?', 'Extract the digest from this multihash.'
/v1/encoding/multihash-parsePOSTParses an IPFS CIDv0 (Qm… base58btc) or CIDv1 (multibase base58btc/base32) into version, multibase, codec, multihash algorithm, and digest hex. Answers 'Is this a CIDv0 or CIDv1?', 'What codec and hash does this IPFS CID encode?'
/v1/encoding/cid-parsePOSTComputes CRC-8/SMBus, CRC-16/CCITT-FALSE, CRC-16/MODBUS, CRC-32 (ISO-HDLC) or CRC-32C (Castagnoli) over bytes with correct reflection and xor-out per variant. Answers 'What is the CRC-32 of this data?', 'Compute the Modbus CRC-16 of these bytes.'
/v1/encoding/crcPOSTComputes the Adler-32 checksum (the one used inside zlib) over bytes, returning the combined value plus the internal a/b sums. Answers 'What is the Adler-32 of this data?', 'Verify a zlib Adler-32 checksum.'
/v1/encoding/adler32POSTComputes the Fletcher-16 or Fletcher-32 position-dependent checksum over bytes, catching reordering errors that simple sums miss. Answers 'What is the Fletcher-16 of this data?', 'Compute a Fletcher-32 checksum.'
/v1/encoding/fletcherPOSTComputes the non-cryptographic FNV-1 or FNV-1a hash at 32 or 64 bits over bytes, with exact wraparound arithmetic. Answers 'What is the FNV-1a 32 of this string?', 'Compute a 64-bit FNV hash for hash-table seeding.'
/v1/encoding/fnvPOSTComputes the classic djb2 or sdbm 32-bit string hash over bytes with exact 32-bit overflow semantics — used widely in legacy C hash tables. Answers 'What is the djb2 hash of this string?', 'Compute an sdbm hash.'
/v1/encoding/string-hashPOSTComputes the 32-bit xxHash (XXH32) of bytes with an optional seed, faithfully implementing the 16-byte block rounds, tail mix, and avalanche finalizer. Answers 'What is the xxHash32 of this data?', 'Compute a seeded xxHash32 for sharding.'
/v1/encoding/xxhash32POSTEncodes/decodes protobuf-style LEB128 variable-length integers, with optional zigzag wrapping for signed values, returning byte layout and decoded magnitude. Answers 'What is the varint encoding of 300?', 'Decode this protobuf varint.'
/v1/encoding/varintPOSTMaps signed integers to/from the unsigned zigzag encoding used by protobuf (0,-1,1,-2 -> 0,1,2,3) at 32- or 64-bit width. Answers 'What is the zigzag encoding of -1?', 'Decode this zigzag-encoded value.'
/v1/encoding/zigzagPOSTEncodes/decodes Consistent Overhead Byte Stuffing, removing zero bytes from a frame so 0x00 can be used as a packet delimiter, reporting the overhead added. Answers 'What is the COBS encoding of this frame?', 'Decode this COBS packet.'
/v1/encoding/cobsPOSTParses a 26-char ULID, decoding the leading 48-bit Crockford-base32 timestamp into epoch-ms and ISO time and isolating the 80-bit randomness suffix. Answers 'When was this ULID created?', 'Extract the timestamp from a ULID.'
/v1/encoding/ulid-parsePOSTDecodes a Twitter/Discord/Instagram-style Snowflake ID into creation time (using the correct service epoch), worker ID, process ID, and sequence via the 42/5/5/12 bit layout. Answers 'When was this Discord ID created?', 'Decode the worker and sequence from a Snowflake.'
/v1/encoding/snowflake-decodePOSTParses a 27-char base62 KSUID, decoding its 4-byte timestamp (offset from the 2014-05-13 KSUID epoch) into epoch-ms/ISO and isolating the 16-byte random payload. Answers 'When was this KSUID created?', 'Extract the payload from a KSUID.'
/v1/encoding/ksuid-parsePOSTAnalyzes a nanoid string: length, distinct characters, URL-safety, and the entropy implied by the default 64-symbol alphabet (bits per char and total). Answers 'How much entropy does this nanoid carry?', 'Is this nanoid URL-safe?'
/v1/encoding/nanoid-infoPOSTEncodes/decodes RFC2045 quoted-printable used in email bodies, handling =XX escapes, soft line breaks at 76 chars, and UTF-8. Answers 'What is the quoted-printable of this text?', 'Decode this quoted-printable email body.'
/v1/encoding/quoted-printablePOSTEncodes/decodes IDNA domain names label-by-label using RFC3492 Punycode (the xn-- ACE form), returning per-label mapping. Answers 'What is the xn-- form of münchen.de?', 'Decode this internationalized domain name.'
/v1/encoding/punycodePOSTDecodes RFC2047 MIME encoded-words (=?charset?B/Q?text?=) found in email headers, handling both Base64 and Q-encoding and collapsing whitespace between adjacent words. Answers 'What does this encoded email subject say?', 'Decode a =?UTF-8?B?…?= header.'
/v1/encoding/mime-word-decodePOSTSpells text into the NATO/ICAO phonetic alphabet (A->Alfa, 1->One) or decodes spelling words back to characters, preserving spaces. Answers 'How do I spell this in NATO phonetic?', 'Decode these phonetic words.'
/v1/encoding/nato-phoneticPOSTEncodes/decodes the tap (knock) code using a 5x5 Polybius square where K maps to C, emitting row/column dot groups. Answers 'What is the tap code for WATER?', 'Decode this tap-code message.'
/v1/encoding/tap-codePOSTEncodes text to 5-bit ITA2 (Baudot) teleprinter codes, automatically inserting LTRS/FIGS shift codes, or decodes a code array back to text. Answers 'What are the Baudot codes for HELLO?', 'Decode these ITA2 5-bit codes.'
/v1/encoding/baudotPOSTApplies ROT47, the self-inverse rotation over the 94 printable ASCII characters (33-126) — a superset of ROT13 that also scrambles digits and punctuation. Answers 'What is the ROT47 of this text?', 'Reverse a ROT47 string.'
/v1/encoding/rot47POSTApplies the Atbash substitution (A<->Z, a<->z mirror), a self-inverse classical cipher that leaves non-letters untouched. Answers 'What is the Atbash of this text?', 'Decode an Atbash message.'
/v1/encoding/atbashPOSTEncodes/decodes the rail-fence (zigzag) transposition cipher for a given number of rails, correctly rebuilding the zigzag traversal on decode. Answers 'What is the 3-rail rail-fence of this text?', 'Decrypt this rail-fence ciphertext.'
/v1/encoding/rail-fencePOSTReturns the RFC-4122 SHA-1 name-based UUIDv5 for a namespace + name, with version/variant metadata. The value-add: same namespace+name always yields the exact same UUID anywhere, getting the SHA-1 hashing, byte order, and version/variant bit-twiddling exactly right. Answers 'What is the UUIDv5 for this name?', 'How do I make a stable deterministic ID from a string?'.
/v1/generate/uuid-v5POSTReturns the RFC-4122 MD5 name-based UUIDv3 for a namespace + name. The value-add: legacy-compatible deterministic IDs with correct version/variant bits and MD5 hashing. Answers 'What is the UUIDv3 for this name?', 'How do I make an MD5 name-based UUID?'.
/v1/generate/uuid-v3POSTBuilds a lexicographically-sortable 26-char ULID from a seed + timestamp, splitting the Crockford-base32 time and randomness components. The value-add: reproducible sortable IDs for fixtures without a clock dependency. Answers 'How do I make a deterministic ULID?', 'Give me a sortable ID from this seed and time.'.
/v1/generate/ulidPOSTDerives a stable short base62 id of a chosen length from a seed using SHA-256 (uniform, collision-resistant). The value-add: deterministic short slugs/keys reproducible across languages. Answers 'How do I shorten a seed into a short id?', 'Give me a stable base62 key for this string.'.
/v1/generate/short-hash-idPOSTGenerates a reproducible nanoid from a seed, custom alphabet, and size using a seeded mulberry32 PRNG. The value-add: stable URL-safe IDs for snapshot tests (unlike random nanoid). Answers 'How do I make a deterministic nanoid?', 'Give me a reproducible short ID from a seed.'.
/v1/generate/nanoidPOSTProduces a human-readable adjective-color-noun codename slug (optionally numbered) from a seed. The value-add: memorable, stable names for branches/releases/rooms that regenerate from the same seed. Answers 'Give me a friendly codename from this seed', 'How do I make a Heroku-style random name deterministically?'.
/v1/generate/slug-codenamePOSTReturns an unbiased Fisher-Yates permutation of an array driven by a seed. The value-add: reproducible shuffles for fixtures/A-B ordering, getting the unbiased swap range exactly right. Answers 'How do I shuffle this array deterministically?', 'Give me a reproducible permutation.'.
/v1/generate/shufflePOSTDraws n distinct items without replacement from an array using a seeded shuffle. The value-add: reproducible subsamples for test splits/raffles. Answers 'How do I pick n random items deterministically?', 'Give me a reproducible sample without replacement.'.
/v1/generate/samplePOSTDraws n distinct items without replacement with probability proportional to weight, using the Efraimidis-Spirakis A-Res reservoir algorithm. The value-add: correct weighted sampling without replacement (the naive approach is biased) and reproducible from the seed. Answers 'How do I sample weighted items without replacement?', 'Give me a reproducible weighted subset.'.
/v1/generate/weighted-samplePOSTRolls dice from NdM+K notation (or count/sides) deterministically from a seed, returning each die and the modified total. The value-add: reproducible RPG/game rolls with full dice-notation parsing. Answers 'Roll 3d6+2 deterministically', 'How do I parse and roll dice notation?'.
/v1/generate/dice-rollPOSTShuffles items by seed then deals them round-robin into N balanced groups, returning the groups and their sizes. The value-add: reproducible fair team/bucket assignment. Answers 'How do I split items into N random balanced groups?', 'Deterministically partition this list.'.
/v1/generate/partition-groupsPOSTGenerates a reproducible series of jittered delay values around a base (full-jitter on a configurable spread fraction). The value-add: deterministic backoff jitter for tests that need stable timings. Answers 'Give me deterministic jitter for retries', 'How do I reproducibly jitter a delay?'.
/v1/generate/jitterPOSTGenerates a reproducible person, company, product, or username name from a seed, returning the assembled name and its components. The value-add: stable, structured fake names for fixtures (distinct from random faker output). Answers 'Give me a deterministic company name from this seed', 'Generate a reproducible username.'.
/v1/generate/namePOSTGenerates a reproducible password that satisfies a character-class policy (upper/lower/digits/symbols), guaranteeing at least one char from each enabled class. The value-add: deterministic, policy-compliant passwords for fixtures (uses an ambiguity-free charset). Answers 'Generate a reproducible strong password from this seed', 'How do I deterministically build a policy-compliant password?'.
/v1/generate/passwordPOSTGenerates reproducible themed placeholder copy (corporate-jargon, hipster, or pirate) of N sentences from a seed. The value-add: stable, flavored mockup text from curated word pools (distinct from plain lorem-ipsum). Answers 'Give me deterministic corporate-speak placeholder text', 'Generate reproducible pirate filler copy.'.
/v1/generate/lorem-variantPOSTBuilds an order-N Markov chain from a corpus and generates reproducible text from a seed. The value-add: corpus-derived synthetic text that mimics the input's style, deterministic for snapshots, with the prefix-table construction done correctly. Answers 'Generate Markov-chain text from this corpus deterministically', 'How do I build a reproducible Markov text generator?'.
/v1/generate/markov-textPOSTFills a template pattern (A=letter, #=digit, *=alnum, other chars literal) deterministically from a seed, generating N values. The value-add: reproducible license-plate / SKU / serial-number style identifiers from a mask. Answers 'Generate SKUs from a pattern deterministically', 'How do I fill a license-plate mask reproducibly?'.
/v1/generate/pattern-fillPOSTGenerates a GitHub-style NxN horizontally-symmetric boolean identicon grid plus an HSL color from a seed (MD5-driven). The value-add: stable, deterministic avatar data for any string — render the boolean grid as a blocky avatar. Answers 'Generate an identicon for this seed', 'How do I make a deterministic avatar grid from a string?'.
/v1/generate/identiconPOSTGenerates a reproducible N-color palette in a chosen harmony scheme (analogous/complementary/triadic/random) from a seed, returning hex + HSL for each. The value-add: stable themed palettes anchored on a seed-derived base hue, with correct HSL-to-hex conversion. Answers 'Generate a deterministic color palette from this seed', 'Give me a reproducible analogous color scheme.'.
/v1/generate/color-palettePOSTGenerates a perfect maze (one unique path between any two cells) on a WxH grid via the recursive-backtracker algorithm, returning per-cell wall flags. The value-add: stable, solvable maze layouts from a seed, with the carving algorithm done right. Answers 'Generate a maze from this seed', 'How do I build a deterministic perfect maze grid?'.
/v1/generate/mazePOSTRolls a weighted loot/drop table N times deterministically from a seed, returning each drop, per-item counts, and the computed drop-rate distribution. The value-add: reproducible weighted drops with correct cumulative-weight selection and exposed probabilities. Answers 'Roll this loot table deterministically', 'What are the drop rates and what dropped for this seed?'.
/v1/generate/loot-rollPOSTAdvances a cellular automaton by N steps: Conway's Game of Life (B3/S23, bounded grid) or a 1D elementary rule-N (0-255, periodic boundaries). The value-add: correct neighbor counting and rule-bit lookup, deterministic and pure. Answers 'Step Conway's Life forward', 'Compute elementary CA rule 30 for this row.'.
/v1/generate/cellular-automataPOSTSamples smooth fractal value-noise at given coordinates with N octaves, seeded and normalized to [0,1] using quintic fade interpolation. The value-add: deterministic procedural noise for terrain/textures/animation, with correct lattice hashing and octave summation. Answers 'Sample noise at (x,y) deterministically', 'How do I get reproducible Perlin-style noise from a seed?'.
/v1/generate/value-noisePOSTGenerates a single reproducible record matching a field schema (string/int/float/bool/uuid/name/email/enum/date) from a seed. The value-add: structured, schema-driven fixtures that regenerate identically, with deterministic UUIDs and per-field generators. Answers 'Generate a reproducible record for this schema', 'How do I make a deterministic fake object?'.
/v1/generate/fake-recordPOSTGenerates N reproducible rows from a field schema as JSON or CSV from a seed, with each row independently seeded for stable per-row regeneration. The value-add: full, deterministic test datasets/fixtures with correct CSV escaping. Answers 'Generate N reproducible test rows from this schema', 'How do I make a stable fake CSV dataset?'.
/v1/generate/test-datasetPOSTGenerates a reproducible graph from a seed: a tree, a DAG (extra forward edges), or a random directed graph, returning nodes and edges. The value-add: stable graph/tree fixtures with guaranteed acyclicity for tree/dag modes and configurable edge density. Answers 'Generate a deterministic tree/DAG/graph', 'How do I make a reproducible graph fixture?'.
/v1/generate/graphPOSTFull 2D/3D vector operations on a pair: add, subtract, dot, cross, magnitudes, angle between, scalar/vector projection and unit vectors in one call. Answers 'what is the angle between these vectors?', 'what is the projection of a onto b?'.
/v1/geometry/vector-opsPOSTSpecular reflection of a vector about a surface normal (r = d − 2(d·n̂)n̂), with incidence angles. Answers 'what is the reflected ray off this surface?', 'what is the angle of incidence?'.
/v1/geometry/vector-reflectPOSTRotate a 2D vector about the origin or a 3D vector about an arbitrary axis (Rodrigues' formula). Answers 'where does this vector point after rotating by an angle?', 'how do I rotate about an axis?'.
/v1/geometry/vector-rotatePOSTLinear interpolation between two points/vectors of any equal dimension, with distance covered and remaining. Answers 'what is the point a fraction t of the way from A to B?'.
/v1/geometry/lerpPOSTMultiply two conformable matrices (A·B) with dimension validation. Answers 'what is the product of these two matrices?'.
/v1/geometry/matrix-multiplyPOSTDeterminant of a square matrix (closed-form for 2x2/3x3, LU elimination with partial pivoting for NxN), flagging singular matrices. Answers 'what is the determinant?', 'is this matrix invertible?'.
/v1/geometry/matrix-determinantPOSTInverse of a 2x2 or 3x3 matrix via the adjugate/cofactor method, throwing on singular input. Answers 'what is the inverse of this matrix?'.
/v1/geometry/matrix-inversePOSTSolve a square linear system A·x = b via Cramer's rule (2x2/3x3) or Gaussian elimination with partial pivoting (NxN), detecting singular systems. Answers 'what x satisfies these simultaneous equations?'.
/v1/geometry/solve-linear-systemPOSTCompose translate/rotate/scale/shear operations into a single 3x3 homogeneous matrix and apply it to points, in listed order. Answers 'what is the combined transform matrix?', 'where do these points map to?'.
/v1/geometry/affine-2dPOSTIntersection of two infinite 2D lines given by point pairs, flagging parallel and coincident cases. Answers 'where do these two lines cross?', 'are these lines parallel?'.
/v1/geometry/line-line-intersectPOSTIntersection of two finite 2D segments with parametric positions, handling collinear overlap and endpoint touches. Answers 'do these two segments cross, and where?'.
/v1/geometry/segment-intersectPOSTIntersection of a 2D ray/line (point + direction) with a circle, returning 0/1/2 points and the discriminant. Answers 'where does this line cut the circle?', 'is it tangent?'.
/v1/geometry/line-circle-intersectPOSTIntersection of two circles, classifying the relation (separate/tangent/intersecting/contained) and returning the crossing points. Answers 'do these circles overlap, and where do they cross?'.
/v1/geometry/circle-circle-intersectPOSTMöller–Trumbore ray/triangle intersection in 3D, returning the hit point, distance t and barycentric coordinates. Answers 'does this ray hit the triangle, and where?'.
/v1/geometry/ray-trianglePOSTRay vs axis-aligned bounding box via the slab method (2D or 3D), returning near/far t and the entry point, robust to axis-parallel rays. Answers 'does this ray hit the box, and where does it enter?'.
/v1/geometry/ray-aabbPOSTIntersection of an infinite 3D line with a plane (point + normal), flagging parallel and in-plane cases. Answers 'where does this line pierce the plane?'.
/v1/geometry/line-plane-intersectPOSTRay-casting point-in-polygon test for arbitrary simple (incl. concave) polygons, also detecting boundary points. Answers 'is this point inside the polygon?', 'is it on an edge?'.
/v1/geometry/point-in-polygonPOSTFull triangle dossier from three 2D vertices: area (shoelace), side lengths, perimeter, centroid, interior angles, circumradius and inradius. Answers 'what is the area and the angles of this triangle?'.
/v1/geometry/triangle-metricsPOSTSolve a triangle from partial data (SSS, SAS, ASA/AAS, or ambiguous SSA) using the laws of sines and cosines, recovering all sides, angles and area. Answers 'given two sides and an angle, what is the rest of the triangle?'.
/v1/geometry/triangle-solverPOSTArea, perimeter and centroid of an arbitrary simple polygon via the shoelace formula, with winding direction and convexity. Answers 'what is the area and centroid of this polygon?', 'is it convex?'.
/v1/geometry/polygon-metricsPOSTMetrics of a regular n-gon from circumradius or side length: area, perimeter, apothem, interior/exterior angles. Answers 'what is the area of a regular hexagon with side 1?'.
/v1/geometry/regular-polygonPOSTArea and perimeter/arc length for circle, ellipse (Ramanujan perimeter), sector and annulus. Answers 'what is the area of a circular sector?', 'what is an ellipse's perimeter?'.
/v1/geometry/circle-areasPOSTVolume and surface area of common 3D solids: sphere, cylinder, cone, frustum, torus, box, pyramid, tetrahedron, ellipsoid (with slant heights and diagonals). Answers 'what is the volume and surface area of a cone?'.
/v1/geometry/solid-metricsPOSTIntersection of two spheres: relation classification plus the intersection circle (radius, center) and lens overlap volume. Answers 'do these two spheres overlap, and by how much volume?'.
/v1/geometry/sphere-sphere-intersectPOSTConvex hull of a 2D point set via Andrew's monotone chain (O(n log n)), with hull vertices in CCW order plus hull area and perimeter. Answers 'what is the convex hull of these points?'. (Plane Cartesian points, not lat/lon.)
/v1/geometry/convex-hull-2dPOSTDistance from a point to an infinite line, a finite segment, or a 3D plane, with the closest point and (for planes) signed distance and side. Answers 'how far is this point from the segment?', 'which side of the plane is it on?'.
/v1/geometry/point-distancePOSTEvaluate a quadratic or cubic Bezier curve at parameter t with the tangent direction and an arc-length estimate via adaptive sampling. Answers 'what point and tangent lie at t on this Bezier?', 'how long is the curve?'.
/v1/geometry/bezierPOSTBarycentric coordinates of a point in a 2D/3D triangle (and the inverse weights -> point), reporting whether the point is inside. Answers 'what are the barycentric weights of this point?', 'is it inside the triangle?'.
/v1/geometry/barycentricPOSTConvert an angle between degrees, radians, gradians and turns, with 0-360 and -180..180 normalization. Answers 'how many radians is 180 degrees?', 'what is this angle normalized to a principal range?'.
/v1/geometry/angle-convertPOSTFinds time slots within a window during which every participant is free, merging each person's busy intervals into a blocked mask and returning the earliest fitting slots. Answers 'When are all N people free for a 30-minute meeting?', 'What's the earliest slot everyone can make?'.
/v1/scheduling/common-free-slotPOSTRanks candidate meeting instants by fairness across timezones, computing each participant's local time from their UTC offset and penalizing time outside their (weighted) working window. Answers 'Which UTC time is least painful for everyone across timezones?', 'What's the fairest meeting slot for a global team?'.
/v1/scheduling/best-meeting-timePOSTComputes the UTC window during which the local working hours of N timezones all overlap, shifting each zone's local window by its offset and intersecting. Answers 'When are all my distributed teammates simultaneously at work?', 'Is there any working-hours overlap between these timezones?'.
/v1/scheduling/working-hours-overlapPOSTFinds the earliest free slot of a given duration at or after an explicit now, fitting inside a daily working window and skipping busy intervals, walking day by day. Answers 'When is my next 1-hour opening?', 'What's the soonest slot given my calendar and working hours?'.
/v1/scheduling/next-available-slotPOSTInverts busy intervals into free gaps within a window, merging overlapping busy blocks and returning the complement plus total free/busy minutes. Answers 'What are my free gaps given these meetings?', 'How much free vs busy time is in this window?'.
/v1/scheduling/invert-intervalsPOSTDetects overlapping events, reporting every conflicting pair plus the peak number of concurrent events and when it occurs via a sweep line. Answers 'Are any of my meetings double-booked?', 'What is the maximum number of events running at once?'.
/v1/scheduling/double-booking-detectPOSTBuilds a Gantt schedule from tasks with finish-to-start dependencies via an earliest-start forward pass, counting durations in working days only and detecting cycles. Answers 'What are the start/end dates of each task given dependencies?', 'When does the project finish?'.
/v1/scheduling/ganttPOSTAssigns independent tasks to N identical parallel workers to minimize makespan using the LPT greedy heuristic, returning per-worker assignment, makespan, lower bound, and utilization. Answers 'How do I balance these tasks across my team to finish soonest?', 'What's the makespan with N workers?'.
/v1/scheduling/resource-levelingPOSTBackward-plans a sequential task chain from a deadline, working backward in working days to compute the latest start/end per task and the required project start date. Answers 'What's the latest I can start to hit this deadline?', 'When must each task in the chain begin?'.
/v1/scheduling/backward-planPOSTComputes slack for each milestone as working days available between now and the due date minus remaining work days, flagging at-risk milestones with negative slack. Answers 'Which milestones are at risk of slipping?', 'How much buffer does each milestone have?'.
/v1/scheduling/milestone-slackPOSTSizes a CCPM project buffer by converting padded estimates to aggressive ones and computing the buffer via cut-and-paste (50% of removed safety) or sum-of-squares root. Answers 'How big should my critical-chain feeding/project buffer be?', 'What's the buffered project duration?'.
/v1/scheduling/critical-chain-bufferPOSTSolves Little's Law (L = λ × W) given any two of WIP, throughput, and lead time, returning the solved variable and full triple with units. Answers 'What's my lead time given WIP and throughput?', 'How many items will be in flow at this throughput?'.
/v1/scheduling/littles-lawPOSTComputes takt time = available time / demand (the production heartbeat) and, given an actual cycle time, whether the line keeps pace and how many parallel stations are needed. Answers 'How fast must I produce to meet demand?', 'How many stations to keep up with takt?'.
/v1/scheduling/takt-timePOSTSolves an M/M/1 queue from arrival rate λ and service rate μ, returning utilization, average number in system/queue, and average wait in system/queue, with a stability check. Answers 'How long will requests wait in this queue?', 'What's the average backlog at this load?'.
/v1/scheduling/mm1-queuePOSTComputes resource utilization = busy / total with headroom, over-allocation, a load band, and optional spare capacity in parallel-resource units. Answers 'What percentage of capacity am I using?', 'How much spare capacity do I have?'.
/v1/scheduling/utilizationPOSTGenerates a Pomodoro plan inside a window with alternating focus and break blocks (long break every N pomodoros), returning timed ISO blocks and focus/break totals. Answers 'How do I split this window into pomodoros?', 'How many focus blocks fit in 2 hours?'.
/v1/scheduling/pomodoro-planPOSTAllocates a fixed time budget across items proportional to weights, honoring per-item minimums and rounding to a step with largest-remainder so parts sum exactly. Answers 'How do I split my day across tasks by priority weight?', 'How many minutes does each item get?'.
/v1/scheduling/timebox-allocatePOSTLays out an ideal-day schedule, ordering tasks by priority and placing them back-to-back from a start time with breaks after a continuous-work threshold, reporting what fit and what spilled. Answers 'How should I order my day by priority?', 'Which tasks won't fit today?'.
/v1/scheduling/ideal-dayPOSTDecides whether a set of tasks can finish before a deadline by summing task hours against working hours available (working days × hours/day), returning slack or shortfall. Answers 'Can I finish all this work before the deadline?', 'How many hours short am I?'.
/v1/scheduling/deadline-feasibilityPOSTGenerates a round-robin rota assigning people to ordered slots cyclically (perSlot people each), returning the assignment and each person's shift count with a balance check. Answers 'Who is on duty each day in a fair rotation?', 'How many shifts does each person get?'.
/v1/scheduling/rota-round-robinPOSTGenerates an on-call rotation assigning people to back-to-back shifts of a given length from a start instant, returning each shift's person with ISO start/end and next-handoff plus a fairness tally. Answers 'Who is on call for each shift?', 'When is the next handoff?'.
/v1/scheduling/oncall-rotationPOSTFinds coverage gaps in a schedule via a sweep line, reporting every interval where overlapping shifts fall below the required minimum, total uncovered minutes, and peak coverage. Answers 'When is no one covering?', 'Where does coverage drop below the required level?'.
/v1/scheduling/coverage-gapsPOSTDistributes shifts fairly across people honoring per-person weights and unavailability, greedily assigning each slot to whoever is furthest below their fair target, returning assignment, per-person counts vs target, and max deviation. Answers 'How do I split shifts fairly by weight?', 'Did anyone get an unfair share?'.
/v1/scheduling/fair-shift-distributionPOSTFull-text search of Project Gutenberg's public-domain library via Gutendex, normalized with direct EPUB/Kindle/text/HTML download links and a download-count popularity tier. Answers 'find free ebook editions of X', 'which public-domain books match this topic and where do I download them'.
/v1/data/gutenberg-searchPOSTLook up a single Project Gutenberg ebook by its Gutenberg id and get normalized metadata plus the direct download links (EPUB, Kindle, plain text, HTML) and a popularity tier derived from the download count. Answers 'download links for Gutenberg book 84', 'metadata + formats for this public-domain title'.
/v1/data/gutenberg-bookPOSTResolve an author name to an Open Library author profile: canonical name, alternate names, birth/death dates, living/deceased status, work count, top work, top subjects, and a trimmed biography. Joins the author search and the author-detail endpoints into one record. Answers 'who is this author', 'how many works has X written', 'author bio + key subjects'.
/v1/data/author-profilePOSTList an Open Library author's works (by author key) with first-publish date, cover image URL, subjects, and a derived cover-coverage ratio across the returned set. Answers 'what books has author OL... written', 'bibliography with cover availability'. Use data-author-profile first to get the authorId.
/v1/data/author-worksPOSTAggregate all editions of an Open Library work into a single summary: edition count, distinct languages, publishers, ISBN list, a min/max/median page-count range, and the earliest publish year. Derives cross-edition stats no single record exposes. Answers 'how many editions / languages does this book have', 'ISBNs and page-count range for this title'.
/v1/data/book-editionsPOSTFull MyAnimeList detail for an anime id via Jikan: score, scored-by, rank, popularity, members, studios, genres, themes, season, source material, plus a derived engagement label (acclaimed/highly-rated/niche...) that weights score by vote volume. Answers 'detailed stats for anime X', 'how acclaimed is this anime'.
/v1/data/anime-detailsPOSTMyAnimeList community recommendations for a given anime id via Jikan, normalized and sorted by vote count so the strongest 'if you liked this, watch that' suggestions surface first. Answers 'anime like X', 'what do fans of this also watch'.
/v1/data/anime-recommendationsPOSTCharacters of an anime via Jikan, sorted by favorites, each with role (Main/Supporting), favorite count, and the Japanese voice actor. Includes a derived main-character count. Answers 'who are the main characters of X', 'who voices this character'.
/v1/data/anime-charactersPOSTSearch manga on MyAnimeList via Jikan, normalized with chapters, volumes, publishing status, ongoing flag, authors, genres, score, and a derived engagement label. Complements the existing anime search. Answers 'find manga X', 'is this manga still ongoing', 'manga details + authors'.
/v1/data/manga-searchPOSTThe current anime season from MyAnimeList via Jikan, ranked by member count so the most-followed shows surface first, each with type, episodes, score, genres, and engagement label. Answers 'what anime is airing this season', 'top current-season shows'.
/v1/data/anime-seasonalPOSTMusic artist/band profile from TheAudioDB: genre, style, mood, country, label, member count, formed year, and a derived career span (years active, active-until present/year, active flag) plus a trimmed biography. Answers 'profile + genre + how long active for band X', 'is this band still active'.
/v1/data/audiodb-artistPOSTAn artist's studio album discography from TheAudioDB, sorted chronologically with derived first/latest release years and active-span. Answers 'list albums of artist X with years', 'how long has this artist been releasing music'.
/v1/data/audiodb-discographyPOSTSearches CPSC SaferProducts recalls by recalling FIRM (manufacturer/importer) rather than product name, normalizes each to a unified schema, and assigns a 0-100 severity score inferred from hazard + injury text. Answers 'what has <firm> recalled?', 'how severe are <brand>'s consumer-product recalls?'.
/v1/gov/cpsc-recalls-by-firmPOSTSearches CPSC recalls for a product category and keeps only the HIGH+ severity ones (reported injuries/deaths, fire/strangulation/laceration/burn hazards), severity-ranked, with the serious-share of all recalls. Answers 'which <product> recalls actually hurt people?', 'how often are <product> recalls dangerous?'.
/v1/gov/cpsc-injury-recallsPOSTQueries openFDA FOOD enforcement reports by recalling firm, state, FDA classification (Class I/II/III) and/or date, normalized to a unified recall schema with Class->0-100 severity. Distinct from drug-by-name lookups. Answers 'what Class I food recalls happened?', 'has <firm> had a food recall?'.
/v1/gov/fda-food-recallsPOSTQueries openFDA DEVICE enforcement reports by firm, state, classification and/or date, normalized with Class->severity. Answers 'what Class I device recalls are out there?', 'has <manufacturer> recalled a device?'.
/v1/gov/fda-device-recallsPOSTQueries openFDA DRUG enforcement reports by recalling FIRM, state, classification and/or date — the manufacturer/recall-event lens, distinct from existing by-drug-name safety lookups. Normalized with Class->severity. Answers 'what has <pharma firm> recalled?', 'any Class I drug recalls in <state>?'.
/v1/gov/fda-drug-enforcement-by-firmPOSTPulls NHTSA owner complaints for a make/model/year, tallies crash/fire/injury/death flags into a 0-100 risk score, ranks the most-severe complaints, and surfaces the most-complained-about components. Answers 'is this car dangerous per owners?', 'what fails on a <year> <make> <model>?'.
/v1/gov/nhtsa-complaintsPOSTResolves a make/model/year to its NCAP-rated body-style variants and fetches full 5-star crash-test ratings (overall, frontal, side, rollover) plus recall/complaint/investigation counts, with an average-overall-stars roll-up. Answers 'how many stars does this car get?', 'is it safe in a crash?'.
/v1/gov/nhtsa-safety-ratingsPOSTJoins NHTSA recalls, owner complaints, and NCAP crash ratings for a make/model/year into ONE composite 0-100 risk score (complaint flags + recall volume + 'do-not-drive' park-it recalls minus star bonus), with a do-not-drive flag. The MORE: one call instead of three APIs. Answers 'how risky is a <year> <make> <model> overall?'.
/v1/gov/vehicle-safety-snapshotPOSTSweeps CPSC consumer-product recalls and openFDA food/device/drug enforcement for a brand/firm in parallel, normalizes all to a single recall schema with a unified 0-100 severity, and severity-ranks them. The MORE: one cross-agency recall feed for a brand. Answers 'has <brand> recalled anything anywhere?', 'show me all of <brand>'s recalls'.
/v1/gov/open-recalls-for-brandPOSTJoins CPSC + openFDA (food/device/drug) recalls for a firm and returns only the roll-up: total, counts by source, counts by severity class, an aggregate risk score, and the single worst recall headline — a cheap dashboard tile, no full list. Answers 'how many recalls and how bad for <firm>?', 'recall risk profile of <firm>'.
/v1/gov/recall-summary-by-firmPOSTNormalized crates.io package metadata for a Rust crate: latest stable version, license, repository/homepage, total + recent downloads, release count, first/last publish dates, yank flag, and a derived maintenance verdict (maintained/aging/at-risk/abandoned). Answers 'what is the latest version and license of this crate?', 'is this Rust crate still maintained?'.
/v1/dev/crate-infoPOSTNormalized RubyGems metadata for a Ruby gem: latest version, license(s), source repo/homepage/docs, total + version downloads, release count, last publish date, and a derived maintenance verdict. Answers 'what is the latest version and license of this gem?', 'is this Ruby gem still actively released?'.
/v1/dev/gem-infoPOSTNormalized Go module metadata from the public Go module proxy: latest version, tagged-version count, VCS, repository, last publish time, and a derived maintenance verdict. The Go proxy speaks a flat text protocol with no JSON API on pkg.go.dev — this collapses @latest + @v/list into one normalized object. Answers 'what is the latest tagged version of this Go module?', 'is this Go module still maintained?'.
/v1/dev/go-module-infoPOSTNormalized Packagist metadata for a PHP Composer package: latest stable version, license(s), repository/homepage, runtime dependency list + count, PHP constraint, release count, abandonment flag (+ suggested replacement), last publish date, and a derived maintenance verdict. Decodes Packagist's minified p2 format. Answers 'what is the latest version and PHP requirement?', 'has this Composer package been abandoned?'.
/v1/dev/composer-packagePOSTNormalized NuGet metadata for a .NET package: latest stable version, SPDX license expression, project URL, authors, verified-publisher flag, total downloads, release count, deprecation flag, last publish date, and a derived maintenance verdict. Joins the NuGet search API with the gzipped registration graph for the real publish date + deprecation. Answers 'what is the latest version and license of this NuGet package?', 'is this .NET package deprecated or stale?'.
/v1/dev/nuget-packagePOSTNormalized Maven Central metadata for a JVM artifact: latest version, packaging, release count, last publish date, plus license + source repository + advisory count enriched from deps.dev (Maven Central's Solr index carries none), and a derived maintenance verdict. Answers 'what is the latest version and license of this Maven artifact?', 'is this Java/Kotlin library still maintained?'.
/v1/dev/maven-artifactPOSTNormalized hex.pm metadata for an Elixir/Erlang package: latest stable version, license(s), repository + links, total + recent downloads, release count, last publish date, and a derived maintenance verdict. Answers 'what is the latest version and license of this Hex package?', 'is this Elixir library still actively released?'.
/v1/dev/hex-packagePOSTNormalized Anaconda.org metadata for a conda package (default channel conda-forge): latest version, license, homepage/repo/docs, version count, build count, last upload date across all build files, and a derived maintenance verdict. Answers 'what is the latest version and license of this conda package?', 'when was this conda-forge feedstock last built?'.
/v1/dev/conda-packagePOSTCross-ecosystem package intelligence via deps.dev for npm/pypi/cargo/go/maven/nuget/rubygems in ONE normalized shape: resolved version, publish date, license set, source repo/homepage, deprecation, the fully-RESOLVED transitive dependency graph count (direct + transitive), security advisory keys (GHSA/CVE), total version count, and a maintenance verdict. The MORE no single registry exposes: a resolved transitive dep count + advisory join across languages. Answers 'how many transitive deps does this version pull in?', 'does this package version have known advisories?', 'one schema for any ecosystem'.
/v1/dev/deps-dev-lookupPOSTPure, registry-agnostic maintenance scorer: given last-publish age (days, or an ISO lastPublished date), optional release count, and an optional deprecation flag, returns a verdict (maintained/aging/at-risk/abandoned/deprecated/unknown), a 0-100 health score, and the contributing reasons + band definitions. Free to run, no upstream. Distinct from dev-abandoned (npm-only, joins GitHub commits) — this works for ANY ecosystem from publish metadata alone. Answers 'given this package's last-release date, is it likely abandoned?'.
/v1/dev/package-maintenancePOSTReturns the works a paper CITES (its bibliography) from Crossref, normalized with DOIs, journals, authors and years, plus a derived share of references that carry a resolvable DOI. Answers 'what does this paper cite?', 'how many of its references are machine-resolvable?'.
/v1/science/scholar-referencesPOSTReturns the downstream citation graph for a DOI: the works that cite it, ranked by citation count (or recency), via OpenAlex's cites: filter. Answers 'who cites this paper?', 'what is the most influential follow-up work?'.
/v1/science/scholar-citing-papersPOSTDerives a citation-velocity verdict from OpenAlex per-year counts: compares the recent two-year window vs the prior window (excluding the partial current year), with FWCI and field-normalized percentile. Answers 'is this paper still gaining citations or fading?', 'is it a top-1% paper in its field?'.
/v1/science/scholar-citation-trendPOSTResolves OpenAlex's related_works (co-citation / shared-reference neighbours) into titled, citation-ranked papers. Answers 'what else should I read alongside this paper?', 'what are its nearest neighbours in the literature graph?'.
/v1/science/scholar-related-worksPOSTChecks Crossref's update-to / updated-by records (fed by Retraction Watch) and the title for a retraction, expression of concern, or correction, collapsing them into a status verdict with dated notices. Answers 'has this paper been retracted?', 'are there corrections or concerns I should know about before citing it?'.
/v1/science/scholar-retraction-checkPOSTResolves an ISSN to an OpenAlex source and returns h-index, i10, 2-year mean citedness (impact-factor-like), open-access / DOAJ / APC status, plus a derived standing tier (elite / high / established / emerging / low-signal). Answers 'how prestigious is this journal?', 'what tier is this venue and is it open access?'.
/v1/science/scholar-journal-metricsPOSTResolves an ORCID or OpenAlex author id to a footprint: h-index/i10, affiliations with ROR ids, top research topics, top publishing venues (via a works venue group-by), and recent yearly activity. Answers 'where does this researcher publish?', 'what are their main topics and how active are they lately?'.
/v1/science/scholar-author-networkPOSTSearches the Crossref Funder Registry by name and returns canonical FundRef ids, locations, DOI URIs and alternate names. Answers 'what is the FundRef id for this funding agency?', 'which registered funder does this grant name map to?'.
/v1/science/scholar-funder-lookupPOSTResolves a research organisation name to its canonical ROR id, country and type, plus a research profile (works, citations, h-index, top topics) via OpenAlex /institutions. Answers 'what is the ROR id for this university?', 'how research-active is this institution and in what fields?'. (Uses OpenAlex for resolution because ROR's own search endpoint was returning broken results at build time.)
/v1/science/scholar-org-profilePOSTJoins Crossref and OpenAlex into a single snapshot of a paper's position in the literature graph: upstream references, downstream citations, citation trend, FWCI and top-percentile flag, retraction status, funders, and related-work count. Answers 'give me everything about this paper's citation graph in one call', 'is this a high-impact, non-retracted, still-cited paper?'.
/v1/science/scholar-paper-graphPOSTPrefix autocomplete over Wikipedia article titles via the OpenSearch API, normalized to {title, description, url}. Answers 'autocomplete this title', 'what articles start with X', 'suggest titles for a search box'.
/v1/data/wiki-opensearchPOSTFull-text Wikipedia search returning cleaned plain-text snippets plus per-result word count, a length bucket (stub/short/medium/long), days-since-last-edit and a recentlyEdited flag. More than a proxy: it strips MediaWiki markup and derives quality/freshness signals. Answers 'search Wikipedia for X', 'which article best matches', 'is the top hit a stub or recently edited'.
/v1/data/wiki-searchPOSTFinds articles semantically similar to a given title using the search engine's 'morelike' relevance, not raw outgoing links. Returns ranked related titles with word counts and URLs. Answers 'articles like X', 'what should I read next after X', 'topically related pages'.
/v1/data/wiki-relatedPOSTLists pages and subcategories belonging to a Wikipedia category, namespace-filtered and paginated via a cursor. Subcategory names are de-prefixed and each member gets a resolved URL. Answers 'what articles are in category X', 'enumerate a topic taxonomy', 'walk a category tree'.
/v1/data/wiki-category-membersPOSTReturns the media files used on a Wikipedia article via the REST media-list, normalized: total count, a breakdown by type, and per-item {title, type, leadImage flag, cleaned caption, https thumbnail}. Answers 'images on the X article', 'lead image for X', 'media gallery for a topic'.
/v1/data/wiki-page-mediaPOSTA one-call digest of Wikipedia's daily featured content for a date: today's featured article (with extract), the picture of the day, the top most-read articles with view counts, did-you-know hooks, and in-the-news items — all cleaned of markup. Answers 'what's featured on Wikipedia today', 'most-read articles on a date', 'picture of the day'.
/v1/data/wiki-featuredPOSTFolds a repo's GitHub release list into a release-cadence intelligence card: stable-vs-prerelease counts, the latest stable release, days since it shipped, the MEDIAN gap between stable releases, a cadence label (rapid/steady/occasional/slow), and the 10 most recent releases. Answers 'how often does owner/repo ship', 'when was the last stable release', 'is this project releasing rapidly or stalled'.
/v1/dev/github-releasesPOSTOne-call normalized metadata card for a GitHub repo: description, homepage, default branch, primary language, SPDX license, topics, star/fork/watcher/open-issue counts, size, fork/template/archived/disabled flags, enabled features (issues/wiki/discussions/pages), timestamps, and derived age in days. Distinct from the health check — this is the full descriptive fact sheet. Answers 'what license/topics/branch does owner/repo use', 'how old is this repo', 'what features are enabled'.
/v1/dev/github-repo-metaPOSTRanks a repo's top human contributors by commit count (bots excluded), computes each one's percentage SHARE of all commits, and derives the BUS FACTOR — how few people hold 50%+ of the work — with a key-person risk rating (high/medium/low). Answers 'who maintains owner/repo', 'how concentrated is contribution', 'what is the bus factor / key-person risk of this dependency'.
/v1/dev/github-contributorsPOSTConverts a repo's raw GitHub language byte counts into a sorted percentage breakdown with total bytes, language count, and primary language. The raw API returns only opaque byte sizes; this normalizes them into shares an agent can rank. Answers 'what languages is owner/repo written in', 'what percent of the code is TypeScript', 'what is the primary language'.
/v1/dev/github-languagesPOSTFetches a repo's default README and renders the Markdown down to clean plain text (code fences, images, HTML, emphasis and table markup stripped), plus extracts the heading outline, a link count, and a word count, with bounded truncation. Answers 'what does owner/repo do, in plain text', 'give me the README outline', 'summarize this project's README for an agent'.
/v1/dev/github-readmePOSTPulls a repo's full recursive git tree and summarizes it: file/directory counts, total bytes, an extension histogram (top 20), files-per-top-level-directory, and the largest files. Turns a giant flat tree into a bounded structural map. Answers 'what's the layout of owner/repo', 'what file types dominate', 'which are the largest files', 'how big is this repo'.
/v1/dev/github-file-treePOSTFetches an OpenAPI/Swagger JSON spec by URL and summarizes it: spec version, title, API version, server, path count, total operation count, a method histogram (GET/POST/...), operations-per-tag, and the declared security schemes with a requiresAuth flag. Works with OpenAPI 3.x and Swagger 2.0. Answers 'how big is this API', 'how many endpoints/operations does it expose', 'what auth does it use', 'what does this spec cover'.
/v1/dev/openapi-summaryPOSTLints an OpenAPI/Swagger spec for documentation quality: missing API title/version/description, operations lacking operationId, duplicate operationIds, operations with no summary/description, and operations with no responses defined. Returns categorized issues (error/warning), per-rule locations, coverage stats, and a 0-100 quality score with an A-F grade. Answers 'how well documented is this API', 'what's wrong with this OpenAPI spec', 'grade this API design'.
/v1/dev/openapi-lintPOSTFetches a JSON Schema by URL (any draft Ajv supports) and validates a supplied document against it, returning a valid flag, an error count, and per-error details (instance path, failing keyword, message, schema path). The MORE: the schema is resolved remotely so an agent supplies only the data and a schema URL — no need to embed or maintain the schema. Answers 'does my JSON conform to this published schema', 'validate this config against its official schema', 'why is my document invalid'.
/v1/dev/jsonschema-validate-remotePOSTFetches a domain's security.txt (checking the RFC-9116 /.well-known/ location first, then the legacy root path) and parses it into structured fields: contact channels, encryption keys, disclosure policy, acknowledgments, preferred languages, canonical URLs, hiring links, an expiry date with an EXPIRED flag, a PGP-signed flag, and an rfc9116Compliant verdict. Answers 'how do I report a vulnerability to this org', 'does this domain publish a security.txt', 'is its security.txt expired/compliant'.
/v1/dev/security-txtPOSTProbes a domain for 10 standard .well-known endpoints in parallel (security.txt, openid-configuration, change-password, apple-app-site-association, assetlinks.json, ai.txt, gpc.json, dnt-policy.txt, nostr.json, host-meta) and reports which are present, their HTTP status, any redirect target, and content type. A one-call discovery of a domain's published machine-readable configs. Answers 'what well-known endpoints does this domain expose', 'does it support OIDC discovery / app links / GPC', 'what standards has this site adopted'.
/v1/dev/well-known-probePOSTLooks up a web-platform feature in the caniuse dataset and builds a current-version browser SUPPORT MATRIX across the major engines (Chrome, Firefox, Safari, Edge, iOS Safari, Android Chrome, Samsung, Opera) — each browser's newest tracked version and its support state (yes/partial/no/polyfill) — plus the feature title, spec link, status, and GLOBAL usage percentages (full + partial). Answers 'is feature X supported in current browsers', 'what's the global support % for CSS grid / webp / etc', 'which browsers lack this feature'.
/v1/dev/caniuse-featurePOSTCross-country leaderboard for any World Bank development indicator (GDP per capita, life expectancy, CO2, internet users, …) with 1-based rank and global percentile per country, region/income aggregates filtered out. Answers 'which country has the highest GDP per capita', 'rank countries by inflation', 'where does each country sit globally on this metric'.
/v1/gov/worldbank-indicator-rankingPOSTKeyword search over the ~1,500 World Development Indicators, returning the indicator code, name, source and a trimmed definition for each match. Lets an agent discover the exact code to pass to the indicator/ranking endpoints. Answers 'what is the World Bank code for renewable energy', 'find indicators about poverty', 'which metric measures CO2 emissions'.
/v1/gov/worldbank-indicator-searchPOSTOne-call country profile joining World Bank country metadata (region, income level, lending type, capital, coordinates) with the latest value of six headline indicators (GDP, GDP per capita, growth, population, life expectancy, inflation). Answers 'give me a profile of Brazil', 'what income group is this country', 'capital and key stats for a country'.
/v1/gov/worldbank-country-profilePOSTFor one country, the latest value of five development indicators PLUS where that country ranks globally for each (percentile against every other country, direction-aware so lower-is-better metrics like inflation/CO2 are scored correctly). The derived peer-percentile is the value: it says not just 'what' but 'how this country compares to the world'. Answers 'how developed is this country relative to others', 'is its life expectancy above or below the global norm', 'global percentile for GDP per capita'.
/v1/gov/country-development-snapshotPOSTIMF World Economic Outlook series for one country, split into observed history vs forward FORECAST years (the WEO publishes multi-year projections that the World Bank does not), with the latest actual flagged. Answers 'what is the IMF forecast for US GDP growth', 'projected inflation for a country', 'historical vs forecast government debt'.
/v1/gov/imf-weo-forecastPOSTCross-country leaderboard for an IMF World Economic Outlook indicator in a chosen year — including FUTURE/forecast years — with rank and percentile, aggregates filtered out. Answers 'which countries will have the highest inflation next year', 'rank economies by projected GDP growth', 'IMF-forecast debt leaderboard'.
/v1/gov/imf-weo-rankingPOSTQuery any Eurostat dataset by its code with optional dimension filters (geo, unit, na_item, …) and get back JSON-stat decoded into clean, labelled, time-sorted observations plus the human-readable dimension labels. The MORE is the JSON-stat decoding: Eurostat ships a sparse index-into-cross-product blob that is unusable raw. Answers 'GDP of France from Eurostat', 'EU dataset by code', 'unemployment by EU country'.
/v1/gov/eurostat-datasetPOSTBilateral merchandise trade between two countries for a year (UN Comtrade, all commodities), returning reporter exports-to and imports-from the partner PLUS the derived trade balance, total trade and a normalized balance ratio (-1..+1). The MORE is the two-flow join into a balance an agent would otherwise compute by hand. Answers 'US-China trade balance', 'how much does X export to Y', 'bilateral trade deficit'.
/v1/gov/comtrade-trade-flowsPOSTKeyword search across the EU Open Data Portal's ~1.8M open datasets (CKAN), returning per dataset the title, publisher, available formats, resource count, last-modified date and a trimmed description. Answers 'find open datasets about air quality in the EU', 'who publishes energy data', 'what formats does this dataset come in'. (US data.gov CKAN was dead at build time; this is the live keyless EU portal.)
/v1/gov/eu-dataset-searchPOSTGeocode an address by its discrete components (street, city, county, state, postalcode, country) instead of one free-text string, returning normalized address components, ISO 3166-2 state code, and a bounding box. Distinct from free-text geocoding: structured queries are more precise and disambiguate ambiguous names. Answers 'geocode this structured address', 'lat/lon for street+city+country', 'bounding box of an address'.
/v1/data/places-structured-geocodePOSTReverse of a ZIP lookup: given a country, state/region, and city name, return ALL postal codes covering that place, with each code's coordinates plus the derived count and centroid. Answers 'what ZIP codes are in this city', 'all postcodes for a town', 'centroid of a city's postal codes'.
/v1/data/places-postal-codes-for-placePOSTExpand a country's land borders into a ranked list of neighbor countries with name, ISO codes, capital, population, region, and great-circle distance between capitals (sorted nearest-first). Answers 'which countries border X', 'how many neighbors does X have', 'nearest neighboring capital'.
/v1/data/places-country-neighborsPOSTGiven an ISO 4217 currency code, list every country that uses it (sorted by population) with the currency name/symbol and aggregate population. Useful for currency-union mapping. Answers 'which countries use the EUR/XOF/USD', 'how many countries share a currency', 'total population of a currency zone'.
/v1/data/places-countries-by-currencyPOSTGiven a language name or 3-letter code, list every country where it is an official/recognized language (sorted by population) with aggregate speaker-country population. Answers 'which countries speak French/Arabic/Spanish', 'how many countries use a language officially', 'population of the Francophone world'.
/v1/data/places-countries-by-languagePOSTResolve a telephone calling/dialing code (e.g. +33, 44, 1264) to the matching country/countries, correctly disambiguating shared roots like +1 by suffix. Answers 'what country is +44', 'whose phone code is 1264', 'reverse the international dialing prefix'.
/v1/data/places-country-by-calling-codePOSTCount amenities across ~25 categories (groceries, transit, food, health, schools, parks...) within a radius of a point via OpenStreetMap Overpass, and derive a 0-100 walkability score plus how many categories are present. Distinct from a POI list: this is an aggregated neighborhood snapshot. Answers 'how walkable is this location', 'how many amenities near these coordinates', 'is there a supermarket/transit/pharmacy nearby'.
/v1/data/places-amenity-censusPOSTFind the single nearest amenity of a given type (pharmacy, supermarket, hospital, fuel, ATM, bus_stop, ...) to a point within a max radius via Overpass, with distance, name, opening hours, and a few nearby alternates. Distinct from a POI list: returns the closest-first answer. Answers 'where is the nearest pharmacy', 'closest supermarket to these coordinates', 'how far is the nearest hospital'.
/v1/data/places-nearest-amenityPOSTA richer country profile than basic facts: derives population density per km2, hemisphere, combined calling code, plus driving side, ccTLDs, timezones, continent, currencies and languages from REST Countries. Answers 'population density of X', 'which side do they drive on', 'timezones / TLD / dialing code of a country', 'is this country in the northern or southern hemisphere'.
/v1/data/places-country-profilePOSTResolves the LIVE corporate-ownership graph for a Legal Entity Identifier via GLEIF's Level-2 relationship API: the entity itself, its direct parent, its ultimate (group-head) parent, and a bounded sample of direct subsidiaries with the full child count, plus a derived position-in-tree classification. Answers 'who owns this LEI', 'what is the ultimate parent of this company', 'how many subsidiaries does this entity have'. Distinct from a plain LEI lookup, which returns only the single entity.
/v1/ref/gleif-ownershipPOSTResolves an IBAN to the actual issuing bank via openiban.com's LIVE bank directory: bank name, BIC, national bank code, and city, plus a structural decode (country, check digits) and bank-code validity. Answers 'which bank issued this IBAN', 'what BIC corresponds to this account', 'is this IBAN's bank code valid'. Distinct from our offline IBAN/BIC validators, which only check structure and resolve a small curated set of well-known banks.
/v1/ref/iban-bank-resolvePOSTFetches the daily exchange-rate series for a currency pair over a date range (ECB reference rates via Frankfurter) and DERIVES summary statistics: first/last/min/max rate with dates, mean, total return %, and annualized volatility % (stdev of daily log-returns x sqrt(252)). Answers 'how did USD/EUR move over this period', 'what was the FX volatility', 'min and max rate in this range'. Distinct from our single-date historical FX endpoint.
/v1/ref/fx-timeseriesPOSTResolves a team via TheSportsDB (keyless) and returns its upcoming fixtures, deriving days-until-kickoff, home/away venue, opponent, and the home/away fixture split. The MORE over the raw eventsnext feed: the feed returns a flat schedule with timestamps; we resolve the team by name, compute days-until each match, classify venue, and summarize. Distinct from data-sports-form (past results). Answers 'when does Arsenal play next', 'how many of their next matches are at home', 'who do they face next and how soon'.
/v1/data/sportsent-next-eventsPOSTSearches TheSportsDB (keyless) for an athlete and returns a normalized profile, deriving current age (or age-at-death when applicable) and years at current team from raw birth/signing dates. The MORE: the feed returns string dates; we compute age and tenure and normalize the verbose strXxx fields. Covers all sports, not just soccer. Distinct from data-sports-team (club info). Answers 'how old is Lionel Messi', 'what position does player X play', 'who does athlete Y play for'.
/v1/data/sportsent-playerPOSTDraws cards from a freshly shuffled 52-card deck (deckofcardsapi.com, keyless) and, for a 5-card draw, evaluates the standard poker hand rank (royal/straight flush, quads, full house, flush, straight, trips, two-pair, pair, high-card) including the A-2-3-4-5 wheel straight. The MORE over the raw draw API (which only returns card codes): a complete poker hand evaluator. Bounded to 10 cards. Answers 'deal me a poker hand', 'what poker rank are these cards', 'draw N random cards'.
/v1/data/sportsent-poker-deckPOSTJoins the Open Trivia DB category list with each category's question-count breakdown and derives the easy/medium/hard difficulty mix percentages, sorts categories by size, and reports the largest category and grand total. The MORE: OpenTDB exposes the category list and per-category counts as separate endpoints; we fan them out, merge, derive the mix, and rank. Distinct from misc-trivia (which serves questions). Answers 'which trivia categories have the most questions', 'how hard is the geography pool', 'what trivia topics are available'.
/v1/data/sportsent-trivia-categoriesPOSTFuzzy free-text search of the ICD-10-CM diagnosis code set (NLM Clinical Tables), normalized with a derived billable-leaf flag and chapter letter. Answers 'What ICD-10 code is type 2 diabetes?', 'Find diagnosis codes for asthma'.
/v1/health/clinical-icd10-searchPOSTResolves an exact ICD-10-CM code to its canonical description, billable status, chapter, and immediate child codes. Answers 'What does E11.9 mean?', 'Is this ICD-10 code billable?'.
/v1/health/clinical-icd10-lookupPOSTSearches the NLM standardized condition/problem list for patient-friendly condition names. Answers 'Standardize this condition name', 'List variants of asthma as a problem'.
/v1/health/clinical-conditions-searchPOSTSearches LOINC (lab & clinical observation codes) by term, returning the LOINC number, component, long common name, and class. Answers 'What is the LOINC code for glucose?', 'Find lab codes for hemoglobin a1c'.
/v1/health/clinical-loinc-searchPOSTLooks up real US healthcare providers and organizations in the NPPES registry by name (distinct from NPI check-digit validation): returns NPI, name, provider type, and practice city/state. Answers 'Find the NPI for Mayo Clinic', 'Look up provider by name'.
/v1/health/clinical-npi-lookupPOSTMaps a drug name or RxCUI to its branded drug products (SBD) and generic clinical drug products (SCD), plus ingredients and brand names, so an agent can substitute between them. Answers 'What are the generic equivalents of Lipitor?', 'List branded products for atorvastatin'.
/v1/health/clinical-rxnorm-brand-genericPOSTResolves a drug name or RxCUI to its National Drug Codes (NDCs), descending ingredient/brand concepts to their clinical products when needed, and parses each NDC into 5-4-2 segments. Answers 'What NDCs map to atorvastatin?', 'Get NDC codes for an RxCUI'.
/v1/health/clinical-rxnorm-ndcPOSTMaps a drug name to its WHO ATC (Anatomical Therapeutic Chemical) therapeutic classes via RxClass, with the ATC hierarchy level (1-5) derived from each class id. Answers 'What drug class is atorvastatin?', 'Get the ATC code for a medication'.
/v1/health/clinical-drug-class-atcPOSTReturns RxNorm spelling suggestions for a (possibly misspelled) drug name — drug-name autocorrect / did-you-mean with an isExact flag. Answers 'Did I spell this drug right?', 'Correct atorvastatn'.
/v1/health/clinical-rxnorm-spellPOSTMaps an ICD-10-CM code or RxNorm RxCUI to MedlinePlus consumer health topics (plain-language patient education, HTML stripped). Answers 'Explain ICD code E11.9 to a patient', 'Patient info for this drug RxCUI'.
/v1/health/clinical-medlineplus-by-codePOSTLooks up an NDC product code or drug name in the openFDA NDC directory, returning labeler, dosage form, route, marketing category, pharm class, active ingredients (name+strength), and packaging. Answers 'What product is this NDC?', 'Get packaging and active ingredients for atorvastatin'.
/v1/health/clinical-ndc-lookupPOSTCurrent Great Britain national-grid carbon intensity in gCO2/kWh from National Grid ESO, normalized with a low/high index and an actionable load-shifting verdict. Answers 'how dirty is UK electricity right now?', 'is this a good time to charge my EV?'.
/v1/climate/uk-carbon-intensityPOSTHalf-hourly GB grid carbon-intensity forecast for the day, reduced to the greenest and dirtiest windows and the daily average — a ready-made load-shifting decision. Answers 'when is the cleanest time to run my heat pump / charge tonight?'.
/v1/climate/uk-carbon-forecastPOSTCurrent Great Britain electricity generation fuel mix (wind, solar, nuclear, gas, etc.) with derived renewable, low-carbon and fossil percentages and the dominant fuel. Answers 'what's powering the UK grid right now?', 'what share is renewable?'.
/v1/climate/uk-generation-mixPOSTCarbon intensity and fuel mix for a specific GB region, looked up by UK outward postcode (e.g. 'RG10') or region id (1-17), with derived renewable/low-carbon shares and a load-shifting verdict. Answers 'how clean is the grid in my area?'.
/v1/climate/uk-regional-carbonPOSTLatest measured streamflow (ft3/s) and gage height (ft) for a USGS monitoring site, normalized with rise/fall trend and a coarse flow class. Answers 'how high is the river right now?', 'is the Potomac rising or falling?'.
/v1/climate/usgs-streamflowPOSTDiscovers active USGS streamflow gages in a US state and ranks them by current discharge, with flow class — a live directory of which rivers are reporting and how big they are. Answers 'which gages are active in DC?', 'biggest flows in a state right now?'.
/v1/climate/usgs-water-sitesPOSTLatest realtime observation from a NOAA NDBC marine buoy, parsed from the fixed-width feed and normalized with derived Douglas sea-state and wind descriptor. Answers 'wave height and water temp at buoy 44025?', 'how rough is the sea offshore right now?'.
/v1/climate/ndbc-buoyPOSTFull-text search across millions of US court opinions via CourtListener (Free Law Project), normalized with citations, court, filing date, BM25 relevance, and a derived distinct-court spread + most-cited hit. Answers 'What opinions discuss qualified immunity?', 'Which case on this issue is most cited?'.
/v1/gov/courtlistener-opinion-searchPOSTSearch the CourtListener RECAP archive of federal PACER dockets, normalized with court, docket number, assigned judge, nature-of-suit, filed/terminated dates and attorney count, plus index-wide totals. Answers 'What antitrust cases are on file?', 'Which judge is assigned and how many attorneys appear?'.
/v1/gov/courtlistener-docket-searchPOSTLook up a US federal judge in CourtListener and get a normalized profile: schools, ABA ratings, all judicial seats with appointer and start/termination dates, plus derived current-seat and the set of appointing presidents. Answers 'What courts has this judge served on?', 'Who appointed them?'.
/v1/gov/courtlistener-judgePOSTThe CourtListener court registry: every US court with id, full/short name, citation string, jurisdiction (labeled: Federal Appellate/District/Bankruptcy, State Supreme/Appellate/Trial, Tribal, etc.), in-use flag and date range, plus a by-jurisdiction tally. Answers 'What is the court id for the Ninth Circuit?', 'How many federal appellate courts are there?'.
/v1/gov/courtlistener-court-listPOSTSearch the live electronic CFR (GPO eCFR) and get matching regulation sections normalized with CFR citation, title/part/section, cleaned section heading, a plain-text excerpt, relevance score and effective date, plus a hits-by-title tally. Answers 'Which CFR sections regulate greenhouse gas?', 'Which titles carry most of the rules on this topic?'.
/v1/gov/ecfr-searchPOSTFetch a specific Code of Federal Regulations section from the eCFR versioner and return cleaned plain text: the official citation, section heading, paragraph and word counts, and the body text (XML stripped). Answers 'What does 3 CFR 100.1 actually say?', 'Give me the current text of this regulation'.
/v1/gov/ecfr-sectionPOSTReturn the hierarchical structure of a CFR title from the eCFR versioner with derived stats: node-type counts (chapters/parts/sections), section and part totals, reserved-node count, title byte size, and a shallow chapter outline. Answers 'How big is CFR Title 3 and how is it organized?', 'How many sections does this title contain?'.
/v1/gov/ecfr-title-structurePOSTLook up a Supreme Court case by term + docket via Oyez and get a compact decision card: parties, citation, lower court, granted/argued/decided dates, the question presented, holding, vote split (e.g. 6-3), winning party and decision type. Answers 'How did SCOTUS rule in docket 20-1199?', 'What was the vote split and who won?'.
/v1/gov/scotus-casePOSTThe Federal Register public-inspection feed: documents on display BEFORE official publication — an early-warning signal for incoming rules/notices. Normalized with document number, title, type, filing type, filed/publication dates and agencies, plus by-type and top-agency tallies. Distinct from existing fedreg search/document/agency endpoints. Answers 'What rules are about to publish?', 'Which agencies are filing right now?'.
/v1/gov/fedreg-public-inspectionPOSTLive biodiversity occurrence records within a radius of a lat/lon, fetched from GBIF's 3-billion-record occurrence index, re-ranked by true haversine distance, with a kingdom mix and unique-species count. Answers 'what species have been recorded near here', 'biodiversity around this coordinate'.
/v1/science/gbif-occurrencesPOSTA one-call biodiversity profile for a country: total GBIF records plus a labeled breakdown by biological kingdom (with shares) and by record basis (field observation vs preserved specimen), plus a derived observation-share metric. Answers 'how biodiverse is this country's record set', 'animal vs plant share', 'is the data observed or museum specimens'.
/v1/science/gbif-biodiversityPOSTMost-recent citizen-science wildlife observations within a radius of a lat/lon from iNaturalist, normalized to clean records (scientific + common name, iconic taxon, quality grade, coordinates, link) with a taxon mix and research-grade count. Answers 'what's been spotted near here lately', 'recent bird/insect/plant sightings around this point'.
/v1/science/inaturalist-observationsPOSTRanks the most-observed species within a radius of a lat/lon using iNaturalist's species_counts, returning each species' observation tally plus the total distinct-species count and an iconic-taxon mix. Answers 'what are the most common species here', 'the biodiversity of this area ranked by how often things are seen'.
/v1/science/inaturalist-species-countsPOSTLive roster of every human currently in space from Open-Notify, grouped by spacecraft (ISS, Tiangong, ...) with per-craft crew lists and counts and a global total. Answers 'how many people are in space', 'who is on the ISS right now', 'crew aboard Tiangong'.
/v1/science/people-in-spacePOSTCurrent ISS sub-satellite point from Open-Notify, joined with the live crew roster (count aboard the ISS) and enriched with hemisphere, an inclination-limit validity flag, approximate orbital speed/altitude, and a map link. Answers 'where is the ISS now', 'how many people are aboard the ISS', 'is the ISS over land or ocean'.
/v1/science/iss-positionPOSTNext orbital launches worldwide from Launch Library 2, each tagged with a live countdown and seconds-to-launch, a normalized go/tentative/scheduled status, weather probability, rocket, orbit, provider and pad, plus the single next launch surfaced. Answers 'what rocket launches next', 'upcoming SpaceX/ULA/CNSA launches', 'countdown to the next launch'.
/v1/science/upcoming-launchesPOSTFull normalized record for one Launch Library 2 launch UUID: countdown / is-past, status with hold/fail reasons, window, weather probability, rocket family, mission + orbit, pad + country, attempt-count stats (pad/agency/orbital), and media links. Answers 'details of this specific launch', 'was this launch successful', 'orbit and pad for launch X'.
/v1/science/launch-detailPOSTA SpaceX launch (latest or next, via the which param) from the SpaceX REST v4 API, merged with its full rocket specification (success rate, stages, height, mass, first flight) plus reuse/landing flags, patch and webcast — the join an agent would otherwise make across two endpoints. Answers 'SpaceX's latest launch and what rocket flew it', 'Falcon 9 vs Falcon Heavy spec for this mission'.
/v1/science/spacex-launchPOSTSearches the MobilityData GBFS catalog (~1500 published bikeshare & dockless-scooter systems worldwide) by free-text name/city and/or country code, returning each system's stable system_id, operator URL, supported GBFS versions, and the keyless auto-discovery URL needed by the other endpoints. Answers 'what bikeshare systems exist in Germany?', 'what is Citi Bike's GBFS system_id?'.
/v1/data/gbfs-systemsPOSTResolves a system_id to its live GBFS auto-discovery document, normalizing the GBFS v2 (language-nested) vs v3 (flat) feed shapes into one inventory, and joins in normalized system metadata (operator, timezone, start date) plus the vehicle-type fleet (form factor, propulsion, max range). Flags whether the system has docked stations and/or dockless free-floating vehicles. Answers 'does this system have e-bikes and what's their range?', 'is this a docked or dockless system?'.
/v1/data/gbfs-system-infoPOSTFetches a docked system's live station_status and JOINs it with station_information, then derives a system-wide snapshot: total bikes/e-bikes/docks available, e-bike share %, system fill %, and counts of empty / full / out-of-service stations, plus the busiest stations. One call replaces fetching and reconciling two GBFS feeds. Answers 'how many Citi Bikes are available right now?', 'what share of the fleet is e-bikes?', 'how many stations are empty?'.
/v1/data/gbfs-station-statusPOSTGiven a system_id and a coordinate, JOINs live station_status with station_information and ranks the nearest stations by great-circle distance, returning live bikes/e-bikes/docks available, capacity, fill %, and rentability per station. By default only returns stations that actually have a bike to rent. Answers 'where's the nearest Citi Bike with a bike right now?', 'which dock near me has open slots to return a bike?'.
/v1/data/gbfs-nearby-availabilityPOSTFor free-floating (dockless) systems, fetches live free_bike_status and ranks the nearest rentable vehicles to a coordinate by great-circle distance, filtering out disabled/reserved units and normalizing each vehicle's remaining battery range (meters) and fuel %. Answers 'where's the closest e-scooter I can ride right now and does it have enough charge?'.
/v1/data/gbfs-dockless-availabilityPOSTSearches the U.S. EPA ECHO database for regulated facilities by company name and/or state, normalizing the cryptic ECHO column names into tidy records with per-program (air/water/waste/drinking-water) compliance status and a significant-violator flag. Answers 'Does this company operate EPA-regulated sites here?', 'Which of its facilities are flagged as significant violators?'.
/v1/gov/epa-facility-searchPOSTPulls a facility's EPA Detailed Facility Report (by ECHO Registry ID) and derives a 0-100 compliance risk score plus a plain-English verdict (clean/minor/elevated/high/severe), driven by EPA's own Significant Noncompliance flags, quarters-in-noncompliance, formal actions and penalties across air/water/waste programs. Answers 'Is this facility an environmental violator?', 'How severe and persistent are its violations?'.
/v1/gov/epa-compliance-historyPOSTSearches EPA ECHO formal enforcement cases by state and/or NAICS industry code, normalizing each case (civil vs criminal, governing statute, settlement date, federal penalty, supplemental-project cost, outcome) and rolling up federal penalties and criminal-case counts for the returned page. Answers 'What EPA enforcement actions has this industry faced in this state?', 'How much has been penalized and were any criminal?'.
/v1/gov/epa-enforcement-casesPOSTAggregates a state's active EPA-regulated universe into a compliance posture: counts of significant violators, current/3-year violations, formal and informal enforcement actions, inspections, total penalties and per-program breakdown — plus a derived 0-100 enforcement-pressure score and assessment. Answers 'How tough is environmental enforcement in this state?', 'What share of regulated facilities are significant violators?'.
/v1/gov/epa-state-enforcement-posturePOSTSearches Open Food Facts by product or brand name and returns the top-N matches normalized (barcode, brand, Nutri-Score, NOVA group), PLUS a DERIVED aggregate health profile over the result set: the Nutri-Score (A-E) and NOVA (1-4) distributions and a single 0-100 'shelf healthfulness' index. The MORE over a raw search: an agent gets a comparable, scored shortlist in one call instead of N barcode lookups. Distinct from data-food / data-openfoodfacts (single-barcode). Answers 'find products named X', 'search food by brand', 'how healthy are the top results for X', 'compare Greek yogurts'.
/v1/data/food-product-searchPOSTResolves a food-additive E-number (e.g. E621, E951) against the Open Food Facts additives taxonomy and returns its name, functional class(es), vegan/vegetarian/palm-oil status, the EFSA population over-exposure verdict, the ANSES 'additive of interest' flag, PLUS a DERIVED 0-100 concern score and tier (low/moderate/elevated/high). The MORE: a transparent risk signal synthesized from regulatory annotations, not a bare name lookup. Answers 'what is E621', 'is this additive safe', 'what does E951 do', 'risk score for additive X', 'is E322 vegan'.
/v1/data/food-additive-lookupPOSTLooks up a product by barcode, then JOINs every additive E-number on its label against the Open Food Facts additives taxonomy to produce a per-additive breakdown (name, class, EFSA/ANSES flags, vegan/palm-oil) AND a DERIVED overall additive-risk tier + the list of flagged additives. The MORE: turns an opaque list of E-numbers into an explained, scored safety summary in one call. Answers 'what additives are in this barcode', 'explain the E-numbers on this product', 'how risky are this food's additives', 'does this product contain concerning additives'.
/v1/data/food-additives-explainPOSTGiven a product barcode and a list of allergens the user must avoid, this checks the product's DECLARED allergens, its 'may contain' traces, and its ingredient text, returning a DERIVED verdict (avoid / caution / clear / unknown) with the exact matches in each tier. The MORE: a personalized go/no-go decision instead of raw allergen tags an agent would have to reconcile itself. Answers 'is this product safe for a peanut allergy', 'does this barcode contain milk', 'check this food against my allergens', 'can someone allergic to soy eat this'.
/v1/data/food-allergen-checkPOSTLists the most-scanned products in an Open Food Facts category (e.g. 'breakfast-cereals', 'chocolate-spreads'), normalized, PLUS the same DERIVED aggregate health profile (Nutri-Score & NOVA distribution and a 0-100 index) so an agent can size up an entire shelf at once. The MORE: a ranked, scored category snapshot rather than a raw facet dump. Answers 'most popular products in category X', 'how healthy is the chocolate-spread category', 'compare a food category', 'top breakfast cereals'.
/v1/data/food-category-productsPOSTLooks up a cosmetic / personal-care product by barcode on Open Beauty Facts and returns a normalized record: a PARSED INCI ingredient list (parentheticals stripped, deduped, bounded), ingredient count, period-after-opening, labels, and the ingredient-analysis flags (vegan / vegetarian / palm-oil-free). The MORE: a clean, parsed INCI list + structured analysis flags instead of one raw comma string. Distinct from the food endpoints (cosmetics database). Answers 'ingredients in this cosmetic barcode', 'is this shampoo vegan', 'INCI list for this product', 'is this beauty product palm-oil-free'.
/v1/data/beauty-product-by-barcodePOSTLooks up a pet-food product by barcode on Open Pet Food Facts and returns a normalized record with ingredients, additives, labels, and the pet-food-specific ANALYTICAL CONSTITUENTS per 100g (crude protein / fat / fibre / ash / moisture / calcium) — the labelling pets foods use instead of human nutrition facts. The MORE: a clean schema mapping the pet-food-specific nutriment keys an agent would otherwise have to know by heart. Distinct from food/beauty endpoints. Answers 'ingredients in this pet food barcode', 'crude protein in this dog food', 'what is in this cat food', 'analytical constituents for this pet food'.
/v1/data/petfood-by-barcodePOSTNOAA SWPC 3-day geomagnetic forecast parsed from the fixed-width text product into clean JSON: per-3-hour Kp forecast across the next three UTC days, NOAA storm probabilities (Active/Minor/Moderate/Strong-Extreme), plus a derived peak Kp and peak G-scale storm level. Forward-looking — distinct from science-space-weather's current snapshot. Answers 'will there be a geomagnetic storm in the next 3 days?', 'what's the forecast Kp for tomorrow night?', 'chance of a strong storm this week?'.
/v1/science/geomag-forecastPOSTRecent solar flare EVENTS from NOAA SWPC GOES X-ray sensors over the last 7 days: each flare's begin/peak/end time and GOES class (C/M/X), plus the current long-channel X-ray flux mapped to a live flare class, the strongest recent class, and a derived activity verdict (radio-blackout / radiation-storm risk). Distinct from the current-Kp space-weather endpoint — this is the flare/X-ray dataset. Answers 'were there any M- or X-class flares recently?', 'current X-ray flux level?', 'is solar flare activity elevated right now?'.
/v1/science/solar-flaresPOSTNOAA SWPC operational space-weather notifications parsed into typed records: each alert's kind (WARNING/WATCH/ALERT/SUMMARY), headline, NOAA scale code (G/S/R), product id and issue time, sorted newest-first. The MORE is parsing the freeform message text into structured, filterable alerts. Distinct from the derived Kp/aurora snapshot. Answers 'are there any active space-weather warnings?', 'was a G3 storm watch issued?', 'recent radio-blackout (R-scale) alerts?'.
/v1/science/space-weather-alertsPOSTUSGS Volcano Hazards Program elevated-volcano notices normalized and ranked by aviation color code (RED>ORANGE>YELLOW>GREEN) with volcano name, observatory, alert level (WATCH/WARNING/ADVISORY), coordinates, elevation and notice URL, plus a derived highest-color-code and any-eruption-watch flag. Answers 'which US volcanoes are at elevated alert?', 'is any volcano at ORANGE/RED?', 'current alert level for Kilauea?'.
/v1/science/volcano-alertsPOSTGDACS global disaster events (earthquakes, tropical cyclones, floods, volcanoes, droughts, wildfires) normalized from geojson into clean records with hazard name, country, alert level (Green/Orange/Red), alert score, severity text, coordinates, date range and report URL; optionally filtered by eventType and minimum alert level, ranked by alert score, with an alert-level rollup. Answers 'any Red-level disasters worldwide right now?', 'active tropical cyclones?', 'recent significant earthquakes globally with impact estimates?'.
/v1/science/disaster-alertsPOSTLatest tsunami bulletins from both US NOAA tsunami warning centers — NTWC (Palmer, AK) and PTWC (Honolulu, HI) — parsed from their atom feeds into clean records with a derived threat level (WARNING/ADVISORY/WATCH/INFORMATION/CANCELLATION), message type, event location, issue time and bulletin link, plus an activeThreat flag. The MORE is merging both centers and classifying threat level from the bulletin type. Answers 'is there an active tsunami warning?', 'latest tsunami bulletin for the Pacific?', 'was a tsunami advisory cancelled?'.
/v1/science/tsunami-alertsPOSTSolve a letter pattern (? = one letter, * = any run, e.g. 'c?a?se') with optional length and substring constraints, ranked by corpus frequency. Answers 'what words fit this crossword pattern?', 'what 6-letter word is l_v_r?'.
/v1/words/pattern-matchPOSTGiven a letter rack ('?' = blank tile), find dictionary words that can be spelled from those letters (full anagrams or sub-words), each with its Scrabble score and frequency, sorted longest/highest first. Answers 'what words can I make from these letters?', 'what's the best Scrabble play for my rack?'.
/v1/words/anagram-solverPOSTHow common is a word? Returns Google-Books corpus frequency (occurrences per million), a derived Zipf score (log10 per-billion), syllable count, and a human rarity band (very-common…very-rare). Answers 'is this word rare?', 'what's the Zipf frequency of serendipity?'.
/v1/words/frequencyPOSTRanked word completions for a prefix, scored by likelihood — a suggestion engine for search boxes and writing aids. Answers 'what words start with quant?', 'autocomplete this partial word'.
/v1/words/autocompletePOSTThe full pronunciation card the plain definition endpoints drop: every IPA variant, downloadable audio-clip URLs (with license), etymology/origin, parts of speech, and Wiktionary source links. Answers 'how is colonel pronounced?', 'give me an audio clip and IPA for this word'.
/v1/words/phoneticsPOSTEverything about one word in a single normalized object: part(s) of speech, syllable count, corpus frequency + rarity band, and short sense definitions — a JOIN of Datamuse metadata no single existing endpoint returns. Answers 'give me a full linguistic profile of this word'.
/v1/words/profilePOSTCompute the Scrabble (and Words-With-Friends-compatible) tile score for a word with a per-letter point breakdown and the 7-tile +50 bingo bonus. Pure, no network. Answers 'how many points is quartz worth?', 'does this play earn a bingo bonus?'.
/v1/words/scrabble-scorePOSTGiven a letter rack ('?' = blank) and a list of candidate words, returns which are buildable (with blank-tile accounting) plus each word's Scrabble score. Pure, no network. Answers 'can I spell these words from my tiles?', 'which of these plays are legal for my rack?'.
/v1/words/can-makePOSTScore a Wordle guess against the answer with correct duplicate-letter handling (two-pass): per-position green/yellow/gray plus a compact emoji pattern. Pure, no network. Answers 'what colors does this Wordle guess produce?', useful as a solver/filter primitive.
/v1/words/wordle-feedbackPOSTAggregates every DEX/chain pool for a token address into one authoritative primary pair (deepest liquidity), a liquidity + 24h-volume rollup, and the top-N normalized pools with derived buy-pressure, liquidity tier and age. Answers 'what's the real on-chain price + liquidity of this token across all DEXes?', 'which is the canonical pool to trade?'.
/v1/chain/dexscreener-token-pairsPOSTFree-text search across all DEX pools (symbol, name, or address), returning the best-match pool plus the top-N by liquidity, normalized + liquidity-tiered, with a chain/dex rollup. Answers 'find the canonical USDC/WETH pool', 'which DEXes list this token?'.
/v1/chain/dexscreener-searchPOSTRanks the tokens with the most DexScreener 'boost' spend — the DEX-native attention signal for newly promoted tokens across every chain — grouped by chain. Distinct from CEX market-cap rankings: this surfaces on-chain discovery. Answers 'what tokens are being promoted on-chain right now?', 'where is the on-chain attention?'.
/v1/chain/dexscreener-trendingPOSTResolves an EVM chainId to canonical metadata (name, native currency, block explorers) and a FILTERED list of directly-callable public RPC URLs — key-gated and templated (${API_KEY}) endpoints stripped out. Answers 'what chain is 8453?', 'give me a working public RPC for Base'.
/v1/chain/chainlist-resolvePOSTResolves an EIP or ERC number to structured metadata — title, status, type/category, author, requires-graph, discussions link, and a trimmed abstract — across both canonical repos (ethereum/EIPs and ethereum/ERCs). Answers 'what is EIP-1559?', 'is ERC-4626 final?', 'what does this EIP require?'.
/v1/chain/eip-lookupPOSTReverse-resolves a 32-byte event topic hash (topic0 from an on-chain log) to its human event signature(s) via the 4byte directory, deduped and ordered by earliest registration (likely canonical). Fills the gap the catalog leaves: it can compute a topic FROM a signature and decode function calldata, but not turn an unknown LOG topic back into an event. Answers 'what event is 0xddf252ad...?'.
/v1/chain/fourbyte-decode-eventPOSTScans an EVM address's ERC-20 Approval and ERC-721/1155 ApprovalForAll logs over public RPC across a capped recent block range, reduces them to current live allowances, flags unlimited approvals and unknown or risky spenders by cross-referencing a curated label set, and returns a prioritized revoke report — the scan plus the risk rules collapsed into one actionable answer. Answers 'Which token approvals does this wallet have live and which are unlimited?', 'What should I revoke first?'.
/v1/chain/approvalsPOSTFetch OHLCV (open/high/low/close/volume) candles for a crypto pair from Binance public REST and return them as clean typed candles plus a gap report — every missing interval is detected and forward-filled with a flagged synthetic candle so charting and indicator code never breaks on holes. Answers 'give me 1h BTC-USD candles', 'are there any missing intervals in this price history', 'normalized OHLCV for ETH-USDT'.
/v1/markets/ohlcvPOSTFetch top-of-book from Binance, Coinbase and Kraken in parallel and compute the consolidated NBBO — the highest bid and lowest ask across venues, the resulting spread, bps spread, mid price, and which venue leads each side, tolerating any single venue being down. The value-add is the cross-venue aggregation: best bid/ask aggregated from multiple venues, plus a crossed-book flag that surfaces cross-venue arbitrage. Answers 'best bid and ask for BTC-USD across exchanges', 'consolidated quote for ETH-USDT', 'is the book crossed between venues'.
/v1/markets/consolidated-quotePOSTCurrent conditions and a multi-day forecast for Tokyo, Japan — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Tokyo', 'Tokyo forecast', 'is it raining in Tokyo', 'temperature in Tokyo right now'.
/v1/weather/tokyoPOSTCurrent conditions and a multi-day forecast for London, United Kingdom — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in London', 'London forecast', 'is it raining in London', 'temperature in London right now'.
/v1/weather/londonPOSTCurrent conditions and a multi-day forecast for New York, United States — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in New York', 'New York forecast', 'is it raining in New York', 'temperature in New York right now'.
/v1/weather/new-yorkPOSTCurrent conditions and a multi-day forecast for Paris, France — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Paris', 'Paris forecast', 'is it raining in Paris', 'temperature in Paris right now'.
/v1/weather/parisPOSTCurrent conditions and a multi-day forecast for Singapore, Singapore — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Singapore', 'Singapore forecast', 'is it raining in Singapore', 'temperature in Singapore right now'.
/v1/weather/singaporePOSTCurrent conditions and a multi-day forecast for Hong Kong, Hong Kong — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Hong Kong', 'Hong Kong forecast', 'is it raining in Hong Kong', 'temperature in Hong Kong right now'.
/v1/weather/hong-kongPOSTCurrent conditions and a multi-day forecast for Dubai, United Arab Emirates — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Dubai', 'Dubai forecast', 'is it raining in Dubai', 'temperature in Dubai right now'.
/v1/weather/dubaiPOSTCurrent conditions and a multi-day forecast for Los Angeles, United States — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Los Angeles', 'Los Angeles forecast', 'is it raining in Los Angeles', 'temperature in Los Angeles right now'.
/v1/weather/los-angelesPOSTCurrent conditions and a multi-day forecast for San Francisco, United States — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in San Francisco', 'San Francisco forecast', 'is it raining in San Francisco', 'temperature in San Francisco right now'.
/v1/weather/san-franciscoPOSTCurrent conditions and a multi-day forecast for Chicago, United States — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Chicago', 'Chicago forecast', 'is it raining in Chicago', 'temperature in Chicago right now'.
/v1/weather/chicagoPOSTCurrent conditions and a multi-day forecast for Toronto, Canada — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Toronto', 'Toronto forecast', 'is it raining in Toronto', 'temperature in Toronto right now'.
/v1/weather/torontoPOSTCurrent conditions and a multi-day forecast for Vancouver, Canada — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Vancouver', 'Vancouver forecast', 'is it raining in Vancouver', 'temperature in Vancouver right now'.
/v1/weather/vancouverPOSTCurrent conditions and a multi-day forecast for Sydney, Australia — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Sydney', 'Sydney forecast', 'is it raining in Sydney', 'temperature in Sydney right now'.
/v1/weather/sydneyPOSTCurrent conditions and a multi-day forecast for Melbourne, Australia — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Melbourne', 'Melbourne forecast', 'is it raining in Melbourne', 'temperature in Melbourne right now'.
/v1/weather/melbournePOSTCurrent conditions and a multi-day forecast for Berlin, Germany — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Berlin', 'Berlin forecast', 'is it raining in Berlin', 'temperature in Berlin right now'.
/v1/weather/berlinPOSTCurrent conditions and a multi-day forecast for Madrid, Spain — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Madrid', 'Madrid forecast', 'is it raining in Madrid', 'temperature in Madrid right now'.
/v1/weather/madridPOSTCurrent conditions and a multi-day forecast for Rome, Italy — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Rome', 'Rome forecast', 'is it raining in Rome', 'temperature in Rome right now'.
/v1/weather/romePOSTCurrent conditions and a multi-day forecast for Amsterdam, Netherlands — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Amsterdam', 'Amsterdam forecast', 'is it raining in Amsterdam', 'temperature in Amsterdam right now'.
/v1/weather/amsterdamPOSTCurrent conditions and a multi-day forecast for Zurich, Switzerland — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Zurich', 'Zurich forecast', 'is it raining in Zurich', 'temperature in Zurich right now'.
/v1/weather/zurichPOSTCurrent conditions and a multi-day forecast for Stockholm, Sweden — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Stockholm', 'Stockholm forecast', 'is it raining in Stockholm', 'temperature in Stockholm right now'.
/v1/weather/stockholmPOSTCurrent conditions and a multi-day forecast for Moscow, Russia — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Moscow', 'Moscow forecast', 'is it raining in Moscow', 'temperature in Moscow right now'.
/v1/weather/moscowPOSTCurrent conditions and a multi-day forecast for Istanbul, Turkey — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Istanbul', 'Istanbul forecast', 'is it raining in Istanbul', 'temperature in Istanbul right now'.
/v1/weather/istanbulPOSTCurrent conditions and a multi-day forecast for Sao Paulo, Brazil — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Sao Paulo', 'Sao Paulo forecast', 'is it raining in Sao Paulo', 'temperature in Sao Paulo right now'.
/v1/weather/sao-pauloPOSTCurrent conditions and a multi-day forecast for Mexico City, Mexico — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Mexico City', 'Mexico City forecast', 'is it raining in Mexico City', 'temperature in Mexico City right now'.
/v1/weather/mexico-cityPOSTCurrent conditions and a multi-day forecast for Buenos Aires, Argentina — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Buenos Aires', 'Buenos Aires forecast', 'is it raining in Buenos Aires', 'temperature in Buenos Aires right now'.
/v1/weather/buenos-airesPOSTCurrent conditions and a multi-day forecast for Mumbai, India — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Mumbai', 'Mumbai forecast', 'is it raining in Mumbai', 'temperature in Mumbai right now'.
/v1/weather/mumbaiPOSTCurrent conditions and a multi-day forecast for Delhi, India — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Delhi', 'Delhi forecast', 'is it raining in Delhi', 'temperature in Delhi right now'.
/v1/weather/delhiPOSTCurrent conditions and a multi-day forecast for Bangalore, India — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Bangalore', 'Bangalore forecast', 'is it raining in Bangalore', 'temperature in Bangalore right now'.
/v1/weather/bangalorePOSTCurrent conditions and a multi-day forecast for Shanghai, China — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Shanghai', 'Shanghai forecast', 'is it raining in Shanghai', 'temperature in Shanghai right now'.
/v1/weather/shanghaiPOSTCurrent conditions and a multi-day forecast for Beijing, China — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Beijing', 'Beijing forecast', 'is it raining in Beijing', 'temperature in Beijing right now'.
/v1/weather/beijingPOSTCurrent conditions and a multi-day forecast for Seoul, South Korea — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Seoul', 'Seoul forecast', 'is it raining in Seoul', 'temperature in Seoul right now'.
/v1/weather/seoulPOSTCurrent conditions and a multi-day forecast for Bangkok, Thailand — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Bangkok', 'Bangkok forecast', 'is it raining in Bangkok', 'temperature in Bangkok right now'.
/v1/weather/bangkokPOSTCurrent conditions and a multi-day forecast for Jakarta, Indonesia — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Jakarta', 'Jakarta forecast', 'is it raining in Jakarta', 'temperature in Jakarta right now'.
/v1/weather/jakartaPOSTCurrent conditions and a multi-day forecast for Cairo, Egypt — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Cairo', 'Cairo forecast', 'is it raining in Cairo', 'temperature in Cairo right now'.
/v1/weather/cairoPOSTCurrent conditions and a multi-day forecast for Lagos, Nigeria — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Lagos', 'Lagos forecast', 'is it raining in Lagos', 'temperature in Lagos right now'.
/v1/weather/lagosPOSTCurrent conditions and a multi-day forecast for Johannesburg, South Africa — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Johannesburg', 'Johannesburg forecast', 'is it raining in Johannesburg', 'temperature in Johannesburg right now'.
/v1/weather/johannesburgPOSTCurrent conditions and a multi-day forecast for Miami, United States — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Miami', 'Miami forecast', 'is it raining in Miami', 'temperature in Miami right now'.
/v1/weather/miamiPOSTCurrent conditions and a multi-day forecast for Seattle, United States — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Seattle', 'Seattle forecast', 'is it raining in Seattle', 'temperature in Seattle right now'.
/v1/weather/seattlePOSTCurrent conditions and a multi-day forecast for Boston, United States — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Boston', 'Boston forecast', 'is it raining in Boston', 'temperature in Boston right now'.
/v1/weather/bostonPOSTCurrent conditions and a multi-day forecast for Washington, D.C., United States — temperature, feels-like, humidity, wind, precipitation, and human-readable conditions (keyless, Open-Meteo). Answers 'weather in Washington, D.C.', 'Washington, D.C. forecast', 'is it raining in Washington, D.C.', 'temperature in Washington, D.C. right now'.
/v1/weather/washington-dcPOSTGiven a domain, JOIN several keyless sources into one enrichment record an agent would otherwise need 3+ calls for: RDAP (registrar, creation/expiry dates, age) + DNS (A/MX/NS/TXT presence) + a derived signals block (email-capable via MX, domain-age bucket, DNSSEC, SPF). The value-add is the multi-source merge into a single clean profile. Answers 'enrich this domain','is this domain email-capable','how old is this domain','who is the registrar'.
/v1/enrich/domainPOSTGiven an email, JOIN several keyless signals into one clean record: syntax validity, domain deliverability (live MX check), disposable/free-provider classification (maintained inline lists), role-account detection (info@, support@, …), and Gravatar existence (md5 -> Gravatar HEAD) — plus a risk level and hints. The value-add is the multi-signal merge for signup/fraud filtering; we never send mail. Answers 'validate this email','is this deliverable','is this a disposable/role/free address','does this email have a Gravatar'.
/v1/enrich/emailPOSTGiven a company name OR a domain, resolve a clean firmographic profile from Wikidata (name, description, industry, country, headquarters, founded, website, employee count, logo, Wikidata id) and merge live domain signals (resolvable + email-capable) when a domain is supplied. The value-add is keyless company resolution + normalization — the free slice of the Apollo/Clado firmographics category. Answers 'enrich this company','firmographics for stripe.com','what industry/country is this company','when was this company founded'.
/v1/enrich/companyPOSTCompute the Altman Z-Score (1968) for public manufacturers: Z = 1.2·WC/TA + 1.4·RE/TA + 3.3·EBIT/TA + 0.6·MVE/TL + 1.0·Sales/TA, with safe/grey/distress zones and a per-factor contribution breakdown. Deterministic bankruptcy-risk math LLMs get wrong. Answers 'what is this company's Altman Z-Score','is this firm at risk of bankruptcy','is the Z-Score in the distress zone'.
/v1/score/credit-altman-zPOSTCompute the Altman Z''-Score (1995 revision for non-manufacturers/emerging markets): Z'' = 3.25 + 6.56·WC/TA + 3.26·RE/TA + 6.72·EBIT/TA + 1.05·BV-equity/TL, with safe/grey/distress zones (>2.6 / 1.1 / below) and per-factor breakdown. Uses book equity, so no market cap needed. Answers 'Z-Score for a private company','emerging-market bankruptcy score','distress risk for a non-manufacturer'.
/v1/score/credit-altman-z-emergingPOSTCompute the Springate S-Score (1978): S = 1.03·WC/TA + 3.07·EBIT/TA + 0.66·EBT/CL + 0.4·Sales/TA, with the 0.862 failing threshold and per-factor breakdown. A four-ratio discriminant bankruptcy model. Answers 'Springate S-Score for this firm','is the company predicted to fail','solvency discriminant score'.
/v1/score/credit-springatePOSTCompute the Zmijewski X-Score (1984): X = -4.3 - 4.5·ROA + 5.7·TL/TA - 0.004·CR, then probability of financial distress via the logistic link, with healthy/distress classification (X>0 => distress) and per-factor breakdown. Answers 'Zmijewski probability of distress','probit bankruptcy score','default probability from leverage and ROA'.
/v1/score/credit-zmijewskiPOSTCompute the Ohlson O-Score (1980), a 9-factor logit bankruptcy model (size, TLTA, WCTA, CLCA, OENEG, NITA, FUTL, INTWO, CHIN), returning the O-score, logistic probability of default, classification, and per-factor weight breakdown. Answers 'Ohlson O-Score for this company','9-factor probability of default','logit bankruptcy probability'.
/v1/score/credit-ohlson-oPOSTCompute the Beneish M-Score (1999) earnings-manipulation detector: M = -4.84 + 0.92·DSRI + 0.528·GMI + 0.404·AQI + 0.892·SGI + 0.115·DEPI - 0.172·SGAI + 4.679·TATA - 0.327·LVGI, with the -1.78 threshold flagging likely manipulators and a per-index contribution breakdown. Answers 'is this company manipulating earnings','Beneish M-Score','accounting-fraud red flag score'.
/v1/score/credit-beneish-mPOSTCompute the Merton structural-model distance-to-default and probability of default: DD = (ln(V/D) + (mu - 0.5·sigma^2)·T) / (sigma·sqrt(T)), PD = N(-DD), treating equity as a call option on assets. Returns DD, PD, leverage, and the echoed inputs. Answers 'Merton distance to default','structural-model probability of default','how many standard deviations from default'.
/v1/score/credit-merton-ddPOSTCompute Basel II Expected Loss = PD · LGD · EAD, returning the absolute expected loss, expected loss as a percent of exposure, and the echoed inputs. The canonical credit-portfolio loss formula. Answers 'expected credit loss','PD times LGD times EAD','how much do I expect to lose on this exposure'.
/v1/score/credit-expected-lossPOSTCompute Loss Given Default = 1 - recovery rate, where recovery rate = recovered / exposure (or supplied directly), returning LGD, recovery rate, and a mild/moderate/severe severity bucket. Answers 'loss given default','what fraction will I lose on default','LGD from recovery rate'.
/v1/score/credit-lgdPOSTMap a 300-850 credit score to a 1-year probability of default via a calibrated logistic curve PD = 1/(1+exp(k·(score-midpoint))) (default midpoint 575, steepness 0.018), returning PD, PD%, and a prime/near-prime/subprime/deep-subprime risk band. Answers 'probability of default for this credit score','PD from FICO','default odds for a 720 score'.
/v1/score/credit-pd-scorePOSTCompute DSCR = net operating income / total debt service, the standard CRE/commercial underwriting ratio, with a strong/acceptable/marginal/deficient rating and a meets-standard flag against the 1.25x covenant. Answers 'debt service coverage ratio','does income cover the loan payments','is DSCR above 1.25'.
/v1/score/credit-dscrPOSTCompute the Interest Coverage Ratio (Times Interest Earned) = EBIT / interest expense, with a strong/adequate/weak/distressed rating. A core solvency ratio for bond and loan credit analysis. Answers 'interest coverage ratio','times interest earned','can the company cover its interest payments'.
/v1/score/credit-interest-coveragePOSTCompute front-end (housing/income) and back-end (total debt/income) Debt-to-Income ratios from gross monthly income, returning both ratios as decimals and percents, a qualified-mortgage flag (back-end <=43%), and a rating bucket. Answers 'debt-to-income ratio','do I qualify for a mortgage','front-end and back-end DTI'.
/v1/score/credit-dtiPOSTCompute credit utilization = balances / limits and map it to a 0-100 FICO-aligned utilization sub-score (<=10% best, linear decay to 0 at 100%) with an excellent/good/fair/poor/very-poor band. Utilization is ~30% of a FICO score. Answers 'credit utilization ratio','how does my utilization affect my score','utilization sub-score'.
/v1/score/credit-utilizationPOSTCompute debt-to-equity, debt-to-assets, and equity-multiplier ratios and blend them into a 0-100 leverage-health score using a transparent rubric (documented weights: D/E 50%, D/A 30%, equity-multiplier 20%), with a conservative/moderate/leveraged/highly-leveraged rating and per-factor sub-scores. Answers 'how leveraged is this company','debt-to-equity health score','leverage rating'.
/v1/score/credit-leveragePOSTCompute the current ratio (CA/CL) and quick ratio ((CA-inventory)/CL) and blend them into a 0-100 liquidity-health score using a transparent rubric (documented weights: quick 60%, current 40%) with a strong/adequate/tight/illiquid rating and per-factor sub-scores. Answers 'current and quick ratio','is the company liquid enough','liquidity health score'.
/v1/score/credit-liquidityPOSTCompute headroom against a financial covenant for max-type covenants (e.g. leverage <= 3.5) or min-type covenants (e.g. DSCR >= 1.25), returning absolute and percent headroom, a breach flag, and a compliant/at-risk/breach status. Answers 'how much covenant headroom is left','am I about to breach a covenant','distance to the leverage covenant'.
/v1/score/credit-covenant-headroomPOSTCompute the Piotroski F-Score (2000), a 0-9 score from nine binary fundamentals tests across profitability (ROA, CFO, dROA, accruals), leverage/liquidity (dLeverage, dCurrentRatio, no new shares), and efficiency (dGrossMargin, dAssetTurnover), with a strong/moderate/weak rating and a per-test pass/points breakdown. Answers 'Piotroski F-Score for this stock','is this a financially strong value stock','9-point fundamentals score'.
/v1/score/credit-piotroski-fPOSTEstimate an S&P-style letter bond rating (AAA..C) from fundamentals via a transparent weighted rubric (documented weights: interest-coverage 35%, debt/EBITDA leverage 30%, EBIT margin 20%, size 15%), returning the composite 0-100 score, the letter grade, an investment-grade flag, and per-factor sub-scores. Answers 'estimated credit rating for this company','is this issuer investment grade','implied bond rating from financials'.
/v1/score/credit-bond-ratingPOSTCompute a 0-100 composite borrower creditworthiness score with an A-F grade using a transparent FICO-weighted rubric (documented weights: payment history 35%, utilization 30% inverted, credit age 15%, credit mix 10%, recent inquiries 10% inverted), returning the score, grade, low/moderate/elevated/high risk rating, and per-factor contributions. Answers 'overall creditworthiness score','what grade is this borrower','FICO-style composite score'.
/v1/score/credit-worthinessPOSTCompute a 0-100 trade-finance counterparty risk score (low/moderate/high) using a transparent weighted rubric over named 0-1 factors (documented weights: payment track 30%, country risk 20% inverted, financial strength 25%, relationship tenure 10%, order concentration 15% inverted) with per-factor contributions; higher score = safer. Answers 'trade finance counterparty risk score','how risky is this buyer','should I extend trade credit'.
/v1/score/credit-trade-finance-riskPOSTComposite trade-finance counterparty RISK score (0-100, higher = riskier) via a transparent weighted rubric — countryRisk 0.30, buyerCreditRisk 0.30, tenorRisk 0.15, currencyRisk 0.10, goodsLiquidityRisk 0.10, documentationRisk 0.05 — returning a low/moderate/high/very-high bucket, an A-F grade, and a per-factor contribution breakdown so underwriting is auditable. Answers 'how risky is this trade finance deal','score this cross-border buyer exposure'.
/v1/score/tradefin-trade-finance-riskPOSTSupply-chain-finance (reverse factoring) program QUALITY score (0-100, higher = better) via a transparent weighted rubric — anchorCreditStrength 0.30, supplierAdoption 0.20, daysPayableExtension 0.15, platformIntegration 0.15, financingDiscountCompetitiveness 0.10, dilutionControl 0.10 — returning an excellent/strong/adequate/weak/poor bucket, an A-F grade, and a per-factor breakdown. Answers 'how good is this SCF program','rate this reverse factoring setup'.
/v1/score/tradefin-supply-chain-financePOSTEmbedded-finance integration/compliance readiness score (0-100, higher = better) via a transparent weighted rubric — apiIntegrationDepth 0.25, regulatoryCompliance 0.25, kycAmlCoverage 0.20, settlementReliability 0.15, partnerBaaSStrength 0.15 — returning an excellent/strong/adequate/weak/poor bucket, an A-F grade, and a per-factor breakdown. Answers 'is our embedded finance stack ready','rate this BaaS integration'.
/v1/score/tradefin-embedded-financePOSTBlended-finance additionality score (0-100, higher = better) via a transparent weighted rubric — financialAdditionality 0.30, developmentImpact 0.25, crowdingInRatio 0.20, concessionalityEfficiency 0.15, sustainability 0.10 — returning an excellent/strong/adequate/weak/poor bucket, an A-F grade, and a per-factor breakdown for development-finance underwriting. Answers 'how additional is this blended deal','rate the crowd-in of this DFI structure'.
/v1/score/tradefin-blended-financePOSTProject-finance bankability score (0-100, higher = better) combining a normalized DSCR term (debt-service-coverage mapped 1.0x->0, 2.0x->1) with a transparent weighted rubric — dscrStrength 0.30, completionRisk 0.20 (inverted), offtakeStrength 0.20, sponsorStrength 0.15, politicalRisk 0.15 (inverted) — returning the echoed DSCR, a quality bucket, an A-F grade, and a per-factor breakdown. Answers 'is this infra project bankable','score this PPP deal'.
/v1/score/tradefin-project-financePOSTMezzanine-debt RISK score (0-100, higher = riskier) via a transparent weighted rubric — leverageThroughMezz 0.30, fixedChargeCoverageWeakness 0.25, subordinationDepth 0.20, equityCushionThinness 0.15, covenantLooseness 0.10 — returning a low/moderate/high/very-high bucket, an A-F grade, and a per-factor breakdown. Answers 'how risky is this mezz tranche','score this subordinated debt'.
/v1/score/tradefin-mezzaninePOSTBridge-loan RISK score (0-100, higher = riskier) driven by the canonical LTV = loanAmount/propertyValue (mapped 0.5->0, 0.9->1) plus a transparent weighted rubric — ltvRisk 0.35, exitCertaintyWeakness 0.25 (inverted), tenorRisk 0.20, propertyLiquidityRisk 0.20 (inverted marketability) — returning the echoed LTV, a risk bucket, an A-F grade, and a per-factor breakdown. Answers 'how risky is this bridge loan','score this short-term property loan'.
/v1/score/tradefin-bridge-loanPOSTInvoice-factoring eligibility/quality score (0-100, higher = better) via a transparent weighted rubric — debtorCreditQuality 0.35, invoiceVerification 0.20, concentrationDiversification 0.15, agingFreshness 0.15, disputeHistoryClean 0.15 — PLUS the canonical factoring math (advance = invoice*advanceRate, fee = invoice*feeRate, reserveRebate = invoice-advance-fee). Returns a quality bucket, an A-F grade, and a per-factor breakdown. Answers 'how much will I get for this invoice','is this receivable factorable'.
/v1/score/tradefin-invoice-factoringPOSTEquipment-leasing credit score (0-100, higher = better) via a transparent weighted rubric — lesseeCreditStrength 0.30, assetResaleValue 0.25 (residual/cost), essentialUse 0.20, termVsUsefulLife 0.15, downPaymentCushion 0.10 — PLUS the canonical annuity lease payment PMT = (cost - residual/(1+i)^n)*i/(1-(1+i)^-n) where i = annualRate/12. Returns a quality bucket, an A-F grade, the monthly payment, and a per-factor breakdown. Answers 'what's the monthly lease payment','approve this equipment lease'.
/v1/score/tradefin-equipment-leasingPOSTAsset-based-lending facility score (0-100, higher = better) PLUS the canonical borrowing base = eligibleAR*arAdvanceRate + eligibleInventory*invAdvanceRate and coverageRatio = base/requestedFacility. Transparent rubric — collateralCoverage 0.30, arQuality 0.25, inventoryQuality 0.20, dilutionControl 0.15, fieldExamFreshness 0.10 — returns a quality bucket, an A-F grade, the borrowing base, the coverage ratio, and a per-factor breakdown. Answers 'what's my borrowing base','how much ABL can this collateral support'.
/v1/score/tradefin-asset-based-lendingPOSTRevenue-based-financing score (0-100, higher = better) PLUS the canonical payback math: totalRepayment = advance*repaymentMultiple and estimatedMonthsToRepay = totalRepayment/(monthlyRevenue*revenueShare). Transparent rubric — revenueGrowthQuality 0.30, marginHealth 0.25, revenueRetention 0.20, repayTimeComfort 0.15 (faster=better), revenueSeasonalityStability 0.10 — returns a quality bucket, an A-F grade, total repayment, months-to-repay, and a per-factor breakdown. Answers 'how long to repay this RBF','score this revenue-share advance'.
/v1/score/tradefin-revenue-based-financingPOSTMerchant-cash-advance RISK score (0-100, higher = riskier) PLUS the canonical factor-rate math: paybackAmount = advance*factorRate and estimatedApr = (factorRate-1)/(estimatedTermDays/365). Transparent rubric — factorRateBurden 0.30 (from factor rate), holdbackBurden 0.25, revenueVolatility 0.20, stackingRisk 0.15, industryRisk 0.10 — returns a risk bucket, an A-F grade, payback, estimated APR, and a per-factor breakdown. Answers 'what's the real APR of this MCA','how risky is this cash advance'.
/v1/score/tradefin-merchant-cash-advancePOSTReceivables-finance portfolio QUALITY score (0-100, higher = better) via a transparent weighted rubric — debtorQuality 0.30, portfolioDiversification 0.20, collectionHistory 0.20, dilutionRateControl 0.15, agingProfile 0.15 — returning an excellent/strong/adequate/weak/poor bucket, an A-F grade, and a per-factor breakdown. Answers 'how good is this receivables book','rate this AR portfolio for financing'.
/v1/score/tradefin-receivables-financePOSTInventory-finance score (0-100, higher = better) PLUS the canonical net-orderly-liquidation advance = inventoryCost*nolvRate*advanceRate. Transparent rubric — inventoryLiquidity 0.30, turnoverSpeed 0.20, obsolescenceControl 0.20, perishabilityControl 0.15, valuationReliability 0.15 — returns a quality bucket, an A-F grade, the advance amount, and a per-factor breakdown. Answers 'how much can I borrow against inventory','score this inventory collateral'.
/v1/score/tradefin-inventory-financePOSTConstruction-loan RISK score (0-100, higher = riskier) driven by the canonical loan-to-cost = loanAmount/totalProjectCost (mapped 0.6->0, 0.9->1) plus a transparent rubric — ltcRisk 0.30, completionRisk 0.25, budgetContingencyThinness 0.20 (inverted), borrowerExperienceWeakness 0.15 (inverted), preLeasingWeakness 0.10 (inverted) — returning the echoed LTC, a risk bucket, an A-F grade, and a per-factor breakdown. Answers 'how risky is this construction loan','score this development financing'.
/v1/score/tradefin-construction-loanPOSTSyndicated-loan QUALITY score (0-100, higher = better) via a transparent weighted rubric — leadArrangerStrength 0.25, syndicationDemand 0.20, covenantProtection 0.20, leverageHealth 0.20 (inverted leverage), pricingAttractiveness 0.15 — returning an excellent/strong/adequate/weak/poor bucket, an A-F grade, and a per-factor breakdown. Answers 'how strong is this syndicated facility','rate this club deal'.
/v1/score/tradefin-syndicated-loanPOSTExport-credit-agency RISK score (0-100, higher = riskier) via a transparent weighted rubric modeled on OECD country-risk practice — countryRisk 0.30, buyerRisk 0.25, tenorRisk 0.15, sectorRisk 0.15, localContentRisk 0.10, currencyRisk 0.05 — returning a low/moderate/high/very-high bucket, an A-F grade, and a per-factor breakdown. Answers 'how risky is this export credit deal','score this ECA-backed transaction'.
/v1/score/tradefin-export-creditPOSTLetter-of-credit RISK score (0-100, higher = riskier) via a transparent weighted rubric — issuingBankRisk 0.30, countryRisk 0.25, documentaryComplexityRisk 0.20, tenorRisk 0.15, confirmationAbsenceRisk 0.10 (inverted confirmation strength) — returning a low/moderate/high/very-high bucket, an A-F grade, and a per-factor breakdown. Answers 'how risky is this LC','should this letter of credit be confirmed'.
/v1/score/tradefin-letter-of-creditPOSTForfaiting QUALITY score (0-100, higher = better) PLUS the canonical discounted purchase price of a receivable = faceValue/(1+discountRate)^years. Transparent rubric — avalGuarantorStrength 0.30, instrumentNegotiability 0.25, countryRisk 0.20 (inverted), tenorComfort 0.15 (inverted tenor risk), documentationCompleteness 0.10 — returns a quality bucket, an A-F grade, the discounted price, the discount, and a per-factor breakdown. Answers 'what's this forfaiting note worth today','rate this forfaiting deal'.
/v1/score/tradefin-forfaitingPOSTSecuritization QUALITY score (0-100, higher = better) PLUS the canonical credit-enhancement coverage = (subordination + reserveFund + excessSpread)/expectedLoss (all as % points). Transparent rubric — enhancementCoverage 0.30 (from coverage, mapped 1x->0, 5x->1), poolDiversification 0.20, collateralQuality 0.20, structuralProtection 0.15, servicerQuality 0.15 — returns a quality bucket, an A-F grade, the coverage ratio, and a per-factor breakdown. Answers 'is this ABS tranche well-protected','rate this securitization structure'.
/v1/score/tradefin-securitizationPOSTTransparent weighted rubric (0-100) scoring whether a single-case claim is fundable from named factors — liabilityStrength 35%, damagesQuantum 20%, defendantCollectability 20%, durationFit 10%, jurisdictionFavorability 10%, counselTrackRecord 5% — with a per-factor breakdown and a fund/review/marginal/decline bucket so the underwrite is fully auditable. Answers 'should we fund this lawsuit', 'what is this case's merit score', 'is this claim fundable'.
/v1/score/litfin-litigation-meritPOSTAnti-greenwashing weighted rubric (0-100) scoring a transition-finance plan from emissionsReductionAmbition 30%, capexAlignment 25%, governanceAccountability 20%, interimTargetsCredibility 15%, disclosureQuality 10%, returning an A-F grade, a greenwashing-risk bucket, and a per-factor breakdown. Answers 'is this transition plan credible', 'what is the greenwashing risk', 'score this net-zero plan'.
/v1/score/litfin-transition-financePOSTComputes pro-forma leverage (newDebt/EBITDA), interest coverage (EBITDA/(newDebt×rate)) and liquidity runway, then a weighted rubric (0-100) over deleveragingHeadroom 35%, coverage 30%, liquidityRunway 20%, sponsorSupport 15% with a low/moderate/high bucket and a per-factor breakdown. Answers 'is this company ready to recap', 'what's the pro-forma leverage', 'can it cover the new interest'.
/v1/score/litfin-recapitalizationPOSTWaterfall recovery model: recoveryRate = min(1, max(0, (enterpriseValue − seniorClaims)/claimAmount)), expected recoveryValue = rate × claim, and (given a purchasePrice) the expected MOIC, with a par-likely/partial/impaired/deeply-impaired tier. Answers 'what's the recovery on this claim', 'what's my MOIC buying this debt', 'how impaired is this position'.
/v1/score/litfin-distressed-debtPOSTSizes a recommended facility (ARR × revenueMultiple) and scores lender-friendliness with a weighted rubric (0-100) over arrScale 30%, growth 30%, runway 25%, grossMargin 15%, returning a low/moderate/high tier and a per-factor breakdown. Answers 'how much venture debt can we raise', 'is this startup creditworthy', 'size a venture-debt facility'.
/v1/score/litfin-venture-debtPOSTImplements the standard cap-vs-discount rule: accruedInterest = principal×rate×(months/12), conversionPrice = min(valuationCap/fullyDilutedShares, roundPrice×(1−discount)), sharesIssued = (principal+interest)/conversionPrice, and reports which method (cap or discount) won. Answers 'how many shares does this note convert into', 'what's the conversion price', 'does the cap or discount apply'.
/v1/score/litfin-convertible-notePOSTY Combinator post-money SAFE math: ownership = investment / (postMoneyValuationCap × (1−discount)), and (given postMoneyShares) the conversion price and shares issued. Returns the investor's percent ownership on conversion. Answers 'what percent does this SAFE buy', 'how many shares does the SAFE convert into', 'what's my ownership at the cap'.
/v1/score/litfin-safe-valuationPOSTVenture-debt / structured-credit warrant math: warrantValue = loanAmount × coverageRatio, warrantShares = warrantValue / strikePrice, and (given currentSharePrice) the intrinsic value of the warrants. Answers 'how many warrant shares for 15% coverage', 'what's the warrant coverage value', 'what are these warrants worth'.
/v1/score/litfin-warrant-coveragePOSTRevenue-based financing math: totalRepayment = advance × repaymentCap, monthlyPayment = monthlyRevenue × royaltyRate, paybackMonths = repayment / payment, and the effective annualized cost (cost/advance)/(months/12). Answers 'when is this RBF advance repaid', 'what's the effective APR of revenue-based financing', 'how much will I repay on this royalty deal'.
/v1/score/litfin-royalty-financingPOSTSizes a max loan (appraisedIpValue × advanceRate/LTV) and scores collateral quality with a weighted rubric (0-100) over defensibility 35%, revenueContribution 30%, remainingLife 20%, transferability 15%, returning an A-F grade and a per-factor breakdown. Answers 'how much can we lend against this IP', 'what's the collateral quality of this patent', 'score this IP-backed loan'.
/v1/score/litfin-ip-backed-loanPOSTIncome-multiple valuation with decay adjustment: value = annualRoyalties × maturityFactor × earningsMultiple, where maturityFactor = 1 − decay·e^(−age/10) (older catalogs are more stable), plus the net adjusted income and implied yield. Answers 'what is this music catalog worth', 'how do I value royalty income', 'what multiple should I pay for this catalog'.
/v1/score/litfin-music-catalogPOSTFranchise / media-rights lending score: computes DSCR = contractedRevenue / debtService, then a weighted rubric (0-100) over dscr 40%, revenueContractualization 25%, leagueStability 20%, franchiseTenure 15%, returning an A-F grade and a per-factor breakdown. Answers 'is this franchise loan safe', 'what's the DSCR on media-rights revenue', 'score this sports-finance deal'.
/v1/score/litfin-sports-financePOSTComputes coverage = (presales + taxCredits + gapAvailable) / productionBudget and the funding gap, then a weighted rubric (0-100) over coverage 45%, talentDraw 30%, distributionCommitment 25% with an A-F grade and a per-factor breakdown. Answers 'is this film fully financed', 'what's the funding gap', 'score this film-finance package'.
/v1/score/litfin-film-financePOSTComputes a quality-adjusted advance rate = baseAdvanceRate × (0.6 + 0.4·(0.4·provenance + 0.4·artistLiquidity + 0.2·condition)) and maxLoan = lowEstimate × advanceRate, mirroring how auction houses lend 40-50% of the low estimate. Answers 'how much can I borrow against this painting', 'what advance rate for this artwork', 'value an art-backed loan'.
/v1/score/litfin-art-financePOSTQuality rubric (0-100) over additionality 40%, permanence 30%, mrvQuality 20%, coBenefits 10% drives a delivery probability (0.5 + 0.5·score/100); risk-adjusted credits = grossCredits × (1−bufferPoolRate) × deliveryProb and forwardValue = adjustedCredits × forwardPrice. Answers 'what's the deliverable volume of these credits', 'what's the forward value', 'score this carbon project's quality'.
/v1/score/litfin-carbon-credit-financePOSTWeighted rubric (0-100, higher = safer) over buyerCreditQuality 30%, countryRisk 25%, instrumentSecurity 20%, tenorFit 15%, documentaryCompliance 10%, returning an A-F grade, a low/moderate/high risk tier, an approve flag, and a per-factor breakdown. Answers 'is this trade-finance deal safe', 'should we approve this LC', 'score this counterparty's risk'.
/v1/score/litfin-trade-finance-riskPOSTFactoring math: advance = invoiceAmount × advanceRate, fee = invoiceAmount × feeRate × (termDays/30), netProceeds = advance − fee, and the effective APR = (fee/advance)×(365/termDays). Answers 'how much cash from factoring this invoice', 'what's the true APR of factoring', 'net proceeds after factoring fees'.
/v1/score/litfin-invoice-factoringPOSTConverts an opaque MCA factor rate into a true APR: totalPayback = advance × factorRate, dailyRemittance = dailyCardSales × holdbackRate, estimatedTermDays = payback / daily, APR = (cost/advance)×(365/term). Answers 'what's the real APR of this MCA', 'how long to repay a merchant cash advance', 'what will this MCA actually cost'.
/v1/score/litfin-merchant-cash-advancePOSTComputes LTV = loanAmount/equipmentValue and the monthly payment via the standard annuity formula P·r/(1−(1+r)^−n) (r = annualRate/12), then a weighted rubric (0-100) over ltvHeadroom 30%, residualStrength 25%, assetLiquidity 20%, lesseeCredit 25%. Answers 'what's the lease payment', 'is this equipment loan well-collateralized', 'score this equipment-finance deal'.
/v1/score/litfin-equipment-financePOSTReverse-factoring math: discount = invoiceAmount × discountRate × (daysEarly/360), earlyPayment = invoiceAmount − discount, and the supplier's effective APR = (discount/earlyPayment)×(360/daysEarly). Answers 'what's the early-payment discount', 'is taking early payment worth it', 'what's the implied APR of supply-chain finance'.
/v1/score/litfin-supply-chain-financePOSTCapital Asset Pricing Model cost of equity Re = Rf + beta*(Rm - Rf): plug in the risk-free rate, beta, and either the market return or equity risk premium to get the discount rate for equity, with a per-component breakdown. Discounting math LLMs get wrong; deterministic and auditable. Answers 'what is the cost of equity with beta 1.2','CAPM required return','discount rate for a stock with beta X'.
/v1/calc/val-capmPOSTEquity risk premium ERP = Rm - Rf: the excess return the market is expected to deliver over the risk-free rate, the core input to CAPM. Deterministic and auditable. Answers 'what is the equity risk premium','market return minus risk free','ERP for an 8% market and 3% risk free'.
/v1/calc/val-equity-risk-premiumPOSTAfter-tax cost of debt Rd*(1-Tc), with the pre-tax rate supplied directly or derived as interestExpense/totalDebt, returning the tax shield. Deterministic and auditable. Answers 'after-tax cost of debt at 6% and 21% tax','cost of debt from interest expense','what is the debt tax shield'.
/v1/calc/val-cost-of-debtPOSTCost of equity via CAPM Re = Rf + beta*(Rm - Rf): the required return on equity used to discount cash flows or as the equity weight in WACC, with a per-component breakdown. Deterministic and auditable. Answers 'required return on equity','cost of equity for beta 1.2','what discount rate for shareholders'.
/v1/calc/val-cost-of-equityPOSTWeighted Average Cost of Capital WACC = (E/V)*Re + (D/V)*Rd*(1-Tc): blends the cost of equity and after-tax cost of debt by market-value weights, returning each weight and component. The standard DCF discount rate. Answers 'what is the WACC','blended cost of capital','discount rate for a levered firm'.
/v1/calc/val-waccPOSTHamada equation betaL = betaU*(1 + (1-Tc)*D/E) to lever an asset beta to an equity beta or unlever it back, isolating financial-risk from business-risk for comparable-company analysis. Deterministic and auditable. Answers 'lever this beta','unlever a comp beta','adjust beta for a different capital structure'.
/v1/calc/val-beta-leverPOSTGordon growth / dividend-discount model P0 = D1/(r - g): intrinsic share value from the next dividend, the required return, and a perpetual growth rate, with the dividend grown one period unless flagged as next-year. Deterministic and auditable. Answers 'fair value of a dividend stock','Gordon growth price','intrinsic value with 3% dividend growth'.
/v1/calc/val-gordon-growthPOSTDiscounted cash flow valuation EV = sum(FCFt/(1+r)^t) + TV/(1+r)^n with a Gordon terminal value TV = FCFn*(1+g)/(r-g); optional netDebt and shares bridge enterprise value to equity value and value per share, with a per-year PV table. Answers 'DCF valuation of these cash flows','enterprise value from free cash flow','intrinsic value per share via DCF'.
/v1/calc/val-dcfPOSTTerminal value by perpetuity growth TV = FCF*(1+g)/(r-g) or by an exit multiple (multiple*metric), with optional discounting back to present value over a given number of periods. Deterministic and auditable. Answers 'terminal value of a DCF','perpetuity growth terminal value','exit-multiple terminal value','PV of terminal value'.
/v1/calc/val-terminal-valuePOSTResidual income model V = BV0 + sum(RIt/(1+r)^t) where RIt = NIt - r*BV(t-1): equity value as book value plus the present value of economic profit above the equity charge; supports an explicit net-income stream or a single-stage perpetuity V = BV0 + RI1/(r-g). Answers 'residual income valuation','equity value from book value and ROE','economic profit valuation'.
/v1/calc/val-residual-incomePOSTEconomic Value Added EVA = NOPAT - WACC*InvestedCapital with NOPAT = EBIT*(1-Tc): the dollar economic profit after charging for all capital, with a value-creating / value-destroying rating. Answers 'is this company creating value','EVA from EBIT and WACC','economic profit after capital charge'.
/v1/calc/val-evaPOSTEV/EBITDA implied valuation EV = multiple*EBITDA, with optional netDebt and shares to bridge to equity value and value per share. Deterministic and auditable. Answers 'enterprise value at 8x EBITDA','implied equity value from EV/EBITDA','price per share from an EBITDA multiple'.
/v1/calc/val-ev-ebitdaPOSTComparable-company valuation value = targetMetric * peerMultiple, applying the mean or median of a peer-multiple set to the target's metric, with mean/median/min/max statistics. Deterministic and auditable. Answers 'value this company off peer multiples','implied value from comparable P/E','median EV/sales valuation'.
/v1/calc/val-comparable-multiplesPOSTFree Cash Flow to the Firm FCFF = EBIT*(1-Tc) + D&A - CapEx - ChangeNWC: the unlevered cash flow available to all capital providers, the standard numerator for an enterprise DCF, returning NOPAT and the echoed inputs. Answers 'compute FCFF','unlevered free cash flow','free cash flow to firm from EBIT'.
/v1/calc/val-fcffPOSTFree Cash Flow to Equity FCFE = NI + D&A - CapEx - ChangeNWC + NetBorrowing: the levered cash flow available to shareholders, the numerator for an equity DCF, with the echoed inputs. Answers 'compute FCFE','levered free cash flow','free cash flow to equity holders'.
/v1/calc/val-fcfePOSTAdjusted Present Value APV = PV(FCF @ unlevered cost of equity) + Tc*Debt: the unlevered firm value plus the perpetual-debt interest tax shield, separating operating value from financing effects with an optional Gordon terminal value. Answers 'APV valuation','unlevered value plus tax shield','adjusted present value of a levered deal'.
/v1/calc/val-apvPOSTLeveraged-buyout returns: MOIC = exitEquity/entryEquity and IRR solving NPV(cashflows)=0 over the holding period, with entry/exit equity supplied directly or derived from EV and debt and optional interim distributions. Root-finding LLMs get wrong; deterministic. Answers 'LBO IRR and MOIC','sponsor return on this buyout','money multiple from entry and exit equity'.
/v1/calc/val-lbo-returnsPOSTPrice/earnings valuation price = EPS * P/E with earnings yield = 1/(P/E), plus an optional implied equity value from shares outstanding. Deterministic and auditable. Answers 'implied price at a 15x P/E','earnings yield of a P/E','target price from EPS and a multiple'.
/v1/calc/val-pe-valuationPOSTPEG ratio = (P/E) / (earnings growth % per year), normalizing the P/E by growth, with a valuation bucket (PEG<1 potentially undervalued, <=1.5 fairly valued, else potentially overvalued). Answers 'is this P/E justified by growth','PEG ratio of 20x at 25% growth','growth-adjusted valuation'.
/v1/calc/val-peg-ratioPOSTTwo-stage dividend-discount model: PV = sum(D0(1+g1)^t/(1+r)^t) + [D0(1+g1)^n(1+g2)/(r-g2)]/(1+r)^n, a high-growth phase of n years followed by a perpetual terminal phase, with a per-year dividend PV table. Answers 'two-stage DDM valuation','high-growth then stable dividend value','intrinsic value with declining growth'.
/v1/calc/val-two-stage-ddmPOSTStandard amortized monthly payment M = P·r(1+r)^n/((1+r)^n−1) with optional extra principal, returning total interest, payoff time, and interest-to-principal ratio. Deterministic compounding LLMs round wrong. Answers 'monthly payment on a 300k loan at 6.5% for 30 years', 'total interest over the life of the loan', 'how much faster does $200/mo extra pay it off'.
/v1/calc/re-mortgage-paymentPOSTMax home price from the 28/36 DTI rule: housing payment ≤ min(28%·grossMonthly, 36%·grossMonthly − otherDebts), inverted through the amortization formula to a max loan, plus the binding constraint. Answers 'how much house can I afford on 120k', 'what's my max loan at 6.5%', 'which ratio is limiting me — front or back end'.
/v1/calc/re-mortgage-affordabilityPOSTRefinance break-even months = closingCosts / monthlyPaymentSavings, with lifetime savings and a worth-it verdict. Deterministic compare of two amortization schedules. Answers 'when does a refi pay for itself', 'how much do I save per month going 7% to 5.5%', 'is refinancing worth $4k in closing costs'.
/v1/calc/re-refinance-breakevenPOSTHELOC available credit = (homeValue·maxCLTV) − mortgageBalance, with current combined loan-to-value and equity, plus optional interest-only payment at full draw. Answers 'how much can I borrow on a HELOC', 'my available home equity line at 85% CLTV', 'what's my current CLTV and equity'.
/v1/calc/re-helocPOSTAmortizes the loan to find the month the balance crosses the PMI-cancellation LTV (default 80% of original price), returning drop month/year and balance at drop. Answers 'when can I drop PMI', 'what month does my loan hit 80% LTV', 'how long until I can request PMI removal'.
/v1/calc/re-pmi-dropPOSTDebt service coverage ratio = net operating income / annual debt service, with a qualifies-at-1.25 flag and rating bucket. The core rental-loan underwriting metric. Answers 'DSCR for this rental', 'does this property qualify for a DSCR loan', 'is NOI enough to cover the mortgage at 1.25x'.
/v1/calc/re-property-dscrPOSTDebt yield = NOI / loan amount as a percentage, with a meets-typical-10%-minimum flag. A leverage-independent lender screen. Answers 'debt yield on this loan', 'does it clear a 10% debt yield', 'NOI as a percent of the loan'.
/v1/calc/re-debt-yieldPOSTNOI = effective gross income (rent net of vacancy + other income) − operating expenses, excluding debt service, with vacancy loss and expense ratio broken out. Answers 'NOI of this rental', 'effective gross income after 5% vacancy', 'operating expense ratio on this property'.
/v1/calc/re-noiPOSTCapitalization rate = NOI / property value (NOI optionally derived from rent, vacancy, opex), with a yield rating and implied value at a 5% cap. The fundamental income-property yield. Answers 'cap rate on this property', 'is a 7% cap good', 'implied value from this NOI'.
/v1/calc/re-cap-ratePOSTCash-on-cash = annual pre-tax cash flow (rent net of vacancy, opex, debt service) / total cash invested, with a rating bucket. The leveraged-investor return metric. Answers 'cash-on-cash return on this deal', 'annual cash flow after the mortgage', 'is 10% cash-on-cash good'.
/v1/calc/re-cash-on-cashPOSTGRM = price / gross annual rent, with a cheap/typical/expensive rating — a fast price-relative-to-rent screen. Answers 'gross rent multiplier on this listing', 'is a 13x GRM expensive', 'how many years of gross rent equal the price'.
/v1/calc/re-gross-rent-multiplierPOSTPrice-to-rent = price / annual rent, with a buy/neutral/rent signal (<15 favors buying, >20 favors renting). Answers 'price-to-rent ratio for this market', 'should I buy or rent here', 'is a P/R of 17 neutral'.
/v1/calc/re-price-to-rentPOSTThe 1% rule: monthly rent should be ≥ 1% of purchase price (configurable threshold), returning the required rent and pass/fail. A quick rental-viability filter. Answers 'does this pass the 1% rule', 'what rent do I need to hit 1% of price', 'is $2500 rent enough on a $300k house'.
/v1/calc/re-1pct-rulePOSTGross rental yield = annual rent / value; net yield = (effective rent − expenses) / value, with a rating bucket. Answers 'gross and net rental yield on this property', 'is a 5% net yield good', 'yield after 5% vacancy and expenses'.
/v1/calc/re-rental-yieldPOSTMax allowable offer via the 70% rule: MAO = ARV·rule − repairCosts (rule configurable), the wholesaler/flipper purchase ceiling. Answers 'max offer using the 70% rule', 'MAO on a $300k ARV with $40k repairs', 'highest price I should pay for this flip'.
/v1/calc/re-arv-maoPOSTFlip profit = ARV − (purchase + repairs + holding + selling costs); ROI = profit / total invested, with a rating bucket. Answers 'profit on this flip', 'fix-and-flip ROI', 'does this flip clear a 20% return after selling costs'.
/v1/calc/re-fix-and-flip-roiPOSTBRRRR analysis: cash-left-in = (purchase + rehab + closing) − refinance loan (refiLTV·ARV); equity after refi = ARV − loan, with an infinite-return flag. Answers 'cash left in after the BRRRR refi', 'do I get all my money back', 'equity after a 75% LTV cash-out refinance'.
/v1/calc/re-brrrrPOSTComputes the fully-amortizing monthly payment via M = P*r/(1-(1+r)^-n) and returns total paid, total interest, and an interest-vs-principal breakdown. Answers 'What is the monthly payment on this loan?','How much total interest will I pay?'.
/v1/calc/loan-paymentPOSTSolves the number of months to clear a balance at a fixed payment via n = -ln(1 - P*r/M)/ln(1+r), and rejects payments below the monthly interest. Answers 'How long until this loan is paid off?','How many months at this payment?'.
/v1/calc/loan-payoff-timePOSTAmortizes a loan with and without a recurring extra monthly principal payment and returns interest saved and months shaved off the term. Answers 'How much do I save paying extra each month?','How much sooner is the loan paid off?'.
/v1/calc/loan-extra-payment-savingsPOSTComputes the lump-sum balloon owed when a loan amortized over a long schedule is settled early, via B_k = P*(1+r)^k - M*((1+r)^k-1)/r. Answers 'What is my balloon payment?','How much is left after the balloon term?'.
/v1/calc/loan-balloon-paymentPOSTDerives the true APR when up-front fees are added to a loan by solving PV(M, r, n) = principal - fees for the monthly rate and annualizing (APR = 12*r). Answers 'What is the real APR including fees?','How much do points and fees cost in rate?'.
/v1/calc/loan-apr-from-feesPOSTConverts a nominal APR to the effective annual rate via EAR = (1 + APR/m)^m - 1 for a given compounding frequency. Answers 'What is the effective annual rate?','How much does compounding add to the nominal rate?'.
/v1/calc/loan-effective-annual-ratePOSTModels an accelerated biweekly schedule (26 half-payments = 13 monthly payments/yr) against the standard monthly amortization and returns interest and months saved. Answers 'How much does paying biweekly save?','How much sooner do biweekly payments pay off the loan?'.
/v1/calc/loan-biweekly-savingsPOSTWeighs a prepayment penalty (penaltyPct of outstanding balance) against the remaining interest that would otherwise accrue, and recommends whether to prepay. Answers 'Is it worth prepaying despite the penalty?','How much does the prepayment penalty cost me?'.
/v1/calc/loan-prepayment-penaltyPOSTComputes LTV = loanAmount / propertyValue, buckets the risk, and flags whether PMI is likely required (conventional 80% threshold). Answers 'What is my loan-to-value ratio?','Will I need PMI at this down payment?'.
/v1/calc/loan-to-valuePOSTCompares simple interest I = P*r*t against compound A = P(1+r/n)^(nt) and returns the extra cost of compounding. Answers 'How much more does compound interest cost than simple?','What is the total under simple vs compound interest?'.
/v1/calc/loan-simple-vs-compoundPOSTComputes an auto loan payment after down payment, trade-in, and sales tax, then amortizes via M = P*r/(1-(1+r)^-n). Answers 'What is my car payment?','How much will I finance after my down payment and trade-in?'.
/v1/calc/loan-autoPOSTAmortizes a student loan via M = P*r/(1-(1+r)^-n) and optionally scores affordability against the 8%-of-gross-income rule of thumb. Answers 'What is my student loan payment?','Is my student loan payment affordable on my income?'.
/v1/calc/loan-studentPOSTAmortizes each existing debt (n = -ln(1-P*r/M)/ln(1+r)) to total current interest, then compares a single consolidation loan and recommends whether consolidating lowers cost. Answers 'Should I consolidate my debts?','How much interest does consolidating save or cost?'.
/v1/calc/loan-consolidationPOSTSimulates debt payoff month-by-month under the snowball (smallest-balance-first) and avalanche (highest-rate-first) strategies with a shared budget and recommends the cheaper one. Answers 'Should I use the snowball or avalanche method?','Which payoff order saves the most interest?'.
/v1/calc/loan-snowball-vs-avalanchePOSTComputes front-end (housing/income) and back-end ((housing+debt)/income) DTI ratios and buckets them against conventional 28/36 and QM 43% guidelines. Answers 'What is my debt-to-income ratio?','Do I meet the 28/36 lending guideline?'.
/v1/calc/loan-dtiPOSTReverse-amortizes the maximum loan principal a borrower qualifies for under the 28/36 DTI rule via P_max = M_max*(1-(1+r)^-n)/r. Answers 'How big a loan can I afford?','What is the most I can borrow at this income and rate?'.
/v1/calc/loan-affordabilityPOSTTransparent 0-100 lending rubric with documented weights — credit score 30%, DTI 25%, LTV 20%, employment tenure 15%, payment history 10% — returning an A-F rating, an approve/manual-review/decline decision, and a per-factor breakdown. Answers 'How strong is this loan application?','Should this loan be approved, reviewed, or declined?'.
/v1/calc/loan-approval-scorePOSTCompares the current vs refinanced payment (closing costs financed) and computes the break-even month via breakeven = closingCosts / monthlySavings, recommending whether to refinance. Answers 'When does refinancing break even?','Is refinancing worth the closing costs?'.
/v1/calc/loan-refinance-breakevenPOSTComputes the interest-only payment (P*r) during the IO period and the fully-amortizing payment afterward over the remaining months, plus the payment jump at reset. Answers 'What is my interest-only payment?','How much will my payment jump when the loan starts amortizing?'.
/v1/calc/loan-interest-onlyPOSTPrices discount points (cost = principal*points/100), applies a rate buy-down (default 0.25%/point), and computes the monthly savings, break-even month, and lifetime net savings. Answers 'Is it worth paying for discount points?','When do mortgage points break even?'.
/v1/calc/loan-points-breakevenPOSTComputes the post-reset payment on an adjustable-rate mortgage, applying rate = min(index+margin, initial+periodicCap, initial+lifetimeCap) to the balance remaining after the fixed period, plus the payment-shock percent. Answers 'What will my ARM payment be after it adjusts?','How much could my adjustable rate payment jump?'.
/v1/calc/loan-arm-paymentPOSTCompute recommended life-insurance coverage with the canonical DIME method (Debt + Income replacement + Mortgage + Education), net of existing coverage and liquid assets, with a per-factor breakdown. Deterministic coverage math advisors/agents get wrong. Answers 'how much life insurance do I need', 'DIME coverage estimate', 'life insurance gap', 'recommended death benefit'.
/v1/calc/ins-life-insurance-needPOSTCompute Human Life Value as the present value of future after-tax earnings net of self-consumption, growing at a wage-growth rate and discounted — the canonical HLV economic-loss method. Deterministic PV math. Answers 'what is my human life value', 'present value of future earnings', 'economic value of a life', 'HLV insurance coverage'.
/v1/calc/ins-human-life-valuePOSTCompute disability-insurance need as the monthly income-replacement gap (target replacement ratio × income, net of existing benefits) and the total gap over a benefit period. Deterministic income-protection math. Answers 'how much disability insurance do I need', 'monthly benefit gap', 'income replacement for disability', 'disability coverage estimate'.
/v1/calc/ins-disability-needPOSTCompute the long-term-care funding gap as inflation-adjusted net daily cost (daily cost minus existing benefit) × 365 over the care duration, net of assets available — the LTC self-funding-gap method. Deterministic inflation math. Answers 'how much long-term care will cost', 'LTC funding gap', 'long-term care insurance need', 'cost of nursing care over 3 years'.
/v1/calc/ins-long-term-carePOSTCompute the capital a survivor needs to fund an income stream under both the capital-retention method (income ÷ real return) and the capital-liquidation method (PV of an inflation-growing annuity over the dependency period) — the canonical needs-analysis income approaches. Deterministic. Answers 'how much capital to fund survivor income', 'capital retention vs liquidation', 'present value of survivor income', 'lump sum to replace income'.
/v1/calc/ins-survivor-incomePOSTCompute the loss ratio = (incurred losses + loss-adjustment expenses) ÷ earned premium, the core P&C claims-cost metric, with a rating bucket. Deterministic actuarial ratio. Answers 'what is the loss ratio', 'incurred losses over earned premium', 'claims ratio', 'is this loss ratio good'.
/v1/calc/ins-loss-ratioPOSTCompute the expense ratio = underwriting expenses ÷ written premium, the insurer cost-efficiency metric, with a rating bucket. Deterministic actuarial ratio. Answers 'what is the expense ratio', 'underwriting expenses over written premium', 'insurer cost ratio', 'is this expense ratio lean'.
/v1/calc/ins-expense-ratioPOSTCompute the combined ratio = loss ratio + expense ratio (the core underwriting-profitability metric; <100% = underwriting profit) and the operating ratio (combined − investment-income ratio), with a per-component breakdown. Deterministic actuarial ratio. Answers 'what is the combined ratio', 'is the insurer underwriting-profitable', 'combined ratio under 100', 'operating ratio with investment income'.
/v1/calc/ins-combined-ratioPOSTCompute loss-reserve adequacy as carried reserves ÷ required reserve (expected ultimate losses − paid-to-date), flagging redundancy or deficiency plus the reserve-to-premium ratio — the actuarial reserve-adequacy view. Deterministic. Answers 'are loss reserves adequate', 'reserve redundancy or deficiency', 'required IBNR reserve', 'reserve to premium ratio'.
/v1/calc/ins-reserve-adequacyPOSTEstimate the gross premium with the canonical pure-premium pricing identity: gross = (claim frequency × severity) ÷ (1 − expense load − profit load), scaled by exposure units, with a per-component breakdown. Deterministic actuarial pricing. Answers 'estimate the insurance premium', 'pure premium pricing', 'gross up premium for expenses', 'rate per exposure unit'.
/v1/calc/ins-premium-estimatePOSTCompute the expected loss cost = claim probability × claim severity × exposure units, the actuarial loss-cost / expected-claims primitive, with expected claim count and per-unit loss cost. Deterministic. Answers 'what is the expected loss', 'frequency times severity', 'expected claims cost', 'loss cost per exposure unit'.
/v1/calc/ins-expected-lossPOSTCompare a low vs high deductible: annual premium saving, added out-of-pocket exposure, the break-even years (extra deductible ÷ premium saving), and the expected annual net benefit at a given claim probability with a recommendation. Deterministic decision math. Answers 'is a higher deductible worth it', 'deductible break-even', 'premium savings vs deductible', 'should I raise my deductible'.
/v1/calc/ins-deductible-vs-premiumPOSTCompare retaining vs transferring risk: the certainty-equivalent cost of self-insuring (expected loss + a variance-based risk load scaled by risk aversion) vs the insurance premium, plus the premium loading over expected loss, with a recommendation. Deterministic expected-value decision math. Answers 'should I self-insure', 'retain vs transfer risk', 'is the premium worth it', 'expected loss vs premium'.
/v1/calc/ins-self-insure-vs-insurePOSTCompute the level periodic payout from a principal using the canonical annuity payment formula PMT = PV·i/(1−(1+i)^−n) (immediate or annuity-due), with total paid out and total interest. Deterministic time-value math LLMs get wrong. Answers 'monthly annuity payout from a lump sum', 'how much income does $500k buy', 'annuity payment formula', 'amortized withdrawal amount'.
/v1/calc/ins-annuity-payoutPOSTCompute the present value of an annuity using the canonical formula PV = PMT·(1−(1+i)^−n)/i (immediate or annuity-due), with the nominal total of payments. Deterministic time-value math. Answers 'present value of an annuity', 'lump sum needed for monthly income', 'PV of a payment stream', 'what is a pension worth today'.
/v1/calc/ins-annuity-present-valuePOSTProject a permanent-policy cash value as the future value of net level premiums (premium net of cost-of-insurance) compounded at a crediting rate — the level-premium accumulation method — with total premiums paid and net gain. Deterministic FV math. Answers 'project whole-life cash value', 'cash value accumulation', 'future value of level premiums', 'how much cash value after 20 years'.
/v1/calc/ins-cash-value-accumulationPOSTCompare term vs whole-life cost over a horizon and compute the 'buy term and invest the difference' (BTID) future value of the annual premium difference at an investment return — the canonical term-vs-permanent comparison. Deterministic. Answers 'term vs whole life', 'buy term and invest the difference', 'is whole life worth it', 'total cost of term vs whole'.
/v1/calc/ins-term-vs-wholePOSTScore underwriting risk 0-100 from a transparent weighted rubric of normalized 0-1 factors with EXPLICIT weights (health 0.30, age 0.25, lifestyle 0.20, family history 0.15, occupation 0.10), returning a rating class (Preferred Plus → Decline) and a per-factor contribution breakdown so the score is auditable. Answers 'underwriting risk score', 'what rate class do I qualify for', 'preferred vs standard underwriting', 'score insurance risk'.
/v1/calc/ins-underwriting-risk-scorePOSTScore insurance coverage adequacy 0-100 from a transparent weighted rubric with EXPLICIT weights (coverage ratio 0.60, emergency fund 0.20, debt protection 0.20), returning a rating (well covered → critically underinsured), the coverage gap, and a per-factor breakdown so the score is auditable. Answers 'am I underinsured', 'coverage adequacy score', 'how well am I covered', 'insurance coverage gap'.
/v1/calc/ins-coverage-adequacy-scorePOSTScore applicant insurability 0-100 from a transparent weighted rubric with EXPLICIT weights (health stability 0.40, financial capacity 0.25, age eligibility 0.20, coverage justification 0.15), returning an A-F grade, a rating bucket, and a per-factor breakdown so the score is auditable. Answers 'how insurable am I', 'insurability grade', 'will I be approved for coverage', 'score insurance eligibility'.
/v1/calc/ins-insurability-scorePOSTComposite ESG score (0-100, higher = better) from a transparent E/S/G pillar rubric with explicit weights: environmental .40, social .30, governance .30 (each a 0-1 pillar input). Returns the score, a quality rating bucket, an A-F grade, and a per-factor contribution breakdown so the rating is auditable. Answers 'what's this company's ESG score', 'weight E/S/G pillars into one number', 'give me an auditable ESG rating with breakdown'.
/v1/score/esg-compositePOSTGreen-bond alignment score (0-100, higher = more aligned) vs the ICMA Green Bond Principles with explicit weights: useOfProceeds .30, processForEvaluation .20, managementOfProceeds .20, reporting .20, externalReview .10 (each 0-1). Returns score, quality rating, A-F grade and a per-pillar breakdown so the alignment is auditable. Answers 'is this a credible green bond', 'score green-bond ICMA GBP alignment', 'how aligned is this use-of-proceeds bond'.
/v1/score/esg-green-bond-alignmentPOSTCarbon-credit quality score (0-100, higher = better) from an ICVCM Core Carbon Principles style rubric with explicit weights: additionality .25, permanence .20, measurementAccuracy .20, noDoubleCounting .15, coBenefits .10, verificationRigor .10 (each 0-1). Returns score, quality rating, A-F grade, and per-factor breakdown. Answers 'is this carbon credit high-quality', 'score a carbon offset against the Core Carbon Principles', 'rate credit additionality and permanence'.
/v1/score/esg-carbon-credit-qualityPOSTCarbon-offset additionality score (0-100, higher = more additional) from a transparent rubric with explicit weights: financialAdditionality .35, regulatorySurplus .25, commonPracticeTest .20, barrierAnalysis .20 (each 0-1). Returns score, quality rating, A-F grade, and per-factor breakdown so the additionality claim is auditable. Answers 'is this offset additional', 'score additionality with financial/regulatory/common-practice tests', 'would this happen anyway'.
/v1/score/esg-additionalityPOSTClimate transition-plan credibility score (0-100, higher = more credible) vs TPT / GFANZ expectations with explicit weights: targetAmbition .25, capexAlignment .25, governanceAccountability .20, interimMilestones .15, disclosureQuality .15 (each 0-1). Returns score, quality rating, A-F grade, and a per-factor breakdown. Answers 'is this transition plan credible', 'score a net-zero plan against TPT/GFANZ', 'rate target ambition vs capex alignment'.
/v1/score/esg-transition-plan-credibilityPOSTCanonical EU-Taxonomy alignment %: alignedShare = eligibleShare x substantialContribution x dnshPass x minimumSafeguardsPass (all 0-1 screening gates), alignmentPercent = alignedShare x 100, alignedRevenue = totalRevenue x alignedShare. Returns alignment %, eligible %, aligned revenue, a green/amber/red bucket, and the gate breakdown. Answers 'what % of revenue is EU-Taxonomy aligned', 'compute taxonomy-aligned revenue', 'does this pass DNSH and minimum safeguards'.
/v1/score/esg-eu-taxonomy-alignmentPOSTCanonical GHG-Protocol carbon intensity: totalEmissions = scope1 + scope2 + scope3 (tCO2e), intensity = totalEmissions / revenueMillions (tCO2e per $M revenue); a 0-100 efficiency score maps 0 t/$M -> 100 and >=1000 t/$M -> 0 (lower intensity is better). Returns total emissions, intensity, efficiency score, rating, A-F grade, and a per-scope breakdown. Answers 'what's this firm's carbon intensity', 'sum scope 1/2/3 per $M revenue', 'score emissions efficiency'.
/v1/score/esg-scope-emissions-intensityPOSTCanonical Climate Value-at-Risk: netRiskFraction = transitionRisk + physicalRisk - greenOpportunity (each a 0-1 fraction of value), climateVaR = portfolioValue x netRiskFraction. Returns the absolute VaR, the % of value at risk, the net risk fraction, a risk bucket, an A-F grade, and a driver breakdown. Answers 'what's the climate VaR of this portfolio', 'value at risk from transition vs physical climate risk', 'net climate exposure %'.
/v1/score/esg-climate-varPOSTSustainability-linked-loan (SLL) quality score (0-100, higher = better) vs the LMA SLL Principles with explicit weights: kpiMateriality .30, sptAmbition .25, marginRatchetStrength .20, verification .15, reporting .10 (each 0-1). Returns score, quality rating, A-F grade, and a per-factor breakdown. Answers 'is this SLL credible', 'score a sustainability-linked loan against LMA principles', 'rate KPI materiality and SPT ambition'.
/v1/score/esg-sustainability-linked-loanPOSTBiodiversity-impact / stewardship score (0-100, higher = better) from a TNFD-style rubric with explicit weights: habitatProtection .25, speciesImpactMitigation .20, landUseEfficiency .20, pollutionControl .20, restorationCommitment .15 (each 0-1). Returns score, quality rating, A-F grade, and a per-factor breakdown. Answers 'what's this operation's biodiversity impact', 'score nature/biodiversity stewardship against TNFD', 'rate habitat protection and restoration'.
/v1/score/esg-biodiversity-impactPOSTJust-transition score (0-100, higher = better) from an ILO Just Transition rubric balancing climate action with social equity, explicit weights: workerReskilling .25, communityEngagement .20, jobCreationQuality .20, socialProtection .20, stakeholderInclusion .15 (each 0-1). Returns score, quality rating, A-F grade, and a per-factor breakdown. Answers 'is this a just transition', 'score worker reskilling and community equity', 'rate the social fairness of a decarbonization plan'.
/v1/score/esg-just-transitionPOSTPhysical climate-risk score (0-100, higher = riskier) plus canonical expected annual loss: EAL = assetValue x hazardExposure x vulnerability x (1 - adaptiveCapacity). Risk-score weights: hazardExposure .35, vulnerability .30, adaptiveCapacityWeakness .20 (inverted), assetCriticality .15. Returns risk score, risk bucket, A-F grade, EAL (absolute and % of value), and a driver breakdown. Answers 'what's the physical climate risk of this asset', 'expected annual loss from flood/heat hazard', 'score hazard exposure vs adaptive capacity'.
/v1/score/esg-physical-riskPOSTStranded-asset risk score (0-100, higher = riskier) plus canonical impairment write-down: writeDown = assetValue x strandingProbability x (1 - recoverableShare). Risk-score weights: carbonIntensityRisk .35, remainingLifeRisk .25, transitionPolicyExposure .20, lowRecoverability .20 (inverted). Returns risk score, risk bucket, A-F grade, the estimated write-down (absolute and %), and a driver breakdown. Answers 'is this a stranded asset', 'estimate transition-scenario impairment write-down', 'score carbon-intensity and policy exposure'.
/v1/score/esg-stranded-assetPOSTGreenwashing risk score (0-100, higher = riskier) from a transparent rubric flagging the gap between claims and evidence, explicit weights: claimSubstantiationGap .30 (inverted evidenceStrength), vagueLanguageRisk .20, thirdPartyVerificationAbsence .20 (inverted), targetVsActionGap .20, selectiveDisclosure .10. Returns risk score, risk bucket, A-F grade, and a per-factor breakdown. Answers 'is this claim greenwashing', 'score greenwashing risk from evidence and verification gaps', 'rate vague-language and target-vs-action risk'.
/v1/score/esg-greenwashing-riskPOSTNet-zero alignment score (0-100, higher = better) combining a canonical decarbonization-pace ratio with a rubric: requiredAnnualReductionRate = 1 / (targetYear - currentYear), alignmentRatio = plannedAnnualReductionRate / requiredAnnualReductionRate (capped 2x). Score weights: reductionPaceAlignment .40 (from ratio), scope3Coverage .20, sbtiValidation .20, offsetReliance .20 (inverted). Returns score, rating, A-F grade, required vs planned rate, the alignment ratio, emissions reduced to date, and a breakdown. Answers 'is this firm on a net-zero path', 'compare planned vs required decarbonization pace', 'score SBTi-validated net-zero alignment'.
/v1/score/esg-net-zero-alignmentPOSTWater-stress risk score (0-100, higher = riskier) in WRI Aqueduct style: canonical withdrawalRatio = withdrawal / availableSupply drives the main term (0 -> 0, >=0.8 'extremely high' -> 1). Risk-score weights: withdrawalRatioRisk .35, baselineWaterStress .25, droughtExposure .20, reuseEfficiencyWeakness .20 (inverted recyclingRate). Returns risk score, risk bucket, A-F grade, the withdrawal ratio, and a driver breakdown. Answers 'how water-stressed is this site', 'compute WRI withdrawal-to-supply ratio', 'score drought and reuse-efficiency risk'.
/v1/score/esg-water-stressPOSTCircular-economy / material-circularity score (0-100, higher = better) from a transparent rubric with explicit weights: recycledInputShare .25, productRecyclability .25, productLifetimeExtension .20, wasteDiversionRate .20, repairabilityDesign .10 (each 0-1). Returns score, quality rating, A-F grade, and a per-factor breakdown. Answers 'how circular is this product/business', 'score material circularity', 'rate recycled inputs and waste diversion'.
/v1/score/esg-circular-economyPOSTSupply-chain ESG & human-rights due-diligence score (0-100, higher = better) in CSDDD style with explicit weights: supplierAuditCoverage .25, laborRightsCompliance .25, conflictMineralsControl .15, traceability .20, remediationProcess .15 (each 0-1). Returns score, quality rating, A-F grade, and a per-factor breakdown. Answers 'how strong is this supply-chain due diligence', 'score human-rights compliance against CSDDD', 'rate supplier audit coverage and traceability'.
/v1/score/esg-supply-chain-esgPOSTBoard-governance score (0-100, higher = better) from a corporate-governance 'G' pillar rubric with explicit weights: boardIndependence .25, genderDiversity .15, separationChairCeo .15, auditCommitteeStrength .20, shareholderRights .15, executivePayAlignment .10 (each 0-1). Returns score, quality rating, A-F grade, and a per-factor breakdown. Answers 'how strong is this board's governance', 'score board independence and audit-committee strength', 'rate the G pillar of ESG'.
/v1/score/esg-board-governancePOSTRenewable-energy / decarbonization readiness score (0-100, higher = better): canonical renewableShare = renewableMWh / totalMWh drives the main term, with explicit weights renewableShare .35, ppaCoverage .20, energyEfficiencyProgram .20, gridFlexibilityStorage .15, scope2MarketBasedQuality .10. Returns score, quality rating, A-F grade, the renewable share %, and a driver breakdown. Answers 'how renewable-ready is this operation', 'compute renewable MWh share', 'score PPA coverage and storage flexibility'.
/v1/score/esg-renewable-energy-readinessPOSTCompute customer lifetime value LTV = (ARPA * grossMargin) / monthlyChurnRate and the LTV:CAC ratio with an avg-lifetime and benchmark rating (>=3 healthy, >5 under-investing in growth) plus an echoed-input breakdown. Deterministic SaaS unit-economics math agents shouldn't guess. Answers 'what is my LTV','what is my LTV to CAC ratio','is my CAC sustainable'.
/v1/calc/saas-ltv-cacPOSTCompute CAC payback months = CAC / (ARPA_monthly * grossMargin) — how long gross profit takes to recoup acquisition cost — with a rating (<12 excellent, 12-18 good, >18 capital-intensive) and breakdown. Answers 'what is my CAC payback period','how many months to recoup CAC','is my payback period healthy'.
/v1/calc/saas-cac-paybackPOSTCompute the SaaS magic number = net-new ARR / prior-period sales & marketing spend with a rating (>1 efficient scale-up, 0.75-1 acceptable, <0.75 inefficient) and breakdown. Deterministic GTM-efficiency math. Answers 'what is my magic number','is my sales spend efficient','should I scale up sales'.
/v1/calc/saas-magic-numberPOSTCompute Bessemer-style sales efficiency = (net-new ARR * grossMargin) / prior S&M — the margin-weighted CAC-ratio cousin of the magic number — with a rating (>1 highly-efficient, >0.8 efficient) and breakdown. Answers 'what is my sales efficiency','is my GTM margin-efficient','how efficient is my sales spend'.
/v1/calc/saas-sales-efficiencyPOSTProject MRR lost to churn over N months: retained = startMRR * (1 - monthlyChurn)^months, lost = start - retained, plus the annualized churn rate and cumulative % lost. Compounding decay LLMs get wrong. Answers 'how much MRR will churn cost me','what is my annualized churn','how much revenue do I lose in a year'.
/v1/calc/saas-churn-impactPOSTCompute net-new MRR = new + expansion - contraction - churn and the SaaS Quick Ratio = (new+expansion)/(contraction+churn) with a rating (>4 best-in-class, >2 healthy, >1 growing, else shrinking) and breakdown. Answers 'what is my net new MRR','what is my SaaS quick ratio','is my growth efficient'.
/v1/calc/saas-expansion-revenuePOSTCompute the Rule of 40 score = revenue growth rate % + profit margin % with pass/borderline/fail rating (pass if >=40) and breakdown. The canonical SaaS growth-vs-profitability tradeoff metric. Answers 'do I pass the rule of 40','what is my rule of 40 score','is my growth-profitability balanced'.
/v1/calc/saas-rule-of-40POSTCompute the Burn Multiple = net cash burn / net-new ARR (David Sacks scale) with a rating (<1 amazing, 1-1.5 great, 1.5-2 good, 2-3 suspect, >3 bad) and breakdown — the capital-efficiency metric of growth. Answers 'what is my burn multiple','how capital-efficient is my growth','how much do I burn per dollar of ARR'.
/v1/calc/saas-burn-multiplePOSTCompute Net Revenue Retention = (starting + expansion - contraction - churn) / starting over an existing cohort (excludes new logos) with a rating (>=120% best-in-class, >=110% excellent, >=100% good) and breakdown. Answers 'what is my NRR','what is my net dollar retention','is my cohort expanding'.
/v1/calc/saas-nrrPOSTCompute Gross Revenue Retention = (starting - contraction - churn) / starting (excludes expansion, capped at 100%) with a rating (>=95% best-in-class, >=90% healthy, >=85% acceptable) and breakdown. The pure stickiness metric. Answers 'what is my GRR','what is my gross dollar retention','how sticky is my revenue'.
/v1/calc/saas-grrPOSTCompute period-over-period ARR growth = (endARR - startARR) / startARR and optional CAGR = (endARR/startARR)^(1/periods) - 1 with absolute growth and breakdown. Compounded-growth math LLMs misstate. Answers 'what is my ARR growth rate','what is my ARR CAGR','how fast did my ARR grow'.
/v1/calc/saas-arr-growthPOSTCompute cash runway months = cashOnHand / monthlyNetBurn (or derive burn from monthlyExpenses - monthlyRevenue) with a rating (<6 critical, 6-12 raise-soon, 12-18 healthy, >18 strong) and cash-flow-positive detection. Answers 'how much runway do I have','how many months until I run out of cash','when should I raise'.
/v1/calc/saas-runwayPOSTCompute post-money = pre + investment, new-investor ownership = investment/postMoney, existing-holder dilution by (1 - newInvestorPct), with optional price-per-share, new shares issued, and post-round founder ownership. Cap-table math founders must not get wrong. Answers 'how much will this round dilute me','what is my post-money','what will founders own after the round'.
/v1/calc/saas-round-dilutionPOSTCompute per-holder ownership % = holderShares / totalShares and optional equity value = ownershipPct * companyValuation from a list of shareholdings, returning a full cap-table breakdown. Answers 'what does each holder own','what is everyone's ownership percentage','what is each stake worth at this valuation'.
/v1/calc/saas-cap-tablePOSTCompute the pre-money option-pool top-up: totalPostShares = (existing - existingPool + newRound) / (1 - targetPoolPct) and the additional pool shares to create to reach a target post-money pool %, with effective pool % and breakdown. The classic pre-money-shuffle math. Answers 'how big an option pool do I need','how many shares to top up the pool','what dilutes me from the pool'.
/v1/calc/saas-option-poolPOSTCompute enterprise value = ARR * multiple and equity value = EV - netDebt with a multiple-tier rating (>=15 premium, >=8 high, >=4 market, else discount) and breakdown. The standard ARR-multiple valuation method. Answers 'what is my SaaS company worth','what is my enterprise value at this ARR multiple','what is my equity value'.
/v1/calc/saas-valuationPOSTTransparent weighted PMF rubric (0-100) over five 0-1 factors with explicit weights — mustHaveSurvey 0.30 (Sean Ellis >40% 'very disappointed'), retention 0.25, organicGrowth 0.15, nps 0.15, usageFrequency 0.15 — returning a rating bucket (strong/emerging/weak/pre-PMF) and per-factor contribution breakdown. Answers 'do I have product-market fit','what is my PMF score','which PMF factor is weakest'.
/v1/calc/saas-pmf-scorePOSTTransparent weighted startup financial-health rubric (0-100, graded A-F) over five 0-1 factors with explicit weights — runway 0.25, growthEfficiency 0.20, retention 0.20, grossMargin 0.20, unitEconomics 0.15 — with a per-factor contribution breakdown. Answers 'how healthy is my startup','what grade is my startup's financials','which financial factor drags me down'.
/v1/calc/saas-startup-health-scorePOSTTransparent weighted PLG-readiness rubric (0-100) over five 0-1 factors with explicit weights — timeToValue 0.25, selfServeConversion 0.25, activationRate 0.20, virality 0.15, expansionMotion 0.15 — returning a rating bucket (plg-ready/capable/needs-work/sales-led) and per-factor contribution breakdown. Answers 'am I ready for product-led growth','what is my PLG readiness','which PLG lever is weakest'.
/v1/calc/saas-plg-readiness-scorePOSTCompute the future value of a lump sum plus recurring monthly contributions using the canonical compound-interest formula A = P(1+r/n)^(nt) + PMT·[((1+r/n)^(nt)−1)/(r/n)], returning future value, total contributed, interest earned, growth multiple, and an auditable breakdown — the off-by-one compounding math LLMs get wrong. Answers 'what will 10k at 7% be in 10 years','how much interest will I earn','future value with monthly contributions'.
/v1/calc/pf-compound-interestPOSTEstimate years to double an investment with the Rule of 72 (yearsToDouble ≈ 72/ratePercent) and contrast it with the exact log(2)/log(1+r) answer plus the approximation error — a quick mental-math heuristic made precise. Answers 'how long to double my money at 7%','rule of 72 for 9%','exact doubling time'.
/v1/calc/pf-rule-of-72POSTCompute how inflation erodes purchasing power using realValue = nominal/(1+i)^t and the future cost nominal·(1+i)^t, returning today's real value, the future amount needed to match, and the percent of purchasing power lost. Answers 'what will 50k be worth in 20 years at 3% inflation','how much will this cost in the future','purchasing power lost to inflation'.
/v1/calc/pf-inflation-impactPOSTCompute the inflation-adjusted return with the exact Fisher equation realReturn = (1+nominal)/(1+inflation) − 1, alongside the common nominal−inflation approximation and a rating bucket — correcting the frequent LLM mistake of just subtracting. Answers 'what is my real return after inflation','Fisher equation real rate','is my return beating inflation'.
/v1/calc/pf-real-returnPOSTCompute sustainable retirement spending from a portfolio using the Trinity-study safe-withdrawal-rate rule annualWithdrawal = portfolio·(rate/100) (default 4%), returning annual and monthly draw plus a risk rating from very-conservative to high-depletion. Answers 'how much can I withdraw from 1M','4% rule annual income','safe monthly withdrawal'.
/v1/calc/pf-withdrawal-ratePOSTCompute the financial-independence target using fireNumber = annualExpenses/(SWR/100) (≈25× expenses at a 4% safe withdrawal rate), returning the target, expense multiple, remaining gap, and progress percent versus current savings. Answers 'what is my FIRE number','how much do I need to retire on 40k a year','am I on track for financial independence'.
/v1/calc/pf-fire-numberPOSTCompute the Coast-FIRE number — the amount needed today that, left untouched, compounds to the full FIRE number by retirement — via coastNumber = fireNumber/(1+realReturn)^(retirementAge−currentAge), returning whether current savings already coast plus surplus/shortfall. Answers 'have I hit coast FIRE','how much do I need now to coast to retirement','can I stop contributing and still retire'.
/v1/calc/pf-coast-firePOSTProject a retirement balance from current savings plus monthly contributions using the future-value-of-an-annuity formula FV = PV(1+r/12)^(12t) + PMT·[((1+r/12)^(12t)−1)/(r/12)], returning projected balance, total contributed, and investment growth. Answers 'how much will I have at 65','retirement projection with monthly contributions','will my 401k be enough'.
/v1/calc/pf-retirement-savingsPOSTSolve for the monthly contribution required to reach a target by a deadline with PMT = (target − PV(1+i)^n)·i/((1+i)^n − 1), accounting for the growth of existing savings, and flag when no contributions are needed. Answers 'how much to save monthly for 100k in 10 years','required contribution to hit my goal','am I already on track without saving more'.
/v1/calc/pf-savings-goalPOSTCompute an emergency-fund target as monthlyExpenses·monthsOfRunway (default 6 months) and rate current coverage on a transparent rubric (well-funded ≥6mo, adequate ≥3mo, thin ≥1mo, critical <1mo), returning shortfall and funded percent. Answers 'how big should my emergency fund be','how many months of expenses do I have saved','am I underfunded for emergencies'.
/v1/calc/pf-emergency-fundPOSTCompute net worth as Σ assets − Σ liabilities with a debt-to-asset leverage ratio and a rating bucket (healthy ≤0.3, moderate ≤0.5, high >0.5, negative if underwater), echoing totals for audit. Answers 'what is my net worth','assets minus liabilities','how leveraged am I'.
/v1/calc/pf-net-worthPOSTCompute the employer 401(k) match with employerMatch = salary·min(contrib%, cap%)/100·matchRate/100, returning employee contribution, employer match, total contribution, and crucially the free money left on the table when contributing below the cap. Answers 'how much 401k match do I get','am I capturing the full employer match','how much free money am I missing'.
/v1/calc/pf-401k-matchPOSTProject a 529 plan against future tuition by compounding savings (future value of an annuity) and inflating each enrollment year's cost via Σ currentCost·(1+inflation)^(years+y), returning projected savings, total inflated cost, coverage percent, shortfall, and a funded rating. Answers 'will my 529 cover college','how much will tuition cost in 15 years','am I saving enough for my kid's education'.
/v1/calc/pf-529-collegePOSTEstimate the monthly Social Security benefit from Average Indexed Monthly Earnings using the 2024 PIA bend-point formula PIA = 0.90·AIME≤$1,174 + 0.32·(≤$7,078) + 0.15·(>$7,078) then applying the early-claim reduction (−5/9% then −5/12% per month) or delayed-credit increase (+2/3% per month), returning the per-tier breakdown. Answers 'estimate my Social Security benefit','how much will I get at 62 vs 70','what is my PIA from my AIME'.
/v1/calc/pf-social-security-estimatePOSTCompute months to clear a balance under a fixed monthly payment via the loan-amortization identity n = −ln(1 − i·B/PMT)/ln(1+i), returning months, years, total interest, and total paid, and rejecting payments below the first month's interest (which never amortize). Answers 'how long to pay off 5k at 18%','total interest on my credit card','months to clear this debt at 200 a month'.
/v1/calc/pf-debt-payoffPOSTCompute the personal savings rate as (income − spending)/income·100 with a transparent rating rubric tied to FIRE timelines (excellent ≥50%, strong ≥20%, moderate ≥10%, low ≥0%, deficit <0%), returning annual and monthly amounts saved. Answers 'what is my savings rate','am I saving enough','how much am I saving each month'.
/v1/calc/pf-savings-ratePOSTScore overall personal financial health 0-100 with a transparent weighted rubric over five normalized factors with explicit documented weights — emergencyFund 0.20, savingsRate 0.25, debtToIncome 0.20, retirementOnTrack 0.20 (Fidelity age-milestone target), creditUtilization 0.15 — returning an A-F grade, a rating bucket, and a per-factor contribution breakdown so the score is auditable. Answers 'how healthy are my finances','what is my financial health score','which factor is dragging down my finances'.
/v1/calc/pf-financial-health-scorePOSTEstimate US federal income tax with the canonical progressive marginal-slice method over 2024 brackets (10/12/22/24/32/35/37%), applying the standard or itemized deduction, and return taxable income, total tax, marginal & effective rate, and a per-bracket breakdown. Estimate only; excludes credits/state/AMT/NIIT. Answers 'how much federal tax on $100k single','what's my effective tax rate','what's my marginal bracket','tax with standard deduction'.
/v1/calc/tax-federal-bracketPOSTDecompose marginal rate (rate on the last dollar) versus effective rate (total tax / income) over the US 2024 progressive schedule, returning both, the spread, and the per-bracket breakdown so the gap is auditable. Estimate only. Answers 'what's the difference between marginal and effective tax','why is my effective rate lower than my bracket','what's my average tax rate'.
/v1/calc/tax-marginal-vs-effectivePOSTEstimate capital-gains tax: long-term gains via the US 2024 0/15/20 federal schedule stacked above ordinary taxable income, or short-term gains at the ordinary marginal rate, returning tax, after-tax gain, effective rate, and a per-rate-band breakdown. Estimate only; excludes 3.8% NIIT and state. Answers 'tax on a $50k long-term gain','short vs long-term capital gains tax','what rate on my stock sale','crypto capital gains tax'.
/v1/calc/tax-capital-gainsPOSTEstimate self-employment tax using the canonical SECA formula 15.3% x (net earnings x 92.35%) — Social Security 12.4% capped at the 2024 wage base ($168,600) plus Medicare 2.9% uncapped — returning the SS/Medicare split, total SE tax, and the deductible half. Estimate only. Answers 'how much self-employment tax on $100k','what's SECA tax','1099 contractor tax','deductible half of SE tax'.
/v1/calc/tax-self-employmentPOSTEstimate FICA payroll tax: Social Security 6.2% to the 2024 wage base ($168,600) + Medicare 1.45% + 0.9% additional Medicare over the filing-status threshold, for both employee and employer, returning each component and total. Estimate only. Answers 'how much FICA on $250k wages','employer payroll tax','additional Medicare surtax','Social Security wage cap'.
/v1/calc/tax-payrollPOSTAdd VAT/sales tax to a net amount (net x rate), or extract net + tax from a tax-inclusive gross amount (gross / (1 + rate)), returning net, tax, gross, and the rate. Deterministic gross-up math LLMs get wrong. Answers 'add 20% VAT to $100','what's the net of a tax-inclusive $120','extract sales tax from a total','VAT on this price'.
/v1/calc/tax-vatPOSTCompute cost basis and realized gain for a disposal using FIFO, LIFO, or HIFO lot matching across your purchase lots, returning proceeds, matched-lot basis, realized gain, gain per unit, and the matched lots. Lot-accounting math LLMs get wrong. Answers 'FIFO cost basis for selling 15 of 20 coins','HIFO to minimize my gain','realized gain on this stock sale','LIFO vs FIFO basis'.
/v1/calc/tax-crypto-cost-basisPOSTDetect whether a realized loss is disallowed under the IRS wash-sale rule — a repurchase of substantially identical shares within 30 days before through 30 days after the sale (61-day window) — returning days apart, whether the window is hit, the disallowed loss, and an interpretation. Answers 'is this a wash sale','will my loss be disallowed','did I rebuy within 30 days','wash-sale 61-day window check'.
/v1/calc/tax-wash-salePOSTEstimate the tax benefit of harvesting a loss = loss x marginal rate, net of transaction cost, plus the potential carryforward beyond the $3,000/yr ordinary-income offset limit, and whether it's worthwhile. Estimate only; mind wash-sale rules. Answers 'tax benefit of harvesting a $20k loss','should I tax-loss-harvest','how much loss carries forward','tax savings from realizing a loss'.
/v1/calc/tax-loss-harvestPOSTCompute after-tax yield = yield x (1 - rate) for a taxable bond, or the taxable-equivalent yield (TEY) = tax-free yield / (1 - rate) for a muni, returning the converted yield and an interpretation. Answers 'after-tax yield of a 5% bond at 32%','taxable-equivalent yield of a 4% muni','is a muni or taxable bond better for me','TEY at my tax rate'.
/v1/calc/tax-after-tax-yieldPOSTCompare after-tax terminal values of an equal gross contribution: Roth (post-tax in, tax-free out) vs Traditional (pre-tax in, taxed at the retirement rate out), compounding at the annual return over N years, returning both terminal values, the difference, and a recommendation. Estimate only; ignores limits/RMDs. Answers 'Roth or Traditional 401k','which IRA wins if my retirement rate is lower','after-tax value of each','break-even tax rate'.
/v1/calc/tax-roth-vs-traditionalPOSTCompute the Required Minimum Distribution = prior year-end balance / IRS Uniform Lifetime Table distribution period for the account holder's age (RMDs begin at age 73 under SECURE 2.0), returning the factor, the RMD amount, and percent of balance. Estimate only. Answers 'RMD at age 75 on $500k','required minimum distribution amount','when do RMDs start','Uniform Lifetime Table factor for my age'.
/v1/calc/tax-rmdPOSTCompute required quarterly estimated payments via the IRS safe-harbor rule — lesser of 90% of this year's tax or 100% (110% if AGI > $150k) of last year's — less withholding, split over four quarters, returning each safe-harbor figure, the required annual payment, and the per-quarter amount. Estimate only. Answers 'how much estimated tax per quarter','safe harbor amount','110% prior-year rule','quarterly payment after withholding'.
/v1/calc/tax-estimated-quarterlyPOSTEstimate net take-home pay = gross less pre-tax deductions, federal & state tax (flat-rate model), and FICA (6.2% SS capped + 1.45% Medicare), returning annual net, per-pay-period net, take-home rate, and a line-item breakdown. Estimate only; actual federal tax is progressive (see tax-federal-bracket). Answers 'net pay on $80k','take-home per paycheck','how much after taxes and 401k','paycheck after deductions'.
/v1/calc/tax-take-home-payPOSTEstimate the Section 199A qualified business income deduction = lesser of 20% of QBI or 20% of (taxable income - net capital gains), returning both limits, the deduction, and which limit bound it. Estimate only; excludes SSTB phase-out and W-2/UBIA limits. Answers 'how much QBI deduction','Section 199A pass-through deduction','20% QBI vs taxable-income limit','small business tax deduction'.
/v1/calc/tax-qbi-deductionPOSTGenerate a depreciation schedule: straight-line = (cost - salvage)/life, or 200%/150% declining-balance (MACRS-style) not falling below salvage, returning the full year-by-year schedule, total depreciation, and ending book value. Answers 'straight-line depreciation on a $10k asset','declining-balance schedule','annual depreciation expense','book value after N years'.
/v1/calc/tax-depreciationPOSTCompute how much more ordinary income fits before the next US 2024 federal bracket, returning the current bracket rate, the bracket top, and the dollar headroom remaining. Useful for Roth-conversion and income-timing decisions. Answers 'how much more can I earn before the next bracket','room left in my 22% bracket','top of my tax bracket','income headroom for a Roth conversion'.
/v1/calc/tax-bracket-headroomPOSTScore total tax burden 0-100 with a TRANSPARENT weighted rubric over three normalized factors — effective income rate (ceiling 0.50, weight 0.50), payroll rate (ceiling 0.15, weight 0.20), and sales/VAT rate (ceiling 0.25, weight 0.30) — returning the score, a low/moderate/high/very-high rating, and a per-factor contribution breakdown so the score is auditable. Answers 'how heavy is my total tax burden','blended tax burden score','rate my overall tax load','income vs payroll vs sales tax weight'.
/v1/calc/tax-burden-scorePOSTCompute Body Mass Index (BMI = weight(kg) / height(m)^2) with WHO category bands and the healthy-weight range for the given height — deterministic arithmetic LLMs slip on. Answers 'what's my BMI', 'am I overweight at 80kg/180cm', 'healthy weight range for my height', 'BMI category'.
/v1/health/bmiPOSTEstimate resting daily calorie burn via the Mifflin-St Jeor equation (10·kg + 6.25·cm − 5·age, +5 male / −161 female), returning the value, sex constant, and per-term breakdown for auditability. Answers 'what's my BMR', 'how many calories do I burn at rest', 'basal metabolic rate for 80kg male age 30'.
/v1/health/bmrPOSTCompute TDEE = Mifflin-St Jeor BMR × activity factor (sedentary 1.2 … veryActive 1.9) plus maintain/loss/gain calorie targets (±250/±500). Answers 'how many calories should I eat', 'maintenance calories', 'TDEE for an active 80kg male', 'calories to lose weight'.
/v1/health/tdeePOSTEstimate body-fat percentage from tape measurements via the US-Navy (Hodgdon-Beckett) circumference equations (log10 of waist/neck/height; +hip for women), with ACE category bands. Answers 'what's my body fat percentage', 'body fat from waist and neck', 'US Navy body fat calculator'.
/v1/health/body-fat-navyPOSTCompute Body Surface Area in m^2 via the Du Bois formula (0.007184·kg^0.425·cm^0.725) plus the Mosteller √(cm·kg/3600) cross-check — the figure used for chemotherapy and drug dosing. Answers 'what's my body surface area', 'BSA for 80kg/180cm', 'Du Bois body surface area'.
/v1/health/bsaPOSTEstimate ideal body weight from height & sex via the Devine (1974) and Robinson (1983) formulas (base + per-inch-over-5ft). Answers 'what's my ideal weight', 'ideal body weight for 180cm male', 'Devine ideal weight calculator'.
/v1/health/ideal-weightPOSTEstimate lean body mass and fat mass from weight, height & sex via the Boer (1984) formula (male 0.407·kg+0.267·cm−19.2; female 0.252·kg+0.473·cm−48.3). Answers 'what's my lean body mass', 'fat-free mass', 'lean mass for 80kg/180cm male', 'Boer LBM'.
/v1/health/lean-body-massPOSTCompute waist-to-hip ratio (WHO sex thresholds 0.90 male / 0.85 female) and waist-to-height ratio (0.5 elevated, 0.6 high) with cardiovascular-risk bands. Answers 'what's my waist-to-hip ratio', 'is my waist-to-height ratio healthy', 'WHR cardiovascular risk'.
/v1/health/waist-ratiosPOSTEstimate one-rep max from a sub-maximal set via Epley (w·(1+reps/30)) and Brzycki (w·36/(37−reps)), with a rep-percentage training table. Answers 'what's my 1RM', 'one-rep max from 100kg x 5', 'estimate max bench', 'training weights for 80% of 1RM'.
/v1/health/one-rep-maxPOSTEstimate maximum heart rate from age via Tanaka (208 − 0.7·age) and the classic Fox 220−age formula. Answers 'what's my max heart rate', 'max HR for age 30', 'Tanaka maximum heart rate', '220 minus age'.
/v1/health/max-heart-ratePOSTCompute the 5 training heart-rate zones via the Karvonen heart-rate-reserve method (target = HRrest + (HRmax − HRrest)·intensity), falling back to %-of-max when resting HR is omitted; HRmax from Tanaka. Answers 'what are my heart rate zones', 'fat-burn zone', 'Karvonen target heart rate', 'zone 2 for age 30'.
/v1/health/heart-rate-zonesPOSTEstimate VO2max via the Cooper 12-minute run test ((meters − 504.9)/44.73) or the Uth-Sorensen heart-rate ratio (15.3·HRmax/HRrest), with a fitness rating. Answers 'what's my VO2 max', 'VO2 max from a Cooper test', 'aerobic fitness from heart rate', 'estimate VO2max'.
/v1/health/vo2-maxPOSTConvert distance + time into pace (min/km, min/mile), speed (km/h, mph), and predicted 5K/10K/half/full finish times at that pace. Answers 'what pace is 10km in 50 minutes', 'convert pace to speed', 'min per mile from min per km', 'predicted marathon time'.
/v1/health/running-pacePOSTProject weight change from a calorie deficit/surplus using the 7700-kcal-per-kg rule (weightChangeKg = (intake − maintenance)·days / 7700), with weekly rate and a safety note. Answers 'how much weight will I lose in a 500 kcal deficit', 'weight change from eating 1900 vs 2400 kcal', 'calorie deficit calculator'.
/v1/health/calorie-deficitPOSTSplit total daily calories into carb/protein/fat grams using AMDR-based presets (balanced, lowCarb, keto, highProtein, endurance) or a custom percentage split, at 4/4/9 kcal per gram. Answers 'how many grams of protein in 2000 kcal', 'keto macros for 2000 calories', 'macro split calculator', 'carbs/protein/fat breakdown'.
/v1/health/macro-splitPOSTCompute daily protein need in grams from bodyweight and goal using evidence-based g/kg ranges (sedentary 0.8-1.0 … cutting 1.8-2.4). Answers 'how much protein do I need', 'protein for an 80kg lifter', 'grams of protein per day to build muscle', 'protein intake calculator'.
/v1/health/protein-needPOSTEstimate daily water need from bodyweight (35 mL/kg) plus an exercise adjustment (350 mL per 30 min), returning litres, 8-oz cups, and a base/exercise breakdown. Answers 'how much water should I drink', 'daily water intake for 80kg', 'hydration with exercise', 'water intake calculator'.
/v1/health/water-intakePOSTEstimate blood alcohol concentration via the Widmark equation ((alcoholGrams / (weightG·r))·100 − 0.015·hours; r = 0.68 male / 0.55 female) with an impairment status and peak BAC. Answers 'what's my BAC after 3 drinks', 'blood alcohol for a 70kg male', 'am I over the legal limit', 'Widmark BAC estimate'. Estimate only — never use to decide whether to drive.
/v1/health/bacPOSTEstimate glomerular filtration rate from serum creatinine via the race-free CKD-EPI 2021 creatinine equation, with the KDIGO G1-G5 CKD staging bucket. Answers 'what's my eGFR', 'kidney function from creatinine 1.0 age 50', 'CKD stage from eGFR', 'CKD-EPI 2021 calculator'.
/v1/health/egfrPOSTCompute the estimated due date and current gestational age via Naegele's rule (LMP + 280 days, cycle-adjusted), with trimester and an estimated conception date. Answers 'when is my due date', 'how many weeks pregnant am I', 'due date from last period', 'Naegele due date calculator'.
/v1/health/due-datePOSTEstimate the ovulation date, fertile window, and next period from the last menstrual period and cycle length via the calendar method (ovulation = cycleLength − lutealPhase). Answers 'when do I ovulate', 'fertile window from my last period', 'ovulation calculator', 'most fertile days'.
/v1/health/ovulationPOSTCorrect serum calcium for low albumin via the standard formula (measuredCa + 0.8·(4.0 − albumin)) with a hypo/normal/hypercalcemia interpretation against the 8.5-10.5 mg/dL range. Answers 'what's my corrected calcium', 'calcium adjusted for albumin', 'corrected calcium for Ca 9.0 albumin 3.0', 'albumin-corrected calcium'.
/v1/health/corrected-calciumPOSTStandardize a value against a mean and standard deviation using the z-score formula z=(x−μ)/σ, returning the percentile (standard-normal CDF) and an outlier rating. Auditable: echoes inputs and distance from the mean. Answers 'what is the z-score of 130 with mean 100 sd 15','what percentile is this value','is this an outlier'.
/v1/calc/stat-z-scorePOSTRun a one-sample Student's t-test t=(x̄−μ0)/(s/√n) with a two-tailed p-value from the t-distribution, returning the statistic, df, p-value and a reject/fail-to-reject decision. Auditable: echoes sample mean, sd, n. Answers 'is this sample mean different from 5','one-sample t-test p-value','do I reject the null at alpha 0.05'.
/v1/calc/stat-t-test-one-samplePOSTCompare two independent samples with a two-sample t-test — Welch unequal-variance (default, Welch–Satterthwaite df) or Student pooled-variance — returning t, df, two-tailed p-value and a decision. Auditable: echoes both means and the difference. Answers 'are these two groups different','Welch t-test p-value','compare group A vs group B means'.
/v1/calc/stat-t-test-two-samplePOSTCompute a confidence interval for a mean (x̄ ± z·s/√n) or a proportion (Wald p̂ ± z·√(p̂(1−p̂)/n)) at any confidence level, returning margin of error, lower and upper bounds. Auditable: echoes the z critical value and standard error. Answers '95% confidence interval for the mean','margin of error for this proportion','CI bounds'.
/v1/calc/stat-confidence-intervalPOSTCompute the sample size needed to estimate a proportion (n = z²·p(1−p)/E²) or a mean (n = (z·sd/E)²) within a target margin of error at a confidence level, rounded up. Auditable: echoes the z value and formula. Answers 'how many people do I need to survey','sample size for 95% confidence and 5% margin','required n for this study'.
/v1/calc/stat-sample-sizePOSTConvert a z-statistic into a one- or two-tailed p-value using the standard-normal CDF, with a significance rating at alpha 0.05. Auditable: echoes the tail and z. Answers 'p-value for z=1.96','two-tailed significance of this z-score','is z=2.5 significant'.
/v1/calc/stat-p-value-from-zPOSTConvert a z-score to a percentile via the standard-normal CDF, or a percentile to its z-score via the inverse normal (Acklam approximation). Auditable: echoes the cumulative probability. Answers 'what percentile is z=1.5','z-score for the 90th percentile','convert percentile to z'.
/v1/calc/stat-z-percentilePOSTCompute the Pearson correlation r = Σ(x−x̄)(y−ȳ)/√(Σ(x−x̄)²Σ(y−ȳ)²) for paired data, with r², a t-test for significance, and a strength rating. Auditable: returns df and p-value. Answers 'correlation between x and y','is the relationship significant','how strong is the correlation'.
/v1/calc/stat-pearson-correlationPOSTFit a simple ordinary-least-squares line y = b0 + b1·x (slope = Σ(x−x̄)(y−ȳ)/Σ(x−x̄)²), returning intercept, slope, R², standard errors, the equation, and an optional prediction. Auditable: echoes df and residual SE. Answers 'fit a regression line','slope and intercept of this data','predict y for x=6'.
/v1/calc/stat-linear-regressionPOSTCompute the standard error of the mean SEM = s/√n from either a raw dataset or summary statistics (sd and n). Auditable: returns the sd and n used. Answers 'standard error of the mean','SEM for sd 10 and n 100','standard error from this data'.
/v1/calc/stat-standard-errorPOSTRun a chi-square test: goodness-of-fit χ²=Σ(O−E)²/E for a 1-D count vector, or independence on a 2-D contingency table with expected = row·col/total, returning χ², df, an upper-tail p-value and a decision. Auditable: echoes the test type and df. Answers 'is this die fair','chi-square goodness-of-fit','are these two categorical variables independent'.
/v1/calc/stat-chi-squarePOSTRun a one-way analysis of variance across >=2 groups, computing between/within sums of squares, mean squares, the F statistic F=MSB/MSW, an upper-tail F p-value, eta-squared effect size, and a decision. Auditable: returns the full ANOVA table. Answers 'do these groups have different means','one-way ANOVA F and p','is the group effect significant'.
/v1/calc/stat-anova-one-wayPOSTCompute normal-distribution probabilities for N(μ,σ): the CDF/PDF/survival at a point x, or an interval probability P(lower < X < upper) via the standard-normal CDF. Auditable: returns the z-score. Answers 'probability X is below 120','area under the normal curve between a and b','normal CDF for this value'.
/v1/calc/stat-normal-probabilityPOSTCompute binomial probabilities P(X=k)=C(n,k)p^k(1−p)^(n−k) for n trials with success probability p, including exact, at-most (CDF) and at-least, plus mean np and variance np(1−p). Auditable: returns all three modes. Answers 'probability of exactly 5 heads in 10 flips','at most 2 successes','binomial CDF'.
/v1/calc/stat-binomial-probabilityPOSTCompute Poisson probabilities P(X=k)=λ^k e^(−λ)/k! for rate λ, including exact, at-most (CDF) and at-least, with mean and variance both equal to λ. Auditable: returns all three modes. Answers 'probability of exactly 2 events when rate is 3','at most 1 arrival','Poisson CDF'.
/v1/calc/stat-poisson-probabilityPOSTCompute the percentile rank of a value within a dataset (mid-rank: (below+0.5·equal)/n·100), or invert a percentile to its value via linear interpolation (R-7 / Excel PERCENTILE.INC). Auditable: returns counts below/equal. Answers 'what percentile is 35 in this data','the 90th percentile value','rank of this score'.
/v1/calc/stat-percentile-rankPOSTCompute Cohen's d effect size d=(x̄1−x̄2)/s_pooled (pooled sd from both samples) from raw samples or summary stats, with the standard small/medium/large rating. Auditable: returns pooled sd and means. Answers 'effect size between two groups','Cohen d for these means','how big is the difference'.
/v1/calc/stat-cohens-dPOSTCompute a full descriptive summary of a dataset: mean, median, min/max/range, sample variance & sd, SEM, quartiles & IQR, sum, sample skewness, excess kurtosis, and coefficient of variation, with a symmetry rating. Auditable: every statistic returned. Answers 'summarize this dataset','mean median sd and IQR','is this data skewed'.
/v1/calc/stat-descriptivePOSTCompute the arithmetic, geometric (exp of mean log), harmonic (n/Σ(1/x)), and root-mean-square means of positive data, illustrating the AM ≥ GM ≥ HM inequality. Auditable: all four means returned. Answers 'geometric mean of these growth rates','harmonic mean','RMS of these values'.
/v1/calc/stat-special-meansPOSTCompute the coefficient of variation CV = sd/|mean| (and as a percentage) from raw data or summary stats, with a low/moderate/high dispersion rating, to compare relative variability across scales. Auditable: echoes mean and sd. Answers 'coefficient of variation','relative standard deviation','how variable is this data relative to its mean'.
/v1/calc/stat-coefficient-of-variationPOSTBreak-even units = fixedCosts / (price - variableCost), with contribution margin, break-even revenue, and margin of safety vs an expected volume — the canonical CVP formula, audited per factor. Answers 'how many units to break even', 'what's my break-even revenue', 'what's my margin of safety'.
/v1/calc/biz-break-evenPOSTComputes gross margin (profit/price) and markup (profit/cost) from cost+price, or derives price from cost plus a target margin or markup — the conversion businesses constantly confuse. Answers 'what's my margin', 'what's my markup', 'what price gives a 40% margin'.
/v1/calc/biz-margin-markupPOSTReturn on investment = (gain - cost) / cost, plus annualized ROI = (gain/cost)^(1/years) - 1 when a holding period is given — auditable with a net-profit breakdown and rating. Answers 'what's my ROI', 'what's the annualized return', 'was this investment a loss'.
/v1/calc/biz-roiPOSTPayback period = initialInvestment / annualCashFlow for even flows, or the cumulative-crossing point (with fractional interpolation) for uneven cashFlows — the classic capital-budgeting recovery metric. Answers 'how long to recoup this investment', 'when does cumulative cash flow turn positive', 'what's the payback period'.
/v1/calc/biz-payback-periodPOSTEconomic Order Quantity = sqrt(2 * annualDemand * orderCost / holdingCost), with orders/year, cycle days, and the ordering+holding cost split — the canonical Wilson EOQ inventory model. Answers 'optimal order quantity', 'how often should I reorder', 'total annual inventory cost at EOQ'.
/v1/calc/biz-eoqPOSTContribution margin = sales - variableCosts (total and per unit) with the CM ratio = CM/sales — the core CVP profitability factor used to size break-even and target-profit decisions. Answers 'what's my contribution margin', 'what's the CM ratio', 'how much each unit contributes to fixed costs'.
/v1/calc/biz-contribution-marginPOSTDegree of operating leverage = contribution margin / operating income, measuring how a 1% change in sales amplifies operating income — the standard cost-structure risk metric. Answers 'what's my operating leverage', 'how sensitive is profit to sales', 'is my cost structure high-leverage'.
/v1/calc/biz-operating-leveragePOSTWorking capital = currentAssets - currentLiabilities, with the current ratio (CA/CL) and quick ratio ((CA-inventory)/CL) — the standard short-term liquidity factors. Answers 'what's my working capital', 'what's my current ratio', 'what's my quick (acid-test) ratio'.
/v1/calc/biz-working-capitalPOSTCash Conversion Cycle = DIO + DSO - DPO, the days between paying for inventory and collecting from customers, with the operating cycle and a per-factor breakdown — the canonical working-capital efficiency metric. Answers 'what's my cash conversion cycle', 'how long is cash tied up', 'what's my operating cycle'.
/v1/calc/biz-cash-conversion-cyclePOSTDuPont ROE = net profit margin x asset turnover x equity multiplier, decomposing return on equity into profitability, efficiency, and leverage factors with a per-factor breakdown. Answers 'what's my ROE', 'what drives my return on equity', 'is my ROE from margin, turnover, or leverage'.
/v1/calc/biz-dupont-roePOSTInventory turnover = COGS / average inventory, with days inventory outstanding = 365 / turnover — the standard inventory-efficiency ratio. Answers 'how many times do I turn inventory', 'what's my days-on-hand', 'is my inventory moving fast enough'.
/v1/calc/biz-inventory-turnoverPOSTReceivables turnover = net credit sales / average receivables, with days sales outstanding = 365 / turnover — the standard collections-efficiency ratio. Answers 'how fast do I collect receivables', 'what's my DSO', 'how efficient is my AR'.
/v1/calc/biz-receivables-turnoverPOSTPayables turnover = COGS / average payables, with days payables outstanding = 365 / turnover — the standard supplier-payment-pace ratio. Answers 'how fast do I pay suppliers', 'what's my DPO', 'how long do I hold payables'.
/v1/calc/biz-payables-turnoverPOSTGross margin = (revenue - COGS)/revenue, plus operating margin and net margin from an income-statement slice — the standard profitability ladder. Answers 'what's my gross margin', 'what's my operating margin', 'what's my net profit margin'.
/v1/calc/biz-profit-marginsPOSTEBITDA = netIncome + interest + taxes + depreciation + amortization, with EBITDA margin = EBITDA/revenue and a per-add-back breakdown — the standard cash-earnings proxy. Answers 'what's my EBITDA', 'what's my EBITDA margin', 'what's my operating cash earnings'.
/v1/calc/biz-ebitda-marginPOSTTotal cost = fixedCosts + variableCostPerUnit x units, decomposed into fixed/variable ratios and cost per unit — the cost-structure breakdown behind CVP analysis. Answers 'what's my total cost at this volume', 'what's my cost per unit', 'how much of my cost is fixed vs variable'.
/v1/calc/biz-fixed-variable-splitPOSTRequired units = (fixedCosts + targetProfit) / (price - variableCost) — the CVP extension of break-even that solves for the volume hitting a profit goal, with required revenue. Answers 'how many units to hit my profit target', 'what volume earns $X profit', 'what revenue do I need for a target profit'.
/v1/calc/biz-target-profit-unitsPOSTGMROI = gross margin dollars / average inventory cost, the retail metric for how much gross margin each inventory dollar earns. Answers 'what's my GMROI', 'how much margin per inventory dollar', 'is my inventory investment productive'.
/v1/calc/biz-gmroiPOSTConverts a markup % to the resulting margin % (margin = markup/(1+markup)) or a margin % to the equivalent markup % (markup = margin/(1-margin)) — the conversion retailers constantly get wrong. Answers 'what margin does a 50% markup give', 'what markup gives a 40% margin', 'convert markup to margin'.
/v1/calc/biz-markup-margin-convertPOSTCustomer lifetime value = (ARPU x grossMargin) / churnRate, with average lifetime = 1/churn and an optional LTV:CAC ratio against acquisition cost — the standard SaaS/subscription unit-economics model. Answers 'what's my customer LTV', 'what's my LTV to CAC ratio', 'is my acquisition spend sustainable'.
/v1/calc/biz-customer-ltvPOSTRule of 40 score = revenue growth % + profit margin %, passing if >= 40 — the canonical SaaS balance-of-growth-and-profitability heuristic, with a per-factor breakdown and rating bucket. Answers 'do I pass the Rule of 40', 'what's my growth-plus-margin score', 'is my SaaS healthy'.
/v1/calc/biz-rule-of-40POSTCompute Average Order Value (AOV = totalRevenue / numberOfOrders) with a high/moderate/low rating and inputs echoed for audit. Deterministic e-commerce KPI. Answers 'what is my AOV','average order value from revenue and orders'.
/v1/calc/ecom-aovPOSTProject revenue from traffic using revenue = visitors × conversionRate × AOV, returning conversions, revenue, and revenue-per-visitor. Deterministic funnel math. Answers 'how much revenue from this traffic','revenue from conversion rate and AOV'.
/v1/calc/ecom-conversion-revenuePOSTCompute cart abandonment rate ((created − purchased)/created), lost revenue, and recoverable revenue at a given recovery rate, with a rating bucket. Deterministic. Answers 'what is my cart abandonment rate','how much revenue am I losing to abandoned carts'.
/v1/calc/ecom-cart-abandonmentPOSTCompute Customer Lifetime Value (CLV = AOV × purchaseFrequency × lifespanYears × grossMargin), optionally present-value discounted at a discount rate, with a rating bucket. Deterministic. Answers 'what is my customer lifetime value','CLV with gross margin and discount rate'.
/v1/calc/ecom-clvPOSTCompute net price after a discount, margin erosion, and the break-even unit multiplier (oldUnitMargin / newUnitMargin) needed to hold gross profit flat. Deterministic. Answers 'how many extra units must I sell to break even on a discount','what does a 20% discount do to my margin'.
/v1/calc/ecom-discount-impactPOSTCompute MRR (subscribers × ARPU), ARR (MRR × 12), net-new MRR (new + expansion − churned − contraction), and net revenue retention. Deterministic SaaS/subscription math. Answers 'what is my MRR and ARR','net new MRR and net revenue retention'.
/v1/calc/ecom-subscription-mrrPOSTCompute the total cost of returns: refunds + (restocking + reverse shipping) per unit + COGS write-off on unresalable units, plus cost per return and a rating bucket. Deterministic reverse-logistics math. Answers 'what do returns cost me','cost per return with restocking and reverse shipping'.
/v1/calc/ecom-returns-costPOSTCompute the LTV:CAC ratio (CLV / CAC) with a healthy/marginal/unsustainable rating and optional payback months (CAC / (ARPUmonthly × grossMargin)). The canonical unit-economics health check. Answers 'is my LTV to CAC ratio healthy','how many months to recover CAC'.
/v1/calc/ecom-ltv-cacPOSTComposite e-commerce store-health score (0-100, A-F grade) over 5 transparent weighted factors — conversion 0.25, repeat-purchase 0.2, gross margin 0.2, cart retention 0.2, return quality 0.15 — with a per-factor contribution breakdown so the score is auditable. Answers 'how healthy is my store','score my e-commerce funnel'.
/v1/calc/ecom-store-health-scorePOSTCompute profit per unit (price − unitCost − fees − shipping) plus margin% and markup% with a rating bucket. Deterministic unit economics. Answers 'what is my profit per unit after fees and shipping','margin and markup on this product'.
/v1/calc/ecom-profit-per-unitPOSTCompute break-even ROAS (1 / grossMargin) and break-even ACoS from price+cost or a supplied gross margin — the threshold ad spend must beat to profit. Deterministic. Answers 'what ROAS do I need to break even','break-even ACoS for my margin'.
/v1/calc/ecom-breakeven-roasPOSTEvaluate a campaign: ROAS (revenue / adSpend), ACoS, and — with gross margin — gross profit and net profit after ad spend, plus target comparison and a rating. Deterministic. Answers 'what is my ROAS and ACoS','am I profitable after ad spend','does this hit my target ROAS'.
/v1/calc/ecom-roas-evaluatePOSTCompute bundle economics: sum-of-parts vs bundle price, implied discount% (Σprice − bundlePrice), bundle profit and margin% over Σcost, with a rating. Deterministic. Answers 'what discount is this bundle','bundle margin and profit from item prices and costs'.
/v1/calc/ecom-bundle-pricingPOSTCompute parcel shipping cost using dimensional (volumetric) weight: dimWeight = L×W×H / divisor, billable = max(actual, dim), cost = billable × ratePerLb + handling, and which weight was billed. Deterministic carrier math. Answers 'what is my dimensional weight','shipping cost with dim weight','will I be billed actual or dimensional'.
/v1/calc/ecom-shipping-costPOSTCompute Economic Order Quantity (EOQ = √(2·D·S / H)) with optimal orders/year, cycle length, and total annual ordering + holding cost; accepts holding cost per unit or unitCost × holdingRate. Deterministic inventory optimization. Answers 'what is my optimal order quantity','EOQ for this demand and holding cost'.
/v1/calc/ecom-eoqPOSTConvert between margin and markup (markup = margin/(1−margin); margin = markup/(1+markup)) and, given cost, derive price and profit per unit. Deterministic pricing conversion agents commonly confuse. Answers 'convert margin to markup','what markup gives a 40% margin','price from cost and markup'.
/v1/calc/ecom-margin-markupPOSTCompute Amazon FBA fees (referralFee = max(salePrice × referralRate, minReferral) + flat FBA fulfillment fee) and net payout, with optional profit/margin and a rating; defaults to 15% referral / $0.30 minimum. Deterministic fee stacking. Answers 'what are my Amazon FBA fees','net payout after referral and fulfillment fees','am I profitable on Amazon'.
/v1/calc/ecom-amazon-fba-feePOSTCompute Etsy fees — listing ($0.20) + transaction (6.5% of price+shipping) + payment processing (3% + $0.25) + optional offsite ads (15%) — and net payout; all rates overridable. Deterministic fee stacking. Answers 'what are my Etsy fees','Etsy net payout after fees','Etsy fees with offsite ads'.
/v1/calc/ecom-etsy-feePOSTCompute eBay fees — final value fee (13.25% of price + shipping by default) + $0.30 per-order fee — and net payout, with optional profit; rates overridable. Deterministic fee stacking. Answers 'what are my eBay fees','eBay final value fee and net payout','eBay profit after fees'.
/v1/calc/ecom-ebay-feePOSTCompute Shopify fees — payment processing (2.9% + $0.30 online by default) plus an optional platform transaction fee when not using Shopify Payments — and net payout. Deterministic fee stacking. Answers 'what are my Shopify fees','Shopify net payout after processing fees','Shopify transaction fee without Shopify Payments'.
/v1/calc/ecom-shopify-feePOSTCompute net payout for any marketplace via a generic take rate: net = salePrice × (1 − takeRate) − flatFee, with commission, fee%, and optional profit/margin. Deterministic. Answers 'what is my net payout at a 20% take rate','marketplace commission and net payout','seller profit after platform take rate'.
/v1/calc/ecom-take-ratePOSTCompute CPM = spend / impressions * 1000, or derive any missing leg from the other two. Deterministic media-buying math agents get wrong. Answers 'what's my CPM','how many impressions for this budget at this CPM'.
/v1/calc/mkt-cpmPOSTCompute CPC = spend / clicks, or derive any missing leg from the other two. Deterministic paid-search/social math. Answers 'what's my cost per click','how many clicks can this budget buy at this CPC'.
/v1/calc/mkt-cpcPOSTCompute CPA = spend / conversions, or derive any missing leg from the other two. The core acquisition-efficiency metric. Answers 'what's my cost per acquisition','how many conversions for this budget at this CPA'.
/v1/calc/mkt-cpaPOSTCompute ROAS = revenue / adSpend with rating buckets, and (given grossMargin) the margin-aware break-even ROAS = 1/grossMargin plus gross profit. Answers 'what's my ROAS','am I profitable at this margin','what ROAS do I need to break even'.
/v1/calc/mkt-roasPOSTCompute CTR = clicks / impressions with a high/average/low rating. Deterministic engagement math. Answers 'what's my click-through rate','is my CTR good for display/search'.
/v1/calc/mkt-ctrPOSTCompute conversionRate = conversions / visitors with a high/average/low rating. Deterministic funnel math. Answers 'what's my conversion rate','is a 2.5% conversion rate good'.
/v1/calc/mkt-conversion-ratePOSTCompute per-step conversion (count[i]/count[i-1]), cumulative conversion, overall = bottom/top, and the biggest drop-off stage across an ordered funnel. Answers 'what's my overall funnel conversion','where is my biggest drop-off'.
/v1/calc/mkt-funnel-conversionPOSTCompute the viral coefficient K = invitesPerUser * inviteConversionRate, flag self-sustaining virality (K>=1), and (given initialUsers + cycles) project compounded user growth plus the steady-state ceiling u0/(1-K) when K<1. Answers 'what's my viral K-factor','am I viral','how many users will this referral loop generate'.
/v1/calc/mkt-viral-k-factorPOSTProject an email funnel (sent -> opens -> clicks -> conversions -> revenue) and compute ROI = (revenue - cost) / cost with a rating bucket. Answers 'what's the ROI of this email campaign','how much revenue will this blast drive'.
/v1/calc/mkt-email-roiPOSTCompute blended customer-acquisition cost = (marketingSpend + salesSpend) / newCustomers. The all-in acquisition cost across channels. Answers 'what's my blended CAC','how much does it cost to acquire a customer'.
/v1/calc/mkt-blended-cacPOSTCompute LTV = ARPA * grossMargin * lifetimeMonths (lifetime from 1/churnRate or supplied directly) and the LTV:CAC ratio plus CAC payback, with the >=3x health benchmark. Answers 'what's my LTV to CAC ratio','is my unit economics healthy','how long to pay back CAC'.
/v1/calc/mkt-ltv-to-cacPOSTRun a two-proportion z-test on conversion counts: z = (p2 - p1) / sqrt(pPool(1-pPool)(1/n1 + 1/n2)), two-tailed p-value via the normal CDF, absolute & relative lift, and a significant/inconclusive verdict at the chosen confidence level. Answers 'is my A/B test statistically significant','which variant won','what's the p-value'.
/v1/calc/mkt-ab-test-significancePOSTNormalize per-channel weights and split a total budget: amount_i = totalBudget * weight_i / sum(weights), returning each channel's share and dollar amount. Answers 'how should I split my budget across channels','how much goes to search vs social at these weights'.
/v1/calc/mkt-budget-allocationPOSTCompute reach% (uniqueReach/population), average frequency (impressions/uniqueReach), and Gross Rating Points = reach% * frequency, with an effective-frequency rating. Answers 'what are my GRPs','what's my average frequency','am I hitting effective frequency'.
/v1/calc/mkt-reach-frequencyPOSTCompute share of voice = brandValue / marketTotal (spend, impressions, or mentions) with a leader/challenger/niche rating. Answers 'what's my share of voice','how do I rank vs the market at this spend'.
/v1/calc/mkt-share-of-voicePOSTCompute CAC payback months = CAC / (ARPA * grossMargin), the time for a customer's margin to recover acquisition cost, with a fast/moderate/slow rating. Answers 'how long to pay back CAC','what's my payback period in months'.
/v1/calc/mkt-paybackPOSTCompute eCPM = revenue / impressions * 1000, the effective revenue per 1000 impressions for publishers/monetization. Answers 'what's my eCPM','how much am I earning per 1000 impressions'.
/v1/calc/mkt-ecpmPOSTCompute engagementRate = engagements / base (reach or followers) with a high/average/low rating. Deterministic social-media math. Answers 'what's my engagement rate','is my engagement rate good'.
/v1/calc/mkt-engagement-ratePOSTTransparent weighted rubric scoring a paid channel 0-100 from five normalized factors with documented weights (roas 0.30, ctr 0.15, conversionRate 0.20, ltvToCac 0.25, retention 0.10), returning a per-factor breakdown and an A-F grade. Answers 'how healthy is this marketing channel','what's dragging my channel score down'.
/v1/calc/mkt-channel-health-scorePOSTTop-down market sizing: SAM = TAM * serviceablePercent, SOM = SAM * obtainablePercent, and (given avgRevenuePerCustomer) the obtainable customer count. Answers 'what's my SAM and SOM','how many customers can I realistically obtain from this market'.
/v1/calc/mkt-market-sizePOSTFixed-fractional position sizing: units = (account · riskPct) / |entry − stop|, so a stop-out costs no more than the chosen fraction of the account. Deterministic risk math LLMs miscompute. Answers 'how many shares risking 1%','what position size for a 5-point stop','how big a trade can I take'.
/v1/calc/trade-position-sizePOSTRisk/reward ratio R:R = |target − entry| / |entry − stop|, plus the minimum breakeven win-rate = 1/(1+R:R). Deterministic trade-quality math. Answers 'what's my risk reward','is this a 3 to 1 trade','what win rate do I need to break even at this R:R'.
/v1/calc/trade-risk-rewardPOSTDerive stop-loss and take-profit prices from an entry, a stop distance (percent or absolute) and a target R:R: long stop = entry − d, target = entry + R·d. Deterministic level math. Answers 'where's my stop for a 5% risk','what's the take profit at 2R','set my stop and target prices'.
/v1/calc/trade-stop-loss-levelPOSTIsolated-margin liquidation price for a leveraged position: long liqPrice = entry · (1 − 1/leverage + maintenanceMarginRate). Deterministic margin math LLMs get wrong. Answers 'where do I get liquidated at 10x','liquidation price for my long','how far can price drop before margin call'.
/v1/calc/trade-leverage-liquidationPOSTTrade PnL: grossPnl = (exit − entry)·units·(long?1:−1), net subtracts fees; returns return-on-position and return-on-margin (if leverage given). Deterministic accounting. Answers 'what's my profit','PnL on this trade','return on margin at 2x','did this trade win or lose'.
/v1/calc/trade-pnlPOSTKelly criterion optimal stake: f* = W − (1−W)/R where W = win probability and R = win/loss payoff ratio; returns full, half and quarter Kelly. Deterministic optimal-sizing math. Answers 'what's my Kelly bet size','how much capital should I risk','half-Kelly fraction for my edge'.
/v1/calc/trade-kelly-criterionPOSTRequired gain to recover a drawdown: requiredGain = d/(1−d) — a 50% loss needs a 100% gain. Deterministic, the asymmetry LLMs misjudge. Answers 'what gain to recover a 30% drawdown','how much to make back after a 50% loss','recovery multiplier for my drawdown'.
/v1/calc/trade-drawdown-recoveryPOSTMinimum breakeven win-rate for a given reward/risk ratio: W = 1/(1+R:R), optionally fee-adjusted. Deterministic edge math. Answers 'what win rate to break even at 2:1','minimum hit rate for my R:R','do my odds beat breakeven'.
/v1/calc/trade-breakeven-winratePOSTFutures notional and initial margin: notional = price·contracts·contractSize, margin = notional·marginRate (or notional/leverage). Deterministic contract math. Answers 'margin to open 2 BTC contracts','notional value of my futures position','required margin at 10x'.
/v1/calc/trade-futures-marginPOSTFX pip value: pipValue = pipSize · units, converted to the account currency by the quote→account rate; 1 standard lot = 100,000 units. Deterministic FX math. Answers 'what's one pip worth on a standard lot','pip value for 0.5 lots','dollar value per pip'.
/v1/calc/trade-pip-valuePOSTR-multiple of a closed trade: R = (exit − entry)/(entry − stop), the result in units of initial risk — the core metric of systematic trade journals. Deterministic. Answers 'what R was this trade','how many R did I make','express my profit in risk units'.
/v1/calc/trade-r-multiplePOSTTrading-system expectancy: E = W·avgWin − (1−W)·avgLoss (average profit per trade), also as an R-multiple expectancy W·R − (1−W). Deterministic edge math. Answers 'what's my expectancy per trade','is my system profitable','average profit per trade for my win rate'.
/v1/calc/trade-expectancyPOSTCompounding: project final = start·(1+r)^n over n trades, or solve trades n = ln(target/start)/ln(1+r) to reach a goal at a per-trade return. Deterministic compounding math LLMs fumble. Answers 'how many trades to double at 2%','what will 1000 grow to at 2% over 50 trades','trades needed to hit my target'.
/v1/calc/trade-compounding-targetPOSTBlended cost basis across fills: averagePrice = Σ(price·units)/Σunits (= the break-even price). Deterministic weighted-average math. Answers 'what's my average price after adding','blended cost basis for these fills','break-even after averaging down'.
/v1/calc/trade-average-downPOSTProfit factor = grossProfit/grossLoss over a list of per-trade PnLs (>1 is profitable), with win-rate, payoff ratio and net PnL. Deterministic backtest stats. Answers 'what's my profit factor','is this strategy profitable','win rate and payoff for these trades'.
/v1/calc/trade-profit-factorPOSTGambler's-ruin risk of ruin for equal bet sizes: RoR = (q/p)^N for p>0.5 (q=1−p, N = bankroll in bet-units), the probability of losing the whole bankroll. Deterministic probability math. Answers 'what's my risk of ruin','chance of blowing up at 55% win rate','probability of losing my whole bankroll'.
/v1/calc/trade-risk-of-ruinPOSTTrailing-stop price: long stop = highPrice·(1 − trailPct), short stop = lowPrice·(1 + trailPct), plus locked-in profit vs entry. Deterministic level math. Answers 'where's my trailing stop','locked profit on a 10% trail','trailing stop from the high'.
/v1/calc/trade-trailing-stopPOSTVolatility-based sizing: stopDistance = atr·atrMultiple, units = (account·riskPct)/stopDistance — sizes positions to the instrument's ATR. Deterministic risk math. Answers 'position size from ATR','how many units for a 2-ATR stop','volatility-adjusted size'.
/v1/calc/trade-atr-position-sizePOSTMaximum position by margin: maxUnits = (account·leverage)/price, plus margin consumed at a target size. Deterministic buying-power math. Answers 'max position I can open at 5x','buying power for my account','margin needed for 300 units'.
/v1/calc/trade-max-positionPOSTPercent move to a target: gainPct = (target/entry − 1)·100, or the price for a desired gain: target = entry·(1+gainPct). Deterministic percentage math. Answers 'what gain to reach 150','target price for a 25% move','percent move from entry to target'.
/v1/calc/trade-gain-to-targetPOSTCompute impermanent loss for a constant-product (x·y=k, Uniswap-v2-style) 50/50 LP using the canonical closed form IL = 2·√k/(1+k) − 1 where k is the price ratio — plus LP-vs-HODL value for a deposit. Deterministic AMM math LLMs get wrong. Answers 'what's my impermanent loss if price 4x','LP vs HODL value','IL for a 50/50 pool'.
/v1/calc/cryptocalc-impermanent-lossPOSTCompute LP fee APR/APY from daily volume, fee tier and pool share: feeAPR = (volume·feeTier·share/liquidity)·365, APY = (1+APR/n)^n − 1, plus an optional reward APR. Deterministic DeFi yield math with a per-source breakdown. Answers 'what APY does this pool earn','fee APR from volume','LP yield with rewards'.
/v1/calc/cryptocalc-lp-apyPOSTProject staking rewards by compounding a nominal APR net of validator commission: final = principal·(1+netAPR/n)^(n·years), netAPR = APR·(1−commission), with effective APY = (1+netAPR/n)^n − 1. Deterministic compounding math. Answers 'how much will I earn staking','effective APY after commission','staking rewards over a year'.
/v1/calc/cryptocalc-staking-rewardsPOSTCompute the liquidation price of a leveraged perp position: long = entry·(1 − 1/L + mmr), short = entry·(1 + 1/L − mmr) where mmr is the maintenance margin rate — plus the price-move buffer to liquidation. Deterministic risk math. Answers 'where do I get liquidated at 10x','liquidation price for a short','how far is my liq price'.
/v1/calc/cryptocalc-liquidation-pricePOSTCompute the USD cost of an EVM transaction: costNative = gasUnits·(base+tip gwei)·1e-9, costUsd = costNative·nativeUsd, with an EIP-1559 priority tip and a per-component breakdown. Deterministic gas math. Answers 'how much does this tx cost in USD','gas fee at 25 gwei','cost of a 21000-gas transfer'.
/v1/calc/cryptocalc-gas-cost-usdPOSTCompute unlocked vs locked tokens for a linear vesting schedule with a cliff: unlocked = total·min(1, elapsed/vesting) once elapsed >= cliff, else 0 — plus percent unlocked and USD values. Deterministic schedule math. Answers 'how many tokens unlocked at month 12','am I past the cliff','locked supply value'.
/v1/calc/cryptocalc-token-vesting-unlockPOSTEstimate an airdrop allocation and its USD value from a points share: allocation = (yourPoints/totalPoints)·totalSupply·airdropPct, value = allocation·price. Deterministic pro-rata math. Answers 'how much is my airdrop worth','allocation from points','value of a 10% airdrop share'.
/v1/calc/cryptocalc-airdrop-valuePOSTCompute DCA outcomes from fixed periodic buys: tokens = Σ contribution/price, avgCost = invested/tokens, ROI = (value−invested)/invested at a final price. Deterministic accumulation math. Answers 'what's my DCA average cost','return from buying $100/week','DCA profit at todays price'.
/v1/calc/cryptocalc-dca-returnsPOSTCompute mining daily profit: dailyCoins = (hashrate/networkHashrate)·blocksPerDay·blockReward·(1−poolFee), profit = dailyCoins·coinPrice − (powerWatts·24/1000)·electricityCost, plus the break-even electricity price. Deterministic mining math. Answers 'is mining profitable','daily mining revenue','break-even electricity cost'.
/v1/calc/cryptocalc-mining-profitabilityPOSTConvert a nominal APR to effective APY (or invert) for a given compounding frequency: APY = (1+APR/n)^n − 1, APR = n·((1+APY)^(1/n) − 1), with continuous compounding (e^APR − 1) supported. Deterministic compounding conversion. Answers 'convert 5% APR to APY','APY for daily compounding','what APR gives this APY'.
/v1/calc/cryptocalc-apr-to-apyPOSTCompute the TVL-to-market-cap valuation ratio (ratio = TVL/marketCap; optional TVL/FDV) — a DeFi heuristic where >1 suggests undervaluation and <1 a premium, with a rating bucket. Deterministic valuation math. Answers 'is this protocol undervalued','TVL to mcap ratio','TVL vs FDV'.
/v1/calc/cryptocalc-tvl-mcap-ratioPOSTCompute an Aave-style lending health factor: HF = (collateral·liquidationThreshold)/debt, where HF < 1 is liquidatable — plus the collateral price drop to liquidation and a rating bucket. Deterministic risk math. Answers 'what's my health factor','how far from liquidation','is my loan safe'.
/v1/calc/cryptocalc-lending-health-factorPOSTCompute perpetual-futures funding: cost = notional·fundingRate·intervals (longs pay shorts when the rate is positive), with the annualized funding rate from the interval length. Deterministic funding math. Answers 'how much funding will I pay','perp funding cost over a day','annualized funding rate'.
/v1/calc/cryptocalc-perp-funding-costPOSTSize a trade by the fixed-fractional risk rule: units = (account·riskPct)/|entry−stop|, positionValue = units·entry, leverageRequired = positionValue/account. Deterministic risk-management math. Answers 'how big a position for 1% risk','position size from my stop','leverage needed for this trade'.
/v1/calc/cryptocalc-position-sizePOSTCompute leveraged trade PnL and return-on-equity: long PnL = size·(exit−entry) (short inverts), margin = notional/leverage, ROE = PnL/margin. Deterministic trading math. Answers 'what's my PnL at 10x','return on margin','profit from this leveraged trade'.
/v1/calc/cryptocalc-leverage-pnlPOSTCompute a constant-product (x·y=k) AMM swap: out = rOut·(in·(1−fee))/(rIn + in·(1−fee)), with the spot price, effective price, and price impact. Deterministic AMM math. Answers 'how much will I get from this swap','price impact of a 10k swap','Uniswap v2 output amount'.
/v1/calc/cryptocalc-amm-swap-outputPOSTCompute the break-even exit price covering round-trip fees: long BE = entry·(1+feeIn)/(1−feeOut) (short inverts), plus the required % move. Deterministic trading math. Answers 'what price do I break even at','move needed to cover fees','break-even after taker fees'.
/v1/calc/cryptocalc-break-even-pricePOSTCompute the maximum drawdown of an equity/price series: maxDD = max over t of (runningPeak − value)/runningPeak, with the peak and trough values and total return. Deterministic risk math. Answers 'what's the max drawdown','worst peak-to-trough decline','drawdown of this equity curve'.
/v1/calc/cryptocalc-max-drawdownPOSTCompute the annualized Sharpe ratio of a return series: Sharpe = (mean − rfPerPeriod)/σ annualized by ×√periodsPerYear, using sample standard deviation. Deterministic risk-adjusted-return math. Answers 'what's the Sharpe ratio','risk-adjusted return of this strategy','annualized Sharpe from daily returns'.
/v1/calc/cryptocalc-sharpe-ratioPOSTConvert an LP pool share into underlying token amounts and USD value: share = lp/totalLp, amount_i = share·reserve_i, value = Σ amount_i·price_i. Deterministic LP-accounting math. Answers 'what are my LP tokens worth','underlying tokens behind my share','value of my liquidity position'.
/v1/calc/cryptocalc-pool-share-valuePOSTCompute the optimal order quantity via the Wilson EOQ formula sqrt(2·D·S/H), with orders/year, cycle time, and the balanced ordering vs holding cost breakdown — deterministic inventory math LLMs get wrong. Answers 'what is my EOQ','how many orders per year','what order size minimizes total inventory cost'.
/v1/calc/logi-eoqPOSTCompute the optimal order quantity allowing planned shortages: Q* = sqrt(2·D·S/H)·sqrt((H+B)/B), with max inventory and max backorder levels — the backorder-extended Wilson model. Answers 'EOQ when backorders are allowed','optimal order size with shortage cost','how many units can I backorder'.
/v1/calc/logi-eoq-backorderPOSTCompute the optimal production lot size via EPQ = sqrt(2·D·S/H)·sqrt(p/(p-d)) for the finite-replenishment-rate model, with the resulting max inventory level — the production analogue of EOQ. Answers 'optimal production batch size','EPQ for my line','max inventory during a production run'.
/v1/calc/logi-epqPOSTCompute the reorder point ROP = (dailyDemand·leadTime) + z·σ·sqrt(leadTime) with the service-level z derived from the inverse-normal CDF, returning the lead-time-demand and safety-stock breakdown. Answers 'when should I reorder','reorder point at 95% service level','how much stock triggers a purchase order'.
/v1/calc/logi-reorder-pointPOSTCompute safety stock SS = z·σ·sqrt(leadTime) with the service-level z from the inverse-normal CDF — the buffer that protects a target service level against demand variability. Answers 'how much safety stock do I need','safety stock for 95% service level','buffer inventory for demand variability'.
/v1/calc/logi-safety-stockPOSTCompute lead-time demand LTD = dailyDemand·leadTime and its variability σ_LTD = σ·sqrt(leadTime) — the demand a replenishment must cover during the lead time. Answers 'expected demand during lead time','lead-time demand variability','units consumed before stock arrives'.
/v1/calc/logi-lead-time-demandPOSTConvert a target cycle service level (probability) into its safety-factor z via the inverse standard-normal CDF (Acklam's algorithm) — the multiplier behind every safety-stock and reorder-point calculation. Answers 'z for 95% service level','safety factor for 99% fill','what z-score for my service target'.
/v1/calc/logi-service-level-zPOSTCompute the fill rate = unitsShipped / unitsDemanded with stockout units and a service rating bucket — the core demand-satisfaction KPI. Answers 'what is my fill rate','how many units stocked out','am I meeting service-level targets'.
/v1/calc/logi-fill-ratePOSTCompute days inventory outstanding DIO = (averageInventory / COGS)·periodDays and inventory turns, with a lean/healthy/elevated/excess rating — the working-capital efficiency metric. Answers 'how many days of inventory do I hold','days inventory outstanding','inventory turns per year'.
/v1/calc/logi-days-of-inventoryPOSTCompute inventory turnover = COGS/averageInventory, days-on-hand, and (when gross margin is supplied) GMROI = grossMargin/averageInventory with a profitability rating — core retail/merchandising productivity metrics. Answers 'inventory turnover ratio','GMROI for this product','days on hand'.
/v1/calc/logi-inventory-turnoverPOSTClassify an SKU into Pareto A/B/C tiers by its cumulative share of annual value (default thresholds A≤80%, B≤95%, else C) and return the recommended inventory-control policy — the standard ABC stratification rubric. Answers 'is this an A/B/C item','ABC classification threshold','what control policy for this SKU'.
/v1/calc/logi-abc-analysisPOSTCompute dimensional weight = (L·W·H)/divisor (cm, default carrier divisor 5000) and the billable weight = max(dimensional, actual) — the parcel-pricing rule every carrier applies. Answers 'dimensional weight of this box','will I be billed on dim or actual weight','volumetric weight for shipping'.
/v1/calc/logi-dimensional-weightPOSTCompute cases per layer (best of two footprint orientations), stackable layers = floor(maxHeight/caseHeight), total cases, and floor & volume utilization for a pallet — deterministic palletization geometry. Answers 'how many cases fit on a pallet','pallet cube utilization','cases per layer and how many layers'.
/v1/calc/logi-pallet-utilizationPOSTCompute how many cartons fit in a shipping container as floor(containerVolume·stowFactor / cartonVolume) capped by payload weight, with the binding constraint and cube utilization — deterministic container-loading math. Answers 'how many cartons fit in a 40ft container','is my load volume or weight limited','container cube utilization'.
/v1/calc/logi-container-utilizationPOSTCompute trucks required = max(ceil(totalVolume/truckVolume), ceil(totalWeight/truckPayload)) with the binding constraint and volume/weight utilization — deterministic FTL planning. Answers 'how many trucks do I need','is my freight cube or weight limited','truck utilization for this shipment'.
/v1/calc/logi-truckload-optimizationPOSTCompute total freight cost = max(billableWeight·rate·(1+fuel%) + accessorials, minimumCharge) with a line-item breakdown — the standard weight-based freight rating model. Answers 'how much will this shipment cost','freight cost with fuel surcharge','does the minimum charge apply'.
/v1/calc/logi-freight-costPOSTCompute warehousing cost = palletPositions·costPerPosition·months + (inbound+outbound)·handlingPerPallet with a storage vs handling split — deterministic 3PL cost modeling. Answers 'monthly warehouse storage cost','total cost including handling','3PL pallet storage charge'.
/v1/calc/logi-warehouse-costPOSTCompute cost per unit shipped = (transport + warehousing + handling) / unitsShipped with a cost-component breakdown — the cost-to-serve metric for unit-economics decisions. Answers 'logistics cost per unit','cost to serve per order','total fulfillment cost per item'.
/v1/calc/logi-cost-per-unitPOSTCompute OTIF = (onTimeOrders/total)·(inFullOrders/total) with on-time and in-full sub-rates and a world-class/competitive/developing/at-risk rating — the retailer-mandated delivery KPI. Answers 'what is my OTIF score','on-time in-full performance','delivery reliability metric'.
/v1/calc/logi-otifPOSTCompute the perfect order rate = onTime·inFull·damageFree·documentationAccuracy (product of the four component rates) with a per-factor breakdown and rating — the supply-chain perfect-order KPI. Answers 'what is my perfect order rate','percentage of flawless orders','perfect order index'.
/v1/calc/logi-perfect-order-ratePOSTScore supply-chain resilience 0-100 via a transparent weighted rubric — supplierDiversification 0.25, inventoryBuffer 0.20, leadTimeReliability 0.20, geographicDispersion 0.15, demandForecastAccuracy 0.20 (each factor 0-1) — with a per-factor contribution breakdown and a robust/resilient/exposed/fragile rating. Answers 'how resilient is my supply chain','supply-chain risk score','which factor weakens my resilience'.
/v1/calc/logi-resilience-scorePOSTScore a supplier 0-100 via a transparent weighted rubric — qualityRate 0.30, onTimeDelivery 0.30, costCompetitiveness 0.20, responsiveness 0.20 (each 0-1) — with a per-factor breakdown and an A-F grade. Answers 'how good is this supplier','vendor scorecard grade','which supplier metric is dragging the score'.
/v1/calc/logi-supplier-scorecardPOSTConvert between annual salary and hourly rate using hourly = annual / (hoursPerWeek x weeksPerYear) (default 2080 full-time hours), with monthly/biweekly/weekly/daily breakdowns. Deterministic payroll math LLMs slip on. Answers 'what's $104k a year hourly','convert $50/hr to a salary','what's my biweekly paycheck'.
/v1/calc/hr-salary-to-hourlyPOSTCompute gross pay with FLSA overtime: regular pay up to the threshold (default 40 hrs) then 1.5x (configurable multiplier) above it, returning regular/overtime hours, rates, and gross. Deterministic wage math. Answers 'what's my pay for 48 hours at $25/hr','how much overtime do I get','time-and-a-half on 8 OT hours'.
/v1/calc/hr-overtime-payPOSTEstimate net pay as taxable = gross - preTaxDeductions, then net = taxable - (effectiveTaxRate x taxable) - postTaxDeductions, returning the take-home ratio and optional annualized figures. A transparent net-pay model. Answers 'what's my take-home on $5000 gross','net pay after 22% tax and 401k','how much hits my bank account'.
/v1/calc/hr-take-home-payPOSTGross-up the payment needed so an employee nets a target after a flat tax rate using gross = net / (1 - rate), returning tax withheld and the gross-up factor. The standard relocation/bonus gross-up formula. Answers 'what gross gives a $5000 net at 31.69%','gross-up a net bonus','how much to pay so they keep $X'.
/v1/calc/hr-gross-upPOSTEstimate withholding on a bonus using the US supplemental flat-rate method: 22% federal (IRS flat rate) + optional 7.65% FICA (6.2% SS + 1.45% Medicare) + a state rate, returning net bonus and effective rate. Deterministic withholding math. Answers 'how much tax on a $10k bonus','what's my net bonus','supplemental withholding rate'.
/v1/calc/hr-bonus-tax-withholdingPOSTTranslate a raise (given as percent or dollar amount) into the new salary plus monthly and per-paycheck increases, deriving whichever of percent/amount you omit. Deterministic comp math. Answers 'what's a 5% raise on $80k worth','how much more per paycheck','what raise gets me to $84k'.
/v1/calc/hr-raise-impactPOSTSum total comp = base + bonus + annualized equity (equityValue/vestingYears) + benefits + retirement match, returning cash comp, base-as-percent-of-total, and a per-component breakdown. A transparent TC model for offer comparison. Answers 'what's my total comp','annualize my equity grant','cash vs total compensation'.
/v1/calc/hr-total-compPOSTCompute vested vs unvested shares under a standard cliff + monthly schedule (default 4yr / 1yr cliff): nothing vests before the cliff, then shares/month = total/(years x 12) accrue, returning percent vested and cliff status. Deterministic vesting math. Answers 'how many shares are vested at month 24','did I pass my cliff','what's my unvested equity'.
/v1/calc/hr-equity-vestingPOSTValue vested RSUs as sharesVested x sharePrice and estimate supplemental tax withholding (default 22% federal) to return gross and net value. Deterministic equity-comp math. Answers 'what are my 1000 RSUs worth at $42.50','net value after taxes on RSUs','how much will my vest be after withholding'.
/v1/calc/hr-rsu-valuePOSTCompute stock-option intrinsic value as max(0, fairMarketValue - strikePrice) x shares, plus exercise cost and in/at/out-of-the-money status. Deterministic option math (intrinsic, not Black-Scholes). Answers 'what's my option spread at $15 fmv','are my options in the money','intrinsic value of 5000 options'.
/v1/calc/hr-option-valuePOSTCompute the SHRM/ANSI cost-per-hire = (internal recruiting costs + external recruiting costs) / number of hires. Deterministic recruiting-metrics math. Answers 'what's our cost per hire','recruiting cost divided by hires','CPH for 10 hires at $50k spend'.
/v1/calc/hr-cost-per-hirePOSTCompute turnover rate = (separations / average headcount) x 100 where average headcount = (beginning + ending)/2, returning the retention rate and a low/moderate/high rating. Deterministic HR-ops math. Answers 'what's our turnover rate','annual attrition percentage','retention rate from 15 departures'.
/v1/calc/hr-turnover-ratePOSTCompute FTE = total weekly hours worked / full-time weekly hours (default 40), the standard way to convert mixed part/full-time hours into headcount equivalents. Deterministic workforce math. Answers 'how many FTEs is 1240 weekly hours','convert part-time hours to FTE','headcount equivalent of my team'.
/v1/calc/hr-ftePOSTCompute accrued PTO as (annualPtoDays x hoursPerDay / payPeriodsPerYear) x periodsElapsed + carryover, optionally capped, then balance = accrued - used, in hours and days. Deterministic leave-accrual math. Answers 'how much PTO have I accrued','my vacation balance in days','PTO after 13 pay periods'.
/v1/calc/hr-pto-accrualPOSTCompute severance = weeklySalary x weeksPerYearOfService x yearsOfService, the standard tenure-based formula (weekly derived from annual/52 when not given). Deterministic offboarding math. Answers 'what's my severance for 6 years','2 weeks per year of service payout','severance on an $78k salary'.
/v1/calc/hr-severancePOSTCompute absenteeism rate = (absent days / (available work days x employees)) x 100, returning attendance rate and a low/moderate/high rating. Deterministic attendance math. Answers 'what's our absenteeism rate','attendance percentage for the team','absence rate over 250 work days'.
/v1/calc/hr-absenteeism-ratePOSTProject ending headcount = beginning + hires - separations, with net change, period growth, and annualized growth = (1 + periodGrowth)^(12/periodMonths) - 1. Deterministic workforce-planning math. Answers 'what's our ending headcount','annualized headcount growth','net change after 40 hires and 25 exits'.
/v1/calc/hr-headcount-run-ratePOSTScore flight risk 0-100 via a transparent weighted rubric over five normalized factors: compaRatioGap (0.30), tenureRisk (0.15, peaking ~1.5yr), engagementGap (0.25), managerQualityGap (0.15), and promotionStagnation (0.15), with a low/moderate/high rating and a per-factor contribution breakdown. Answers 'how likely is this employee to leave','what's driving their flight risk','retention risk score for an underpaid 1.5yr employee'.
/v1/calc/hr-retention-riskPOSTCompute compa-ratio = salary / range midpoint (midpoint = (min+max)/2 when not given), classifying below/within/above range and reporting range penetration when min/max are supplied. Deterministic comp-analysis math. Answers 'what's my compa-ratio','am I paid below midpoint','range penetration for $95k in an $80k-$120k band'.
/v1/calc/hr-compa-ratioPOSTCompute offer acceptance rate = (offers accepted / offers extended) x 100, with decline rate and a poor/fair/good/excellent rating. Deterministic recruiting-funnel math. Answers 'what's our offer acceptance rate','decline rate on offers','OAR for 17 of 20 accepted'.
/v1/calc/hr-offer-acceptance-ratePOSTCompute revenue per employee = total revenue / headcount, the standard workforce-productivity metric. Deterministic ratio. Answers 'what's our revenue per employee','productivity per head','revenue per FTE at 125 employees'.
/v1/calc/hr-revenue-per-employeePOSTCompute labor cost percentage = (total labor cost / total revenue) x 100, with a low/healthy/elevated/high rating. Deterministic cost-ratio math. Answers 'what percent of revenue is labor','labor cost ratio','is our labor cost healthy at 30%'.
/v1/calc/hr-labor-cost-percentPOSTCompute merit budget percent = (merit pool / total payroll) x 100 and, when eligible headcount is given, the average increase per employee. Deterministic comp-planning math. Answers 'what's our merit budget percent','average raise per employee','merit spread on a $250k pool over $5M payroll'.
/v1/calc/hr-merit-budgetPOSTSolve Ohm's law (V = I·R, P = V·I) given any two of voltage, current, and resistance — returns all four quantities including power dissipation. Deterministic EE arithmetic LLMs get wrong. Answers 'what current flows through 4 ohms at 12V','what power does this draw','find resistance from V and I'.
/v1/calc/eng-ohms-lawPOSTCompute the output of a resistive voltage divider (Vout = Vin·R2/(R1+R2)) plus loop current and divide ratio. The canonical analog-design formula. Answers 'what is Vout for a 1k/2k divider on 9V','what divide ratio do these resistors give','how much current flows in the divider'.
/v1/calc/eng-voltage-dividerPOSTCompute resistor power dissipation (P = I²·R = V²/R) from resistance plus current or voltage, and recommend a standard wattage rating with 2x derating. Answers 'how much power does a 100Ω resistor dissipate at 0.5A','what wattage resistor do I need','will this resistor overheat'.
/v1/calc/eng-resistor-powerPOSTSize the current-limiting series resistor for an LED (R = (Vsupply − Vforward) / Iforward), snapping to the nearest E24 value and reporting resistor power. Answers 'what resistor for a 2V LED at 20mA on 5V','nearest standard resistor for my LED','what wattage resistor does the LED need'.
/v1/calc/eng-led-resistorPOSTCompute an RC circuit's time constant (τ = R·C), 99% settling time (5τ), and the charge/discharge percentage at an optional time t (Vc = V·(1−e^(−t/τ)). Answers 'what is the RC time constant of 1kΩ and 1µF','how long to settle','what percent charged at t'.
/v1/calc/eng-rc-time-constantPOSTCompute translational kinetic energy (KE = ½·m·v²) and linear momentum (p = m·v) from mass and velocity. Answers 'kinetic energy of a 2kg object at 3 m/s','how much energy in this motion','momentum of a moving mass'.
/v1/calc/eng-kinetic-energyPOSTCompute gravitational potential energy (PE = m·g·h) using standard gravity 9.80665 m/s² (overridable). Answers 'potential energy of 10kg at 5m','how much energy to lift this','PE on the Moon with custom gravity'.
/v1/calc/eng-potential-energyPOSTCompute drag-free projectile range (R = v²·sin2θ/g), max height (H = (v·sinθ)²/2g), time of flight, and velocity components from launch speed and angle. Answers 'how far does a projectile go at 20 m/s 45°','max height of this launch','time of flight of a projectile'.
/v1/calc/eng-projectilePOSTCompute gear ratio (driven/driver) and classify reduction vs overdrive, optionally transforming input RPM (÷ratio) and torque (×ratio). Answers 'gear ratio of 12 and 36 teeth','output RPM through this gearset','output torque after the reduction'.
/v1/calc/eng-gear-ratioPOSTConvert rotational torque and speed to power (P = T·ω, ω = 2π·rpm/60) with horsepower (T_lbft·rpm/5252) and lb·ft equivalents. Answers 'how much power is 50 N·m at 3000 rpm','convert torque and rpm to HP','torque in lb·ft'.
/v1/calc/eng-torque-powerPOSTSolve the SUVAT equations of motion (v = u + a·t, s = u·t + ½·a·t²) for final velocity, displacement, and average velocity. Answers 'final speed after accelerating 2 m/s² for 5s from 10 m/s','how far does it travel','average velocity over the interval'.
/v1/calc/eng-kinematicsPOSTConvert between force and pressure over an area (P = F/A) with kPa, psi, and bar equivalents. Answers 'pressure of 1000N over 0.5 m²','force from this pressure and area','convert Pa to psi for a given load'.
/v1/calc/eng-pressure-forcePOSTCompute volumetric flow rate through a circular pipe (Q = A·v, A = π·(d/2)²) in m³/s, L/s, and m³/h. Answers 'flow rate in a 0.1m pipe at 2 m/s','how many litres per second','m³/h through this pipe'.
/v1/calc/eng-flow-ratePOSTCompute fluid velocity in a circular pipe from volumetric flow rate and diameter (v = Q/A, A = π·(d/2)²). Answers 'velocity for 0.0157 m³/s in a 0.1m pipe','how fast is the flow','velocity from flow rate and pipe size'.
/v1/calc/eng-fluid-velocityPOSTCompute pump hydraulic and shaft power (P = ρ·g·Q·H / η) to lift fluid at flow Q over head H, with kW and HP. Answers 'pump power for 0.05 m³/s at 20m head','shaft power at 70% efficiency','how many kW to pump this'.
/v1/calc/eng-pump-powerPOSTCompute the Reynolds number (Re = ρ·v·D/μ) and classify the flow regime as laminar (<2300), transitional, or turbulent (>4000). Answers 'Reynolds number for water at 2 m/s in 0.1m pipe','is this flow laminar or turbulent','flow regime from these properties'.
/v1/calc/eng-reynolds-numberPOSTCompute maximum beam deflection for a cantilever with end load (δ = F·L³/3EI) or simply-supported beam with center load (δ = F·L³/48EI). Answers 'deflection of a cantilever under 1kN','how much does this beam sag','max deflection for these section properties'.
/v1/calc/eng-beam-deflectionPOSTLook up copper conductor ampacity per NEC 310.16 by AWG gauge and insulation temperature rating (60/75/90 °C), returning area in kcmil and all three ratings. Answers 'ampacity of 12 AWG copper','how many amps can 2/0 carry','wire current rating at 75°C'.
/v1/calc/eng-wire-ampacityPOSTCompute electricity cost from power draw, runtime, and tariff (cost = (W/1000)·hours·$/kWh) with daily, monthly, and annual projections. Answers 'cost to run a 100W device 5h/day at $0.15/kWh','annual electricity bill for this load','kWh per month'.
/v1/calc/eng-energy-costPOSTCompute conductive heat loss through a wall (Fourier's law Q = k·A·ΔT/d) and its thermal resistance (R = d/(k·A)). Answers 'heat loss through 0.1m insulation','thermal resistance of this wall','watts lost across a temperature difference'.
/v1/calc/eng-heat-lossPOSTCompute the canonical PMI/PMBOK earned-value metrics from PV, EV, AC — CV = EV-AC, SV = EV-PV, CPI = EV/AC, SPI = EV/PV — with percent variances, over-budget/behind-schedule flags, a health bucket, and a per-metric breakdown. Deterministic ratios LLMs get subtly wrong. Answers 'what is my CPI and SPI','is this project over budget','how far behind schedule am I','give me the earned-value breakdown'.
/v1/calc/pm-earned-valuePOSTCompute cost variance CV = EV - AC with percent variance, CPI = EV/AC, and an under/over/on-budget rating — the focused PMBOK cost-performance signal. Answers 'what is my cost variance','am I under or over budget','what is the CPI from EV and AC'.
/v1/calc/pm-cost-variancePOSTCompute schedule variance SV = EV - PV with percent variance, SPI = EV/PV, and an ahead/behind/on-schedule rating — the focused PMBOK schedule-performance signal. Answers 'what is my schedule variance','am I ahead or behind schedule','what is the SPI from EV and PV'.
/v1/calc/pm-schedule-variancePOSTForecast project cost with the standard PMBOK EAC family — method 'cpi': EAC = BAC/CPI; 'cpi-spi': EAC = AC + (BAC-EV)/(CPI·SPI); 'remaining': EAC = AC + (BAC-EV) — plus ETC = EAC-AC, VAC = BAC-EAC, projected overrun, and a breakdown. Answers 'what will this project cost at completion','estimate to complete','what is my variance at completion','will I overrun the budget'.
/v1/calc/pm-estimate-at-completionPOSTCompute the PMBOK to-complete performance index — target 'bac': TCPI = (BAC-EV)/(BAC-AC); target 'eac': TCPI = (BAC-EV)/(EAC-AC) — the cost efficiency the remaining work must hit to land on budget, with an achievability flag. Answers 'how efficient must my remaining work be','can I still hit budget','what is the TCPI to BAC'.
/v1/calc/pm-tcpiPOSTCompute the PERT three-point estimate — beta te = (O + 4M + P)/6 or triangular (O+M+P)/3 — with standard deviation (P-O)/6, variance, and an optional normal-approximation confidence interval. Answers 'what is the PERT estimate','expected duration from optimistic/likely/pessimistic','what is the 95% confidence range for this task'.
/v1/calc/pm-pert-estimatePOSTAggregate PERT across a chain of tasks — expected total = Σ te, total sd = √(Σ variance) (variances add along the critical path) — for a project duration with an uncertainty band and per-task breakdown. Answers 'what is the total PERT estimate for these tasks','project duration with uncertainty','combined standard deviation across the critical path'.
/v1/calc/pm-pert-rollupPOSTCompute the schedule-and-cost critical ratio CR = SPI × CPI = (EV/PV)·(EV/AC) — a single combined control index — with a zone bucket (critical/caution/healthy/acceptable/review-estimates). Answers 'what is my critical ratio','combined cost and schedule health','is this project in the danger zone'.
/v1/calc/pm-critical-ratioPOSTForecast remaining sprints and a finish-date offset from backlog and team velocity — sprintsRemaining = ceil(remainingPoints / averageVelocity), days = sprints × sprintLengthDays. Answers 'how many sprints to finish the backlog','when will the release be done','how many days at this velocity'.
/v1/calc/pm-velocity-forecastPOSTCompute a sprint's story-point capacity — capacity = teamSize × daysPerSprint × hoursPerDay × focusFactor / hoursPerPoint — where focusFactor (0-1, ~0.7 typical) discounts for meetings and interruptions. Answers 'how many points can we commit this sprint','team capacity in story points','available hours after focus factor'.
/v1/calc/pm-story-point-capacityPOSTProject the ideal burndown line ideal(d) = total - (total/sprintDays)·d across a sprint, with per-day burn rate, and — given the current day and actual remaining — an ahead/behind-ideal delta and status. Answers 'what should my burndown look like','am I ahead or behind the ideal line','what is the ideal remaining work on day 5'.
/v1/calc/pm-burndown-projectionPOSTEstimate the probability of completing a commitment using a normal model of velocity — P = Φ((meanVelocity·sprints - committedPoints) / (sd·√sprints)) — returning the z-score, probability, and a confidence bucket so teams can commit at a target confidence. Answers 'what is the chance we finish these points','probability of hitting the sprint commitment','how risky is this commitment given our velocity variance'.
/v1/calc/pm-sprint-completion-probabilityPOSTCompute the staffing KPI utilization = billableHours / availableHours with percent, gap to target, idle hours, and a bucket (over-allocated >100%, optimal 70-90%, under-utilized <60%). Answers 'what is my resource utilization','am I over- or under-allocated','how many idle hours','utilization vs target'.
/v1/calc/pm-resource-utilizationPOSTForecast the project finish duration from schedule performance — SPI = EV/PV, forecastDuration = plannedDuration / SPI, scheduleSlip = forecast - planned — with percent slip and a slip-severity rating. Answers 'when will the project finish at this pace','how much schedule slip','forecast duration from SPI'.
/v1/calc/pm-schedule-forecastPOSTCompute the critical path through a task dependency DAG via a forward pass (longest path / earliest finish), returning project duration and the critical chain of task ids; rejects cycles and unknown dependencies. Answers 'what is the critical path','how long will the project take','which tasks drive the schedule','project duration from these dependencies'.
/v1/calc/pm-critical-pathPOSTEstimate effective team output with a communication-overhead penalty (Brooks's law) — effective = N·output·(1 - overheadPerPair·C(N,2)/N) where pairs grow as N(N-1)/2 — returning effective capacity, efficiency, and the marginal output of the last hire. Answers 'how much does adding people actually add','effective capacity with communication overhead','is this team past diminishing returns','marginal value of the next hire'.
/v1/calc/pm-team-scalingPOSTEstimate flight CO2e from distance (or origin/dest lat-lon via the haversine great-circle formula) using DEFRA per-passenger-km haul factors (short 0.158, medium 0.13, long 0.114 kg/km), a cabin multiplier (economy 1, premium 1.6, business 2.9, first 4) and the IPCC 1.9x radiative-forcing multiplier for non-CO2 high-altitude effects. Returns per-passenger and total kg/tonnes CO2e plus tree equivalents. Answers 'CO2 of a 5000km flight','business class footprint','round-trip emissions for 2 passengers','flight emissions JFK to LHR'.
/v1/calc/carbon-flight-emissionsPOSTCompute driving CO2e from distance and fuel economy via fuel-burn stoichiometry: litres = distance x L/100km / 100, then x fuel emission factor (gasoline 2.31, diesel 2.68, lpg 1.51, e85 1.56 kg CO2/L). Accepts L/100km or US mpg (converted via 235.215/mpg) and supports passengers and round-trip. Returns litres burned, total/per-km/per-passenger kg CO2e and tree equivalents. Answers 'CO2 of a 100km drive','emissions per km for my car','diesel vs gasoline footprint','carpool emissions per person'.
/v1/calc/carbon-car-drive-emissionsPOSTCompare annual use-phase CO2e of an electric vehicle (annualKm x kWh/100km / 100 x grid intensity) against a combustion car (annualKm x L/100km / 100 x fuel factor) over N years. Returns each vehicle's annual and total kg CO2e, the kg saved, the reduction percent, which is cleaner, and tree equivalents saved. Answers 'is an EV cleaner than my gas car','how much CO2 does switching to an EV save','EV emissions on a dirty grid','5-year EV vs ICE footprint'.
/v1/calc/carbon-ev-vs-icePOSTEstimate freight CO2e via the tonne-km model: (weightKg/1000) x distanceKm x mode factor, using DEFRA freight factors (sea 0.016, rail 0.028, road 0.105, air 0.602 kg CO2e/tonne-km). Returns tonne-km, total kg/tonnes CO2e and tree equivalents. Answers 'CO2 to ship 1000kg by sea','air vs sea freight emissions','carbon of this shipment','tonne-km footprint of trucking'.
/v1/calc/carbon-shipping-emissionsPOSTCompute household CO2e from electricity (kWh x grid intensity), natural gas (therms x 5.3 kg/therm, EPA) and heating oil (litres x 2.52 kg/L), summed and annualized from a monthly or yearly period. Returns a per-source breakdown, total and annual kg/tonnes CO2e and tree equivalents. Answers 'CO2 of my home energy bill','footprint of 900 kWh and 50 therms','annual heating emissions','electricity vs gas carbon split'.
/v1/calc/carbon-home-energy-footprintPOSTCompute annual dietary CO2e from servings/day per food item using Poore & Nemecek (2018) per-serving factors (beef 6.6, lamb 5.8, cheese 2.3, pork 1.7, poultry 1.3, fish 1.2, eggs 0.4, rice 0.7, legumes 0.2, vegetables 0.15 kg CO2e). Returns a per-item breakdown, daily and annual kg/tonnes CO2e, a low/moderate/high/very-high rating and tree equivalents. Answers 'carbon footprint of my diet','CO2 of eating beef daily','vegetarian vs meat-eater emissions','annual food footprint'.
/v1/calc/carbon-diet-footprintPOSTTranslate a CO2e footprint (kg or tonnes) into an offset purchase cost at a market price per tonne (cost = tonnes x pricePerTonne, default $15 voluntary-market). Returns kg/tonnes CO2e, the price used, the offset cost in USD and tree equivalents. Answers 'cost to offset 2.5 tonnes of CO2','price to neutralize my flight','offset cost at $20/tonne','dollars to go carbon neutral'.
/v1/calc/carbon-offset-costPOSTConvert electricity use (kWh) to CO2e using region/source grid-intensity factors (kg CO2/kWh): global 0.475, US 0.386, EU 0.231, UK 0.193, China 0.555, India 0.708, France 0.056, Norway 0.026, plus per-source coal 0.95, gas 0.41, nuclear 0.012, solar 0.041, wind 0.011. Returns the factor used, total grams/kg/tonnes CO2e and tree equivalents. Answers 'CO2 of 1000 kWh in the US','emissions on the French grid','coal vs wind per kWh','grid carbon intensity by country'.
/v1/calc/carbon-grid-intensityPOSTEstimate rooftop solar output and value: annual kWh = systemKw x peak-sun-hours/day x 365 x performance-ratio (default 0.8 derate); annual savings = kWh x electricity price; CO2 avoided = kWh x grid intensity; payback = install cost / annual savings. Returns annual kWh, USD saved, kg/tonnes CO2 avoided, payback years and tree equivalents. Answers 'how much will solar save me','CO2 avoided by a 5kW array','solar payback period','annual output of my panels'.
/v1/calc/carbon-solar-savingsPOSTCompute water footprint (litres) from food and household usage using water-footprint-network factors: beef 15415, pork 5988, poultry 4325, rice 2497, cheese 5060 L/kg, plus shower 9 L/min, dishwasher 15 L/load, laundry 50 L/load, toilet 6 L/flush. Returns a per-item breakdown, daily and annual litres and cubic meters. Answers 'water footprint of eating beef','litres per shower','annual household water use','water cost of rice'.
/v1/calc/carbon-water-footprintPOSTCompute CO2e avoided by recycling vs landfill per material using EPA WARM factors (kg CO2e avoided/kg): aluminum 9.13, steel 1.79, glass 0.31, paper 0.46, cardboard 0.36, plastic 1.02, PET 1.13. Returns a per-material breakdown, total kg/tonnes CO2e avoided and tree equivalents. Answers 'CO2 saved by recycling aluminum','impact of recycling 5kg of cans','emissions avoided vs landfill','which material saves most by recycling'.
/v1/calc/carbon-recycling-impactPOSTCompute annual commute CO2e: oneWayKm x 2 x days/week x weeks/year x mode factor (kg CO2e/passenger-km): car 0.171, carpool 0.086, bus 0.103, rail 0.041, subway 0.028, bike 0, walk 0, motorbike 0.103, ferry 0.115. Returns annual km, kg/tonnes CO2e and tree equivalents. Answers 'CO2 of my daily commute','car vs train commute footprint','annual emissions cycling to work','how much does carpooling save'.
/v1/calc/carbon-transit-commutePOSTEstimate streaming CO2e from hours and quality: data = GB/hour (SD 0.7, HD 3, 4K 7, audio 0.072) x hours; network/data-center energy = data x 0.06 kWh/GB; device energy = watts x hours; total kWh x grid intensity. Returns gigabytes, network/device/total kWh, grams/kg CO2e and tree equivalents. Answers 'CO2 of streaming 4K for 10 hours','footprint of Netflix binge','data center emissions of streaming','HD vs 4K carbon'.
/v1/calc/carbon-streaming-footprintPOSTCompute trees and forest area needed to sequester a CO2e footprint: trees = kg / (kgPerTreePerYear x years), using the EPA estimate of ~21 kg CO2/year sequestered by a mature tree, plus ~1000 trees/hectare. Returns trees needed, forest hectares and acres. Answers 'how many trees to offset 1 tonne of CO2','forest area to neutralize my footprint','trees per tonne CO2','reforestation needed for my emissions'.
/v1/calc/carbon-tree-offsetPOSTCompare CO2e of an in-person meeting (attendees x round-trip travel km x mode factor; flight 0.18, car 0.171, rail 0.041 kg/km) against a virtual meeting (attendees x hours x 0.15 kWh x grid intensity). Returns in-person and virtual kg CO2e, kg saved by going virtual, reduction percent and tree equivalents. Answers 'CO2 of flying 20 people to a meeting','virtual vs in-person conference footprint','emissions saved by going remote','carbon cost of a business trip'.
/v1/calc/carbon-meeting-footprintPOSTEstimate cloud workload CO2e: compute kWh = vcpuHours x watts/vCPU / 1000 x PUE (power-usage-effectiveness, default 1.2); storage kWh = GB-months x 0.0012 x PUE; total kWh x grid intensity. Returns compute/storage/total kWh, grams/kg CO2e and tree equivalents. Answers 'CO2 of 1000 vCPU-hours','carbon footprint of my cloud bill','data center emissions with PUE 1.2','server energy to CO2'.
/v1/calc/carbon-cloud-computePOSTCompute landfill CO2e (largely methane) from municipal waste streams using EPA-derived factors (kg CO2e/kg): food 2.53, paper 1.04, textile 1.1, yard 0.58, mixed 0.7, plastic 0.04, glass/metal 0.02. Annualized from a weekly or yearly period. Returns a per-stream breakdown, total and annual kg/tonnes CO2e and tree equivalents. Answers 'CO2 of my weekly trash','landfill emissions from food waste','annual waste footprint','methane from household garbage'.
/v1/calc/carbon-waste-footprintPOSTTransparent 0-100 household sustainability rubric with documented weights: totalFootprint 45% (linear, 0 t=100 / 12 t=0, anchored to the ~2 t/person sustainable target), renewableShare 20%, transportShare 15% (cap 5 t), dietShare 10% (cap 3 t), recyclingRate 10%. Returns the score, an A-F rating, an interpretation and a per-factor breakdown with weights and contributions. Answers 'rate my carbon footprint','sustainability grade for 8 tonnes','how green is my lifestyle','score my household emissions'.
/v1/calc/carbon-footprint-scorePOSTCompare a heat pump against a gas/oil furnace for a given annual heat demand (kWh): heat pump electricity = heat/COP (default seasonal COP 3), CO2 = elec x grid, cost = elec x price; furnace fuel = heat/efficiency, CO2 = fuel x factor (gas 0.184, oil 0.249 kg/kWh). Returns each option's kg CO2e and USD cost, kg/USD saved, reduction percent and tree equivalents. Answers 'CO2 saved by a heat pump','heat pump vs gas furnace cost','emissions of electric heating with COP 3','should I switch from oil heat'.
/v1/calc/carbon-heat-pump-savingsPOSTConvert a fuel quantity directly to CO2e via combustion stoichiometry factors: gasoline 2.31 kg/L, diesel 2.68 kg/L, natural gas 1.93 kg/m3, propane/LPG 1.51 kg/L, coal 2.42 kg/kg, jet fuel 2.52 kg/L. Returns the unit, factor used, total kg/tonnes CO2e and tree equivalents. Answers 'CO2 from 40 litres of gasoline','emissions of burning a tonne of coal','CO2 per cubic meter of natural gas','jet fuel to CO2'.
/v1/calc/carbon-fuel-to-co2POSTSum a product's embodied carbon from its bill of materials using cradle-to-gate factors (kg CO2e/kg): steel 1.85, aluminum 8.24, plastic 3.5, glass 0.85, cotton 5.9, wood 0.46, copper 3.0, lithium 15, concrete 0.11. Adds optional transport CO2e and multiplies by units produced. Returns a per-material breakdown, embodied/transport/per-unit/total kg/tonnes CO2e and tree equivalents. Answers 'embodied carbon of a product','CO2 of its materials','manufacturing footprint per unit','steel vs aluminum embodied emissions'.
/v1/calc/carbon-product-footprintPOSTCompute the expiration breakeven of a single option leg (call = strike + premium, put = strike - premium) plus max profit/loss and cost basis or credit. Deterministic options algebra LLMs flip the sign on. Answers 'what's the breakeven on this call','where do I break even on a long put','what's my max loss on a short option'.
/v1/calc/opt-option-breakevenPOSTCompute net debit/credit, breakeven, max profit, max loss, and risk/reward for a call or put vertical spread (spread width minus net premium per the 100x multiplier). Deterministic; debit vs credit logic LLMs get wrong. Answers 'what's the max profit on this bull call spread','where does my credit spread break even','what's the risk/reward on this vertical'.
/v1/calc/opt-vertical-spread-payoffPOSTCompute the upper and lower expiration breakevens and required move for a long straddle (same strike) or strangle (call strike > put strike): BE = strike ± total premium. Optionally returns the required move as a percent of the underlying. Answers 'where does this straddle break even','how far does the stock need to move','what's the strangle's profit zone'.
/v1/calc/opt-straddle-strangle-breakevenPOSTCompute the profit zone (short put strike - credit to short call strike + credit), max profit (net credit), max loss (widest wing minus credit), and return on risk for an iron condor. Deterministic four-leg math. Answers 'what's my iron condor profit zone','what's the max loss on this condor','what's my return on risk'.
/v1/calc/opt-iron-condor-rangePOSTCompute the two breakevens, max profit (lower wing width minus debit, at the body strike), max loss (net debit), and return on risk for a long butterfly spread. Deterministic three-strike math. Answers 'where does my butterfly break even','what's the max profit on this fly','what's my return on risk for a butterfly'.
/v1/calc/opt-butterfly-payoffPOSTCompute the effective cost basis (stock + protective put premium - covered call credit), floor (put strike), ceiling (call strike), and max gain/loss for a collar on long stock. Deterministic hedge math. Answers 'what's my collar's max gain','where's my downside floor','what's the net cost of this collar'.
/v1/calc/opt-collar-payoffPOSTCompute static return (premium/stock), if-called return ((premium + capped gain)/stock), both annualized to 365 days, downside protection, and breakeven for a covered call. Deterministic return-on-capital math. Answers 'what's my covered call yield','what's the annualized return if called away','what's my downside cushion'.
/v1/calc/opt-covered-call-yieldPOSTCompute collateral (strike x 100), return on capital (premium/strike), annualized return to 365 days, effective purchase price (strike - premium), and discount to spot for a cash-secured put. Deterministic income math. Answers 'what's my cash-secured put yield','what price am I effectively buying at','what's the annualized return'.
/v1/calc/opt-cash-secured-put-yieldPOSTCompute collateral / max loss ((width - credit) x 100), max profit (net credit), return on collateral (credit/(width-credit)), annualized to 365 days, and credit-to-width ratio for a defined-risk credit spread. Deterministic ROC math. Answers 'what's my return on a credit spread','what's the annualized yield','how much collateral does this spread tie up'.
/v1/calc/opt-credit-spread-returnPOSTCompute net debit (long LEAPS cost - short call credit), capital outlay, strike width, max profit ((width - net debit) x 100), max loss (net debit), return on risk, and income yield for a poor-man's covered call diagonal. Deterministic diagonal math. Answers 'what's my net cost on a PMCC','what's the max profit on a diagonal','what's my return on risk'.
/v1/calc/opt-poor-mans-covered-callPOSTCompute the net per-share and total across contracts of rolling a short option (new premium received minus cost to close), classifying it as a credit, debit, or even roll. Deterministic roll math. Answers 'is this roll a credit or debit','how much do I net rolling out','should I roll this option'.
/v1/calc/opt-roll-creditPOSTSolve the put-call parity identity C - P = S - K*e^(-rT) for the one missing leg given any three of {callPrice, putPrice, underlying, strike} plus rate and time. Deterministic no-arbitrage relation LLMs misapply. Answers 'what should this call cost given the put','what's the fair put price','what underlying is implied by parity'.
/v1/calc/opt-put-call-parityPOSTCompute the 1-sigma expected move (price x IV x sqrt(days/365)), the 1-sigma and 2-sigma price ranges, the move as a percent, and the lognormal probability of staying within 1 sigma. Deterministic volatility math. Answers 'what's the expected move on this IV','what's the 1-sigma range into earnings','how far might this stock move'.
/v1/calc/opt-expected-movePOSTCompute the lognormal (Black-Scholes) probability an option finishes in-the-money: P(ITM call) = N(d2), P(ITM put) = N(-d2), with d2 = [ln(S/K) + (r - q - σ²/2)T] / (σ√T), via a deterministic normal-CDF approximation. Answers 'what's the probability this call expires ITM','what are the odds my put finishes in the money','what's N(d2) for this option'.
/v1/calc/opt-probability-itmPOSTDecompose an option price into intrinsic value (call = max(0, S-K), put = max(0, K-S)) and extrinsic/time value (price - intrinsic), with each as a percent of price and the moneyness (ITM/ATM/OTM). Deterministic value split. Answers 'how much of this premium is time value','what's the intrinsic value of this option','is this option mostly extrinsic'.
/v1/calc/opt-intrinsic-extrinsicPOSTScore early-assignment risk 0-100 for a short option using a transparent rubric with documented weights — moneyness depth (0.45), extrinsic erosion (0.30), time proximity (0.15), and ex-dividend flag (0.10) — returning a low/moderate/high rating and a per-factor breakdown. Answers 'how likely is this short call to be assigned','am I at assignment risk into ex-div','should I roll before assignment'.
/v1/calc/opt-assignment-riskPOSTCompute effective option leverage lambda (omega) = delta x (underlying / optionPrice), plus notional controlled and capital at risk across contracts. Deterministic leverage identity. Answers 'how much leverage does this option give me','what notional am I controlling','how does a 1% underlying move affect the option'.
/v1/calc/opt-leveragePOSTApply the 30%-of-gross rent rule plus a 28% front-end and 36% back-end DTI ceiling (netting existing debt) to compute a defensible max monthly rent, with a per-rule breakdown and a comfort rating. Answers 'how much rent can I afford on $6000/mo', 'max rent at 30% of income', 'rent budget with $500 of debt'.
/v1/calc/budget-rent-affordabilityPOSTApply the 20/4/10 rule (20% down, <=4yr term, <=10% gross on vehicle costs) and the loan-payment formula P=pmt*(1-(1+r)^-n)/r to solve the max affordable car price, financed amount, and a down-payment check. Answers 'what car can I afford on $5000/mo', 'max car price with $3000 down', 'how much car at 7% over 48 months'.
/v1/calc/budget-car-affordabilityPOSTCompare total lease cost (payments + upfront) against net buy cost (outlay + maintenance less resale value) to recommend the cheaper option, with a side-by-side breakdown. Answers 'should I lease or buy', 'lease at $350/mo vs buy at $30000', 'cheaper to lease or own this car'.
/v1/calc/budget-lease-vs-buyPOSTAllocate after-tax income into Needs (50%), Wants (30%), and Savings (20%) per the Warren 50/30/20 rule, comparing against actuals when provided to flag whether you're on track. Answers 'how to split $5000 with 50/30/20', 'how much for wants this month', 'am I over budget on needs'.
/v1/calc/budget-50-30-20POSTGive every dollar a job: sum category allocations against income and return the unassigned remainder plus per-category percent of income, where a balanced zero-based budget has remainder zero. Answers 'is my zero-based budget balanced', 'how much is unassigned', 'did I allocate every dollar of $4000'.
/v1/calc/budget-zero-basedPOSTCompute a tip (on pre- or post-tax base) and split the grand total evenly across N people, rounding each share up to the cent so the table never underpays. Answers 'split an $80 bill 4 ways with 20% tip', 'how much each with tip', 'tip on pre-tax amount'.
/v1/calc/budget-tip-splitPOSTSolve the gross hourly rate required to hit a target annual income given billable hours, a tax gross-up, and an overhead markup: rate = target/(1-taxRate)/billableHours*(1+overhead). Answers 'what hourly rate do I need for $80k', 'rate for 30 billable hours a week', 'hourly rate after 25% tax'.
/v1/calc/budget-hourly-rate-neededPOSTConvert a desired salary into a freelance hourly rate covering self-employment tax, vacation/non-billable weeks, expenses and an optional profit margin: rate=(salary+expenses)*(1+margin)/billableHours/(1-taxRate). Answers 'freelance rate for a $90k salary', 'day rate for a contractor', 'hourly rate covering self-employment tax'.
/v1/calc/budget-freelance-ratePOSTCompute a late fee as a flat fee plus simple interest accrued over days overdue: fee = flat + principal*annualRate*daysOverdue/365, returning the interest, total fee and total due. Answers 'late fee on a $5000 invoice 30 days overdue', 'interest at 18% APR on an overdue invoice', 'how much to charge for a late payment'.
/v1/calc/budget-invoice-late-feePOSTCompare an upfront percentage discount against a cashback percentage (effective price = price*(1-discount)*(1-cashback)) to find the cheaper single offer and the combined stacked price. Answers 'is 20% off better than 15% cashback', 'discount vs cashback on a $200 purchase', 'effective price with both offers stacked'.
/v1/calc/budget-discount-vs-cashbackPOSTNormalize recurring subscriptions to monthly/annual spend (yearly/12, weekly*52/12, quarterly/3), flag unused ones, and total the potential annual savings from cancelling them. Answers 'how much do my subscriptions cost per year', 'how much could I save cancelling unused subscriptions', 'normalize my yearly and monthly subs'.
/v1/calc/budget-subscription-auditPOSTDivide total cost of ownership (price + upkeep) by total uses over a period to give a true cost-per-use plus a value rating. Answers 'cost per use of a $1200 bike used twice a week', 'is this worth it per use', 'true cost per wear of a jacket'.
/v1/calc/budget-cost-per-usePOSTYour-Money-or-Your-Life calculation: net job expenses and unpaid commute/prep hours off gross pay to reveal the real hourly wage: (gross-expenses)/(paidHours+unpaidHours). Answers 'what's my real hourly wage after commute', 'true wage after job expenses', 'how much do I actually earn per hour'.
/v1/calc/budget-true-hourly-wagePOSTSolve the monthly contribution to hit a goal by a deadline with monthly compounding using the future-value-of-annuity formula pmt=(FV-PV*(1+r)^n)*r/((1+r)^n-1). Answers 'how much to save monthly for $10000 in 24 months', 'monthly savings to reach a goal at 4% interest', 'will my current savings already get there'.
/v1/calc/budget-savings-goalPOSTSize an emergency fund as N months of essential expenses (standard 3-6 months), compute the gap from current savings, months-to-fund at a contribution rate, and a coverage rating. Answers 'how big should my emergency fund be', 'months to build a 6-month emergency fund', 'is my emergency fund adequate'.
/v1/calc/budget-emergency-fundPOSTProject months-to-payoff and total interest for a fixed monthly payment using the loan amortization identity n=-ln(1-r*P/pmt)/ln(1+r). Answers 'how long to pay off $5000 at 18% paying $200/mo', 'total interest on a credit card payoff', 'months to clear this debt'.
/v1/calc/budget-debt-payoffPOSTScore how well a take-home paycheck is allocated on a transparent 0-100 rubric with documented weights (savings rate 40% targeting >=20%, essentials within 50% 35%, discretionary within 30% 25%), returning a letter grade and per-factor breakdown. Answers 'how healthy is my paycheck allocation', 'grade my budget split', 'is my savings rate good enough'.
/v1/calc/budget-paycheck-health-scorePOSTCompute how a fixed sum's purchasing power erodes over time at a given inflation rate: realValue=nominal/(1+i)^years, plus the nominal amount needed to preserve today's buying power. Answers 'what will $10000 be worth in 10 years at 3% inflation', 'how much purchasing power do I lose to inflation', 'nominal amount to keep up with inflation'.
/v1/calc/budget-inflation-impactPOSTSearch movies via the keyless Apple iTunes Search API and get a clean normalized result (title, director, year, genre, content rating, runtime, price, artwork, store URL, iTunes id). Emulates IMDb/OMDb movie lookups without an API key. Answers 'find the movie The Matrix','what year did Inception come out','runtime of a film','movie genre and rating'.
/v1/data/media-movie-searchPOSTSearch TV shows and seasons via the keyless Apple iTunes Search API, normalized to show, season title, year, genre, episode count, content rating, artwork, store URL, and ids. Emulates IMDb TV lookups without an API key. Answers 'find seasons of Breaking Bad','how many episodes in a season','what year did a TV show air','TV show genre'.
/v1/data/media-tv-searchPOSTSearch songs via the keyless Apple iTunes Search API, normalized to title, artist, album, year, genre, duration, track/disc number, price, artwork, store URL, and ids. Emulates music metadata lookups without an API key. Answers 'find the song Bohemian Rhapsody','what album is this track on','song duration','release year of a song'.
/v1/data/media-music-trackPOSTSearch music albums via the keyless Apple iTunes Search API, normalized to title, artist, year, genre, track count, price, explicit flag, artwork, store URL, and ids. Emulates album metadata lookups without an API key. Answers 'find the album Rumours','how many tracks on an album','album release year','albums by an artist'.
/v1/data/media-album-searchPOSTSearch music artists via the keyless Apple iTunes Search API, normalized to name, primary genre, type, store URL, and iTunes artist id. Emulates artist directory lookups without an API key. Answers 'find the artist Radiohead','what genre is an artist','get an artist's iTunes id','look up a band'.
/v1/data/media-artist-searchPOSTSearch podcasts via the keyless Apple iTunes Search API, normalized to title, author, genre(s), episode count, RSS feed URL, country, artwork, store URL, and ids. The feedUrl pairs with media-podcast-episodes. Answers 'find the podcast This American Life','get a podcast RSS feed','how many episodes does a podcast have','podcast author and genre'.
/v1/data/media-podcast-searchPOSTList a podcast's episodes by fetching and parsing its RSS feed — either a direct feedUrl or resolved from an Apple iTunes collectionId (keyless) — normalized to title, publish date, duration, audio enclosure URL, episode/season numbers, and description. Answers 'list episodes of a podcast','latest episode of a show','get podcast audio URLs','episode durations and dates'.
/v1/data/media-podcast-episodesPOSTSearch the iOS App Store via the keyless Apple iTunes Search API, normalized to name, seller, genre(s), version, price, average rating, rating count, content rating, file size, minimum OS, description, screenshots, store URL, and id. Answers 'find an iOS app','what is an app's rating','how big is an app','app price and version'.
/v1/data/media-ios-app-searchPOSTSearch audiobooks via the keyless Apple iTunes Search API, normalized to title, author, genre, year, description, price, content rating, artwork, store URL, and ids. Answers 'find the audiobook Project Hail Mary','audiobooks by an author','audiobook price','audiobook genre and year'.
/v1/data/media-audiobook-searchPOSTSearch ebooks via the keyless Apple iTunes Search API, normalized to title, author, genre(s), year, description, price, average rating, rating count, artwork, store URL, and ids. Complements book-search (Open Library). Answers 'find the ebook Dune','books by an author on Apple Books','ebook price','book release year and genre'.
/v1/data/media-ebook-searchPOSTSearch music videos via the keyless Apple iTunes Search API, normalized to title, artist, album, year, genre, duration, price, artwork, store URL, and ids. Answers 'find the music video Thriller','music videos by an artist','music video release year','music video duration'.
/v1/data/media-music-video-searchPOSTLook up any media item by its Apple iTunes id via the keyless /lookup endpoint, normalized into a single typed record (title, artist, album, genre, year, track count, duration, RSS feed, artwork, store URL, and ids) regardless of media type. Answers 'look up iTunes id 904237743','resolve an Apple media id','get details for a known track/album/podcast/app id'.
/v1/data/media-lookupPOSTSearch artists/bands by name via MusicBrainz (keyless) and get flat records: type, gender, country/area, begin-area, lifespan (begin/end/ended), disambiguation, top tags sorted by vote count, and deduped aliases. Answers 'who is artist X','what country is this band from','when was this band active','what genre tags describe this artist'.
/v1/data/music-artistPOSTSearch albums/EPs/singles as release-groups via MusicBrainz (keyless), optionally scoped to an artist, returning title, primary/secondary type, first-release-date, joined artist credit, and top tags. Answers 'what albums did artist X release','when did album Y come out','is this an album or a single','find the EP called Z'.
/v1/data/music-release-groupPOSTSearch specific releases (a particular CD/vinyl/digital edition) via MusicBrainz (keyless), optionally scoped to an artist, returning status, date, country, barcode, packaging, derived track count, deduped formats and labels, catalog numbers, and language. Answers 'what is the barcode/UPC of this CD','which label released this edition','what is the catalog number','how many tracks on this release'.
/v1/data/music-releasePOSTSearch recordings (individual tracks) via MusicBrainz (keyless), optionally scoped to an artist, returning length in ms and m:ss, deduped ISRCs, the releases the track appears on, earliest release date, and top tags. Answers 'how long is track X','what is the ISRC of this song','which albums contain this recording','when was this track first released'.
/v1/data/music-recordingPOSTSearch record labels via MusicBrainz (keyless) and get type, label code, country/area, lifespan (begin/end/ended), top tags, and disambiguation. Answers 'what is the label code for X','what country is this record label in','when was this label founded','is this label still active'.
/v1/data/music-labelPOSTSearch works (the underlying musical composition/song as written, distinct from any recording) via MusicBrainz (keyless), returning type, languages, ISWCs, attributes, and top tags. Answers 'what is the ISWC of this song','what type of work is this','what language is this composition in','find the work behind this song'.
/v1/data/music-workPOSTResolve a 12-character ISRC to its MusicBrainz recording(s) (keyless), returning title, artist credit, length in ms and m:ss, and disambiguation for every recording sharing that code. Answers 'what song is ISRC X','who recorded this ISRC','how long is the track with this ISRC','look up an ISRC'.
/v1/data/music-isrc-lookupPOSTReturn the canonical MusicBrainz genre vocabulary (keyless), sorted and deduped, optionally filtered by a case-insensitive substring. Answers 'list all music genres','what genres start with rock','is X a recognized genre','how many genres are there'.
/v1/data/music-genre-listPOSTSearch tracks via the Deezer public API (keyless), returning flat records with artist, album, duration (seconds and m:ss), popularity rank, explicit flag, a 30-second preview URL, and cover art. Complements MusicBrainz with audio previews and popularity. Answers 'find a song called X','get a preview clip for this track','how popular is this track','what album is this song on'.
/v1/data/music-deezer-track-searchPOSTLook up a Deezer album by numeric ID via the Deezer public API (keyless), returning UPC, label, record type, release date, track count, total duration, fan count, genres, contributors, cover art, and the full track list with per-track previews. Answers 'what tracks are on Deezer album X','what is the UPC of this album','how many fans does this album have','get the track list with previews'.
/v1/data/music-deezer-albumPOSTFetch an artist's most popular tracks by numeric Deezer ID via the Deezer public API (keyless), returning ranked tracks with album, duration (seconds and m:ss), explicit flag, preview URL, and cover art. Answers 'what are the top songs by artist X','most popular Deezer tracks for this artist','give me preview clips of an artist's hits','rank this artist's songs by popularity'.
/v1/data/music-deezer-artist-topPOSTList/search a TV show's episodes by TVmaze show id, optionally filtered by season or title text, with airdate, runtime, rating and stripped summary (TVmaze). Answers 'list episodes of show 169', 'season 2 episodes of Breaking Bad', 'find the Ozymandias episode'.
/v1/data/screen-episode-searchPOSTFull principal cast for a TVmaze show id: actor name, played character, voice/self flags, country and headshot, deduped by person+character (TVmaze). Answers 'who is in show 169', 'cast of Breaking Bad', 'who plays Walter White'.
/v1/data/screen-show-castPOSTBehind-the-camera crew for a TVmaze show id: creators, producers, writers and more, grouped by department/role (TVmaze). Answers 'who created show 169', 'crew of Breaking Bad', 'who are the executive producers'.
/v1/data/screen-show-crewPOSTSeason-by-season breakdown for a TVmaze show id: season number, episode order, premiere/end dates, network and summary, with total episode count (TVmaze). Answers 'how many seasons does show 169 have', 'seasons of Breaking Bad', 'when did season 2 premiere'.
/v1/data/screen-show-seasonsPOSTFull TV broadcast schedule for a country and date: which episodes air, on which network, at what time, sorted by airtime (TVmaze). Answers 'what is on TV in the US today', 'what airs on 2024-05-01 in GB', 'tonight's TV schedule'.
/v1/data/screen-schedulePOSTSearch actors, creators and other industry people by name (TVmaze): returns id, country, birthday/deathday, gender and headshot. Use the id with screen-person-credits. Answers 'find the actor Bryan Cranston', 'who is person X', 'lookup TVmaze person id for an actor'.
/v1/data/screen-people-searchPOSTAll TV cast credits for a TVmaze person id: shows, played character, type, premiere year, status, network and genres, sorted newest first (TVmaze). Answers 'what shows is person 13 in', 'Bryan Cranston TV roles', 'filmography of an actor by TVmaze id'.
/v1/data/screen-person-creditsPOSTInternational alternate titles (AKAs) for a TVmaze show id, mapped to the country/region they are used in, with global titles labelled (TVmaze). Answers 'what is show 169 called in Germany', 'alternate titles of Breaking Bad', 'international names for a show'.
/v1/data/screen-show-akasPOSTResolve a TV network or web channel by name and list shows carried on it with rating, genres and status, sorted by rating (TVmaze). Answers 'shows on HBO', 'what network airs this', 'top-rated Netflix shows'.
/v1/data/screen-networkPOSTResolve a film by title and return structured facts from the Wikidata knowledge graph: director(s), principal cast, release year, genres, countries, box office, budget, runtime and IMDb id, deduped across graph rows (Wikidata). Answers 'who directed The Matrix', 'box office of Inception', 'what year did Titanic come out'.
/v1/data/screen-movie-factsPOSTResolve an actor by name and return their complete feature-film filmography from Wikidata: film title, release year, character role(s) and Wikidata id, one row per film and sorted newest first (Wikidata). Answers 'films Keanu Reeves was in', 'Tom Hanks movie list', 'what character did an actor play in a film'.
/v1/data/screen-actor-filmographyPOSTResolve a person's name to structured biographical facts from Wikidata (keyless) — birth/death dates and places, gender, nationality, occupations, employers, education, awards, and positions held, with human-readable labels. Answers 'when was X born', 'what is X's occupation', 'what nationality is X', 'where did X go to school'.
/v1/data/kb-personPOSTResolve an organization name to structured corporate facts from Wikidata (keyless) — inception date, founders, headquarters, country, industries, products, CEO, parent/subsidiaries, employee count, stock exchange, ticker, and website. Answers 'who founded X', 'where is X headquartered', 'what industry is X in', 'how many employees does X have'.
/v1/data/kb-companyPOSTResolve a city/region/country name to structured geographic facts from Wikidata (keyless) — country, type, administrative parent, capital, population, area, elevation, coordinates, timezones, and head of government. Answers 'what is the population of X', 'what country is X in', 'where is X located', 'what is the capital of X'.
/v1/data/kb-placePOSTResolve any entity name or QID to its geographic coordinate (Wikidata property P625, keyless) and a ready-to-open OpenStreetMap link. Answers 'what are the coordinates of X', 'latitude and longitude of X', 'where on the map is X', 'does X have a location'.
/v1/data/kb-coordinatesPOSTResolve an entity and return its outgoing relationships from Wikidata (keyless) grouped by curated property — instance of, subclass of, part of, has part, follows/followed by, influenced by, member of, named after, manufacturer — each with human-readable labels and QIDs. Answers 'what is X related to', 'what is X part of', 'what influenced X', 'what are X's connections'.
/v1/data/kb-related-entitiesPOSTSearch Wikidata (keyless) for entities matching a name and return deduped candidates with stable QIDs, labels, descriptions, aliases, and what the match was on — the disambiguation/entity-linking primitive that feeds the other kb-* lookups. Answers 'what is the Wikidata ID for X', 'which entity is this', 'disambiguate X', 'find the QID for X'.
/v1/data/kb-entity-searchPOSTLook up a word's definitions on Wiktionary (keyless REST endpoint), grouped by part of speech with usage examples, HTML stripped. Answers 'define X', 'what does X mean', 'what part of speech is X', 'give me examples of X in a sentence'.
/v1/data/kb-definePOSTFetch quotations for a person or topic from Wikiquote (keyless), extracting the top-level quote bullets from the page and cleaning wiki markup, refs, and templates into plain deduped strings. Answers 'quotes by X', 'famous quotes about X', 'what did X say', 'give me a quote from X'.
/v1/data/kb-quotesPOSTSearch Wikimedia Commons (keyless) for freely-licensed images and return full + thumbnail URLs, dimensions, mime type, license, and attribution. Answers 'find an image of X', 'Commons photo of X', 'free/CC image of X', 'public domain picture of X'.
/v1/data/kb-imagePOSTFetch a randomly selected Wikipedia article via the REST summary endpoint (keyless) and return a clean title, description, extract, thumbnail, and URL. Answers 'give me a random Wikipedia article', 'random fact', 'surprise me', 'show me something interesting'.
/v1/data/kb-wikipedia-randomPOSTList the article titles a given Wikipedia page links to (main namespace only) via the MediaWiki API (keyless), deduped. Answers 'what does the X article link to', 'related pages to X', 'outgoing links from X', 'what topics does X reference'.
/v1/data/kb-wikipedia-linksPOSTExtract the infobox template from a Wikipedia article via the MediaWiki parse API (keyless) and flatten its field/value pairs into a clean key-value map, with wiki markup, refs, links, and templates stripped. Answers 'what are the key facts about X', 'X's infobox', 'structured facts from the X Wikipedia page', 'summarize the X infobox'.
/v1/data/kb-infoboxPOSTResolve an entity via Wikidata (keyless) and list every Wikipedia language edition and sister project (Wikiquote, Wiktionary, Wikisource, Wikinews) that has a page for it, with direct URLs. Answers 'what languages is X on Wikipedia', 'X in other languages', 'cross-language links for X', 'which wikis cover X'.
/v1/data/kb-sitelinksPOSTFetch multiple-choice or true/false trivia questions by category and difficulty from the Open Trivia DB (opentdb.com), HTML-decoded with shuffled options and the correct answer. Answers 'give me trivia questions','random quiz question','science trivia','a hard history question'.
/v1/data/misc-triviaPOSTReturn a random groan-worthy one-liner dad joke from icanhazdadjoke.com. Answers 'tell me a dad joke','give me a corny joke','a one-liner joke'.
/v1/data/misc-dad-jokePOSTReturn a random setup-and-punchline joke, optionally filtered by type, from the official-joke-api. Answers 'tell me a joke','a programming joke','a knock-knock joke','give me a general joke'.
/v1/data/misc-jokePOSTReturn a random piece of advice, or search advice slips by keyword, from the Advice Slip API (adviceslip.com). Answers 'give me advice','random advice','advice about money','wise words'.
/v1/data/misc-advicePOSTSuggest a random activity to beat boredom, optionally filtered by type and number of participants, from the Bored API. Answers 'suggest an activity','what should I do','an activity for 2 people','a free thing to do'.
/v1/data/misc-activity-ideaPOSTReturn a random or daily useless-but-true fact from uselessfacts.jsph.pl, with its source. Answers 'tell me a random fact','a useless fact','fun fact of the day','something interesting'.
/v1/data/misc-useless-factPOSTReturn a trivia, math, date, or year fact about a number from the Numbers API (numbersapi.com). Answers 'fact about the number 42','a math fact about 7','what happened on this date','something about the year 1969'.
/v1/data/misc-number-factPOSTLook up a Pokemon by name or id from PokeAPI (pokeapi.co): base stats, types, abilities (incl. hidden), height/weight, base experience, and sprites. Answers 'stats for Pikachu','what type is Charizard','Bulbasaur's abilities','how tall is Snorlax'.
/v1/data/misc-pokemonPOSTFetch the latest xkcd comic or a specific comic number from xkcd.com: title, alt text, image URL, and publish date. Answers 'latest xkcd','xkcd comic 327','what is the alt text of this xkcd','show me an xkcd'.
/v1/data/misc-xkcdPOSTReturn one or more random dog photos from the Dog CEO API (dog.ceo), optionally filtered to a breed, with the inferred breed/sub-breed. Answers 'random dog picture','show me a husky','a picture of a poodle','5 random dogs'.
/v1/data/misc-dog-imagePOSTReturn one or more random verified cat facts from catfact.ninja, each with its character length. Answers 'tell me a cat fact','random fact about cats','give me 3 cat facts','something about cats'.
/v1/data/misc-cat-factPOSTReturn a random yes / no / maybe answer with a matching reaction GIF from yesno.wtf, a coin-flip decision oracle. Answers 'should I do X','yes or no','flip a decision for me','give me a random yes/no'.
/v1/data/misc-yes-noPOSTReturn a short uplifting positive affirmation from affirmations.dev, with a word count. Answers 'give me an affirmation','something positive','daily affirmation','encourage me'.
/v1/data/misc-affirmationPOSTSearch meals and full recipes by name or keyword via TheMealDB (keyless, free), with ingredients+measures normalized into clean arrays, instructions split into steps, and tags parsed. Answers 'find a recipe for arrabiata', 'search meals called chicken', 'what's in a teriyaki casserole', 'recipes named curry'.
/v1/data/food-meal-searchPOSTReturn a random full meal recipe via TheMealDB (keyless, free) with ingredients+measures as clean arrays and instructions split into steps. Answers 'give me a random recipe', 'surprise me with a meal', 'what should I cook tonight', 'pick a random dish'.
/v1/data/food-meal-randomPOSTLook up a complete meal recipe by its TheMealDB id (keyless, free), returning ingredients+measures as clean arrays, step-by-step instructions, category, cuisine, tags, and video link. Answers 'get recipe for meal 52772', 'full details of this dish id', 'ingredients and steps for meal X', 'show me the recipe by id'.
/v1/data/food-meal-detailsPOSTList meals in a category (e.g. Beef, Chicken, Vegetarian, Dessert) via TheMealDB (keyless, free), returning lightweight meal stubs with id, name, and thumbnail. Answers 'list vegetarian meals', 'what desserts are there', 'meals in the seafood category', 'show me beef dishes'.
/v1/data/food-meal-by-categoryPOSTList meals from a cuisine/area (e.g. Italian, Japanese, Mexican, Canadian) via TheMealDB (keyless, free), returning meal stubs with id, name, and thumbnail. Answers 'list Japanese dishes', 'what Mexican meals are there', 'recipes from Italy', 'show me Canadian food'.
/v1/data/food-meal-by-areaPOSTFind meals that use a given ingredient (e.g. chicken_breast, salmon, garlic) via TheMealDB (keyless, free), returning meal stubs with id, name, and thumbnail. Answers 'what can I make with chicken breast', 'meals using salmon', 'recipes with garlic', 'dishes containing rice'.
/v1/data/food-meal-by-ingredientPOSTList all meal categories via TheMealDB (keyless, free) with id, name, thumbnail, and description for each. Answers 'what meal categories exist', 'list all food categories', 'describe the dessert category', 'how many recipe categories are there'.
/v1/data/food-categoriesPOSTLook up a food ingredient by name via TheMealDB's ingredient reference (keyless, free), returning id, type, description, and image. Answers 'what is an ingredient X', 'describe chicken as an ingredient', 'info about lime', 'tell me about flour'.
/v1/data/food-ingredient-infoPOSTSearch cocktails and full drink recipes by name via TheCocktailDB (keyless, free), with ingredients+measures normalized into clean arrays, instructions split into steps, glass, IBA, and alcoholic flag. Answers 'how to make a margarita', 'search cocktails called mojito', 'what's in a negroni', 'recipe for a martini'.
/v1/data/food-cocktail-searchPOSTReturn a random cocktail recipe via TheCocktailDB (keyless, free) with ingredients+measures as clean arrays, glass, alcoholic flag, and instructions split into steps. Answers 'give me a random cocktail', 'surprise me with a drink', 'what should I make at the bar', 'pick a random drink'.
/v1/data/food-cocktail-randomPOSTFind cocktails made with a given ingredient (e.g. Vodka, Gin, Lime) via TheCocktailDB (keyless, free), returning drink stubs with id, name, and thumbnail. Answers 'what cocktails use vodka', 'drinks with gin', 'cocktails containing lime', 'what can I make with rum'.
/v1/data/food-cocktail-by-ingredientPOSTFind cocktails served in a given glass (e.g. Cocktail glass, Highball glass, Margarita glass) via TheCocktailDB (keyless, free), returning drink stubs with id, name, and thumbnail. Answers 'cocktails served in a highball glass', 'drinks for a martini glass', 'what goes in a coupe', 'cocktails by glassware'.
/v1/data/food-cocktail-by-glassPOSTScores a PROVIDED (flattened) cloud account config against 10 CIS-style controls (S3 public-access-block, default encryption, CloudTrail + log-file validation, root MFA, IAM MFA enforcement, no root access keys, key rotation <=90d, EBS default encryption, VPC flow logs, IAM Access Analyzer) using transparent per-control weights, returning per-control pass/fail findings with severity + remediation and a 0-100 weighted posture score; no live cloud access. Answers 'Does my AWS config meet CIS?','Which controls am I failing?'.
/v1/security/cloud-configPOSTAnalyzes a PROVIDED S3 bucket policy JSON (and optional canned ACL) for public exposure: walks each Allow Statement for public principals ('*' / 'arn:aws:iam::*:root'), public write/delete, wildcard s3:* actions, bucket-policy/ACL self-modification, missing aws:SecureTransport, and dangerous ACLs (public-read-write), returning findings + severity + remediation and a 0-100 exposure-resistance score; no live access. Answers 'Is this S3 bucket public?','Does this policy allow anonymous writes?'.
/v1/security/s3-policyPOSTAnalyzes a PROVIDED IAM policy document JSON for over-permissioning: flags 'Action':'*' / service wildcards (s3:*), 'Resource':'*' on sensitive actions, full admin, NotAction/NotResource Allow inversions, missing-MFA on destructive actions, and known privilege-escalation action sets (iam:CreatePolicyVersion, iam:PassRole+lambda:CreateFunction, iam:AttachUserPolicy, etc.), returning findings + severity + remediation and a 0-100 least-privilege score. Answers 'Is this IAM policy over-permissioned?','Can this role escalate privileges?'.
/v1/security/iam-policyPOSTScores a PROVIDED list of ingress rules ({port|fromPort/toPort, protocol, cidr}) for risky internet exposure: flags sensitive ports open to 0.0.0.0/0 or ::/0 (SSH 22, RDP 3389, DB ports 3306/5432/1433/27017/6379/9200, Docker 2375, etcd, k8s API, SMB 445) and 'all ports' rules, returning findings + severity + remediation and a 0-100 exposure-resistance score; rules restricted to private CIDRs are ignored. Answers 'Is SSH open to the world?','Which firewall rules are risky?'.
/v1/security/secgroup-portsPOSTScores a PROVIDED password policy object against NIST SP 800-63B: rewards long minimums (>=12), allowing >=64 chars, breached-password screening, rate-limiting/lockout, and penalizes forced periodic rotation and composition rules (which NIST advises against), returning per-check pass/fail findings + severity + remediation and a 0-100 alignment score with a letter grade. Answers 'Does this password policy meet NIST 800-63B?','Is forced rotation hurting us?'.
/v1/security/password-policyPOSTScans PROVIDED text for leaked credentials using provider-specific regexes (AWS AKIA/ASIA keys, GitHub ghp_/github_pat_, Slack xox, Stripe sk_live, Google AIza, Twilio, SendGrid, npm, PEM private-key blocks, JWTs) plus a Shannon-entropy heuristic for generic high-entropy assignment values, reporting provider, redacted match, line, entropy, severity, and a 0-100 cleanliness score. Answers 'Are there secrets in this file?','Did I commit an AWS key?'.
/v1/security/secret-scanPOSTScores a PROVIDED parsed Kubernetes manifest (Pod/Deployment/etc. JSON) against Pod Security Standard style controls per container: privileged, allowPrivilegeEscalation, runAsNonRoot/UID-0, readOnlyRootFilesystem, dropped capabilities (ALL/SYS_ADMIN/NET_RAW), hostNetwork/hostPID/hostIPC, hostPath volumes, missing resource limits, and mutable :latest tags, returning findings + severity + remediation and a 0-100 hardening score. Answers 'Is this pod running as root?','Does this manifest meet the restricted PSS?'.
/v1/security/k8s-manifestPOSTLints PROVIDED Dockerfile text for security and best-practice issues: running as root (no/late USER), :latest or unpinned/undigested base images, ADD of remote URLs, secrets baked into ENV/ARG, curl|bash piping, apt without --no-install-recommends or cache cleanup, sudo usage, EXPOSE 22, and missing HEALTHCHECK, returning findings + severity + line + remediation and a 0-100 score. Answers 'Does this Dockerfile run as root?','Is my base image pinned?'.
/v1/security/dockerfilePOSTScans PROVIDED Terraform/HCL text for tfsec/checkov-style misconfigs: security groups open to 0.0.0.0/0 or ::/0, public S3 ACLs, encrypted=false storage, RDS publicly_accessible=true, IAM '*' actions/resources, hardcoded secrets, disabled S3 versioning, CloudTrail log-validation off, and IMDSv1 (http_tokens=optional), returning findings + severity + line + snippet + remediation and a 0-100 score. Answers 'Does this Terraform open SSH to the world?','Is my S3 bucket public in IaC?'.
/v1/security/terraformPOSTParses a PROVIDED dotenv-format string and flags leaked secrets and weak values: provider-recognised credentials (AWS/Stripe/GitHub/etc.), secret-bearing keys (SECRET/TOKEN/KEY/PASSWORD/DSN) holding real or short values, weak/placeholder values ('changeme','123456'), connection strings with embedded creds, and enabled insecure flags (DEBUG, disabled TLS verification), returning per-line findings + severity + remediation and a 0-100 score. Answers 'Are there secrets in my .env?','Is my .env using weak defaults?'.
/v1/security/env-leakPOSTRender a payload as a QR code image and return it as a base64 data URI plus the direct image URL, echoing the encoded payload and parameters. Uses the keyless goQR (api.qrserver.com) create-qr-code endpoint with configurable size, error-correction level (L/M/Q/H), margin and colors; URL building/validation are pure and only the image render touches the network. Answers 'turn this URL into a QR code','generate a scannable QR for my Wi-Fi string','make a 300px QR with high error correction'.
/v1/util/util-qrPOSTGenerate placeholder lorem-ipsum text as words, sentences, or paragraphs from the classic Latin word pool, optionally forcing the canonical 'Lorem ipsum dolor sit amet' opening. A deterministic mulberry32 seed makes output reproducible for fixtures/snapshots; returns the text plus parts array, word count and char count. Answers 'give me 3 paragraphs of lorem ipsum','generate 50 placeholder words','reproducible dummy text with a seed'.
/v1/util/util-loremPOSTValidate an IPv4 or IPv6 string, normalize it, and classify its scope per RFC 1918 (private v4), RFC 5735 (loopback/link-local/reserved/multicast/documentation), RFC 4193 (unique-local v6) and RFC 4291 (v6 loopback/link-local/multicast), optionally testing membership in a provided CIDR block. Distinct from util-cidr (subnet math on a block). Answers 'is 10.0.0.1 a private IP','what scope is fe80::1','is 8.8.8.8 inside 8.8.8.0/24'.
/v1/util/util-ip-validatePOSTSniff a file type from its leading bytes (supplied as hex or base64) by matching against a table of well-known magic-number signatures (PNG, JPEG, GIF, PDF, ZIP/Office, gzip, WebP, MP3/ID3, MP4 ftyp, ELF, Windows PE, and more), returning the detected MIME type, canonical extension, category, and the matched signature with its byte offset. Content-based, not extension-based, so it catches mislabeled/spoofed files. Answers 'what file type are these bytes','is this really a PNG','detect MIME from a base64 prefix'.
/v1/util/util-mime-magicPOSTEncode text or a base64 payload into an RFC 2397 data: URI (chosen MIME type, charset, base64 vs percent-encoding), decode an existing data: URI back to its payload, or parse one into its structural parts (mediaType, parameters, base64 flag, decoded length). Handles both base64 and URL-encoded data URIs via an 'op' of encode|decode|parse. Answers 'turn this text into a data URI','decode this data: URL','what MIME type is this data URI'.
/v1/util/util-data-uriPOSTFull DefiLlama protocol detail with per-chain TVL breakdown, total TVL, market cap, and metadata, splitting base-chain TVL from suffixed buckets (staking/borrowed/pool2). Sourced from DefiLlama /protocol/{slug}. Answers 'how much TVL does Aave have on each chain','what category and market cap is this protocol'.
/v1/defi/protocolPOSTDaily TVL time-series for a protocol over a trailing window with start/current/peak values and percent change. Sourced from DefiLlama /protocol/{slug} tvl series. Answers 'how has Lido TVL trended','what was the peak TVL in the last 90 days'.
/v1/defi/tvl-historyPOSTProtocols ranked by TVL, optionally filtered by category and/or chain, with 1d/7d change and market cap. Sourced from DefiLlama /protocols. Answers 'top lending protocols by TVL','which protocols are biggest on Base'.
/v1/defi/top-protocolsPOSTTotal DeFi TVL aggregated by category (Lending, Dexes, CEX, etc.) with protocol counts and dominance share. Sourced from DefiLlama /protocols. Answers 'how is TVL split across DeFi categories','which category dominates DeFi'.
/v1/defi/category-tvlPOSTAll chains ranked by current TVL with each chain's dominance share and native token symbol. Sourced from DefiLlama /v2/chains. Answers 'which chains have the most TVL','what is Ethereum's TVL dominance'.
/v1/defi/chains-tvlPOSTDaily TVL history for one chain over a trailing window with start/current/peak and percent change. Sourced from DefiLlama /v2/historicalChainTvl/{chain}. Answers 'how has Base TVL trended','what is the current TVL on Arbitrum'.
/v1/defi/chain-tvlPOSTTotal USD-pegged stablecoin circulating supply broken down by chain, ranked, with each chain's share of the global float. Sourced from DefiLlama /stablecoinchains. Answers 'how much stablecoin supply is on each chain','which chain holds the most stablecoins'.
/v1/defi/stablecoin-chainsPOSTTrading volume for a single DEX (24h/7d/30d/all-time) with day/week/month percent change and chains. Sourced from DefiLlama /summary/dexs/{protocol}. Answers 'what is Uniswap's 24h volume','how is Curve trading volume trending'.
/v1/defi/dex-volumePOSTMarket-wide DEX trading volume totals (24h/7d/30d/all-time) plus a ranked leaderboard of the top DEXes by 24h volume. Sourced from DefiLlama /overview/dexs. Answers 'total DEX volume today','which DEX has the most volume right now'.
/v1/defi/dex-overviewPOSTMarket-wide on-chain options notional volume totals (24h/7d/30d/all-time) plus a ranked leaderboard of the top options protocols. Sourced from DefiLlama /overview/options. Answers 'total on-chain options volume','which options protocol leads by volume'.
/v1/defi/options-volumePOSTTotal fees paid by users to a protocol (24h/7d/30d/all-time) with change percentages and chains. Sourced from DefiLlama /summary/fees/{protocol}. Answers 'how much in fees does Aave generate','what are Uniswap's 30d fees'.
/v1/defi/protocol-feesPOSTProtocol-side revenue (the share of fees kept by the protocol/treasury) over 24h/7d/30d/all-time with change percentages. Sourced from DefiLlama /summary/fees/{protocol}?dataType=dailyRevenue. Answers 'how much revenue does Aave actually keep','what is the protocol's take-rate'.
/v1/defi/protocol-revenuePOSTMarket-wide DeFi fee totals (24h/7d/30d/all-time) plus a ranked leaderboard of the top fee-earning protocols by 24h fees. Sourced from DefiLlama /overview/fees. Answers 'total DeFi fees today','which protocols earn the most fees'.
/v1/defi/fees-overviewPOSTMulti-criteria yield-pool screener over DefiLlama pools: filter by chain, project, symbol, min/max APY, min TVL, and stablecoin-only, sortable by APY or TVL, returning base/reward APY split, IL risk, exposure, and predicted APY trend. Sourced from DefiLlama yields /pools. Answers 'best Aave pools on Base above 5% APY','highest-TVL stablecoin pools'.
/v1/defi/yields-poolPOSTSearch US Federal Register documents (rules, proposed rules, notices, presidential documents) by search term with optional date range and type filter, normalized from the keyless federalregister.gov API into a flat schema (title, type, agencies, dates, abstract, citation, URL). Answers 'what federal rules mention X?','which notices were published about Y this month?'.
/v1/gov/fedreg-searchPOSTList recent Federal Register documents published by a specific federal agency (by slug, e.g. 'environmental-protection-agency'), normalized from the keyless federalregister.gov API into a flat schema with optional document-type filter. Answers 'what did the EPA publish recently?','what rules did agency X issue?'.
/v1/gov/fedreg-agencyPOSTList recent US presidential executive orders from the keyless federalregister.gov API, normalized into a flat schema (EO number, title, signing/publication date, signing president, citation, URL) with optional president and signed-after filters. Answers 'what are the latest executive orders?','which EOs did president X sign since date Y?'.
/v1/gov/executive-ordersPOSTFetch a single Federal Register document by its document number from the keyless federalregister.gov API, normalized into a flat schema (title, type, agencies, abstract, dates, citation, EO number, URL). Answers 'what is Federal Register document 2026-11181?','give me the details of FR notice X'.
/v1/gov/fedreg-documentPOSTSummarize all XBRL company facts for a SEC filer by CIK from the keyless data.sec.gov companyfacts API into a flat schema (entity name, taxonomies, total concept count, and the latest value + unit + form for each concept). Answers 'what financial facts has company CIK X reported?','what is the latest reported value for each XBRL concept?'.
/v1/gov/edgar-company-factsPOSTReturn the full reported history of one XBRL concept (e.g. Revenues, Assets) for a SEC filer by CIK from the keyless data.sec.gov companyconcept API, normalized into a flat datapoint list (value, period, fiscal year/period, form, filed date, accession) sorted newest-filed first. Answers 'what is company X's revenue history?','show every reported value of concept Y for CIK Z'.
/v1/gov/edgar-conceptPOSTList the recent SEC filings for a company by CIK from the keyless data.sec.gov submissions API, normalized into a flat schema (form, filing/report date, accession, primary document, description, ready-to-open archive URL) with an optional form-type filter. Answers 'what did company CIK X file recently?','list the 10-K filings for filer Y'.
/v1/gov/edgar-submissionsPOSTReturn one XBRL concept reported by every SEC filer for a single fiscal period (frame, e.g. CY2023Q4I) from the keyless data.sec.gov frames API, normalized and ranked by value descending (CIK, entity, location, value, period, accession). Answers 'which companies had the largest assets in 2023 Q4?','what did all filers report for concept X in period Y?'.
/v1/gov/edgar-framesPOSTReturn the latest US total public debt outstanding ('debt to the penny') from the keyless US Treasury FiscalData API, normalized to numeric fields (total public debt, debt held by public, intragovernmental holdings, record date). Answers 'what is the US national debt right now?','how much debt is held by the public?'.
/v1/gov/treasury-debtPOSTReturn the latest average interest rates on US Treasury securities (bills, notes, bonds, TIPS, etc.) from the keyless US Treasury FiscalData API, normalized into a clean per-security list with numeric rates for the most recent record date. Answers 'what is the average interest rate on Treasury bills?','what rate is the government paying on its debt?'.
/v1/gov/treasury-ratesPOSTList recent US Treasury securities auctions from the keyless US Treasury FiscalData API, normalized into a clean schema (auction/issue/maturity dates, CUSIP, security type and term) with an optional security-type filter. Answers 'what Treasury securities were auctioned recently?','when is the next 8-week bill issued?'.
/v1/gov/treasury-auctionsPOSTReturn the latest official US Treasury Reporting Rate of Exchange for a country's currency (units per USD) from the keyless US Treasury FiscalData API, normalized into a clean schema (country, currency, units-per-USD, record/effective date). Answers 'what is the official Treasury exchange rate for X?','how many units of currency Y per US dollar for government reporting?'.
/v1/gov/treasury-exchange-ratesPOSTSearch federal spending awards (contracts, grants, loans, direct payments) by keyword from the keyless USAspending.gov API, normalized into a flat schema (award ID, recipient, amount, awarding agency, type, dates, usaspending.gov link) ranked by amount and filterable by award group. Answers 'who got federal contracts for X?','which recipients received the largest awards mentioning Y?'.
/v1/gov/spending-awardsPOSTReturn current-fiscal-year spending totals for a federal agency (matched by name, abbreviation, or 3-digit toptier code) from the keyless USAspending.gov toptier-agencies API, normalized into a clean schema (obligated amount, outlays, budget authority, percent of total federal budget). Answers 'how much did the Department of Defense obligate this year?','what share of the federal budget does agency X represent?'.
/v1/gov/spending-agencyPOSTGenerate a fresh BIP-39 seed phrase (12/15/18/21/24 words) using viem's bundled English wordlist with a spec-correct entropy+checksum. Answers 'Give me a new 24-word mnemonic.','What seed phrase can I derive a wallet from?'.
/v1/evm/bip39-generatePOSTValidate a BIP-39 seed phrase by checking word count, wordlist membership, and the spec SHA-256 checksum bits (computed via node:crypto, since viem does not verify it). Answers 'Is this seed phrase valid?','Which words in my mnemonic are wrong?'.
/v1/evm/bip39-validatePOSTDerive an EVM account (checksummed address + uncompressed public key) from a BIP-39 mnemonic via BIP-44 indices or an explicit BIP-32 path, using viem HD derivation. Answers 'What address is at m/44'/60'/0'/0/0?','What is account 1 of this seed phrase?'.
/v1/evm/mnemonic-to-addressPOSTDerive the EVM address and uncompressed secp256k1 public key from a 32-byte private key (via viem); the raw key is masked in the response and never logged. Answers 'What address owns this private key?','What is the public key for this key?'.
/v1/evm/private-to-addressPOSTCompute the address a contract will deploy to via the CREATE opcode: keccak256(rlp([sender, nonce]))[12:], computed with viem. Answers 'What address will my next deploy land at?','Where will this contract be at nonce 5?'.
/v1/evm/contract-addressPOSTRLP-encode a 0x-hex byte string or an arbitrarily nested array of them (the encoding EVM uses for txs, account state, and proofs), via viem's toRlp. Answers 'What is the RLP of [0x01,0x02]?','How do I encode this list for an EVM tx?'.
/v1/evm/rlp-encodePOSTRLP-decode a 0x-hex payload back into its nested byte-string structure (the inverse of EVM RLP serialization), via viem's fromRlp. Answers 'What does this RLP blob contain?','How do I parse 0xc20102?'.
/v1/evm/rlp-decodePOSTCompute the ENS namehash (recursive keccak node) the registry keys records by, e.g. vitalik.eth, via viem's namehash. Answers 'What is the ENS node for vitalik.eth?','What namehash does this domain resolve under?'.
/v1/evm/namehashPOSTCompute the keccak256 topic[0] for an event signature, e.g. Transfer(address,address,uint256), used to filter logs, via viem's toEventHash. Answers 'What topic do I filter for the Transfer event?','What is the keccak of this event signature?'.
/v1/evm/event-topicPOSTCompute EIP-1559 maxFeePerGas = baseFee * multiplier + priorityTip (all wei) plus the total cost for a gas limit, using exact integer/bigint math. Answers 'What maxFee should I set for this base fee?','How much will 21000 gas cost?'.
/v1/evm/eip1559-feePOSTCompute the keccak256 hash of a UTF-8 string or 0x-hex bytes (the EVM's hash for selectors, storage slots, and commitments), via viem's keccak256. Answers 'What is keccak256("hello")?','What is the hash of these bytes?'.
/v1/evm/keccakPOSTEncode or decode Base58 (Solana-style) or Base58Check (Bitcoin-style 4-byte double-SHA256 checksum) between hex and base58, implemented as pure big-integer base conversion with node:crypto. Answers 'What is the Base58Check of these bytes?','Is this base58 checksum valid?'.
/v1/evm/base58POSTEncode or decode native SegWit addresses (BIP-173 bech32 for v0, BIP-350 bech32m for v1+) from/to an HRP + witness version + program, with a pure reference polymod checksum. Answers 'What program does bc1q... encode?','What is the address for this witness program?'.
/v1/evm/bech32POSTCompute the EIP-191 personal_sign digest keccak256("\x19Ethereum Signed Message:\n" + len + message) that a wallet signs, via viem's hashMessage. Answers 'What hash does a wallet sign for this message?','What is the personal_sign digest of these bytes?'.
/v1/evm/message-hashPOSTEstimate the work to mine a vanity address with a given hex prefix/suffix: per-attempt probability (1/16 per nibble, x1/2 per case-sensitive letter), expected & median attempts, and wall-clock time at a hash rate. Answers 'How long to find an address starting 0xdead?','How many tries for this vanity prefix?'.
/v1/evm/vanity-estimatePOSTFormula 1 driver and constructor championship standings for a season, normalized from the keyless Jolpica-F1 API (Ergast successor). Answers queries like 'F1 driver standings 2023', 'who leads the constructors championship', 'how many points does Verstappen have'.
/v1/data/sports-f1-standingsPOSTFull Formula 1 race calendar for a season with round, circuit, locality, country, date/time, and sprint flag, normalized from the keyless Jolpica-F1 API. Answers queries like 'F1 race calendar 2023', 'when is the next Grand Prix', 'which races have sprints'.
/v1/data/sports-f1-schedulePOSTFinishing order for a Formula 1 race (season + round) with position, driver, constructor, grid, laps, status, time, points, and fastest lap, normalized from the keyless Jolpica-F1 API. Answers queries like 'who won the Bahrain GP', 'F1 race 1 results 2023', 'where did Hamilton finish'.
/v1/data/sports-f1-resultsPOSTMLB regular-season division standings by league (AL/NL) and season with wins, losses, win pct, games back, ranks, streak, and runs, normalized from the keyless MLB Stats API. Answers queries like 'AL East standings 2023', 'who leads the NL West', 'Yankees record'.
/v1/data/sports-mlb-standingsPOSTMLB team profile by numeric team id with name, abbreviation, location, venue, league, division, and founding year, normalized from the keyless MLB Stats API. Answers queries like 'Yankees team info', 'where do the Dodgers play', 'what division is team 147 in'.
/v1/data/sports-mlb-teamPOSTMLB games scheduled on a given date with start time, status, home/away teams, and scores, normalized from the keyless MLB Stats API. Answers queries like 'MLB games on July 4 2023', 'what was the Yankees score', 'who is playing today in baseball'.
/v1/data/sports-mlb-schedulePOSTNHL league-wide standings as of a date with conference, division, record, points, goals, streak, and ranks, normalized from the keyless NHL Web API. Answers queries like 'NHL standings', 'who is first in the Atlantic Division', 'Bruins points'.
/v1/data/sports-nhl-standingsPOSTNHL team's weekly schedule (by 3-letter abbreviation and optional date) with game date, UTC start, state, venue, and home/away teams plus scores, normalized from the keyless NHL Web API. Answers queries like 'Maple Leafs schedule this week', 'when do the Rangers play next', 'NHL games for TOR'.
/v1/data/sports-nhl-schedulePOSTChess.com player profile with title, country, follower count, join date, and per-format (blitz/bullet/rapid/daily) ratings and win-loss-draw records, normalized from the keyless Published-Data API. Answers queries like 'chess.com rating of hikaru', 'what title does this player hold', 'blitz record of a user'.
/v1/data/sports-chess-playerPOSTChess.com player's recent games for a month, oriented to the player (color, my rating, my result, opponent), normalized from the keyless Published-Data monthly archive. Answers queries like 'recent games of a chess.com player', 'did they win their last game', 'what openings is this player using'.
/v1/data/sports-chess-gamesPOSTChess.com top-player leaderboards by category (blitz/bullet/rapid/daily/tactics/bughouse) with rank, username, title, country, score, and W-L-D, normalized from the keyless Published-Data API. Answers queries like 'top blitz players on chess.com', 'who is number one in bullet', 'chess.com leaderboard'.
/v1/data/sports-chess-leaderboardsPOSTLichess public user profile with title, join/last-seen times, total W-L-D, and per-variant (bullet/blitz/rapid/classical/correspondence) ratings, normalized from the keyless Lichess API. Answers queries like 'lichess rating of a user', 'how many games has X played', 'blitz rating on lichess'.
/v1/data/sports-lichess-userPOSTGame scoreboard for a league (NBA/NFL/MLB/NHL/EPL and more) on a date with status, venue, and home/away teams and scores, normalized from the keyless (unofficial, best-effort) ESPN site API. Answers queries like 'NBA scores on a date', 'who is playing today', 'final score of the game'.
/v1/data/sports-espn-scoreboardPOSTConference/division standings for a league (NBA/NFL/MLB/NHL/EPL and more) with wins, losses, win pct, games behind, and point differential, normalized from the keyless (unofficial, best-effort) ESPN site API. Answers queries like 'NBA standings', 'NFL division standings', 'who leads the conference'.
/v1/data/sports-espn-standingsPOSTFootball/soccer league table for a league id and season with rank, played/won/drawn/lost, goals, goal difference, points, and form, normalized from the keyless TheSportsDB free API. Answers queries like 'Premier League table', 'La Liga standings 2023-2024', 'who is top of the league'.
/v1/data/sports-league-tablePOSTEstimate the electricity used to run N tokens (or queries) through an LLM, plus dollar cost and CO2, with fun comparisons (phone charges, LED-bulb hours, Google searches, EV miles). Rough Wh/token by model class x datacenter PUE x grid carbon x $/kWh, deterministic. Answers 'how much electricity does an LLM query use', 'cost to run a million tokens', 'carbon footprint of an AI prompt', 'energy per token'.
/v1/fun/llm-energyPOSTBuild your agentic credit score by posting a credibility bond: the USDC you pay is recorded as skin-in-the-game against your wallet, and your 300-850 agentic FICO score rises with cumulative stake, consistency, tenure, and recency. Other agents query agent-credit to decide whether to trust you before transacting. The bond is the sybil-resistant signal. (Under x402 enforcement the bond equals the settled amount and binds to the verified payer.) Answers 'build my agent reputation', 'stake credibility so other agents trust me', 'raise my agentic credit score'.
/v1/x402/agent-credit-buildPOSTLook up a wallet's agentic credit score (300-850, FICO-style) with tier and an auditable factor breakdown: bonded stake (skin-in-the-game), bond count (consistency), tenure, and recency. Built via agent-credit-build; complements x402-seller-score (objective on-chain settlement history) with the self-built/staked layer. Use it to decide whether to trust an agent before transacting. Answers 'what is this agent credit score', 'is this wallet trustworthy', 'agentic FICO for an address'.
/v1/x402/agent-creditPOSTFull metabolic profile in one call: BMR via Mifflin-St Jeor (primary), Harris-Benedict (revised 1984), and Katch-McArdle (when bodyFatPct is given), RMR, TDEE across all five activity levels, goal calorie targets (cut/maintain/bulk), and a rough metabolic-age estimate. Estimate, not medical advice. Answers 'what is my BMR and TDEE', 'how many calories to lose or gain weight', 'metabolism calculator', 'what is my metabolic age'.
/v1/health/metabolismGETFree llms.txt-style onboarding instructions for agents: how to discover endpoints, use x402 payment flows, and start calling the service safely.
/v1/instructionsGETReturn the full endpoint catalog, including paths, methods, categories, prices, schemas, rate limits, cache policy, tags, and implementation status.
/v1/catalogGETSearch the catalog with a natural-language query and return endpoints likely to satisfy the requested task, with scores and matched terms.
/v1/searchPOSTSubmit a requested endpoint or capability for the marketplace backlog. Returns a request ID plus nearby existing endpoints that may already satisfy the need.
/v1/requestsPOSTGenerate four low-cost image variants from one text prompt for agents that need several options without four separate paid calls.
/v1/content/images/fast-packPOSTTurn one product image into four marketplace-ready listing images with product-preserving Seedream edits.
/v1/content/images/listing-upgrade-packPOSTStart a single product-motion video job from one source image using fal's preconfigured Vidu template-to-video motions.
/v1/content/videos/product-motion-5sGETCheck whether a domain name appears registered or available using RDAP. Returns available, registered, registration date, expiration date, and a registrar-confirmation note.
/v1/domain/availabilityPOSTBase64 encode or decode a string for lightweight data transformation workflows.
/v1/data-transform/base64POSTDecode JWT header and payload without verifying the signature.
/v1/data-transform/jwt/decodePOSTExtract URLs, domains, IP addresses, email addresses, and common hashes from text.
/v1/data-transform/extract-iocsGETGenerate a deterministic fake person profile for testing and demos.
/v1/test-data/profilePOSTGenerate deterministic fake JSON records from simple field names such as name, email, address, company, birthday, uuid, and phone.
/v1/test-data/recordsGETReturn clearly labeled payment processor test card values for sandbox development.
/v1/test-data/test-cardPOSTEncode or decode URL components or full query strings for lightweight data transformation workflows.
/v1/data-transform/urlPOSTEncode or decode common HTML entities without invoking a browser or parser.
/v1/data-transform/htmlPOSTGzip-compress UTF-8 input or decompress base64-encoded gzip data.
/v1/data-transform/gzipPOSTIdentify likely hash formats from length and character set patterns.
/v1/data-transform/hash-idPOSTMeasure byte entropy and simple text/binary signals for strings or encoded payloads.
/v1/data-transform/entropyPOSTGenerate deterministic JSON test records from a small JSON Schema subset.
/v1/test-data/from-schemaPOSTScan text for common secret patterns and high-entropy tokens while returning redacted findings by default.
/v1/security/secrets-scanPOSTFingerprint a small file payload by hashes, magic bytes, MIME guess, entropy, and static risk flags.
/v1/security/file-fingerprintPOSTAggregate URL parsing heuristics and threat-feed reputation into a single safety verdict.
/v1/security/url-safetyPOSTSecurity-category alias for package risk scoring across npm and PyPI using OSV vulnerabilities, typosquat distance, and maintenance signals.
/v1/security/package-riskGETAggregate DNS, email-auth, liveness, and hostname heuristics into a lightweight domain trust score.
/v1/domain/riskPOSTCreate a Merkle root for many content hashes and sign one timestamped HMAC receipt for the batch.
/v1/trust/notary/batchPOSTCanonicalize JSON with stable key ordering and return deterministic SHA digests for signing or comparison.
/v1/trust/canonicalize/jsonGETGenerate likely typo, keyboard-neighbor, homoglyph, and TLD-swap variants for a domain without performing live lookups.
/v1/domain/typosquatsGETGenerate social/profile URL candidates for a username across supported OSINT sources without checking availability.
/v1/osint/profile-urlsGETList the supported username profile URL sources available to local OSINT profile generation.
/v1/osint/username/sourcesGETReturn local email OSINT signals: normalized local part, domain, Gravatar hash URL, role-account flag, and disposable-domain hint.
/v1/osint/emailPOSTConvert payloads between UTF-8, hex, Base64, binary byte strings, and decimal byte lists.
/v1/data-transform/convertPOSTApply ROT13 or a custom Caesar shift while preserving letter case.
/v1/data-transform/rotPOSTApply repeating-key XOR to UTF-8, hex, or Base64 input and return hex, Base64, or UTF-8 output.
/v1/data-transform/xorPOSTDecompress Base64 or hex encoded gzip, zlib, or raw deflate payloads.
/v1/data-transform/decompressPOSTInfer file type from a small encoded payload using magic bytes and lightweight filename hints.
/v1/data-transform/filetypePOSTTry safe local decoders such as URL, HTML entities, Base64, Base64URL, hex, gzip+Base64, and ROT13, then return plausible candidates.
/v1/data-transform/auto-decodePOSTEncode or decode Caesar and Vigenere classical ciphers for cryptography and puzzle workflows.
/v1/cryptography/cipherPOSTDecode Morse, Bacon, binary, octal, decimal, and hex text encodings.
/v1/cryptography/decodePOSTCount character or n-gram frequencies in normalized puzzle/cipher text.
/v1/cryptography/frequencyPOSTCheck whether a safe integer up to 1e12 is prime using local deterministic trial division.
/v1/math/is-primePOSTFactor a safe integer up to 1e12 with bounded local trial division for cryptography and puzzle workloads.
/v1/math/factorGETGenerate deterministic or random strings from alpha, alphanumeric, numeric, hex, URL-safe, or custom character sets.
/v1/test-data/stringGETGenerate UUID, UUIDv7-like, ULID, Nano ID, or hex token fixtures with optional deterministic seed.
/v1/test-data/idGETGenerate a deterministic fake person with name, birthday, email, phone, and username.
/v1/test-data/personGETGenerate a deterministic fake US-style postal address for test payloads.
/v1/test-data/addressGETGenerate a deterministic fake company with domain, email, industry, employee count, and address.
/v1/test-data/companyPOSTGenerate deterministic fake records and export them as JSON, NDJSON, or CSV.
/v1/test-data/dataset