/
schema.graphql
4942 lines (3722 loc) · 154 KB
/
schema.graphql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# The @defer directive may be specified on a fragment spread to imply de-prioritization, that causes the fragment to be omitted in the initial response, and delivered as a subsequent response afterward. A query with @defer directive will cause the request to potentially return multiple responses, where non-deferred data is delivered in the initial response and data deferred delivered in a subsequent response. @include and @skip take precedence over @defer.
directive @defer(
if: Boolean = true
label: String
) on FRAGMENT_SPREAD | INLINE_FRAGMENT
directive @fsApplyExclusion on FIELD_DEFINITION
directive @fsHasPolicy(
service: Service!
) on FIELD_DEFINITION | ARGUMENT_DEFINITION
directive @fsRecordAPIUsage(
service: APIUsageService!
) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION
directive @fsValidation(
constraint: String!
) on INPUT_FIELD_DEFINITION | ARGUMENT_DEFINITION
directive @goField(
forceResolver: Boolean
name: String
) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION
enum APIUsageService {
LOCATION
FLOOD
FIRE
HEAT
WIND
AIR
}
# The AVM Provider provides metadata for an AVM provider.
type AVMProvider {
# The canonical provider ID that provides the AVM
id: Int64!
# Provides the name of the AVM provider.
name: String
# A URL representation of the providers company logo.
logo: String
}
# Air Quality Color category. Color reflects severity of pollution, on a scale 1-6, with 6 being most severe.
type AirColor {
# Color id
colorId: Int!
# Description of color meaning
description: String!
# Category color. The color makes it easy for people to quickly determine whether air quality is reaching unhealthy levels in their communities.
color: String!
# PM 2.5 measurement range corresponding to color. Contains an array with two values, the lower and upper bounds of the range.
pm25Range: [Float]!
# Ozone measurement range corresponding to color. Contains an array with two values, the lower and upper bounds of the range.
ozoneRange: [Int64]!
}
# Filter to narrow the values by year, relative year, or threshold.
input AirDayFilter {
relativeYears: [Int64!]
}
# Historical air quality index for the property.
type AirHistoricAQI {
# The historic year.
year: Int64!
# Average AQI of the year.
aqiAvg: Int64
# Worst AQI of the year.
aqiMax: Int64
# Date of the worst AQI of the year.
worstDate: Date
# Criteria pollutant
criteriaPollutant: CriteriaPollutant!
}
# Filter to narrow air historic days.
input AirHistoricDayFilter {
colorID: Int64!
}
# Historical air quality days by pollutants for the property.
type AirHistoricQualityDay {
# The historic year
year: Int64!
# Number of ozone days. Null means no data.
ozoneDays: Int64
# Number of human-caused pm 2.5 days. Null means no data.
smokeDays: Int64
# Number of ahthropogenic days. Null means no data.
anthroDays: Int64
# Total number of days with pollution. Null means no data.
totalDays: Int64
}
type AirQualityDay {
# Year asscociated with the point.
year: Int64!
# Relative year to this year. Can be negative.
relativeYear: Int64!
# Air Quality Color, based on severity of pollution.
color: AirColor!
# Number of ozone days.
ozoneDays: Int64!
# The max height of the y axis when the data point is being represented on a graph (from 0-100, where 100 is the max value) based on ozoneDays.
ozoneDaysYAxisHeight: Int
# Number of human-caused pm 2.5 days.
anthroPM25Days: Int64!
# The max height of the y axis when the data point is being represented on a graph (from 0-100, where 100 is the max value) based on anthroPM25Days.
anthroPM25DaysYAxisHeight: Int
# Maximum number of days with smoke.
smokeMaxDays: Int64!
# The max height of the y axis when the data point is being represented on a graph (from 0-100, where 100 is the max value) based on smokeMaxDays.
smokeMaxDaysYAxisHeight: Int
# Average number of days with smoke.
smokeAvgDays: Int64!
# The max height of the y axis when the data point is being represented on a graph (from 0-100, where 100 is the max value) based on smokeAvgDays.
smokeAvgDaysYAxisHeight: Int
# Total number of days from all pollutants.
totalDays: Int64!
# The max height of the y axis when the data point is being represented on a graph (from 0-100, where 100 is the max value) based on totalDays.
totalDaysYAxisHeight: Int
}
# Query to obtain air-related data.
type AirQuery {
# Air Quality Index category
color: [AirColor]
# Current Air Model version
version: VersionRelease!
}
# The bounding box GeoJSON (Polygon)
type Bbox {
# GeoJSON geometry type Polygon.
type: String
# Coordinates of the Polygon.
#
# Example: *[[[-76.963460575,39.400443189],[-76.963460575,39.400823574],[-76.962570569,39.400823574],[-76.962570569,39.400443189],[-76.963460575,39.400443189]]]*
coordinates: [[[Float!]]]
}
# Building characteristic for a Property
type Building {
# Whether or not the property has a basement.
#
# Example: true
hasBasement: Boolean
# Number of units in Property
#
# Example: 1
units: Int64
# Number of stories for the Property
#
# Example: 2
stories: Int64
# Construction characteristics
construction: BuildingConstruction
# Roof characteristics
roof: BuildingRoof
# Year built
yearBuilt: Int64
# Floor size in square feet
sqft: Int64
# Replacement cost per square foot
replacementCostPerSqft: Int64
# The direction of the largest face of the building. Format as direction (N, NE, E, SE, S, SW, W, NW)
buildingOrientation: CompassDirection
# The design standard to which the building is built, displayed as text (low, middle, high)
windDesignStandard: BuildingWindDesignStandard
# The air filter type used in the building
airFilterId: Int
}
type BuildingConstruction implements BuildingMaterial {
# Material used for exterior walls of the structure
material: String
combustibility: CombustibilityRating
}
interface BuildingMaterial {
# The material for the specified building node
material: String
combustibility: CombustibilityRating
}
type BuildingRoof implements BuildingMaterial {
# Material used for the roof
material: String
combustibility: CombustibilityRating
}
# Different areas have different building standards for wind.
enum BuildingWindDesignStandard {
LOW
MIDDLE
HIGH
}
# The center GeoJSON (Point)
type Center {
# GeoJSON geometry type Point.
type: String
# Coordinates of the Point
#
# Example: *[-76.96286,39.40059]*
coordinates: [Float!]
}
# Place (County Subdivision in New England) as provided by the US Census Bureau.
type City implements Location {
# First Street ID (FSID) is a unique identifier assigned to each location.
#
# Example: *5301920*
fsid: Int64!
# An identifier in the city url.
slug: String!
# Name of the city.
#
# Example: *Redmond*
name: String
# The legal/statistical area description (LSAD) as provided by the census which describes the particular typology for each geographic entity; that is, whether the entity is a borough, city, town, or township, among others.
#
# Example: *57*
LSAD: String
# ZCTAs that are within geographical limits of the city.
zcta: [Zcta]
# Counties that are within geographical limits of the city.
county: [County]
# County subdivisions that are within geographical limits of the city.
cousub: [CountySubdivision]
# State that City resides in.
state: State
# A collection of nodes that represents geographical information for the city.
geometry: LocationGeometry
# List of the neighborhood(s) the city is associated with, as a connection. This encompasses macro neighborhoods, neighborhood, sub-neighborhoods and residential districts (e.g. subdivisions and apartment complexes).
neighborhoodConnection(
# Number of records(edges) to return. A number between 0 and 100.
first: Int
# Cursor value of a record(edge) past which records should be returned. Cursor can be obtained from an earlier call. Cursor is a string between 10 and 32 characters long.
after: String
): PageConnection
# Flood data for the city.
flood: LocalityFlood
# Fire details for the city.
fire: LocalityFire
# Heat details for the city.
heat: LocalityHeat
# Wind details for the city.
wind: LocalityWind
# Air details for the city.
air: LocalityAir
# fsfLink is First Street's link to the neighborhood on FirstStreet's website.
#
# Example: *https://floodfactor.com/city/5301920_fsid?utm_medium=overlay*
fsfLink: String
@deprecated(
reason: "fsfLink is deprecated, use the child `link` field within the climate peril."
)
# List of properties in the city, as a connection.
propertyConnection(
# Number of records(edges) to return. A number between 0 and 100.
first: Int
# Cursor value of a record(edge) past which records should be returned. Cursor can be obtained from an earlier call. Cursor is a string between 10 and 32 characters long.
after: String
# Filter the properties of this city.
filter: PropertyFilters
): PageConnection
}
# The combustibility rating of a building material
enum CombustibilityRating {
LOW
MEDIUM
HIGH
}
enum CommunityRiskScoreScale {
MINIMAL
MINOR
MODERATE
MAJOR
SEVERE
EXTREME
}
enum CompassDirection {
N
NE
E
SE
S
SW
W
NW
}
# Congressional District for the 116th Congress (not available in Flood Factor)
type CongressionalDistrict implements Location {
# First Street ID (FSID) is a unique identifier assigned to each location.
#
# Example: *3904*
fsid: Int64!
# An identifier in the congressional district url.
slug: String!
# The name associated with the congressional district.
#
# Example: *Ohio Congressional District 4*
name: String
# Denotes the session of congress from which the boundary was drawn.
#
# Example: *116*
congress: Int64
# The county or counties the congressional district is associated with.
county: [County]
# The county subdivision(s) the congressional district is associated with, as a connection.
cousubConnection(
# Number of records(edges) to return. A number between 0 and 100.
first: Int
# Cursor value of a record(edge) past which records should be returned. Cursor can be obtained from an earlier call. Cursor is a string between 10 and 32 characters long.
after: String
): PageConnection
# Congressional district's state.
state: State
# A collection of nodes that represents geographical information for the congressional district.
geometry: LocationGeometry
# Flood data for the congressional district.
flood: LocalityFlood
# Fire details for the congressional district.
fire: LocalityFire
# Heat details for the congressional district.
heat: LocalityHeat
# Wind details for the congressional district.
wind: LocalityWind
# Air details for the state.
air: LocalityAir
# fsfLink is always null for congressional districts, as they are not displayed on FirstStreet's website.
fsfLink: String
@deprecated(
reason: "fsfLink is deprecated, use the child `link` field within the climate peril."
)
# List of properties within the congressional district, as a connection.
propertyConnection(
# Number of records(edges) to return. A number between 0 and 100.
first: Int
# Cursor value of a record(edge) past which records should be returned. Cursor can be obtained from an earlier call. Cursor is a string between 10 and 32 characters long.
after: String
# Filter the properties of this congressional district.
filter: PropertyFilters
): PageConnection
}
# County or county-equivalents as provided by the US Census Bureau
type County implements Location {
# First Street ID (FSID) is a unique identifier assigned to each location.
#
# Example: *1003*
fsid: Int64!
# An identifier in the county url.
slug: String!
# The Federal Information Processing Standards code which uniquely identified counties and county equivalents, and certain freely associated states.
#
# Example: *1003*
FIPS: Int64
# Name of the county.
#
# Example: *Baldwin*
name: String
# A boolean field indicating if the county is in a coastal area.
isCoastal: Boolean
# The city or cities the county is associated with, as a connection.
cityConnection(
# Number of records(edges) to return. A number between 0 and 100.
first: Int
# Cursor value of a record(edge) past which records should be returned. Cursor can be obtained from an earlier call. Cursor is a string between 10 and 32 characters long.
after: String
): PageConnection
# The county's ZIP code tabulation area(s) (ZCTA) provided by the Census Bureau.
zcta: [Zcta]
# The congressional district(s) the county is associated with.
cd: [CongressionalDistrict]
# The county's state.
state: State
# A collection of nodes that represents geographical information for the county.
geometry: LocationGeometry
# Flood details for the county.
flood: LocalityFlood
# Fire details for the county.
fire: LocalityFire
# Heat details for the county.
heat: LocalityHeat
# Wind details for the county.
wind: LocalityWind
# Air details for the county.
air: LocalityAir
# fsfLink is First Street's link to the neighborhood on FirstStreet's website.
#
# Example: *https://floodfactor.com/county/1003_fsid?utm_medium=overlay*
fsfLink: String
@deprecated(
reason: "fsfLink is deprecated, use the child `link` field within the climate peril."
)
# The neighborhood(s) the city is associated with, as a connection. This encompasses macro neighborhoods, neighborhood, sub-neighborhoods and residential districts (e.g. subdivisions and apartment complexes).
neighborhoodConnection(
# Number of records(edges) to return. A number between 0 and 100.
first: Int
# Cursor value of a record(edge) past which records should be returned. Cursor can be obtained from an earlier call. Cursor is a string between 10 and 32 characters long.
after: String
): PageConnection
# List of properties in the county, as a connection.
propertyConnection(
# Number of records(edges) to return. A number between 0 and 100.
first: Int
# Cursor value of a record(edge) past which records should be returned. Cursor can be obtained from an earlier call. Cursor is a string between 10 and 32 characters long.
after: String
# Filter the properties of this county.
filter: PropertyFilters
): PageConnection
}
# County subdivision
type CountySubdivision implements Location {
# First Street ID (FSID) is a unique identifier assigned to each location.
#
# Example: *5303391392*
fsid: Int64!
# An identifier in the county subdivision url.
slug: String!
# Name of the county subdivision.
#
# Example: *Issaquah Plateau*
name: String
# The county the county subdivision belongs to.
county: County
# The county subdivision's state
state: State
# The legal/statistical area description (LSAD) as provided by the census which describes the particular typology for each geographic entity.
#
# Example: *22*
LSAD: String
# Flood details for the county subdivision.
flood: LocalityFlood
# Fire details for the subdivision.
fire: LocalityFire
# Heat details for the subdivision.
heat: LocalityHeat
# Wind details for the subdivision.
wind: LocalityWind
# Air details for the subdivision.
air: LocalityAir
# A collection of nodes that represents geographical information for the county subdivision.
geometry: LocationGeometry
# fsfLink is First Street's link to the neighborhood on FirstStreet's website.
#
# Example: *https://floodfactor.com/cousub/5303391392_fsid?utm_medium=overlay*
fsfLink: String
@deprecated(
reason: "fsfLink is deprecated, use the child `link` field within the climate peril."
)
}
type CriteriaPollutant {
# ID of criteria pollutant
criteriaPollutantId: Int!
# Name of criteria pollutant
name: String!
# Description of criteria pollutant
description: String!
}
# Remap Graphql Types to Go Types
scalar Date
# The depth of the building footprint used for calculation of flood probabilities and damages. Depending on which statistic used, will lead to difference in projected values. Statistic options we support: "MAX" and "MEAN" depth at the building footprint.
enum DepthFlavor {
MEAN
MAX
}
enum EmberRiskRating {
MINOR
MODERATE
MAJOR
SEVERE
EXTREME
}
interface Excluding {
exclusion: Exclusion
}
# Exclusion details.
type Exclusion {
description: String
}
# The corresponding text description that describes the `factor` score that is associated with the property.
enum FactorScale {
MINIMAL
MINOR
MODERATE
MAJOR
SEVERE
EXTREME
}
enum FindOperator {
EQ
NE
GT
GE
LT
LE
}
union FindResultItem =
Property
| City
| State
| County
| CongressionalDistrict
| Zcta
| Tract
| Neighborhood
| CountySubdivision
type FindResultItemConnection {
edges: [FindResultItemEdge]
pageInfo: PageInfo!
}
type FindResultItemEdge {
node: FindResultItem
cursor: String!
}
type FireHistoricConnection {
# Returns a list type that wraps edge type.
edges: [FireHistoricEdge!]!
# Pagination information in relation to current page.
pageInfo: PageInfo!
# Total number of records for the connection.
#
# Example: *15382*
totalCount: Int64
}
# Represents one record for the current page.
type FireHistoricEdge {
# Cursor is a string that can be used in subsequent request as value of a connection "after" argument, to request page starting after this item.
#
# Example: *Y3Vyc29yOjEyNTI0MA==*
cursor: String
# Contains one page record data.
node: FireHistoricPageResult!
}
# The information associated with the event(s) for event(s) where the area of the model simulation of the historic event overlaps any area of the location.
interface FireHistoricEvent {
# A unique identifier to each modeled historic event from First Street
eventId: Int64!
# The name of the modeled historic event if it exists.
name: String!
# Categorization of event type (wildfire, prescribed fire, wildland fire use, unknown, out of area responses, or complex).
type: String!
# The year when the event occured.
year: Int64!
# The month when the event occured.
month: Int64!
# Area of the historic event's polygon in square kilometers.
area: Int64!
# The total count of parcels affected by the historic event.
eventAffectedProperties: Int64!
# A collection of nodes that represents geographical information for the historic event.
geometry: LocationGeometry
}
# Filters to narrow the list of historic events.
input FireHistoricEventFilter {
# Restrict event types that will be returned
type: [FireHistoricEventType]
# Maximum property distance from the event. Only applicable to Property events. Ignored for Locality events.
distance: Int64
}
# Details for a single historic fire event.
type FireHistoricEventRecord implements FireHistoricEvent {
# A unique First Street identifier assigned to each modeled historic event.
eventId: Int64!
# The name of the modeled historic event if it exists.
name: String!
# Categorization of event type (wildfire, prescribed fire, wildland fire use, unknown, out of area responses, or complex).
type: String!
# The year when the event occured.
year: Int64!
# The month when the event occured.
month: Int64!
# Area of the historic event's polygon in square kilometers.
area: Int64!
# The total count of parcels that had the building footprint within the mapped area of the historic event's geometry.
eventAffectedProperties: Int64!
# The total count of parcels that were closer than 32187 meters from the building footprint to the historic event's geometry.
eventNearbyProperties: Int64!
# A collection of nodes that represents geographical information for the historic event.
geometry: LocationGeometry
}
enum FireHistoricEventType {
WILDFIRE
PRESCRIBED_FIRE
WILDLAND_FIRE_USE
UNKNOWN
OUT_OF_AREA_RESPONSES
COMPLEX
}
union FireHistoricPageResult = PropertyFireHistoric | LocalityFireHistoric
# Query to obtain fire-related data.
type FireQuery {
# Map lookup. Returns map metadata such as legends.
mapLegend: MapLegend!
# Historic event batch lookup. Can lookup up to 35 historic events.
historicEvents(eventIds: [Int64!]!): [FireHistoricEventRecord]
# Per state insurer of last resort or FAIR plan for property insurance
lastResortInsurers: [LastResortInsurer!]!
# Current Fire Model version
version: VersionRelease!
}
interface FireStatistics {
# The sign of future burn probability minus current burn probability (-1 is decreasing, 0 is unchanging, 1 is increasing)
riskDirection: Int64
}
# Provides information from community-wide grey and green adaptation projects across the United States categorized into 40 different Adaptation Types.
# Returns data as a connection.
#
# **Features**
#
# - Identify all large-scale adaptation projects that serve an area
# - Understand how many properties served by a particular adaptation structure or project
# - Recognize to what extent, an area is protected or what level of event a project can withstand
# - Access information for large-scale adaptation projects across the country
type FloodAdaptation {
# A unique First Street identifier assigned to each adaptation project
#
# Example: *23456*
adaptationId: Int64!
# The name of the adaptation project
#
# Example: *Kearsley Reservoir Dam*
name: String
# The type(s) categorization of the adaptation project from 40 categories inclusive of grey and green adaptation projects.
#
# Example: *['dam', 'levee', 'seawall']*
type: [String!]
# The type(s) of flooding the adaptation project protects against (pluvial, fluvial or tidal).
#
# Example: *['pluvial', 'tidal']*
scenario: [String!]
# Applicable for structures that convey certain amounts of water during pluvial and fluvial events.
# Adaptation structures with conveyance are incorporated into the model without completely removing flooding from within the area served.
hasConveyance: Boolean
# The flooding event that the adaptation can withstand. For example, a 1 in 100 flood.
returnPeriod: Int64
# Count of locations that the adaptation project is serving, broken down by location type.
serving: FloodAdaptationServing!
# A collection of nodes that represents geographical information for the adaptation.
geometry: LocationGeometry
}
# Count of locations that the adaptation project is serving as [AdaptationServing], broken down by location type.
type FloodAdaptationServing {
# The count of properties that the adaptation project is serving.
property: Int64!
# The count of neighborhoods that the adaptation project is serving.
neighborhood: Int64!
# The count of zctas that the adaptation project is serving.
zcta: Int64!
# The count of tracts that the adaptation project is serving.
tract: Int64!
# The count of cities that the adaptation project is serving.
city: Int64!
# The count of counties that the adaptation project is serving.
county: Int64!
# The count of congressional districts that the adaptation project is serving.
cd: Int64!
# The count of states that the adaptation project is serving.
state: Int64!
}
# The information associated with the event(s) for event(s) where the area of the model simulation of the historic event overlaps any area of the location.
# Available depth bins begin at 5-10cm of flooding (displayed as "5") and are provided in 5 cm increments up to 120-125cm of flooding (displayed as "120"). Everything with greater than 125cm of flooding is bulked together at 125.
interface FloodHistoricEvent {
# A unique identifier to each modeled historic event from First Street
eventId: Int64!
# The name of the modeled historic event if it exists (note: several were strong pluvial events).
name: String!
# Categorization of event type (hurricane, fluvial, nor'easter, or tropical storm).
type: String!
# The year when the event occured.
year: Int64!
# The month when the event occured.
month: Int64!
# The estimated recurrence interval of the event, or the inverse of the annual likelihood. For example a 1 in 500 annual likelihood event.
returnPeriod: Int64
# The total count of parcels that had any flooding (>0) to the building footprint that are within the mapped area of the historic event's geometry.
affectedProperties: Int64!
# A collection of nodes that represents geographical information for the historic event.
geometry: LocationGeometry
}
# Details for a single historic flooding event.
type FloodHistoricEventRecord implements FloodHistoricEvent {
# A unique First Street identifier assigned to each modeled historic event.
eventId: Int64!
# The name of the modeled historic event if it exists (note: several were strong pluvial events).
name: String!
# Categorization of event type (hurricane, fluvial, nor'easter, or tropical storm).
type: String!
# The year when the event occured.
year: Int64!
# The month when the event occured.
month: Int64!
# The estimated recurrence interval of the event, or the inverse of the annual likelihood. For example a 1 in 500 annual likelihood event.
returnPeriod: Int64
# The total count of parcels that are within the mapped area of the historic event's geometry.
totalProperties: Int64!
# The total count of parcels that had any flooding (>0) to the building footprint that are within the mapped area of the historic event's geometry.
affectedProperties: Int64!
# A collection of nodes that represents geographical information for the historic event.
geometry: LocationGeometry
}
enum FloodInsuranceRequirement {
# Flood insurance is required by federally regulated or insured mortgage lenders.
REQUIRED
# Flood insurance is recommended but is likely not federally required.
RECOMMENDED
# Flood insurance requirement is unknown.
NULL
}
# Query to obtain flood-related data.
type FloodQuery {
# Historic event batch lookup. Can lookup up to 35 historic events.
historicEvents(eventIds: [Int64!]!): [FloodHistoricEventRecord]
# Tide station details batch lookup.
tideStations(tideStationIds: [Int64!]!): [TideStation]
# Adaptation project batch lookup. Can lookup up to 35 adaptations.
adaptations(adaptationIds: [Int64!]!): [FloodAdaptation]
# Map lookup. Returns map metadata such as legends.
mapLegend: MapLegend!
# Current Flood Model version
version: VersionRelease!
}
# Flood indicators.
interface FloodStatistic {
# The location's risk direction represented in a numeric value based on the change in risk for the location from 2020 to 2050 for the climate model realization of the RCP 4.5 mid emissions scenario.
#
# -1 = decreasing
# 0 = stationary
# 1 = increasing
riskDirection: Int64
# Denotes what environmental risks impact the location represented in a numeric value.
#
# 1 = precipitation
# 2 = precipitation and sea level rise
# 3 = precipitation, sea level rise and hurricane storm surge
#
# Coastal areas on the East Coast and Hawaii will return 3, other coastal areas will return 2 and all other locations will return 1.
environmentalRisk: Int64
}
# Query to obtain heat-related data.
type HeatQuery {
# Map lookup. Returns map metadata such as legends.
mapLegend: MapLegend!
# Current HEAT Model version
version: VersionRelease!
}
type IndustrySector {
# ID of the TRI sector
industrySectorId: Int!
# Name of the TRI sector. Some examples: Electric Utilities, Computers and Electronic Products, Chemicals.
name: String
}
enum InsuranceClassification {
# Homeowners Policy Special Form 3 (Single-Family)
HO3
# Homeowners Policy Contents Broad Form 4 (Rental)
HO4
# Homeowners Policy Unit Owners Form 6 (Condos/Townhomes)
HO6
}
type InsuranceHippoRate {
# The URL to purchase the insurance
link: String!
# The policy's classification.
# There will always only 1 of each type of policy classification.
# (For example, HO3 will only appear on the list once, but can appear alongside HO4)
#
# HO3: Single family
# HO4: Renters
# HO6: Condos/Townhomes
# N/A: Unavailable
classification: InsuranceClassification!
# The minimum price for the policy
minPrice: Int!
# The maximum price for the policy
maxPrice: Int!
# Number of providers available for the policy (Can be 0)
providers: Int!
# The amount the coverage is intended for in the following order
contentsCoverage: Int
homeCoverage: Int
dwellingCoverage: Int