{"uid":"cap_TDhESjiP98JIJS2k8-Cic","slug":"air-quality-observations-keyed-dataset-comparison-missing-value-fill-403bc9f1","name":"Air Quality Observations — Keyed Dataset Comparison + Missing-Value Fill","description":"Air quality observations — Keyed dataset comparison + Explicit missing-value fill: Keyed dataset comparison + Explicit missing-value fill for supplied air quality observations records (concentration, observation_count). Up to 200 rows; 2 independent reports using shared local analytical engines. No live lookup, prediction, professional assessment or external action. 0.01 USDC includes 2 supplied-data reports for up to 200 rows.","url":"https://market.datapackvibe.com/x402/assistant-ib26-weather-10-190?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","required":["row_id","station_group","date","concentration","observation_count"],"properties":{"date":{"type":"string","default":"","pattern":"^\\d{4}-\\d{2}-\\d{2}$","maxLength":10},"row_id":{"type":"string","default":"","maxLength":80,"minLength":1},"concentration":{"type":["number","null"],"maximum":1000000000000,"minimum":-1000000000000},"station_group":{"type":"string","default":"","maxLength":80},"observation_count":{"type":["number","null"],"maximum":1000000000000,"minimum":-1000000000000}},"additionalProperties":false},"default":[{"date":"2026-10-01","row_id":"row-1","concentration":10,"station_group":"group-a","observation_count":1},{"date":"2026-10-02","row_id":"row-2","concentration":20,"station_group":"group-b","observation_count":2},{"date":"2026-10-03","row_id":"row-3","concentration":15,"station_group":"group-a","observation_count":3},{"date":"2026-10-04","row_id":"row-4","concentration":30,"station_group":"group-b","observation_count":4}],"maxItems":200,"minItems":1},"field":{"enum":["concentration","observation_count"],"type":"string","default":"concentration"},"other":{"type":"array","items":{"type":"object","required":["row_id","station_group","date","concentration","observation_count"],"properties":{"date":{"type":"string","default":"","pattern":"^\\d{4}-\\d{2}-\\d{2}$","maxLength":10},"row_id":{"type":"string","default":"","maxLength":80,"minLength":1},"concentration":{"type":["number","null"],"maximum":1000000000000,"minimum":-1000000000000},"station_group":{"type":"string","default":"","maxLength":80},"observation_count":{"type":["number","null"],"maximum":1000000000000,"minimum":-1000000000000}},"additionalProperties":false},"default":[{"date":"2026-10-01","row_id":"row-1","concentration":10,"station_group":"group-a","observation_count":1},{"date":"2026-10-02","row_id":"row-2","concentration":21,"station_group":"group-b","observation_count":2},{"date":"2026-10-03","row_id":"row-3","concentration":17,"station_group":"group-a","observation_count":3},{"date":"2026-10-04","row_id":"row-4","concentration":33,"station_group":"group-b","observation_count":4}],"maxItems":200,"minItems":0},"method":{"enum":["zero","mean","median"],"type":"string","default":"median"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_gwbjvJG3lAYyka3SjidjQ","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Compares two supplied air quality datasets row-by-row (by key) and fills explicit missing values for concentration and observation_count fields, returning two analytical reports.","exampleAgentPrompt":"I have two sets of air quality readings from our monitoring stations — each up to 200 rows with concentration and observation_count fields, keyed by row_id, station_group, and date — can you run a keyed comparison between them and fill in any missing values, focusing on the concentration field?","exampleUseCases":[{"title":"Reconciling dual-source pollution readings","prompt":"I have two CSVs of daily PM2.5 concentration readings from our city monitoring network, both keyed by station_group and date. Can you compare them row-by-row to spot discrepancies and fill any missing concentration values? Here are both datasets with up to 150 rows each."},{"title":"Auditing observation count gaps across stations","prompt":"We have two independent reports of air quality observation counts from our regional stations for October 2026. Please run a keyed comparison on the observation_count field and flag any rows where values are null or missing across either dataset."},{"title":"Cross-validating contractor vs internal air quality data","prompt":"Our internal monitoring team and an external contractor both submitted air quality datasets for the same station groups and dates — around 80 rows each. Can you compare the concentration figures side by side and fill in explicit missing values so I can see where they diverge?"}],"resultDescription":"Returns two analytical reports: (1) a keyed dataset comparison showing row-by-row differences between the two supplied datasets on the selected field, and (2) an explicit missing-value fill report identifying and substituting null or absent values in concentration or observation_count columns, all processed locally without any external lookup.","failureModes":["Exceeding 200 rows in either dataset returns a validation error","Missing required fields (row_id, station_group, date, concentration, observation_count) in any row causes rejection","Invalid date format (not YYYY-MM-DD) triggers a pattern validation error","Field selector not one of 'concentration' or 'observation_count' returns enum error","Empty rows array (minItems: 1 violated) causes a schema error","Numeric values outside allowed range cause boundary validation failures"],"whenToPreferThis":"Choose this endpoint when you have two pre-collected air quality observation datasets that need local, offline keyed comparison and missing-value imputation without any live data lookup or external API calls. It is ideal for data reconciliation workflows where you want deterministic, reproducible analysis on up to 200 rows per dataset at low cost ($0.01 USDC for both reports). Prefer this over live air quality APIs when your data is already collected and you need auditing or QA rather than real-time retrieval.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-24T12:52:12.591Z","isFirstParty":false,"canonicalSlug":"air-quality-observations-keyed-dataset-comparison-missing-value-fill-403bc9f1"}