generated: '2026-10-04' method: generated source: openapi/precisely-apis-addresses-api-openapi.yml, openapi/precisely-apis-ahj-api-openapi.yml, openapi/precisely-apis-crime-api-openapi.yml, openapi/precisely-apis-earthquake-api-openapi.yml, openapi/precisely-apis-earthquakehistory-api-openapi.yml, openapi/precisely-apis-fire-api-openapi.yml, openapi/precisely-apis-firehistory-api-openapi.yml, openapi/precisely-apis-firestation-api-openapi.yml, openapi/precisely-apis-flood-api-openapi.yml, openapi/precisely-apis-geocode-api-openapi.yml, openapi/precisely-apis-geolocation-api-openapi.yml, openapi/precisely-apis-getcitystateprovince-api-openapi.yml, openapi/precisely-apis-getpostalcodes-api-openapi.yml, openapi/precisely-apis-intersection-api-openapi.yml, openapi/precisely-apis-locations-api-openapi.yml, openapi/precisely-apis-place-api-openapi.yml, openapi/precisely-apis-places-api-openapi.yml, openapi/precisely-apis-properties-api-openapi.yml, openapi/precisely-apis-psap-api-openapi.yml, openapi/precisely-apis-ratecenter-api-openapi.yml, openapi/precisely-apis-routing-api-openapi.yml, openapi/precisely-apis-school-api-openapi.yml, openapi/precisely-apis-segmentation-api-openapi.yml, openapi/precisely-apis-select-api-openapi.yml, openapi/precisely-apis-shoreline-api-openapi.yml, openapi/precisely-apis-speedlimit-api-openapi.yml, openapi/precisely-apis-tax-api-openapi.yml, openapi/precisely-apis-tax-rate-api-openapi.yml, openapi/precisely-apis-taxdistrict-api-openapi.yml, openapi/precisely-apis-timezone-api-openapi.yml, openapi/precisely-apis-validateemailaddress-api-openapi.yml, openapi/precisely-apis-validatemailingaddress-api-openapi.yml, openapi/precisely-apis-validatemailingaddresspremium-api-openapi.yml, openapi/precisely-apis-validatemailingaddresspro-api-openapi.yml, openapi/precisely-apis-validatemailingaddressuscan-api-openapi.yml, openapi/precisely-apis-validatephonenumber-api-openapi.yml, openapi/precisely-apis-zones-api-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 113 by_action_class: connected: 104 acting: 9 by_consequence: read: 104 write: 9 human_in_the_loop_required: 0 operations: - path: /addresses/v1/addresscount/byboundary method: post operationId: getAddressesCountbyBoundary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/v1/address/byboundary method: post operationId: getAddressesbyBoundary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/v1/addresscount/byboundaryname method: get operationId: getAddressesCountByBoundaryName x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/v1/address/byboundaryname method: get operationId: getAddressesbyBoundaryName x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /911/v1/ahj-psap/bylocation method: get operationId: getAHJPlusPSAPByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /911/v1/ahj-psap/byaddress method: get operationId: getAHJPlusPSAPByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /911/v1/ahj-psap/byfccid method: get operationId: searchByFccId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/crime/bylocation method: get operationId: getCrimeRiskByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/crime/bylocation method: post operationId: getCrimeRiskByLocationBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/crime/byaddress method: get operationId: getCrimeRiskByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/crime/byaddress method: post operationId: getCrimeRiskByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/earthquake/bylocation method: get operationId: getEarthquakeRiskByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/earthquake/bylocation method: post operationId: getEarthquakeRiskByLocationBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/earthquake/byaddress method: get operationId: getEarthquakeRiskByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/earthquake/byaddress method: post operationId: getEarthquakeRiskByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/earthquakehistory method: get operationId: getEarthquakeHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/fire/bylocation method: get operationId: getFireRiskByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/fire/bylocation method: post operationId: getFireRiskByLocationBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/fire/byaddress method: get operationId: getFireRiskByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/fire/byaddress method: post operationId: getFireRiskByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v2/fire/bylocation method: get operationId: getFireRiskV2ByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v2/fire/bylocation method: post operationId: getFireRiskV2ByLocationBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v2/fire/byaddress method: get operationId: getFireRiskV2ByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v2/fire/byaddress method: post operationId: getFireRiskV2ByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/firehistory method: get operationId: getFireHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v2/firehistory method: get operationId: getFireHistoryV2 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/firestation/bylocation method: get operationId: getFireStationByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/firestation/byaddress method: get operationId: getFireStationByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/flood/bylocation method: get operationId: getFloodRiskByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/flood/bylocation method: post operationId: getFloodRiskByLocationBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/flood/byaddress method: get operationId: getFloodRiskByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/flood/byaddress method: post operationId: getFloodRiskByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geocode/v1/{datapackBundle}/reverseGeocode method: get operationId: reverseGeocode x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geocode/v1/{datapackBundle}/reverseGeocode method: post operationId: reverseGeocodBatch x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /geocode/v1/{datapackBundle}/geocode method: get operationId: geocode x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geocode/v1/{datapackBundle}/geocode method: post operationId: geocodeBatch x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /geocode/v1/keylookup method: get operationId: keyLookup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geocode/v1/keylookup method: post operationId: keyLookupBatch x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /geocode/v1/key/byaddress method: get operationId: getPBKey x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geocode/v1/key/byaddress method: post operationId: getPBKeys x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geolocation/v1/location/byipaddress method: get operationId: getLocationByIPAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geolocation/v1/location/byaccesspoint method: get operationId: getLocationByWiFiAccessPoint x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addressverification/v1/getcitystateprovince/results.json method: post operationId: GetCityStateProvince x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addressverification/v1/getpostalcodes/results.json method: post operationId: GetPostalCodes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streets/v1/intersection/bylocation method: get operationId: getIntersectionByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streets/v1/intersection/byaddress method: get operationId: getIntersectionByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /typeahead/v1/locations method: get operationId: searchV2 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /typeahead/v1/list/locations method: get operationId: listLocations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - '' - path: /neighborhoods/v1/place/bylocation method: get operationId: getPlaceByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/poicount method: post operationId: getPOIsCount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/poi/byboundary method: post operationId: getPOIsByGeometry x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/poi/{id} method: get operationId: getPOIById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/poi/bylocation method: get operationId: getPOIsByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/poi/byarea method: get operationId: getPOIsByArea x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/poi/byaddress method: get operationId: getPOIsByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/poi/autocomplete method: get operationId: poisAutocomplete x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/metadata/sic method: get operationId: getSICMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /places/v1/metadata/category method: get operationId: getCategoryCodeMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /property/v2/attributes/byaddress method: get operationId: getPropertyAttributesByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /property/v2/attributes/byaddress method: post operationId: getPropertyAttributesByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /property/v2/parcelboundary/bylocation method: get operationId: getParcelBoundaryByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /property/v2/parcelboundary/byaddress method: get operationId: getParcelBoundaryByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /property/v2/parcelboundary/bypreciselyID method: get operationId: getParcelBoundaryByPreciselyID x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /911/v1/psap/bylocation method: get operationId: getPSAPByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /911/v1/psap/byaddress method: get operationId: getPSAPByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /telecomm/v1/ratecenter/bylocation method: get operationId: getRateCenterByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /telecomm/v1/ratecenter/byaddress method: get operationId: getRateCenterByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /routing/v1/travelcostmatrix/bylocation method: get operationId: getTravelCostMatrixByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /routing/v1/travelcostmatrix/byaddress method: get operationId: getTravelCostMatrixByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /routing/v1/route/bylocation method: get operationId: getRouteByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /routing/v1/route/byaddress method: get operationId: getRouteByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /schools/v1/school/byaddress method: get operationId: getSchoolsByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographics-segmentation/v1/advanced/demographics method: post operationId: getDemographicsAdvanced x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographics-segmentation/v1/segmentation/bylocation method: get operationId: getSegmentationByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographics-segmentation/v1/segmentation/byaddress method: get operationId: getSegmentationByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographics-segmentation/v1/demographics/bylocation method: get operationId: getDemographicsByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographics-segmentation/v1/demographics/byboundaryids method: get operationId: getDemographicsByBoundaryIds x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographics-segmentation/v1/demographics/byaddress method: get operationId: getDemographicsByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographics-segmentation/v1/basic/demographics method: get operationId: getDemographicsBasic x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /typeahead/v1/list/select method: get operationId: listSelect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - '' - path: /risks/v1/shoreline/distancetofloodhazard/bylocation method: get operationId: getDistanceToCoastByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/shoreline/distancetofloodhazard/bylocation method: post operationId: getDistanceToCoastByLocationBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/shoreline/distancetofloodhazard/byaddress method: get operationId: getDistanceToCoastByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risks/v1/shoreline/distancetofloodhazard/byaddress method: post operationId: getDistanceToCoastByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streets/v1/speedlimit method: get operationId: getNearestSpeedLimit x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/tax/{taxRateTypeId}/bylocation method: get operationId: getSpecificTaxByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/tax/{taxRateTypeId}/bylocation method: post operationId: getBatchTaxByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/tax/{taxRateTypeId}/byaddress method: get operationId: getSpecificTaxByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/tax/{taxRateTypeId}/byaddress method: post operationId: getBatchTaxByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/taxrate/{taxRateTypeId}/bylocation method: get operationId: getSpecificTaxRateByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/taxrate/{taxRateTypeId}/bylocation method: post operationId: getBatchTaxRateByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/taxrate/{taxRateTypeId}/byaddress method: get operationId: getSpecificTaxRateByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/taxrate/{taxRateTypeId}/byaddress method: post operationId: getBatchTaxRateByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/taxdistrict/ipd/byaddress method: get operationId: getIPDTaxByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /localtax/v1/taxdistrict/ipd/byaddress method: post operationId: getIPDTaxByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timezone/v1/timezone/bylocation method: get operationId: getTimezoneByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timezone/v1/timezone/bylocation method: post operationId: getBatchTimezoneByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timezone/v1/timezone/byaddress method: get operationId: getTimezoneByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timezone/v1/timezone/byaddress method: post operationId: getTimezoneByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /emailverification/v1/validateemailaddress/results.json method: post operationId: ValidateEmailAddress x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /addressverification/v1/validatemailingaddress/results.json method: post operationId: ValidateMailingAddress x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /addressverification/v1/validatemailingaddresspremium/results.json method: post operationId: ValidateMailingAddressPremium x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /addressverification/v1/validatemailingaddresspro/results.json method: post operationId: ValidateMailingAddressPro x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /addressverification/v1/validatemailingaddressuscan/results.json method: post operationId: ValidateMailingAddressUSCAN x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /phoneverification/v2/validatephonenumber/results.json method: post operationId: validatephonenumber x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /zones/v1/poiboundary/bylocation method: get operationId: getPOIBoundaryByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /zones/v1/poiboundary/bylocation method: post operationId: getPOIBoundaryByLocationBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /zones/v1/poiboundary/byaddress method: get operationId: getPOIBoundaryByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /zones/v1/poiboundary/byaddress method: post operationId: getPOIBoundaryByAddressBatch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /zones/v1/travelboundary/bytime method: get operationId: getTravelBoundaryByTime x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /zones/v1/travelboundary/bydistance method: get operationId: getTravelBoundaryByDistance x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /zones/v1/basicboundary/bylocation method: get operationId: getBasicBoundaryByLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /zones/v1/basicboundary/byaddress method: get operationId: getBasicBoundaryByAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none