{"openapi":"3.1.0","info":{"title":"api-wildfire","version":"0.1.0","description":"FireLine: US wildfire activity (NASA FIRMS satellite detections, WFIGS incidents and perimeters, NWS fire weather alerts, NOAA smoke) and wildfire and forestry contract opportunities (SAM.gov, USAspending). Fire data is informational only, can be delayed or wrong, and is not for evacuation or life-safety decisions.","contact":{"email":"support@elysianintelligence.com","url":"https://elysianintelligence.com"}},"servers":[{"url":"https://api.elysianintelligence.com/fire"}],"components":{"securitySchemes":{"ApiKey":{"type":"http","scheme":"bearer","description":"Send 'x-api-key: <key>' instead if you prefer."}},"schemas":{},"parameters":{}},"paths":{"/status":{"get":{"summary":"Dataset freshness","responses":{"200":{"description":"When each dataset last updated","content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string"},"version":{"type":"string"},"datasets":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"last_success_at":{"type":["string","null"]},"row_count":{"type":["number","null"]},"last_error":{"type":["string","null"]}},"required":["name","last_success_at","row_count","last_error"]}},"notes":{"type":"array","items":{"type":"string"}}},"required":["api","version","datasets"]}}}}}}},"/v1/keys":{"post":{"summary":"Get a free API key","description":"The key is shown once. Store it; only a hash is kept. Sign up on https://elysianintelligence.com/signup/, which solves the bot check (Cloudflare Turnstile) for you.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","maxLength":254},"turnstile_token":{"type":"string","maxLength":2048},"accept_terms":{"type":"string","maxLength":16,"description":"The version of the API Terms of Service (https://elysianintelligence.com/terms/) you accept. Must be \"1.0\"."},"certify_tradecheck":{"type":"string","maxLength":32,"description":"Send \"tradecheck-fcra-v1\" to certify that you will use TradeCheck data only for permitted purposes and never as a factor in eligibility for credit, insurance, employment, housing or any purpose under 15 U.S.C. § 1681b (FCRA). TradeCheck serves no data without it."}},"required":["email"]}}}},"responses":{"201":{"description":"Key created","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string"},"prefix":{"type":"string"},"plan":{"type":"string","enum":["free","starter","pro","payg","lapsed"]}},"required":["key","prefix","plan"]}}}}}}},"/v1/keys/rotate":{"post":{"security":[{"ApiKey":[]}],"summary":"Rotate your API key","description":"Makes a new key for the same account and revokes the key you send, in one step. The plan, prepaid calls, subscription, usage, terms acceptance and TradeCheck certification move to the new key. The new key is shown once. Apps connected over OAuth must sign in again with the new key. We email the account about every rotation.","responses":{"201":{"description":"Key rotated","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string"},"prefix":{"type":"string"},"plan":{"type":"string","enum":["free","starter","pro","payg","lapsed"]}},"required":["key","prefix","plan"]}}}}}}},"/v1/keys/revoke":{"post":{"security":[{"ApiKey":[]}],"summary":"Revoke your API key","description":"Stops the key you send at once, for good. A key with a live subscription or prepaid calls left cannot be revoked: rotate it instead, so they move to a new key. We email the account about every revoke. After the last key of an account is revoked, a new key needs a new sign-up or a request to support.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"confirm":{"type":"string","maxLength":32,"description":"Send \"revoke\" to confirm. This cannot be undone."}},"required":["confirm"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"revoked":{"type":"boolean","enum":[true]},"active_keys_left":{"type":"integer"},"message":{"type":"string"}},"required":["revoked","active_keys_left","message"]}}}}}}},"/v1/keys/close-account":{"post":{"security":[{"ApiKey":[]}],"summary":"Close your account","description":"Revokes every key of the account (the email of the key you send) and closes the account. Cancel any subscription first. Prepaid calls that are left end with the account. We email the account, delete its email address and key records 30 days after closure, and keep billing records for seven years without the email address, as the privacy policy (https://elysianintelligence.com/privacy/) says.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"confirm":{"type":"string","maxLength":32,"description":"Send \"close-account\" to confirm. This cannot be undone."}},"required":["confirm"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"closed":{"type":"boolean","enum":[true]},"keys_closed":{"type":"integer"},"message":{"type":"string"}},"required":["closed","keys_closed","message"]}}}}}}},"/v1/keys/accept-terms":{"post":{"security":[{"ApiKey":[]}],"summary":"Accept the API Terms of Service","description":"For a key made before the terms, or before their current version. Billing sells nothing to a key until it accepts the current version.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accept_terms":{"type":"string","maxLength":16,"description":"The version of the API Terms of Service (https://elysianintelligence.com/terms/) you accept. Must be \"1.0\"."}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"terms_version":{"type":"string"}},"required":["terms_version"]}}}}}}},"/v1/keys/certify-tradecheck":{"post":{"security":[{"ApiKey":[]}],"summary":"Certify the TradeCheck FCRA terms","description":"TradeCheck serves no data to a key until it certifies section 6.1(c) of the terms.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"certify":{"type":"string","maxLength":32,"description":"Send \"tradecheck-fcra-v1\" to certify that you will use TradeCheck data only for permitted purposes and never as a factor in eligibility for credit, insurance, employment, housing or any purpose under 15 U.S.C. § 1681b (FCRA). TradeCheck serves no data without it."}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"tradecheck_certified":{"type":"boolean","enum":[true]}},"required":["tradecheck_certified"]}}}}}}},"/v1/fires/near":{"get":{"summary":"Fire activity around a point in the US: satellite fire detections grouped into clusters, current incidents, perimeters within the radius, active fire weather alerts that cover the point, and smoke. Each item has its distance, bearing, source and time. Fire data is informational only. It can be delayed, incomplete or wrong. Satellite detections can be false positives, such as industrial heat, gas flares or sun glint, and can miss fires under cloud or smoke. Do not use Fire data, or let end users use it, for evacuation, emergency response or any other life-safety decision. Follow official alerts and orders from local authorities, the National Weather Service and InciWeb.","tags":["near"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":["number","null"],"minimum":-90,"maximum":90,"description":"Latitude, decimal degrees (WGS 84)."},"required":false,"description":"Latitude, decimal degrees (WGS 84).","name":"lat","in":"query"},{"schema":{"type":["number","null"],"minimum":-180,"maximum":180,"description":"Longitude, decimal degrees (WGS 84)."},"required":false,"description":"Longitude, decimal degrees (WGS 84).","name":"lon","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":300,"default":50},"required":false,"name":"radius_km","in":"query"},{"schema":{"type":"string","format":"date-time","description":"Detections at or after this time. Default 48 hours ago; at most 7 days ago."},"required":false,"description":"Detections at or after this time. Default 48 hours ago; at most 7 days ago.","name":"since","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":50},"required":false,"name":"max_clusters","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"center":{"type":"object","properties":{"lat":{"type":"number"},"lon":{"type":"number"}},"required":["lat","lon"]},"radius_km":{"type":"number"},"since":{"type":"string"},"detections":{"type":"object","properties":{"total":{"type":"number","description":"Detections within the radius and time, of those read."},"truncated":{"type":"boolean","description":"True when the box held more than 20,000 detections; only the newest 20,000 were read. Narrow the radius or the time."},"clusters":{"type":"array","items":{"type":"object","properties":{"lat":{"type":"number","description":"Centre of the cluster's detections."},"lon":{"type":"number"},"detections":{"type":"number"},"distance_km":{"type":"number"},"bearing_deg":{"type":"number","description":"From the given point, degrees clockwise from true north."},"direction":{"type":"string","description":"N, NE, E, SE, S, SW, W or NW."},"nearest_km":{"type":"number","description":"Distance to the nearest detection of the cluster."},"max_frp_mw":{"type":["number","null"],"description":"Highest fire radiative power, megawatts."},"high_confidence":{"type":"number","description":"Detections that FIRMS rates high confidence (VIIRS high, or MODIS 80 or more)."},"first_at":{"type":"string"},"last_at":{"type":"string"},"satellites":{"type":"array","items":{"type":"string"}},"daynight":{"type":"array","items":{"type":"string"}},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."}},"required":["lat","lon","detections","distance_km","bearing_deg","direction","nearest_km","max_frp_mw","high_confidence","first_at","last_at","satellites","daynight","source","time"]}}},"required":["total","truncated","clusters"]},"incidents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"IRWIN id, the interagency incident id."},"unique_fire_id":{"type":["string","null"],"description":"Year, unit and number, for example 2026-ORUMF-000123."},"name":{"type":"string"},"type":{"type":["string","null"],"description":"WF wildfire, RX prescribed fire, CX complex."},"discovered_at":{"type":["string","null"]},"acres":{"type":["number","null"]},"percent_contained":{"type":["number","null"]},"cause":{"type":["string","null"],"description":"The public cause category (Human, Natural, Undetermined), when given."},"state":{"type":["string","null"]},"county":{"type":["string","null"]},"agency":{"type":["string","null"],"description":"Jurisdictional agency at the point of origin."},"gacc":{"type":["string","null"],"description":"Geographic Area Coordination Center."},"lat":{"type":["number","null"],"description":"Point of origin."},"lon":{"type":["number","null"]},"containment_at":{"type":["string","null"]},"control_at":{"type":["string","null"]},"out_at":{"type":["string","null"]},"personnel":{"type":["number","null"]},"complex_name":{"type":["string","null"]},"modified_at":{"type":["string","null"],"description":"When the record last changed upstream."},"current":{"type":"boolean","description":"False when the incident left the WFIGS current layer."},"perimeter_pending":{"type":["boolean","null"],"description":"True when the incident's perimeter is new or redrawn and its shape is still loading: a perimeter list can then miss it or show an older drawing. Null where not checked (the change feed)."},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."},"distance_km":{"type":"number"},"bearing_deg":{"type":"number","description":"From the given point, degrees clockwise from true north."},"direction":{"type":"string","description":"N, NE, E, SE, S, SW, W or NW."}},"required":["id","unique_fire_id","name","type","discovered_at","acres","percent_contained","cause","state","county","agency","gacc","lat","lon","containment_at","control_at","out_at","personnel","complex_name","modified_at","current","perimeter_pending","source","time","distance_km","bearing_deg","direction"]}},"perimeters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"incident_id":{"type":["string","null"]},"name":{"type":["string","null"]},"acres":{"type":["number","null"]},"category":{"type":["string","null"]},"percent_contained":{"type":["number","null"]},"polygon_at":{"type":["string","null"],"description":"When the perimeter was drawn."},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."},"distance_km":{"type":"number","description":"0 when the point is inside."},"bearing_deg":{"type":["number","null"],"description":"To the nearest edge; null when the point is inside."},"direction":{"type":["string","null"]},"contains_point":{"type":"boolean","description":"True when the point is inside the perimeter (distance 0), or an edge match (distance to the stored outline)."},"edge_match":{"type":"boolean","description":"True when the point is just outside the stored (thinned) outline, within the thinning tolerance plus 25 m. The real shape may cover it, so it counts as inside: the safe side for a fire or an alert."},"edge_distance_m":{"type":["number","null"],"description":"For an edge match: metres from the stored outline."},"shape_pending":{"type":"boolean","description":"True when a redrawn shape is still loading and this is the older drawing."}},"required":["id","incident_id","name","acres","category","percent_contained","polygon_at","source","time","distance_km","bearing_deg","direction","contains_point","edge_match","edge_distance_m","shape_pending"]}},"alerts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"headline":{"type":["string","null"]},"severity":{"type":["string","null"]},"urgency":{"type":["string","null"]},"certainty":{"type":["string","null"]},"sender":{"type":["string","null"]},"area":{"type":["string","null"]},"states":{"type":"array","items":{"type":"string"}},"zones":{"type":"array","items":{"type":"string"},"description":"NWS zones, as type/id, for example fire/CAZ288."},"sent":{"type":["string","null"]},"onset":{"type":["string","null"]},"ends":{"type":["string","null"]},"url":{"type":"string","description":"The alert on api.weather.gov."},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."},"edge_match":{"type":"boolean","description":"True when the point is just outside the stored (thinned) outline, within the thinning tolerance plus 25 m. The real shape may cover it, so it counts as inside: the safe side for a fire or an alert."},"edge_distance_m":{"type":["number","null"],"description":"For an edge match: metres from the stored outline."}},"required":["id","event","headline","severity","urgency","certainty","sender","area","states","zones","sent","onset","ends","url","source","time","edge_match","edge_distance_m"]},"description":"Active fire weather alerts whose area covers the point, edge matches included."},"alerts_unresolved":{"type":"number","description":"Active fire weather alerts whose area is not fully known yet (their zone polygons are still being read). When it is more than 0, an alert that covers the point may be missing: check weather.gov."},"smoke":{"type":"array","items":{"type":"object","properties":{"density":{"type":["string","null"]},"start_at":{"type":["string","null"]},"end_at":{"type":["string","null"]},"satellite":{"type":["string","null"]},"covers_point":{"type":"boolean"},"distance_km":{"type":"number","description":"0 when the point is inside."},"bearing_deg":{"type":["number","null"],"description":"To the nearest edge; null when the point is inside."},"direction":{"type":["string","null"]},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."}},"required":["density","start_at","end_at","satellite","covers_point","distance_km","bearing_deg","direction","source","time"]}},"licenses":{"type":"object","properties":{"firms":{"type":"string"},"wfigs":{"type":"string"},"nws":{"type":"string"},"smoke":{"type":"string"}},"required":["firms","wfigs","nws","smoke"]},"data_status":{"type":"object","properties":{"degraded":{"type":"boolean","description":"True when any fire source is older than its limit or its last sync failed in part or in full. An empty list in a degraded answer does not mean there is no fire or alert."},"message":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"dataset":{"type":"string"},"source":{"type":"string"},"last_success_at":{"type":["string","null"]},"age_minutes":{"type":["number","null"],"description":"Minutes since the last successful sync."},"max_age_minutes":{"type":"number"},"error":{"type":["string","null"],"description":"The error of the last sync, also a partial one (for example one FIRMS satellite)."}},"required":["dataset","source","last_success_at","age_minutes","max_age_minutes","error"]}}},"required":["degraded","message","sources"]},"safety":{"type":"object","properties":{"informational_only":{"type":"boolean","enum":[true]},"not_for_life_safety":{"type":"boolean","enum":[true]},"message":{"type":"string"},"official_sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]}}},"required":["informational_only","not_for_life_safety","message","official_sources"]}},"required":["center","radius_km","since","detections","incidents","perimeters","alerts","alerts_unresolved","smoke","licenses","data_status","safety"]}}}}}}},"/v1/incidents":{"get":{"summary":"Lists wildfire incidents, largest first, by state, size and type. Active means in the current layer and not declared out. Page with next_cursor. Fire data is informational only. It can be delayed, incomplete or wrong. Satellite detections can be false positives, such as industrial heat, gas flares or sun glint, and can miss fires under cloud or smoke. Do not use Fire data, or let end users use it, for evacuation, emergency response or any other life-safety decision. Follow official alerts and orders from local authorities, the National Weather Service and InciWeb.","tags":["incidents"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Two-letter state code, for example OR."},"required":false,"description":"Two-letter state code, for example OR.","name":"state","in":"query"},{"schema":{"type":["number","null"],"minimum":0},"required":false,"name":"min_acres","in":"query"},{"schema":{"type":"string","enum":["WF","RX","CX"],"description":"WF wildfire, RX prescribed fire, CX complex. Default all."},"required":false,"description":"WF wildfire, RX prescribed fire, CX complex. Default all.","name":"type","in":"query"},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}],"default":true,"description":"Default true. False adds incidents that left the current layer in the last year."},"required":false,"description":"Default true. False adds incidents that left the current layer in the last year.","name":"active","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","maxLength":200},"required":false,"name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"incidents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"IRWIN id, the interagency incident id."},"unique_fire_id":{"type":["string","null"],"description":"Year, unit and number, for example 2026-ORUMF-000123."},"name":{"type":"string"},"type":{"type":["string","null"],"description":"WF wildfire, RX prescribed fire, CX complex."},"discovered_at":{"type":["string","null"]},"acres":{"type":["number","null"]},"percent_contained":{"type":["number","null"]},"cause":{"type":["string","null"],"description":"The public cause category (Human, Natural, Undetermined), when given."},"state":{"type":["string","null"]},"county":{"type":["string","null"]},"agency":{"type":["string","null"],"description":"Jurisdictional agency at the point of origin."},"gacc":{"type":["string","null"],"description":"Geographic Area Coordination Center."},"lat":{"type":["number","null"],"description":"Point of origin."},"lon":{"type":["number","null"]},"containment_at":{"type":["string","null"]},"control_at":{"type":["string","null"]},"out_at":{"type":["string","null"]},"personnel":{"type":["number","null"]},"complex_name":{"type":["string","null"]},"modified_at":{"type":["string","null"],"description":"When the record last changed upstream."},"current":{"type":"boolean","description":"False when the incident left the WFIGS current layer."},"perimeter_pending":{"type":["boolean","null"],"description":"True when the incident's perimeter is new or redrawn and its shape is still loading: a perimeter list can then miss it or show an older drawing. Null where not checked (the change feed)."},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."}},"required":["id","unique_fire_id","name","type","discovered_at","acres","percent_contained","cause","state","county","agency","gacc","lat","lon","containment_at","control_at","out_at","personnel","complex_name","modified_at","current","perimeter_pending","source","time"]}},"next_cursor":{"type":["string","null"]},"license":{"type":"string"},"data_status":{"type":"object","properties":{"degraded":{"type":"boolean","description":"True when any fire source is older than its limit or its last sync failed in part or in full. An empty list in a degraded answer does not mean there is no fire or alert."},"message":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"dataset":{"type":"string"},"source":{"type":"string"},"last_success_at":{"type":["string","null"]},"age_minutes":{"type":["number","null"],"description":"Minutes since the last successful sync."},"max_age_minutes":{"type":"number"},"error":{"type":["string","null"],"description":"The error of the last sync, also a partial one (for example one FIRMS satellite)."}},"required":["dataset","source","last_success_at","age_minutes","max_age_minutes","error"]}}},"required":["degraded","message","sources"]},"safety":{"type":"object","properties":{"informational_only":{"type":"boolean","enum":[true]},"not_for_life_safety":{"type":"boolean","enum":[true]},"message":{"type":"string"},"official_sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]}}},"required":["informational_only","not_for_life_safety","message","official_sources"]}},"required":["incidents","next_cursor","license","data_status","safety"]}}}}}}},"/v1/incidents/{id}":{"get":{"summary":"Gets one incident by IRWIN id (with or without braces) or unique fire id (2026-ORUMF-000123): its record, its current perimeter as GeoJSON, and links to official information. Fire data is informational only. It can be delayed, incomplete or wrong. Satellite detections can be false positives, such as industrial heat, gas flares or sun glint, and can miss fires under cloud or smoke. Do not use Fire data, or let end users use it, for evacuation, emergency response or any other life-safety decision. Follow official alerts and orders from local authorities, the National Weather Service and InciWeb.","tags":["get_incident"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":3,"maxLength":60,"description":"IRWIN id or unique fire id."},"required":true,"description":"IRWIN id or unique fire id.","name":"id","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"incident":{"type":"object","properties":{"id":{"type":"string","description":"IRWIN id, the interagency incident id."},"unique_fire_id":{"type":["string","null"],"description":"Year, unit and number, for example 2026-ORUMF-000123."},"name":{"type":"string"},"type":{"type":["string","null"],"description":"WF wildfire, RX prescribed fire, CX complex."},"discovered_at":{"type":["string","null"]},"acres":{"type":["number","null"]},"percent_contained":{"type":["number","null"]},"cause":{"type":["string","null"],"description":"The public cause category (Human, Natural, Undetermined), when given."},"state":{"type":["string","null"]},"county":{"type":["string","null"]},"agency":{"type":["string","null"],"description":"Jurisdictional agency at the point of origin."},"gacc":{"type":["string","null"],"description":"Geographic Area Coordination Center."},"lat":{"type":["number","null"],"description":"Point of origin."},"lon":{"type":["number","null"]},"containment_at":{"type":["string","null"]},"control_at":{"type":["string","null"]},"out_at":{"type":["string","null"]},"personnel":{"type":["number","null"]},"complex_name":{"type":["string","null"]},"modified_at":{"type":["string","null"],"description":"When the record last changed upstream."},"current":{"type":"boolean","description":"False when the incident left the WFIGS current layer."},"perimeter_pending":{"type":["boolean","null"],"description":"True when the incident's perimeter is new or redrawn and its shape is still loading: a perimeter list can then miss it or show an older drawing. Null where not checked (the change feed)."},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."}},"required":["id","unique_fire_id","name","type","discovered_at","acres","percent_contained","cause","state","county","agency","gacc","lat","lon","containment_at","control_at","out_at","personnel","complex_name","modified_at","current","perimeter_pending","source","time"]},"perimeter":{"type":["object","null"],"properties":{"id":{"type":"string"},"incident_id":{"type":["string","null"]},"name":{"type":["string","null"]},"acres":{"type":["number","null"]},"category":{"type":["string","null"]},"percent_contained":{"type":["number","null"]},"polygon_at":{"type":["string","null"],"description":"When the perimeter was drawn."},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."},"current":{"type":"boolean"},"points":{"type":["number","null"]},"geometry":{"type":["object","null"],"properties":{"type":{"type":"string","enum":["MultiPolygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}}},"required":["type","coordinates"],"description":"Every part of the perimeter (spot fires too), each thinned to at most 3,000 points."}},"required":["id","incident_id","name","acres","category","percent_contained","polygon_at","source","time","current","points","geometry"]},"links":{"type":"object","properties":{"inciweb":{"type":"string"},"nifc_maps":{"type":"string"}},"required":["inciweb","nifc_maps"]},"licenses":{"type":"object","properties":{"wfigs":{"type":"string"}},"required":["wfigs"]},"data_status":{"type":"object","properties":{"degraded":{"type":"boolean","description":"True when any fire source is older than its limit or its last sync failed in part or in full. An empty list in a degraded answer does not mean there is no fire or alert."},"message":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"dataset":{"type":"string"},"source":{"type":"string"},"last_success_at":{"type":["string","null"]},"age_minutes":{"type":["number","null"],"description":"Minutes since the last successful sync."},"max_age_minutes":{"type":"number"},"error":{"type":["string","null"],"description":"The error of the last sync, also a partial one (for example one FIRMS satellite)."}},"required":["dataset","source","last_success_at","age_minutes","max_age_minutes","error"]}}},"required":["degraded","message","sources"]},"safety":{"type":"object","properties":{"informational_only":{"type":"boolean","enum":[true]},"not_for_life_safety":{"type":"boolean","enum":[true]},"message":{"type":"string"},"official_sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]}}},"required":["informational_only","not_for_life_safety","message","official_sources"]}},"required":["incident","perimeter","links","licenses","data_status","safety"]}}}}}}},"/v1/alerts":{"get":{"summary":"Active fire weather alerts (Red Flag Warning, Fire Weather Watch, Extreme Fire Danger, Fire Warning) for a state, or the ones that cover a point. Fire data is informational only. It can be delayed, incomplete or wrong. Satellite detections can be false positives, such as industrial heat, gas flares or sun glint, and can miss fires under cloud or smoke. Do not use Fire data, or let end users use it, for evacuation, emergency response or any other life-safety decision. Follow official alerts and orders from local authorities, the National Weather Service and InciWeb.","tags":["weather_alerts"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Two-letter state code, for example OR."},"required":false,"description":"Two-letter state code, for example OR.","name":"state","in":"query"},{"schema":{"type":["number","null"],"minimum":-90,"maximum":90,"description":"Latitude, decimal degrees (WGS 84)."},"required":false,"description":"Latitude, decimal degrees (WGS 84).","name":"lat","in":"query"},{"schema":{"type":["number","null"],"minimum":-180,"maximum":180,"description":"Longitude, decimal degrees (WGS 84)."},"required":false,"description":"Longitude, decimal degrees (WGS 84).","name":"lon","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"alerts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"headline":{"type":["string","null"]},"severity":{"type":["string","null"]},"urgency":{"type":["string","null"]},"certainty":{"type":["string","null"]},"sender":{"type":["string","null"]},"area":{"type":["string","null"]},"states":{"type":"array","items":{"type":"string"}},"zones":{"type":"array","items":{"type":"string"},"description":"NWS zones, as type/id, for example fire/CAZ288."},"sent":{"type":["string","null"]},"onset":{"type":["string","null"]},"ends":{"type":["string","null"]},"url":{"type":"string","description":"The alert on api.weather.gov."},"source":{"type":"string","description":"The upstream source of this item."},"time":{"type":["string","null"],"description":"The source's time for this item (detection, update or issue time), UTC."},"edge_match":{"type":"boolean","description":"True when the point is just outside the stored (thinned) outline, within the thinning tolerance plus 25 m. The real shape may cover it, so it counts as inside: the safe side for a fire or an alert."},"edge_distance_m":{"type":["number","null"],"description":"For an edge match: metres from the stored outline."}},"required":["id","event","headline","severity","urgency","certainty","sender","area","states","zones","sent","onset","ends","url","source","time","edge_match","edge_distance_m"]}},"alerts_unresolved":{"type":"number","description":"For a point query: active alerts whose area is not fully known yet. 0 for a state query, which reads states from the alert itself."},"license":{"type":"string"},"data_status":{"type":"object","properties":{"degraded":{"type":"boolean","description":"True when any fire source is older than its limit or its last sync failed in part or in full. An empty list in a degraded answer does not mean there is no fire or alert."},"message":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"dataset":{"type":"string"},"source":{"type":"string"},"last_success_at":{"type":["string","null"]},"age_minutes":{"type":["number","null"],"description":"Minutes since the last successful sync."},"max_age_minutes":{"type":"number"},"error":{"type":["string","null"],"description":"The error of the last sync, also a partial one (for example one FIRMS satellite)."}},"required":["dataset","source","last_success_at","age_minutes","max_age_minutes","error"]}}},"required":["degraded","message","sources"]},"safety":{"type":"object","properties":{"informational_only":{"type":"boolean","enum":[true]},"not_for_life_safety":{"type":"boolean","enum":[true]},"message":{"type":"string"},"official_sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]}}},"required":["informational_only","not_for_life_safety","message","official_sources"]}},"required":["alerts","alerts_unresolved","license","data_status","safety"]}}}}}}},"/v1/fires/changes":{"get":{"summary":"A change feed of new, updated and removed incidents, perimeters and fire weather alerts, oldest first, after a cursor or since a time. Always returns next_cursor; store it and pass it next time. Changes are kept 30 days. Fire data is informational only. It can be delayed, incomplete or wrong. Satellite detections can be false positives, such as industrial heat, gas flares or sun glint, and can miss fires under cloud or smoke. Do not use Fire data, or let end users use it, for evacuation, emergency response or any other life-safety decision. Follow official alerts and orders from local authorities, the National Weather Service and InciWeb.","tags":["changes"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^\\d{1,12}$","description":"The next_cursor of the previous call."},"required":false,"description":"The next_cursor of the previous call.","name":"cursor","in":"query"},{"schema":{"type":"string","format":"date-time","description":"ISO 8601 time, for the first call. Default 24 hours ago. Ignored when cursor is given."},"required":false,"description":"ISO 8601 time, for the first call. Default 24 hours ago. Ignored when cursor is given.","name":"since","in":"query"},{"schema":{"type":"string","maxLength":40,"pattern":"^[a-z,]+$","description":"Comma-separated: incident, perimeter, alert. Default all."},"required":false,"description":"Comma-separated: incident, perimeter, alert. Default all.","name":"kinds","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"changes":{"type":"array","items":{"type":"object","properties":{"seq":{"type":"number"},"at":{"type":"string","description":"When the change reached this API."},"kind":{"type":"string","enum":["incident","perimeter","alert"]},"id":{"type":"string"},"action":{"type":"string","enum":["new","updated","removed"]},"record":{"type":["object","null"],"additionalProperties":{},"description":"The record as it is now (not as it was at the change), or null when it was deleted after 30 days."}},"required":["seq","at","kind","id","action","record"]}},"next_cursor":{"type":"string"},"has_more":{"type":"boolean"},"data_status":{"type":"object","properties":{"degraded":{"type":"boolean","description":"True when any fire source is older than its limit or its last sync failed in part or in full. An empty list in a degraded answer does not mean there is no fire or alert."},"message":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"dataset":{"type":"string"},"source":{"type":"string"},"last_success_at":{"type":["string","null"]},"age_minutes":{"type":["number","null"],"description":"Minutes since the last successful sync."},"max_age_minutes":{"type":"number"},"error":{"type":["string","null"],"description":"The error of the last sync, also a partial one (for example one FIRMS satellite)."}},"required":["dataset","source","last_success_at","age_minutes","max_age_minutes","error"]}}},"required":["degraded","message","sources"]},"safety":{"type":"object","properties":{"informational_only":{"type":"boolean","enum":[true]},"not_for_life_safety":{"type":"boolean","enum":[true]},"message":{"type":"string"},"official_sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]}}},"required":["informational_only","not_for_life_safety","message","official_sources"]}},"required":["changes","next_cursor","has_more","data_status","safety"]}}}}}}},"/v1/contracts":{"get":{"summary":"Searches wildfire and forestry contract opportunities (the newest notice of each solicitation), newest posted first. Filter by state, notice type, NAICS, PSC, agency, title words, set-aside and response deadline. Page with next_cursor. Notices come from SAM.gov and are selected for wildfire and forestry work by NAICS, PSC, title words and agency; each says why it was selected. SAM.gov is the official source: check the notice there before you bid.","tags":["search_contracts"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Place of performance state, for example OR."},"required":false,"description":"Place of performance state, for example OR.","name":"state","in":"query"},{"schema":{"type":"string","enum":["Presolicitation","Solicitation","Combined Synopsis/Solicitation","Sources Sought","Special Notice","Award Notice","Justification","Intent to Bundle Requirements (DoD-Funded)","Sale of Surplus Property"]},"required":false,"name":"notice_type","in":"query"},{"schema":{"type":"string","pattern":"^\\d{2,6}$","description":"A NAICS code or its start, for example 115310 or 1153."},"required":false,"description":"A NAICS code or its start, for example 115310 or 1153.","name":"naics","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,4}$","description":"A PSC code or its start, for example F003 or F0."},"required":false,"description":"A PSC code or its start, for example F003 or F0.","name":"psc","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":80,"description":"Words of the agency path, for example FOREST SERVICE or LAND MANAGEMENT."},"required":false,"description":"Words of the agency path, for example FOREST SERVICE or LAND MANAGEMENT.","name":"agency","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":80,"description":"Words that the title contains."},"required":false,"description":"Words that the title contains.","name":"keyword","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,12}$","description":"SAM set-aside code, for example SBA, 8A, HZC, SDVOSBC, WOSB."},"required":false,"description":"SAM set-aside code, for example SBA, 8A, HZC, SDVOSBC, WOSB.","name":"set_aside","in":"query"},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}],"default":false,"description":"True: only notices that take responses and whose deadline has not passed."},"required":false,"description":"True: only notices that take responses and whose deadline has not passed.","name":"open_only","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD, inclusive."},"required":false,"description":"YYYY-MM-DD, inclusive.","name":"deadline_after","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD, inclusive."},"required":false,"description":"YYYY-MM-DD, inclusive.","name":"deadline_before","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","maxLength":200},"required":false,"name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"contracts":{"type":"array","items":{"type":"object","properties":{"notice_id":{"type":"string"},"solicitation_number":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","description":"SAM notice type, for example Solicitation, Sources Sought or Award Notice."},"agency":{"type":["string","null"],"description":"SAM's agency path: department, sub-tier, office."},"naics":{"type":["string","null"]},"psc":{"type":["string","null"],"description":"Product and service code."},"set_aside":{"type":["string","null"]},"set_aside_code":{"type":["string","null"]},"place_of_performance":{"type":"object","properties":{"state":{"type":["string","null"]},"zip":{"type":["string","null"]},"city":{"type":["string","null"]}},"required":["state","zip","city"]},"posted_date":{"type":"string"},"response_deadline":{"type":["string","null"],"description":"UTC. SAM gives some deadlines as a date only; such a deadline is stored as 23:59:59 US Eastern time (America/New_York, daylight saving time applied) on that date. Check the notice on SAM.gov for the exact time."},"archive_date":{"type":["string","null"]},"active":{"type":["boolean","null"]},"award":{"type":["object","null"],"properties":{"amount":{"type":["number","null"]},"awardee":{"type":["string","null"]},"date":{"type":["string","null"]},"number":{"type":["string","null"]}},"required":["amount","awardee","date","number"]},"match_reasons":{"type":"array","items":{"type":"string","enum":["naics","psc","keyword","agency"]}},"latest":{"type":"boolean","description":"True for the newest notice of its solicitation."},"sam_url":{"type":"string"},"first_seen_at":{"type":"string","description":"When this notice reached this API."}},"required":["notice_id","solicitation_number","title","type","agency","naics","psc","set_aside","set_aside_code","place_of_performance","posted_date","response_deadline","archive_date","active","award","match_reasons","latest","sam_url","first_seen_at"]}},"next_cursor":{"type":["string","null"]},"license":{"type":"string"}},"required":["contracts","next_cursor","license"]}}}}}}},"/v1/contracts/changes":{"get":{"summary":"A change feed of new and updated wildfire and forestry notices, oldest first, after a cursor or since a time, for new-bid alerts. Always returns next_cursor; store it and pass it next time. Changes are kept 30 days. Notices come from SAM.gov and are selected for wildfire and forestry work by NAICS, PSC, title words and agency; each says why it was selected. SAM.gov is the official source: check the notice there before you bid.","tags":["contract_changes"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^\\d{1,12}$"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"string","format":"date-time","description":"ISO 8601 time, for the first call. Default 24 hours ago. Ignored when cursor is given."},"required":false,"description":"ISO 8601 time, for the first call. Default 24 hours ago. Ignored when cursor is given.","name":"since","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"changes":{"type":"array","items":{"type":"object","properties":{"seq":{"type":"number"},"at":{"type":"string"},"notice_id":{"type":"string"},"action":{"type":"string","enum":["new","updated"]},"contract":{"type":["object","null"],"properties":{"notice_id":{"type":"string"},"solicitation_number":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","description":"SAM notice type, for example Solicitation, Sources Sought or Award Notice."},"agency":{"type":["string","null"],"description":"SAM's agency path: department, sub-tier, office."},"naics":{"type":["string","null"]},"psc":{"type":["string","null"],"description":"Product and service code."},"set_aside":{"type":["string","null"]},"set_aside_code":{"type":["string","null"]},"place_of_performance":{"type":"object","properties":{"state":{"type":["string","null"]},"zip":{"type":["string","null"]},"city":{"type":["string","null"]}},"required":["state","zip","city"]},"posted_date":{"type":"string"},"response_deadline":{"type":["string","null"],"description":"UTC. SAM gives some deadlines as a date only; such a deadline is stored as 23:59:59 US Eastern time (America/New_York, daylight saving time applied) on that date. Check the notice on SAM.gov for the exact time."},"archive_date":{"type":["string","null"]},"active":{"type":["boolean","null"]},"award":{"type":["object","null"],"properties":{"amount":{"type":["number","null"]},"awardee":{"type":["string","null"]},"date":{"type":["string","null"]},"number":{"type":["string","null"]}},"required":["amount","awardee","date","number"]},"match_reasons":{"type":"array","items":{"type":"string","enum":["naics","psc","keyword","agency"]}},"latest":{"type":"boolean","description":"True for the newest notice of its solicitation."},"sam_url":{"type":"string"},"first_seen_at":{"type":"string","description":"When this notice reached this API."}},"required":["notice_id","solicitation_number","title","type","agency","naics","psc","set_aside","set_aside_code","place_of_performance","posted_date","response_deadline","archive_date","active","award","match_reasons","latest","sam_url","first_seen_at"]}},"required":["seq","at","notice_id","action","contract"]}},"next_cursor":{"type":"string"},"has_more":{"type":"boolean"},"license":{"type":"string"}},"required":["changes","next_cursor","has_more","license"]}}}}}}},"/v1/contracts/{notice_id}":{"get":{"summary":"Gets one contract notice by SAM notice id, with every other notice of the same solicitation (amendments and the award notice), newest first. Notices come from SAM.gov and are selected for wildfire and forestry work by NAICS, PSC, title words and agency; each says why it was selected. SAM.gov is the official source: check the notice there before you bid.","tags":["get_contract"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z0-9-]{8,64}$","description":"SAM notice id, for example d141b64c... (32 hex characters)."},"required":true,"description":"SAM notice id, for example d141b64c... (32 hex characters).","name":"notice_id","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"contract":{"type":"object","properties":{"notice_id":{"type":"string"},"solicitation_number":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","description":"SAM notice type, for example Solicitation, Sources Sought or Award Notice."},"agency":{"type":["string","null"],"description":"SAM's agency path: department, sub-tier, office."},"naics":{"type":["string","null"]},"psc":{"type":["string","null"],"description":"Product and service code."},"set_aside":{"type":["string","null"]},"set_aside_code":{"type":["string","null"]},"place_of_performance":{"type":"object","properties":{"state":{"type":["string","null"]},"zip":{"type":["string","null"]},"city":{"type":["string","null"]}},"required":["state","zip","city"]},"posted_date":{"type":"string"},"response_deadline":{"type":["string","null"],"description":"UTC. SAM gives some deadlines as a date only; such a deadline is stored as 23:59:59 US Eastern time (America/New_York, daylight saving time applied) on that date. Check the notice on SAM.gov for the exact time."},"archive_date":{"type":["string","null"]},"active":{"type":["boolean","null"]},"award":{"type":["object","null"],"properties":{"amount":{"type":["number","null"]},"awardee":{"type":["string","null"]},"date":{"type":["string","null"]},"number":{"type":["string","null"]}},"required":["amount","awardee","date","number"]},"match_reasons":{"type":"array","items":{"type":"string","enum":["naics","psc","keyword","agency"]}},"latest":{"type":"boolean","description":"True for the newest notice of its solicitation."},"sam_url":{"type":"string"},"first_seen_at":{"type":"string","description":"When this notice reached this API."}},"required":["notice_id","solicitation_number","title","type","agency","naics","psc","set_aside","set_aside_code","place_of_performance","posted_date","response_deadline","archive_date","active","award","match_reasons","latest","sam_url","first_seen_at"]},"thread":{"type":"array","items":{"type":"object","properties":{"notice_id":{"type":"string"},"solicitation_number":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","description":"SAM notice type, for example Solicitation, Sources Sought or Award Notice."},"agency":{"type":["string","null"],"description":"SAM's agency path: department, sub-tier, office."},"naics":{"type":["string","null"]},"psc":{"type":["string","null"],"description":"Product and service code."},"set_aside":{"type":["string","null"]},"set_aside_code":{"type":["string","null"]},"place_of_performance":{"type":"object","properties":{"state":{"type":["string","null"]},"zip":{"type":["string","null"]},"city":{"type":["string","null"]}},"required":["state","zip","city"]},"posted_date":{"type":"string"},"response_deadline":{"type":["string","null"],"description":"UTC. SAM gives some deadlines as a date only; such a deadline is stored as 23:59:59 US Eastern time (America/New_York, daylight saving time applied) on that date. Check the notice on SAM.gov for the exact time."},"archive_date":{"type":["string","null"]},"active":{"type":["boolean","null"]},"award":{"type":["object","null"],"properties":{"amount":{"type":["number","null"]},"awardee":{"type":["string","null"]},"date":{"type":["string","null"]},"number":{"type":["string","null"]}},"required":["amount","awardee","date","number"]},"match_reasons":{"type":"array","items":{"type":"string","enum":["naics","psc","keyword","agency"]}},"latest":{"type":"boolean","description":"True for the newest notice of its solicitation."},"sam_url":{"type":"string"},"first_seen_at":{"type":"string","description":"When this notice reached this API."}},"required":["notice_id","solicitation_number","title","type","agency","naics","psc","set_aside","set_aside_code","place_of_performance","posted_date","response_deadline","archive_date","active","award","match_reasons","latest","sam_url","first_seen_at"]},"description":"Every notice of the solicitation, this one included."},"license":{"type":"string"}},"required":["contract","thread","license"]}}}}}}},"/v1/awards":{"get":{"summary":"Who won similar federal work and for how much: USAspending prime contract awards for wildfire and forestry NAICS and PSC codes over the last 3 fiscal years. Returns the total, the top 10 recipients by amount, and a list of awards, largest first. Page the list with next_cursor.","tags":["award_history"],"security":[{"ApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^\\d{2,6}$","description":"A NAICS code or its start."},"required":false,"description":"A NAICS code or its start.","name":"naics","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,4}$","description":"A PSC code or its start."},"required":false,"description":"A PSC code or its start.","name":"psc","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Place of performance state."},"required":false,"description":"Place of performance state.","name":"state","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":80,"description":"Words of the awarding agency or sub-agency, for example Forest Service."},"required":false,"description":"Words of the awarding agency or sub-agency, for example Forest Service.","name":"agency","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":80,"description":"Words of the recipient's name."},"required":false,"description":"Words of the recipient's name.","name":"recipient","in":"query"},{"schema":{"type":"integer","minimum":2000,"maximum":2100},"required":false,"name":"fiscal_year_from","in":"query"},{"schema":{"type":"integer","minimum":2000,"maximum":2100},"required":false,"name":"fiscal_year_to","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","maxLength":200},"required":false,"name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"totals":{"type":"object","properties":{"awards":{"type":"number"},"amount":{"type":"number","description":"US dollars, the awards' total obligated amount."},"recipients":{"type":"number"},"fiscal_years":{"type":["object","null"],"properties":{"from":{"type":"number"},"to":{"type":"number"}},"required":["from","to"]}},"required":["awards","amount","recipients","fiscal_years"]},"top_recipients":{"type":"array","items":{"type":"object","properties":{"recipient":{"type":["string","null"]},"recipient_uei":{"type":["string","null"]},"awards":{"type":"number"},"amount":{"type":"number"}},"required":["recipient","recipient_uei","awards","amount"]}},"awards":{"type":"array","items":{"type":"object","properties":{"award_id":{"type":"string"},"recipient":{"type":["string","null"]},"recipient_uei":{"type":["string","null"]},"amount":{"type":["number","null"]},"agency":{"type":["string","null"]},"sub_agency":{"type":["string","null"]},"naics":{"type":["string","null"]},"psc":{"type":["string","null"]},"place_of_performance":{"type":"object","properties":{"state":{"type":["string","null"]},"zip":{"type":["string","null"]}},"required":["state","zip"]},"start_date":{"type":["string","null"]},"end_date":{"type":["string","null"]},"fiscal_year":{"type":["number","null"],"description":"Federal fiscal year of the base obligation (October to September)."},"description":{"type":["string","null"],"description":"The first 200 characters; the award page has the rest."},"url":{"type":"string"}},"required":["award_id","recipient","recipient_uei","amount","agency","sub_agency","naics","psc","place_of_performance","start_date","end_date","fiscal_year","description","url"]}},"next_cursor":{"type":["string","null"]},"license":{"type":"string"}},"required":["totals","top_recipients","awards","next_cursor","license"]}}}}}}}},"webhooks":{}}