{"apiVersion":"1.0.0","schemaVersion":1,"generatedAt":"2026-08-25T07:46:36.735Z","resource":{"id":"ac30f4182916f390bae53ad0","key":"POST https://api.geoprimitives.dev/v1/geometry/union","method":"POST","resourceUrl":"https://api.geoprimitives.dev/v1/geometry/union","alternateResourceUrls":["https://api.geoprimitives.dev/v1/geometry/union"],"canonicalUrl":"https://api.geoprimitives.dev/v1/geometry/union","origin":"https://api.geoprimitives.dev","hostname":"api.geoprimitives.dev","groupId":"api-geoprimitives-dev-a3da827b","providerName":"geoprimitives","title":"geoprimitives: POST /v1/geometry/union","description":"Dissolve overlapping or adjacent polygons into a single shape: merging parcels, coverage areas or service zones into one boundary before measuring or testing it. Send a FeatureCollection of Polygons or MultiPolygons; the answer is a single Polygon or MultiPolygon Feature, or null with empty:true when nothing is left. Clipping is planar in longitude/latitude, the way every polygon-clipping library does it: edges are straight in degrees rather than geodesics, and the two differ on edges spanning more than about a degree. The 2000-position cap is CPU rather than bandwidth: the sweep-line overlay is quadratic on self-intersecting input, where 2000 positions is already about 350 ms. Input is EPSG:4326 only. Limits: 2000 positions across all members, 1 MiB request body, and at least two polygona","tags":["geometry","overlay","polygon","turf","union"],"type":"http","x402Version":2,"routeTemplate":null,"input":{"type":"http","method":"POST","bodyType":"json","bodyFieldNames":["geojson"],"pathParamNames":[],"queryParamNames":[]},"iconUrl":null,"payment":{"networks":["eip155:8453"],"schemes":["exact"],"assets":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],"options":[{"network":"eip155:8453","scheme":"exact","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amountAtomic":"10000","payTo":"0x76A51b5Dd3729950B3b60c17f19252d221968FCe","maxTimeoutSeconds":300,"tokenName":"USD Coin","tokenVersion":"2"}],"acceptedPaymentCount":1,"priceUsd":null},"quality":{"l30DaysTotalCalls":1,"l30DaysUniquePayers":1,"lastCalledAt":"2026-08-21T17:26:02.561Z"},"registry":null,"sources":[{"id":"cdp-bazaar","sourceUrl":"https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources","observedAt":"2026-08-25T05:19:49.445Z","lastUpdated":"2026-08-21T17:26:02.679Z","recordKey":"POST https://api.geoprimitives.dev/v1/geometry/union"}],"verification":{"level":"origin-reachable","checkedAt":"2026-08-25T05:20:56.672Z","structural":{"ok":true,"normalized":true,"publicHttpUrl":true},"sourceConfirmed":true,"crossSource":false,"registryPaymentValid":null,"originCheck":{"scope":"origin","reachable":true,"statusCode":200,"method":"HEAD","checkedAt":"2026-08-25T05:20:21.676Z","latencyMs":727,"error":null},"quoteCheck":{"scope":"exact-route","outcome":"not-safely-testable","attempted":false,"requestedMethod":null,"statusCode":null,"finalUrl":"https://api.geoprimitives.dev/v1/geometry/union","redirectCount":0,"checkedAt":"2026-08-25T05:20:56.672Z","latencyMs":null,"reason":"potentially-mutating-method:POST","requirementCount":0},"quote":null,"paidCall":{"verified":false,"checkedAt":null,"network":null,"receiptReference":null,"outputReviewed":false}},"curation":{"status":"discovered","basis":"discovery-only","matchScope":null,"listingSlug":null,"providerListingSlug":null,"listingName":null,"kind":null,"categories":[],"editorialDescription":null,"docsUrl":null,"sourceUrl":null}}}