{"openapi":"3.1.0","info":{"title":"People Analytics — Data API","version":"1.0.0","description":"Posted, metered, agent-commerce data API: minimum-wage lookups, roster compliance, wage datasets, and pay benchmarks. Free tier (1,000 minimum-wage lookups/mo per IP); then a `pa_…` API key (Authorization: Bearer). Over the free ceiling, an unkeyed call returns 402 with a Stripe Checkout link for inline purchase."},"servers":[{"url":"https://compensationtoolbox.com/api/v1"}],"components":{"securitySchemes":{"ApiKey":{"type":"http","scheme":"bearer","bearerFormat":"pa_…","description":"Authorization: Bearer pa_…"}}},"x-pricing":{"metered-lookup":{"id":"metered-lookup","unit":"lookup","label":"$0.005 / lookup","freeAllowancePerMonth":1000,"volume":[{"upToPerMonth":100000,"unitAmountCents":0.5},{"upToPerMonth":null,"unitAmountCents":0.2}]},"metered-roster":{"id":"metered-roster","unit":"row","label":"$0.05 / employee-row","volume":[{"upToPerMonth":10000,"unitAmountCents":5},{"upToPerMonth":100000,"unitAmountCents":3},{"upToPerMonth":null,"unitAmountCents":1}]},"metered-benchmark":{"id":"metered-benchmark","unit":"query","label":"$3 / query","volume":[{"upToPerMonth":100,"unitAmountCents":300},{"upToPerMonth":null,"unitAmountCents":200}]},"dataset":{"id":"dataset","unit":"dataset","label":"$258 one-time snapshot (or $79/mo · $790/yr maintained feed)","volume":[{"upToPerMonth":null,"unitAmountCents":25800}]}},"paths":{"/minimum-wage":{"get":{"operationId":"getMinimumWage","summary":"Applicable minimum wage for a jurisdiction (+ variants + scheduled increases).","description":"Free ≤ 1000/mo per IP, then $0.005 / lookup.","parameters":[{"name":"jurisdiction","in":"query","required":true,"schema":{"type":"string"},"description":"e.g. \"San Francisco, CA\" or \"WA\""},{"name":"date","in":"query","required":false,"schema":{"type":"string","format":"date"}}],"security":[{},{"ApiKey":[]}],"responses":{"200":{"description":"OK"},"402":{"description":"Over free ceiling — body carries checkoutUrl"},"404":{"description":"Unknown jurisdiction"}}}},"/minimum-wage/dataset":{"get":{"operationId":"getMinimumWageDataset","summary":"Full minimum-wage jurisdiction dataset (CSV/JSON). Entitlement-gated.","description":"$258 one-time snapshot (or $79/mo · $790/yr maintained feed)","parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["csv","json"]}},{"name":"token","in":"query","required":false,"schema":{"type":"string"},"description":"commerce entitlement token (alternative to an entitled API key)"}],"security":[{"ApiKey":[]}],"responses":{"200":{"description":"Dataset"},"402":{"description":"Entitlement required — body carries checkoutUrl"}}}},"/roster/evaluate":{"post":{"operationId":"evaluateRoster","summary":"Evaluate a roster against the applicable minimum-wage floors.","description":"Keyed; $0.05 / employee-row (volume-tiered).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["employees"],"properties":{"employees":{"type":"array","items":{"type":"object","required":["id","location","payRate"],"properties":{"id":{"type":"string"},"location":{"type":"string"},"payRate":{"type":"number"},"periodHours":{"type":"number"}}}},"date":{"type":"string","format":"date"}}}}}},"security":[{"ApiKey":[]}],"responses":{"200":{"description":"Per-row results + summary"},"402":{"description":"API key required — body carries checkoutUrl"}}}},"/benchmark":{"get":{"operationId":"getBenchmark","summary":"Hourly market pay benchmark for a role × geography.","description":"Keyed; $3 / query (volume-tiered).","parameters":[{"name":"role","in":"query","required":true,"schema":{"type":"string"},"description":"SOC code (NN-NNNN); title→SOC resolution coming"},{"name":"geo","in":"query","required":false,"schema":{"type":"string"},"description":"USPS state, OEWS metro code, or \"national\" (default)"}],"security":[{"ApiKey":[]}],"responses":{"200":{"description":"Benchmark estimate"},"402":{"description":"API key required — body carries checkoutUrl"}}}}}}