/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CostsListOut } from '../models/CostsListOut'; import type { MaterialsOut } from '../models/MaterialsOut'; import type { PermitsOut } from '../models/PermitsOut'; import type { RawBPSOut } from '../models/RawBPSOut'; import type { RawOEWSOut } from '../models/RawOEWSOut'; import type { RawPPISeriesPoint } from '../models/RawPPISeriesPoint'; import type { RawQCEWOut } from '../models/RawQCEWOut'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; export class DataCostsService { /** * Discovery — what cost data is available, with status per vertical * Returns the catalog of cost data + per-vertical live status. * @returns CostsListOut Successful Response * @throws ApiError */ public static costsList(): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/v1/costs/list', }); } /** * Indexed Producer Price Index value for a construction material category * Returns the latest PPI value for the category + 12-month history. * @returns MaterialsOut Successful Response * @throws ApiError */ public static costsMaterialsGet({ category, period, }: { /** * lumber, concrete, roofing, drywall, paint, flooring, hvac, insulation, masonry, electrical, plumbing, doors-windows, gutters, stairs, site */ category: string, /** * YYYY-MM (e.g. '2026-04'); default = latest available */ period?: (string | null), }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/v1/costs/materials', query: { 'category': category, 'period': period, }, errors: { 422: `Validation Error`, }, }); } /** * Raw BLS PPI series rows (auditability escape hatch) * Return the most-recent 24 months of raw rows for one BLS series. * @returns RawPPISeriesPoint Successful Response * @throws ApiError */ public static costsSourcesPpiGet({ seriesId, }: { /** * BLS series ID (e.g. 'WPU0811' for softwood lumber) */ seriesId: string, }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/v1/costs/sources/ppi/{series_id}', path: { 'series_id': seriesId, }, errors: { 422: `Validation Error`, }, }); } /** * Hourly wage for a construction trade at MSA, county, or ZIP level * Labor wage lookup with 3 geographic paths + 4-level confidence taxonomy. * @returns any Successful Response * @throws ApiError */ public static costsLaborGet({ trade, msa, county, zip, }: { /** * Trade name (e.g. 'electrician', 'plumber', 'carpenter'). See GET /v1/costs/list for the full list. */ trade: string, /** * 5-digit CBSA / MSA code (e.g. '19100' for Dallas-Fort Worth-Arlington). Returns direct OEWS MSA-level wage. confidence='measured'. */ msa?: (string | null), /** * 5-digit county FIPS (e.g. '48113' for Dallas County, TX). Returns OEWS x QCEW scaled estimate. confidence depends on data availability — see /docs/methodology/costs. */ county?: (string | null), /** * 5-digit ZIP code (e.g. '75201'). Resolved to dominant county + MSA via HUD crosswalk, then treated as the county path. resolved_county_fips + resolved_msa_code surface in the response for auditability. */ zip?: (string | null), }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/v1/costs/labor', query: { 'trade': trade, 'msa': msa, 'county': county, 'zip': zip, }, errors: { 422: `Validation Error`, }, }); } /** * Raw cost_labor_oews row (auditability escape hatch) * Return one raw cost_labor_oews row for (soc, msa, latest period). * @returns RawOEWSOut Successful Response * @throws ApiError */ public static costsSourcesOewsGet({ msa, soc, }: { /** * 5-digit CBSA / MSA code */ msa: string, /** * SOC code with hyphen (e.g. '47-2111') */ soc: string, }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/v1/costs/sources/oews', query: { 'msa': msa, 'soc': soc, }, errors: { 422: `Validation Error`, }, }); } /** * Raw cost_labor_qcew row (auditability escape hatch) * Return one raw cost_labor_qcew row for (naics, area, latest period). * @returns RawQCEWOut Successful Response * @throws ApiError */ public static costsSourcesQcewGet({ area, naics, }: { /** * 5-digit area FIPS / CBSA: county like '48113', state like '48000', MSA like '19100', or 'US00000' for national. */ area: string, /** * NAICS code: 5-digit specialty trade (e.g. '23821' for Electrical Contractors) or parent '238'. */ naics: string, }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/v1/costs/sources/qcew', query: { 'area': area, 'naics': naics, }, errors: { 422: `Validation Error`, }, }); } /** * Census BPS building permits for one jurisdiction-period * Returns the 4 structure-type breakouts + sum aggregates for one * (jurisdiction, period). Falls through to latest period if unspecified. * @returns PermitsOut Successful Response * @throws ApiError */ public static costsPermitsGet({ jurisdiction, period, }: { /** * 'US-{state}-{county_fips}' (e.g. 'US-TX-48113'), 'US-MSA-{cbsa}' (e.g. 'US-MSA-19100'), or bare 5-digit FIPS/CBSA code. */ jurisdiction: string, /** * YYYY-MM (e.g. '2026-04'); default = latest available */ period?: (string | null), }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/v1/costs/permits', query: { 'jurisdiction': jurisdiction, 'period': period, }, errors: { 422: `Validation Error`, }, }); } /** * Raw cost_permits_bps row (auditability escape hatch) * Return one raw cost_permits_bps row — no aggregation, no rollups. * @returns RawBPSOut Successful Response * @throws ApiError */ public static costsSourcesPermitsGet({ jurisdictionCode, period, }: { /** * Raw 5-digit FIPS county or CBSA code (no 'US-XX-' prefix). */ jurisdictionCode: string, /** * YYYY-MM (default = latest available) */ period?: (string | null), }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/v1/costs/sources/permits/{jurisdiction_code}', path: { 'jurisdiction_code': jurisdictionCode, }, query: { 'period': period, }, errors: { 422: `Validation Error`, }, }); } }