{"openapi":"3.0.2","info":{"title":"Geohaz API","version":"2025.11.b"},"servers":[{"url":"https://{host}/platform/geohaz/v1","variables":{"host":{"enum":["api-euw1.rms.com","api-use1.rms.com"],"default":"api-euw1.rms.com","description":"Data center that hosts the tenant instance: api-euw1.rms.com or api-use1.rms.com"}}}],"x-readme":{"explorer-enabled":false,"parameter-ordering":["header","path","query","body","form","cookie"],"samples-languages":["json","curl","python","java","csharp","node"],"proxy-enabled":true,"samples-enabled":true},"security":[{"rms_api_key":[]},{"rms_bearer_token":[]}],"paths":{"/jobs/{jobId}":{"get":{"tags":["Geohaz Jobs"],"summary":"Get geohaz job","operationId":"getGeoHazJob","parameters":[{"name":"jobId","in":"path","description":"ID of job.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDetailResponse"}}}},"204":{"description":"No content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"422":{"description":"Unprocessable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"patch":{"tags":["Geohaz Jobs"],"summary":"Update geohaz job","operationId":"updateGeoHazJob","parameters":[{"name":"jobId","in":"path","description":"ID of job.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PatchJobRequest"}}},"required":true},"responses":{"202":{"description":"Job successfully updated."},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"422":{"description":"Unprocessable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}},"/jobs":{"get":{"tags":["Geohaz Jobs"],"summary":"Search geohaz jobs","operationId":"getGeoHazJobs","parameters":[{"name":"filter","in":"query","description":"<<glossary:Query string>> to select response data based on property values. \n\n|Property|Type|Comparison|List|\n|--------|----|----------|-----|\n|`endedAt`|YYYY-MM-DD|`=`||\n|`entitlement`|String|`=`||\n|`jobId`|String|=|`IN`|\n|`name`|String|`=`||\n|`startedAt`|YYYY-MM-DD|`=`||\n|`status`|String|`=`||\n|`type`|String|`=`||\n|`userName`|String|`=`||\n\nUse the logical operator `AND` to define compound a compound expression. See [Response Filtering](doc:response-filtering).","schema":{"type":"string"}},{"name":"sort","in":"query","description":"Comma-delimited list of properties. Sort order defined by one of `ASC` (ascending) or `DESC` (descending). See [Response Pagination](doc:response-pagination).","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of records to display per page","schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"Number of the page displaying the returned records, starting at _0_.","schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobResponse"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"post":{"tags":["Geohaz Jobs"],"summary":"Create geohaz job","operationId":"createGeoHazJob","parameters":[{"name":"x-rms-resource-group-id","description":"ID of <<glossary:resource group>>. Operation is assigned to this resource group's quota. See [Resource Groups](doc:resource-management)","in":"header","required":true,"schema":{"type":"string","default":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoHaz"}}},"required":true},"responses":{"201":{"description":"Created. `GEOHAZ` created and added to queue.","headers":{"Location":{"description":"URI of `GEOHAZ` job, e.g. `/platform/geohaz/v1/jobs/5555`","style":"simple","schema":{"type":"string","format":"URI"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}}},"components":{"schemas":{"Details":{"type":"object","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/Uri"}},"summary":{"type":"string"}}},"JobDetailResponse":{"type":"object","properties":{"jobId":{"type":"string","description":"ID of job."},"userName":{"type":"string","format":"email","description":"Login of <<glossary:principal>> that submitted job, e.g. `user.name@company.com` or `SSO_user.name@company` for <<glossary:federated tenant>>s. Login strings are lowercase. See [Logins](principals).","example":"user.name@company.com"},"status":{"type":"string","description":"Status of job.","enum":["QUEUED","RUNNING","FINISHED","FAILED","CANCELLED","PENDING","CANCELLING","CANCEL_REQUESTED"]},"submittedAt":{"type":"string","description":"Time job was submitted in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, e.g. `2020-01-01T00:00:00.000Z`."},"startedAt":{"type":"string","description":"Time job was started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, e.g. `2020-01-01T00:00:00.000Z`."},"endedAt":{"type":"string","description":"Time job was ended in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, e.g. `2020-01-01T00:00:00.000Z`."},"name":{"type":"string","description":"Name of job."},"type":{"type":"string","description":"Type of job. See [Platform Jobs](doc:platform-jobs)."},"progress":{"type":"integer","format":"int32","description":"Percent of job completion."},"details":{"$ref":"#/components/schemas/Details"},"tasks":{"type":"array","description":"List of task objects. A batch job consists of multiple child tasks.","items":{"$ref":"#/components/schemas/Task"}}}},"Task":{"type":"object","properties":{"taskId":{"type":"string","description":"ID of <<glossary:task>>."},"guid":{"type":"string","format":"uuid","description":"Unique ID of task."},"jobId":{"type":"string","description":"ID of [glossary:batch job]."},"status":{"type":"string","description":"Status of task.","enum":["QUEUED","RUNNING","FINISHED","FAILED","CANCELLED","PENDING","CANCELLING","CANCEL_REQUESTED"]},"submittedAt":{"type":"string","description":"Time task was submitted in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, e.g. `2020-01-01T00:00:00.000Z`."},"createdAt":{"type":"string","description":"Time task was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, e.g. `2020-01-01T00:00:00.000Z`."},"name":{"type":"string","description":"Name of task."},"percentComplete":{"type":"integer","format":"int32","description":"Percent of task completion."},"priorTaskGuids":{"type":"array","description":"List of tasks in batch job.","items":{"type":"string","format":"uuid"}},"output":{"$ref":"#/components/schemas/TaskOutput"}}},"TaskErrorMessage":{"type":"object","properties":{"message":{"type":"string"}}},"TaskOutput":{"type":"object","description":"List of error messages and logs.","properties":{"summary":{"type":"string"},"errors":{"type":"array","description":"List of error messages.","items":{"$ref":"#/components/schemas/TaskErrorMessage"}},"log":{"type":"object","description":"Log of task processing.","additionalProperties":{"type":"string"}}}},"Uri":{"type":"object","properties":{"uri":{"type":"string"}}},"ErrorMessage":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"logId":{"type":"string"}}},"JobResponse":{"type":"object","properties":{"jobId":{"type":"string"},"userName":{"type":"string","format":"email","description":"Login of <<glossary:principal>> that submitted job, e.g. `user.name@company.com` or `SSO_user.name@company` for <<glossary:federated tenant>>s. Login strings are lowercase. See [Logins](principals).","example":"user.name@company.com"},"status":{"type":"string","enum":["QUEUED","RUNNING","FINISHED","FAILED","CANCELLED","PENDING","CANCELLING","CANCEL_REQUESTED"]},"submittedAt":{"type":"string"},"startedAt":{"type":"string"},"endedAt":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"progress":{"type":"integer","format":"int32"},"details":{"$ref":"#/components/schemas/Details"}}},"GeoHaz":{"required":["resourceType","resourceUri","settings"],"type":"object","properties":{"resourceUri":{"type":"string","description":"URI of exposure or exposure variation. See [Resource URIs](doc:resource-uris).","example":"/platform/riskdata/v1/exposures/1/portfolio/1"},"resourceType":{"type":"string","description":"Type of exposure or exposure variation.","enum":["account","portfolio","accountVariation","portfolioVariation"]},"settings":{"$ref":"#/components/schemas/GeoHazSettings"}}},"GeoHazSettings":{"required":["layers"],"type":"object","properties":{"layers":{"type":"array","description":"List of geohaz job configurations.","items":{"$ref":"#/components/schemas/LayerInfo"}}}},"LayerInfo":{"required":["engineType","name","type","version"],"type":"object","properties":{"type":{"type":"string","description":"Type of data layer. One or `geocode` or `hazard`.","example":"geocode","enum":["geocode","hazard"]},"name":{"type":"string","description":"Name of <<glossary:data layer>>. Valid name depends on `type` specified:\n  - If `geocode`, must be `geocode`.\n  - If `hazard`, any other data layer. For a list of hazard layers, see [Geohaz API Overiew](ref:geohaz-api-overview).","enum":["cs_risk_score","distance_to_fault","distance_to_fire_station","distance_to_inner_coast","earthquake","eq_risk_score","esdb_building_attributes","fema_firm","fl_depth","fl_hazard","fl_risk_score","geocode","global_fl_depth","hd_earthquake","mmi","subsidence","surge","tr_risk_score","wf_model_hazard","wf_risk_score","wf_supplemental_hazard","windstorm","ws_model_hazard","ws_risk_score","ws_windpool_zone","wt_risk_score"]},"engineType":{"type":"string","example":"RL","description":"Type of engine used to look up geocode or hazard data.  One of `HD` (High Definition) or `RL` (DLM).\n\nValid engine type depends on the `type`, `name`, and `version` specified data layer. For a list of valid engine type for each data layer, see see [Geohaz API Overiew](ref:geohaz-api-overview).","enum":["HD","RL"]},"version":{"type":"string","description":"Version of the data layer. \n\nValid versions depends on `type` and `name` of the data layer specified. For a list of valid versions for each data layer, see see [Geohaz API Overiew](ref:geohaz-api-overview).","example":"latest","enum":["18.0","18.1","21.0","22.0","23.0","24.0","25.0","latest"]},"layerOptions":{"$ref":"#/components/schemas/LayerOptions"}}},"LayerOptions":{"type":"object","description":"Valid options depend on `type` specified: \n- If `geocode`, `aggregateTriggerEnabled`, `geoLicenseType`, and `skipPrevGeocoded` are required.\n- If `hazard`, `overrideUserDef` and `skipPrevHazard` are required.","properties":{"aggregateTriggerEnabled":{"type":"boolean","description":"If `true`, latitude and longitude coordinates are set to 0.0 at lower resolutions (e.g. country, state, or CRESTA) in some modeled countries. Applies to DLM models (`RL` engine type) only.\n\nRequired if `type` is `geocode`."},"geoLicenseType":{"type":"string","description":"Type of geocoding license. One of `0` (DLM), `1`, (HD). By default, `0`.\n\n- If `0`, supports DLM match levels, i.e. resolution levels appropriate for DLM modelling. Recommended if `engineType` is `RL`.\n- If `1`, supports HD match levels, resolution levels appropriate for HD modelling. Recommended if `engineType` is `HD`.\n\nRequired if `type` is `geocode`.","default":0,"enum":[0,1]},"skipPrevGeocoded":{"type":"boolean","description":"If `true`, previously geocoded locations are not geocoded.  \n\nRequired if `type` is `geocode`."},"overrideUserDef":{"type":"boolean","description":"If `true`, user-defined settings are overridden. \n\nRequired if `type` is `hazard`.\n"},"skipPrevHazard":{"type":"boolean","description":"If `true`, previously hazard lookups are not run if already run at a location.\n\nRequired if `type` is `hazard`.\n"}}},"PatchJobRequest":{"type":"object","properties":{"status":{"type":"string","enum":["CANCELLED"]},"priority":{"type":"string","enum":["veryhigh","high","medium","low","verylow"]}}}},"securitySchemes":{"rms_bearer_token":{"type":"http","description":"RMS tenant specific bearer token to make authorized requests with temporary life span","scheme":"bearer","bearerFormat":"JWT"},"rms_api_key":{"type":"apiKey","name":"Authorization","description":"RMS tenant specific api key to make authorized requests","in":"header"}}}}