Documentation
¶
Index ¶
- func Bool(b bool) param.Opt[bool]
- func BoolPtr(v bool) *bool
- func DefaultClientOptions() []option.RequestOption
- func File(rdr io.Reader, filename string, contentType string) file
- func Float(f float64) param.Opt[float64]
- func FloatPtr(v float64) *float64
- func Int(i int64) param.Opt[int64]
- func IntPtr(v int64) *int64
- func Opt[T comparable](v T) param.Opt[T]
- func Ptr[T any](v T) *T
- func String(s string) param.Opt[string]
- func StringPtr(v string) *string
- func Time(t time.Time) param.Opt[time.Time]
- func TimePtr(v time.Time) *time.Time
- func VerifyWebhook(signatureHeader string, rawBody []byte, secret string, ...) error
- type AffordabilityRow
- type AffordabilityRowAffordabilityRating
- type Client
- func (r *Client) Delete(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Execute(ctx context.Context, method string, path string, params any, res any, ...) error
- func (r *Client) Get(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Patch(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Post(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Put(ctx context.Context, path string, params any, res any, ...) error
- type Deed
- type Error
- type Owner
- type OwnerEntityType
- type Parcel
- type ParcelOwnerType
- type ParcelZoningCategory
- type Permit
- type PermitStatus
- type RiskAssessment
- type RiskAssessmentAirQuality
- type RiskAssessmentCrime
- type RiskAssessmentFloodZone
- type RiskAssessmentWildfire
- type V1AccountGetUsageResponse
- type V1AccountGetUsageResponsePeriod
- type V1AccountGetUsageResponseRateLimit
- type V1AccountGetUsageResponseTier
- type V1AccountService
- type V1DealFindAbsenteeOwnersParams
- type V1DealFindAbsenteeOwnersResponse
- type V1DealFindEntityOwnedParcelsParams
- type V1DealFindEntityOwnedParcelsParamsEntityType
- type V1DealFindEntityOwnedParcelsResponseObject
- type V1DealFindEntityOwnedParcelsResponseObject2
- type V1DealFindEntityOwnedParcelsResponseObject2Data
- type V1DealFindEntityOwnedParcelsResponseObject2Summary
- type V1DealFindEntityOwnedParcelsResponseObjectData
- type V1DealFindEntityOwnedParcelsResponseUnion
- func (u V1DealFindEntityOwnedParcelsResponseUnion) AsV1DealFindEntityOwnedParcelsResponseObject() (v V1DealFindEntityOwnedParcelsResponseObject)
- func (u V1DealFindEntityOwnedParcelsResponseUnion) AsV1DealFindEntityOwnedParcelsResponseObject2() (v V1DealFindEntityOwnedParcelsResponseObject2)
- func (u V1DealFindEntityOwnedParcelsResponseUnion) RawJSON() string
- func (r *V1DealFindEntityOwnedParcelsResponseUnion) UnmarshalJSON(data []byte) error
- type V1DealFindEntityOwnedParcelsResponseUnionData
- type V1DealFindFlipsParams
- type V1DealFindFlipsParamsFlipTier
- type V1DealFindFlipsParamsView
- type V1DealFindFlipsResponse
- type V1DealFindFlipsResponseData
- type V1DealFindHighLandRatioParams
- type V1DealFindHighLandRatioResponse
- type V1DealFindHighLandRatioResponseData
- type V1DealFindLongHoldParcelsParams
- type V1DealFindLongHoldParcelsParamsHoldTier
- type V1DealFindLongHoldParcelsResponse
- type V1DealFindLongHoldParcelsResponseData
- type V1DealFindPortfolioOwnersParams
- type V1DealFindPortfolioOwnersResponse
- type V1DealFindPortfolioOwnersResponseData
- type V1DealGetMarketSummaryParams
- type V1DealGetMarketSummaryParamsRating
- type V1DealGetMarketSummaryParamsView
- type V1DealGetMarketSummaryResponseObject
- type V1DealGetMarketSummaryResponseObject2
- type V1DealGetMarketSummaryResponseObjectData
- type V1DealGetMarketSummaryResponseUnion
- func (u V1DealGetMarketSummaryResponseUnion) AsV1DealGetMarketSummaryResponseObject() (v V1DealGetMarketSummaryResponseObject)
- func (u V1DealGetMarketSummaryResponseUnion) AsV1DealGetMarketSummaryResponseObject2() (v V1DealGetMarketSummaryResponseObject2)
- func (u V1DealGetMarketSummaryResponseUnion) RawJSON() string
- func (r *V1DealGetMarketSummaryResponseUnion) UnmarshalJSON(data []byte) error
- type V1DealGetMarketSummaryResponseUnionData
- type V1DealSearchContractorsParams
- type V1DealSearchContractorsResponse
- type V1DealSearchContractorsResponseData
- type V1DealSearchLendersParams
- type V1DealSearchLendersResponse
- type V1DealSearchLendersResponseData
- type V1DealService
- func (r *V1DealService) FindAbsenteeOwners(ctx context.Context, query V1DealFindAbsenteeOwnersParams, ...) (res *V1DealFindAbsenteeOwnersResponse, err error)
- func (r *V1DealService) FindEntityOwnedParcels(ctx context.Context, query V1DealFindEntityOwnedParcelsParams, ...) (res *V1DealFindEntityOwnedParcelsResponseUnion, err error)
- func (r *V1DealService) FindFlips(ctx context.Context, query V1DealFindFlipsParams, opts ...option.RequestOption) (res *V1DealFindFlipsResponse, err error)
- func (r *V1DealService) FindHighLandRatio(ctx context.Context, query V1DealFindHighLandRatioParams, ...) (res *V1DealFindHighLandRatioResponse, err error)
- func (r *V1DealService) FindLongHoldParcels(ctx context.Context, query V1DealFindLongHoldParcelsParams, ...) (res *V1DealFindLongHoldParcelsResponse, err error)
- func (r *V1DealService) FindPortfolioOwners(ctx context.Context, query V1DealFindPortfolioOwnersParams, ...) (res *V1DealFindPortfolioOwnersResponse, err error)
- func (r *V1DealService) GetMarketSummary(ctx context.Context, query V1DealGetMarketSummaryParams, ...) (res *V1DealGetMarketSummaryResponseUnion, err error)
- func (r *V1DealService) SearchContractors(ctx context.Context, query V1DealSearchContractorsParams, ...) (res *V1DealSearchContractorsResponse, err error)
- func (r *V1DealService) SearchLenders(ctx context.Context, query V1DealSearchLendersParams, ...) (res *V1DealSearchLendersResponse, err error)
- type V1GetCoverageParams
- type V1GetCoverageResponse
- type V1GetCoverageResponseData
- type V1MarketCountyGetDetailResponse
- type V1MarketCountyGetDetailResponseFlipSummary
- type V1MarketCountyGetDetailResponseMarketStat
- type V1MarketCountyGetDetailResponseParcelSummary
- type V1MarketCountyGetStatisticsParams
- type V1MarketCountyGetStatisticsParamsOrder
- type V1MarketCountyGetStatisticsParamsSort
- type V1MarketCountyGetStatisticsResponse
- type V1MarketCountyGetStatisticsResponseData
- type V1MarketCountyService
- func (r *V1MarketCountyService) GetDetail(ctx context.Context, fips string, opts ...option.RequestOption) (res *V1MarketCountyGetDetailResponse, err error)
- func (r *V1MarketCountyService) GetStatistics(ctx context.Context, query V1MarketCountyGetStatisticsParams, ...) (res *V1MarketCountyGetStatisticsResponse, err error)
- type V1MarketGetFlipActivityParams
- type V1MarketGetFlipActivityResponse
- type V1MarketGetFlipActivityResponseData
- type V1MarketGetTrendsParams
- type V1MarketGetTrendsResponse
- type V1MarketGetTrendsResponseData
- type V1MarketGetTrendsResponseDataQuarter
- type V1MarketService
- type V1OwnerGetPortfolioSummaryResponse
- type V1OwnerGetPortfolioSummaryResponseEntityType
- type V1OwnerGetPortfolioSummaryResponseSummary
- type V1OwnerGetPropertiesParams
- type V1OwnerGetPropertiesResponse
- type V1OwnerGetTransactionsResponse
- type V1OwnerGetTransactionsResponseData
- type V1OwnerSearchOwnersParams
- type V1OwnerSearchOwnersResponse
- type V1OwnerService
- func (r *V1OwnerService) GetPortfolioSummary(ctx context.Context, name string, opts ...option.RequestOption) (res *V1OwnerGetPortfolioSummaryResponse, err error)
- func (r *V1OwnerService) GetProfile(ctx context.Context, name string, opts ...option.RequestOption) (res *Owner, err error)
- func (r *V1OwnerService) GetProperties(ctx context.Context, name string, query V1OwnerGetPropertiesParams, ...) (res *V1OwnerGetPropertiesResponse, err error)
- func (r *V1OwnerService) GetTransactions(ctx context.Context, name string, opts ...option.RequestOption) (res *V1OwnerGetTransactionsResponse, err error)
- func (r *V1OwnerService) SearchOwners(ctx context.Context, query V1OwnerSearchOwnersParams, ...) (res *V1OwnerSearchOwnersResponse, err error)
- type V1ParcelGetDeedsResponse
- type V1ParcelGetGeojsonParams
- type V1ParcelGetGeojsonResponse
- type V1ParcelGetGeojsonResponseFeature
- type V1ParcelGetGeojsonResponseFeatureGeometry
- type V1ParcelGetGeojsonResponseFeatureProperties
- type V1ParcelGetGeojsonResponseType
- type V1ParcelGetOwnerResponse
- type V1ParcelGetOwnerResponseEntityType
- type V1ParcelGetOwnerResponsePortfolioSummary
- type V1ParcelGetPermitsResponse
- type V1ParcelGetReportParams
- type V1ParcelGetReportResponse
- type V1ParcelGetReportResponseComparableSale
- type V1ParcelGetReportResponseUccLien
- type V1ParcelGetTrafficHistoryParams
- type V1ParcelGetTrafficHistoryResponse
- type V1ParcelGetTrafficHistoryResponseHistory
- type V1ParcelGetTrafficHistoryResponseStation
- type V1ParcelService
- func (r *V1ParcelService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *Parcel, err error)
- func (r *V1ParcelService) GetDeeds(ctx context.Context, id string, opts ...option.RequestOption) (res *V1ParcelGetDeedsResponse, err error)
- func (r *V1ParcelService) GetGeojson(ctx context.Context, query V1ParcelGetGeojsonParams, ...) (res *V1ParcelGetGeojsonResponse, err error)
- func (r *V1ParcelService) GetOwner(ctx context.Context, id string, opts ...option.RequestOption) (res *V1ParcelGetOwnerResponse, err error)
- func (r *V1ParcelService) GetPermits(ctx context.Context, id string, opts ...option.RequestOption) (res *V1ParcelGetPermitsResponse, err error)
- func (r *V1ParcelService) GetReport(ctx context.Context, id string, query V1ParcelGetReportParams, ...) (res *V1ParcelGetReportResponse, err error)
- func (r *V1ParcelService) GetRisks(ctx context.Context, id string, opts ...option.RequestOption) (res *RiskAssessment, err error)
- func (r *V1ParcelService) GetTrafficHistory(ctx context.Context, id string, query V1ParcelGetTrafficHistoryParams, ...) (res *V1ParcelGetTrafficHistoryResponse, err error)
- type V1SearchAutocompleteParams
- type V1SearchAutocompleteResponse
- type V1SearchAutocompleteResponseAddress
- type V1SearchAutocompleteResponseLocation
- type V1SearchAutocompleteResponseParcel
- type V1SearchExportResultsParams
- type V1SearchExportResultsParamsOrder
- type V1SearchExportResultsParamsSort
- type V1SearchFullSearchParams
- type V1SearchFullSearchParamsDir
- type V1SearchFullSearchParamsField
- type V1SearchFullSearchParamsSort
- type V1SearchFullSearchResponse
- type V1SearchParcelSearchParams
- type V1SearchParcelSearchParamsBounds
- type V1SearchParcelSearchParamsFilters
- type V1SearchParcelSearchParamsFiltersAcreageRange
- type V1SearchParcelSearchParamsFiltersValueRange
- type V1SearchParcelSearchParamsFiltersYearBuiltRange
- type V1SearchParcelSearchParamsOrder
- type V1SearchParcelSearchParamsSort
- type V1SearchParcelSearchResponse
- type V1SearchService
- func (r *V1SearchService) Autocomplete(ctx context.Context, query V1SearchAutocompleteParams, ...) (res *V1SearchAutocompleteResponse, err error)
- func (r *V1SearchService) ExportResults(ctx context.Context, query V1SearchExportResultsParams, ...) (res *io.Reader, err error)
- func (r *V1SearchService) FullSearch(ctx context.Context, query V1SearchFullSearchParams, ...) (res *V1SearchFullSearchResponse, err error)
- func (r *V1SearchService) ParcelSearch(ctx context.Context, body V1SearchParcelSearchParams, ...) (res *V1SearchParcelSearchResponse, err error)
- type V1Service
- type V1WebhookDisableEndpointResponse
- type V1WebhookGetDeliveriesResponse
- type V1WebhookGetDeliveriesResponseDelivery
- type V1WebhookListEndpointsResponse
- type V1WebhookListEndpointsResponseQuota
- type V1WebhookListEndpointsResponseTier
- type V1WebhookNewEndpointParams
- type V1WebhookNewEndpointParamsFilterKind
- type V1WebhookNewEndpointResponse
- type V1WebhookService
- func (r *V1WebhookService) DisableEndpoint(ctx context.Context, id string, opts ...option.RequestOption) (res *V1WebhookDisableEndpointResponse, err error)
- func (r *V1WebhookService) GetDeliveries(ctx context.Context, id string, opts ...option.RequestOption) (res *V1WebhookGetDeliveriesResponse, err error)
- func (r *V1WebhookService) GetEndpoint(ctx context.Context, id string, opts ...option.RequestOption) (res *Webhook, err error)
- func (r *V1WebhookService) ListEndpoints(ctx context.Context, opts ...option.RequestOption) (res *V1WebhookListEndpointsResponse, err error)
- func (r *V1WebhookService) NewEndpoint(ctx context.Context, body V1WebhookNewEndpointParams, ...) (res *V1WebhookNewEndpointResponse, err error)
- type VerifyWebhookOptions
- type Webhook
- type WebhookFilterKind
- type WebhookFilterObject
- type WebhookFilterObjectParam
- type WebhookFilterParcelIDs
- type WebhookFilterParcelIDsParam
- type WebhookFilterStateFips
- type WebhookFilterStateFipsParam
- type WebhookFilterUnion
- func (u WebhookFilterUnion) AsWebhookFilterObject() (v WebhookFilterObject)
- func (u WebhookFilterUnion) AsWebhookFilterParcelIDs() (v WebhookFilterParcelIDs)
- func (u WebhookFilterUnion) AsWebhookFilterStateFips() (v WebhookFilterStateFips)
- func (u WebhookFilterUnion) RawJSON() string
- func (r WebhookFilterUnion) ToParam() WebhookFilterUnionParam
- func (r *WebhookFilterUnion) UnmarshalJSON(data []byte) error
- type WebhookFilterUnionParam
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultClientOptions ¶ added in v0.2.0
func DefaultClientOptions() []option.RequestOption
DefaultClientOptions read from the environment (PROPRAVEN_API_KEY, PROPRAVEN_BASE_URL). This should be used to initialize new clients.
func Opt ¶ added in v0.2.0
func Opt[T comparable](v T) param.Opt[T]
func VerifyWebhook ¶
func VerifyWebhook(signatureHeader string, rawBody []byte, secret string, opts ...VerifyWebhookOptions) error
VerifyWebhook authenticates an inbound webhook payload.
signatureHeader: raw value of the X-PropRaven-Signature header, formatted
as "t=<unix_ms>,v1=<hex_hmac>".
rawBody: unmodified request body bytes.
secret: the webhook secret returned at endpoint creation time
(CreatedWebhookSecret on V1WebhookNewEndpointResponse).
Returns nil on success and an error describing the mismatch on failure. Performs constant-time signature comparison and enforces a 5-minute replay window by default. Override via VerifyWebhookOptions.
Types ¶
type AffordabilityRow ¶ added in v0.2.0
type AffordabilityRow struct {
// Any of "AFFORDABLE", "MODERATE", "EXPENSIVE", "VERY_EXPENSIVE".
AffordabilityRating AffordabilityRowAffordabilityRating `json:"affordability_rating"`
CountyFips string `json:"county_fips"`
CountyName string `json:"county_name" api:"nullable"`
MedianHouseholdIncome float64 `json:"median_household_income" api:"nullable"`
MedianSalePrice float64 `json:"median_sale_price" api:"nullable"`
MonthlyPaymentEstimate float64 `json:"monthly_payment_estimate" api:"nullable"`
PctIncomeForHousing float64 `json:"pct_income_for_housing" api:"nullable"`
PriceToIncomeRatio float64 `json:"price_to_income_ratio" api:"nullable"`
StateFips string `json:"state_fips"`
Year int64 `json:"year"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AffordabilityRating respjson.Field
CountyFips respjson.Field
CountyName respjson.Field
MedianHouseholdIncome respjson.Field
MedianSalePrice respjson.Field
MonthlyPaymentEstimate respjson.Field
PctIncomeForHousing respjson.Field
PriceToIncomeRatio respjson.Field
StateFips respjson.Field
Year respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (AffordabilityRow) RawJSON ¶ added in v0.2.0
func (r AffordabilityRow) RawJSON() string
Returns the unmodified JSON received from the API
func (*AffordabilityRow) UnmarshalJSON ¶ added in v0.2.0
func (r *AffordabilityRow) UnmarshalJSON(data []byte) error
type AffordabilityRowAffordabilityRating ¶ added in v0.2.0
type AffordabilityRowAffordabilityRating string
const ( AffordabilityRowAffordabilityRatingAffordable AffordabilityRowAffordabilityRating = "AFFORDABLE" AffordabilityRowAffordabilityRatingModerate AffordabilityRowAffordabilityRating = "MODERATE" AffordabilityRowAffordabilityRatingExpensive AffordabilityRowAffordabilityRating = "EXPENSIVE" AffordabilityRowAffordabilityRatingVeryExpensive AffordabilityRowAffordabilityRating = "VERY_EXPENSIVE" )
type Client ¶
type Client struct {
// Data coverage statistics.
V1 V1Service
// contains filtered or unexported fields
}
Client creates a struct with services and top level methods that help with interacting with the propraven API. You should not instantiate this client directly, and instead use the NewClient method instead.
func NewClient ¶
func NewClient(opts ...option.RequestOption) (r Client)
NewClient generates a new client with the default option read from the environment (PROPRAVEN_API_KEY, PROPRAVEN_BASE_URL). The option passed in as arguments are applied after these default arguments, and all option will be passed down to the services and requests that this client makes.
func (*Client) Delete ¶ added in v0.2.0
func (r *Client) Delete(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Delete makes a DELETE request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Execute ¶ added in v0.2.0
func (r *Client) Execute(ctx context.Context, method string, path string, params any, res any, opts ...option.RequestOption) error
Execute makes a request with the given context, method, URL, request params, response, and request options. This is useful for hitting undocumented endpoints while retaining the base URL, auth, retries, and other options from the client.
If a byte slice or an io.Reader is supplied to params, it will be used as-is for the request body.
The params is by default serialized into the body using encoding/json. If your type implements a MarshalJSON function, it will be used instead to serialize the request. If a URLQuery method is implemented, the returned url.Values will be used as query strings to the url.
If your params struct uses param.Field, you must provide either [MarshalJSON], [URLQuery], and/or [MarshalForm] functions. It is undefined behavior to use a struct uses param.Field without specifying how it is serialized.
Any "…Params" object defined in this library can be used as the request argument. Note that 'path' arguments will not be forwarded into the url.
The response body will be deserialized into the res variable, depending on its type:
- A pointer to a *http.Response is populated by the raw response.
- A pointer to a byte array will be populated with the contents of the request body.
- A pointer to any other type uses this library's default JSON decoding, which respects UnmarshalJSON if it is defined on the type.
- A nil value will not read the response body.
For even greater flexibility, see option.WithResponseInto and option.WithResponseBodyInto.
func (*Client) Get ¶ added in v0.2.0
func (r *Client) Get(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Get makes a GET request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Patch ¶ added in v0.2.0
func (r *Client) Patch(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Patch makes a PATCH request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Post ¶ added in v0.2.0
func (r *Client) Post(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Post makes a POST request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
type Deed ¶
type Deed struct {
DeedType string `json:"deed_type" api:"nullable"`
DocumentNumber string `json:"document_number"`
GranteeName string `json:"grantee_name"`
GrantorName string `json:"grantor_name"`
RecordingDate time.Time `json:"recording_date" format:"date"`
SaleDate time.Time `json:"sale_date" api:"nullable" format:"date"`
SalePrice float64 `json:"sale_price" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
DeedType respjson.Field
DocumentNumber respjson.Field
GranteeName respjson.Field
GrantorName respjson.Field
RecordingDate respjson.Field
SaleDate respjson.Field
SalePrice respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (*Deed) UnmarshalJSON ¶ added in v0.2.0
type Owner ¶
type Owner struct {
// Any of "individual", "corporation", "llc", "trust", "government", "other".
EntityType OwnerEntityType `json:"entity_type"`
OwnerName string `json:"owner_name"`
PropertyCount int64 `json:"property_count"`
States []string `json:"states"`
TotalAssessedValue float64 `json:"total_assessed_value"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
EntityType respjson.Field
OwnerName respjson.Field
PropertyCount respjson.Field
States respjson.Field
TotalAssessedValue respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (*Owner) UnmarshalJSON ¶ added in v0.2.0
type OwnerEntityType ¶ added in v0.2.0
type OwnerEntityType string
const ( OwnerEntityTypeIndividual OwnerEntityType = "individual" OwnerEntityTypeCorporation OwnerEntityType = "corporation" OwnerEntityTypeLlc OwnerEntityType = "llc" OwnerEntityTypeTrust OwnerEntityType = "trust" OwnerEntityTypeGovernment OwnerEntityType = "government" OwnerEntityTypeOther OwnerEntityType = "other" )
type Parcel ¶
type Parcel struct {
AbsenteeOwner bool `json:"absentee_owner"`
Acreage float64 `json:"acreage" api:"nullable"`
Address string `json:"address"`
AssessedValue float64 `json:"assessed_value" api:"nullable"`
City string `json:"city"`
// 5-digit county FIPS code.
CountyFips string `json:"county_fips"`
CountyName string `json:"county_name"`
// Crime score from 0 (low) to 100 (high).
CrimeScore float64 `json:"crime_score" api:"nullable"`
// Composite deal opportunity score from 0 to 100.
DealScore float64 `json:"deal_score" api:"nullable"`
ImprovementValue float64 `json:"improvement_value" api:"nullable"`
LandUse string `json:"land_use" api:"nullable"`
LandValue float64 `json:"land_value" api:"nullable"`
LastSaleDate time.Time `json:"last_sale_date" api:"nullable" format:"date"`
LastSalePrice float64 `json:"last_sale_price" api:"nullable"`
Latitude float64 `json:"latitude" api:"nullable"`
Longitude float64 `json:"longitude" api:"nullable"`
MailingAddress string `json:"mailing_address" api:"nullable"`
MarketValue float64 `json:"market_value" api:"nullable"`
OwnerName string `json:"owner_name"`
// Any of "individual", "corporation", "llc", "trust", "government", "other".
OwnerType ParcelOwnerType `json:"owner_type"`
// County-assigned parcel identifier.
ParcelID string `json:"parcel_id"`
StateAbbr string `json:"state_abbr"`
StateFips string `json:"state_fips"`
YearBuilt int64 `json:"year_built" api:"nullable"`
Zip string `json:"zip"`
Zoning string `json:"zoning" api:"nullable"`
// Any of "residential", "commercial", "industrial", "agricultural", "mixed",
// "other".
ZoningCategory ParcelZoningCategory `json:"zoning_category" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AbsenteeOwner respjson.Field
Acreage respjson.Field
Address respjson.Field
AssessedValue respjson.Field
City respjson.Field
CountyFips respjson.Field
CountyName respjson.Field
CrimeScore respjson.Field
DealScore respjson.Field
ImprovementValue respjson.Field
LandUse respjson.Field
LandValue respjson.Field
LastSaleDate respjson.Field
LastSalePrice respjson.Field
Latitude respjson.Field
Longitude respjson.Field
MailingAddress respjson.Field
MarketValue respjson.Field
OwnerName respjson.Field
OwnerType respjson.Field
ParcelID respjson.Field
StateAbbr respjson.Field
StateFips respjson.Field
YearBuilt respjson.Field
Zip respjson.Field
Zoning respjson.Field
ZoningCategory respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (*Parcel) UnmarshalJSON ¶ added in v0.2.0
type ParcelOwnerType ¶ added in v0.2.0
type ParcelOwnerType string
const ( ParcelOwnerTypeIndividual ParcelOwnerType = "individual" ParcelOwnerTypeCorporation ParcelOwnerType = "corporation" ParcelOwnerTypeLlc ParcelOwnerType = "llc" ParcelOwnerTypeTrust ParcelOwnerType = "trust" ParcelOwnerTypeGovernment ParcelOwnerType = "government" ParcelOwnerTypeOther ParcelOwnerType = "other" )
type ParcelZoningCategory ¶ added in v0.2.0
type ParcelZoningCategory string
const ( ParcelZoningCategoryResidential ParcelZoningCategory = "residential" ParcelZoningCategoryCommercial ParcelZoningCategory = "commercial" ParcelZoningCategoryIndustrial ParcelZoningCategory = "industrial" ParcelZoningCategoryAgricultural ParcelZoningCategory = "agricultural" ParcelZoningCategoryMixed ParcelZoningCategory = "mixed" ParcelZoningCategoryOther ParcelZoningCategory = "other" )
type Permit ¶
type Permit struct {
Contractor string `json:"contractor" api:"nullable"`
Description string `json:"description"`
EstimatedCost float64 `json:"estimated_cost" api:"nullable"`
IssuedDate time.Time `json:"issued_date" api:"nullable" format:"date"`
PermitNumber string `json:"permit_number"`
// Any of "issued", "pending", "approved", "expired", "completed", "denied".
Status PermitStatus `json:"status"`
Type string `json:"type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Contractor respjson.Field
Description respjson.Field
EstimatedCost respjson.Field
IssuedDate respjson.Field
PermitNumber respjson.Field
Status respjson.Field
Type respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (*Permit) UnmarshalJSON ¶ added in v0.2.0
type PermitStatus ¶ added in v0.2.0
type PermitStatus string
const ( PermitStatusIssued PermitStatus = "issued" PermitStatusPending PermitStatus = "pending" PermitStatusApproved PermitStatus = "approved" PermitStatusExpired PermitStatus = "expired" PermitStatusCompleted PermitStatus = "completed" PermitStatusDenied PermitStatus = "denied" )
type RiskAssessment ¶ added in v0.2.0
type RiskAssessment struct {
AirQuality RiskAssessmentAirQuality `json:"air_quality"`
Crime RiskAssessmentCrime `json:"crime"`
FloodZone RiskAssessmentFloodZone `json:"flood_zone"`
Wildfire RiskAssessmentWildfire `json:"wildfire"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AirQuality respjson.Field
Crime respjson.Field
FloodZone respjson.Field
Wildfire respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (RiskAssessment) RawJSON ¶ added in v0.2.0
func (r RiskAssessment) RawJSON() string
Returns the unmodified JSON received from the API
func (*RiskAssessment) UnmarshalJSON ¶ added in v0.2.0
func (r *RiskAssessment) UnmarshalJSON(data []byte) error
type RiskAssessmentAirQuality ¶ added in v0.2.0
type RiskAssessmentAirQuality struct {
// Any of "good", "moderate", "unhealthy_sensitive", "unhealthy", "very_unhealthy",
// "hazardous".
Category string `json:"category" api:"nullable"`
// Median Air Quality Index value.
MedianAqi float64 `json:"median_aqi" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Category respjson.Field
MedianAqi respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (RiskAssessmentAirQuality) RawJSON ¶ added in v0.2.0
func (r RiskAssessmentAirQuality) RawJSON() string
Returns the unmodified JSON received from the API
func (*RiskAssessmentAirQuality) UnmarshalJSON ¶ added in v0.2.0
func (r *RiskAssessmentAirQuality) UnmarshalJSON(data []byte) error
type RiskAssessmentCrime ¶ added in v0.2.0
type RiskAssessmentCrime struct {
// Crime score from 0 (low) to 100 (high).
Score float64 `json:"score" api:"nullable"`
// Any of "very_low", "low", "moderate", "high", "very_high".
Tier string `json:"tier" api:"nullable"`
// Any of "decreasing", "stable", "increasing".
Trend string `json:"trend" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Score respjson.Field
Tier respjson.Field
Trend respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (RiskAssessmentCrime) RawJSON ¶ added in v0.2.0
func (r RiskAssessmentCrime) RawJSON() string
Returns the unmodified JSON received from the API
func (*RiskAssessmentCrime) UnmarshalJSON ¶ added in v0.2.0
func (r *RiskAssessmentCrime) UnmarshalJSON(data []byte) error
type RiskAssessmentFloodZone ¶ added in v0.2.0
type RiskAssessmentFloodZone struct {
Description string `json:"description" api:"nullable"`
InFloodplain bool `json:"in_floodplain"`
// FEMA flood zone designation.
Zone string `json:"zone" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Description respjson.Field
InFloodplain respjson.Field
Zone respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (RiskAssessmentFloodZone) RawJSON ¶ added in v0.2.0
func (r RiskAssessmentFloodZone) RawJSON() string
Returns the unmodified JSON received from the API
func (*RiskAssessmentFloodZone) UnmarshalJSON ¶ added in v0.2.0
func (r *RiskAssessmentFloodZone) UnmarshalJSON(data []byte) error
type RiskAssessmentWildfire ¶ added in v0.2.0
type RiskAssessmentWildfire struct {
// Annual burn probability as a decimal.
BurnProbability float64 `json:"burn_probability" api:"nullable"`
// Any of "low", "moderate", "high", "very_high", "extreme".
RiskClass string `json:"risk_class" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
BurnProbability respjson.Field
RiskClass respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (RiskAssessmentWildfire) RawJSON ¶ added in v0.2.0
func (r RiskAssessmentWildfire) RawJSON() string
Returns the unmodified JSON received from the API
func (*RiskAssessmentWildfire) UnmarshalJSON ¶ added in v0.2.0
func (r *RiskAssessmentWildfire) UnmarshalJSON(data []byte) error
type V1AccountGetUsageResponse ¶ added in v0.2.0
type V1AccountGetUsageResponse struct {
// Plan allotment for the current period.
CallsIncluded int64 `json:"calls_included"`
CallsRemaining int64 `json:"calls_remaining"`
CallsUsed int64 `json:"calls_used"`
// Whether further calls will be hard-rejected vs allowed-and-billed.
HardCapped bool `json:"hard_capped"`
Period V1AccountGetUsageResponsePeriod `json:"period"`
RateLimit V1AccountGetUsageResponseRateLimit `json:"rate_limit"`
// Any of "free", "starter", "pro", "scale", "api_100k".
Tier V1AccountGetUsageResponseTier `json:"tier"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
CallsIncluded respjson.Field
CallsRemaining respjson.Field
CallsUsed respjson.Field
HardCapped respjson.Field
Period respjson.Field
RateLimit respjson.Field
Tier respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1AccountGetUsageResponse) RawJSON ¶ added in v0.2.0
func (r V1AccountGetUsageResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1AccountGetUsageResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1AccountGetUsageResponse) UnmarshalJSON(data []byte) error
type V1AccountGetUsageResponsePeriod ¶ added in v0.2.0
type V1AccountGetUsageResponsePeriod struct {
End time.Time `json:"end" format:"date-time"`
Label string `json:"label"`
Start time.Time `json:"start" format:"date-time"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
End respjson.Field
Label respjson.Field
Start respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1AccountGetUsageResponsePeriod) RawJSON ¶ added in v0.2.0
func (r V1AccountGetUsageResponsePeriod) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1AccountGetUsageResponsePeriod) UnmarshalJSON ¶ added in v0.2.0
func (r *V1AccountGetUsageResponsePeriod) UnmarshalJSON(data []byte) error
type V1AccountGetUsageResponseRateLimit ¶ added in v0.2.0
type V1AccountGetUsageResponseRateLimit struct {
PerDay int64 `json:"per_day"`
PerMinute int64 `json:"per_minute"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
PerDay respjson.Field
PerMinute respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1AccountGetUsageResponseRateLimit) RawJSON ¶ added in v0.2.0
func (r V1AccountGetUsageResponseRateLimit) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1AccountGetUsageResponseRateLimit) UnmarshalJSON ¶ added in v0.2.0
func (r *V1AccountGetUsageResponseRateLimit) UnmarshalJSON(data []byte) error
type V1AccountGetUsageResponseTier ¶ added in v0.2.0
type V1AccountGetUsageResponseTier string
const ( V1AccountGetUsageResponseTierFree V1AccountGetUsageResponseTier = "free" V1AccountGetUsageResponseTierStarter V1AccountGetUsageResponseTier = "starter" V1AccountGetUsageResponseTierPro V1AccountGetUsageResponseTier = "pro" V1AccountGetUsageResponseTierScale V1AccountGetUsageResponseTier = "scale" V1AccountGetUsageResponseTierAPI100k V1AccountGetUsageResponseTier = "api_100k" )
type V1AccountService ¶ added in v0.2.0
type V1AccountService struct {
// contains filtered or unexported fields
}
Account-scoped usage, quota, and key-level reporting.
V1AccountService contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1AccountService method instead.
func NewV1AccountService ¶ added in v0.2.0
func NewV1AccountService(opts ...option.RequestOption) (r V1AccountService)
NewV1AccountService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1AccountService) GetUsage ¶ added in v0.2.0
func (r *V1AccountService) GetUsage(ctx context.Context, opts ...option.RequestOption) (res *V1AccountGetUsageResponse, err error)
Returns the calling key's current-period API usage, included allotment, remaining calls, configured per-minute and per-day rate limits, and the hard-cap status. Per-user (all of a user's API keys roll up to the same monthly counter, since they share a Stripe subscription).
type V1DealFindAbsenteeOwnersParams ¶ added in v0.2.0
type V1DealFindAbsenteeOwnersParams struct {
// Filter by county FIPS code.
CountyFips param.Opt[string] `query:"county_fips,omitzero" json:"-"`
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum assessed value.
MinValue param.Opt[float64] `query:"min_value,omitzero" json:"-"`
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// Only return owners whose mailing address is in a different state.
OutOfState param.Opt[bool] `query:"out_of_state,omitzero" json:"-"`
// Filter by state FIPS code.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealFindAbsenteeOwnersParams) URLQuery ¶ added in v0.2.0
func (r V1DealFindAbsenteeOwnersParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealFindAbsenteeOwnersParams's query parameters as `url.Values`.
type V1DealFindAbsenteeOwnersResponse ¶ added in v0.2.0
type V1DealFindAbsenteeOwnersResponse struct {
Data []Parcel `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindAbsenteeOwnersResponse) RawJSON ¶ added in v0.2.0
func (r V1DealFindAbsenteeOwnersResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindAbsenteeOwnersResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindAbsenteeOwnersResponse) UnmarshalJSON(data []byte) error
type V1DealFindEntityOwnedParcelsParams ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsParams struct {
// 5-digit county FIPS filter.
CountyFips param.Opt[string] `query:"county_fips,omitzero" json:"-"`
// Page size, max 500.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum assessed value, USD.
MinValue param.Opt[int64] `query:"min_value,omitzero" json:"-"`
// Pagination offset.
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// Owner-name substring search.
Search param.Opt[string] `query:"search,omitzero" json:"-"`
// 2-digit state FIPS filter.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// If true, returns aggregated entity rankings with summary stats instead of
// per-parcel rows.
Top param.Opt[bool] `query:"top,omitzero" json:"-"`
// Zoning substring filter.
Zoning param.Opt[string] `query:"zoning,omitzero" json:"-"`
// Filter by entity classification.
//
// Any of "LLC", "CORP", "TRUST", "LP", "LTD", "ASSOCIATION", "OTHER_ENTITY".
EntityType V1DealFindEntityOwnedParcelsParamsEntityType `query:"entity_type,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealFindEntityOwnedParcelsParams) URLQuery ¶ added in v0.2.0
func (r V1DealFindEntityOwnedParcelsParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealFindEntityOwnedParcelsParams's query parameters as `url.Values`.
type V1DealFindEntityOwnedParcelsParamsEntityType ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsParamsEntityType string
Filter by entity classification.
const ( V1DealFindEntityOwnedParcelsParamsEntityTypeLlc V1DealFindEntityOwnedParcelsParamsEntityType = "LLC" V1DealFindEntityOwnedParcelsParamsEntityTypeCorp V1DealFindEntityOwnedParcelsParamsEntityType = "CORP" V1DealFindEntityOwnedParcelsParamsEntityTypeTrust V1DealFindEntityOwnedParcelsParamsEntityType = "TRUST" V1DealFindEntityOwnedParcelsParamsEntityTypeLp V1DealFindEntityOwnedParcelsParamsEntityType = "LP" V1DealFindEntityOwnedParcelsParamsEntityTypeLtd V1DealFindEntityOwnedParcelsParamsEntityType = "LTD" V1DealFindEntityOwnedParcelsParamsEntityTypeAssociation V1DealFindEntityOwnedParcelsParamsEntityType = "ASSOCIATION" V1DealFindEntityOwnedParcelsParamsEntityTypeOtherEntity V1DealFindEntityOwnedParcelsParamsEntityType = "OTHER_ENTITY" )
type V1DealFindEntityOwnedParcelsResponseObject ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsResponseObject struct {
Data []V1DealFindEntityOwnedParcelsResponseObjectData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindEntityOwnedParcelsResponseObject) RawJSON ¶ added in v0.2.0
func (r V1DealFindEntityOwnedParcelsResponseObject) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindEntityOwnedParcelsResponseObject) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindEntityOwnedParcelsResponseObject) UnmarshalJSON(data []byte) error
type V1DealFindEntityOwnedParcelsResponseObject2 ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsResponseObject2 struct {
Data []V1DealFindEntityOwnedParcelsResponseObject2Data `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Summary V1DealFindEntityOwnedParcelsResponseObject2Summary `json:"summary"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Summary respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindEntityOwnedParcelsResponseObject2) RawJSON ¶ added in v0.2.0
func (r V1DealFindEntityOwnedParcelsResponseObject2) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindEntityOwnedParcelsResponseObject2) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindEntityOwnedParcelsResponseObject2) UnmarshalJSON(data []byte) error
type V1DealFindEntityOwnedParcelsResponseObject2Data ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsResponseObject2Data struct {
EntityType string `json:"entity_type"`
OwnerName string `json:"owner_name"`
ParcelCount int64 `json:"parcel_count"`
StatesArr []string `json:"states_arr"`
TotalValue float64 `json:"total_value" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
EntityType respjson.Field
OwnerName respjson.Field
ParcelCount respjson.Field
StatesArr respjson.Field
TotalValue respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindEntityOwnedParcelsResponseObject2Data) RawJSON ¶ added in v0.2.0
func (r V1DealFindEntityOwnedParcelsResponseObject2Data) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindEntityOwnedParcelsResponseObject2Data) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindEntityOwnedParcelsResponseObject2Data) UnmarshalJSON(data []byte) error
type V1DealFindEntityOwnedParcelsResponseObject2Summary ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsResponseObject2Summary struct {
CorpCount int64 `json:"corp_count"`
LlcCount int64 `json:"llc_count"`
LpCount int64 `json:"lp_count"`
TotalEntities int64 `json:"total_entities"`
TotalParcels int64 `json:"total_parcels"`
TrustCount int64 `json:"trust_count"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
CorpCount respjson.Field
LlcCount respjson.Field
LpCount respjson.Field
TotalEntities respjson.Field
TotalParcels respjson.Field
TrustCount respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindEntityOwnedParcelsResponseObject2Summary) RawJSON ¶ added in v0.2.0
func (r V1DealFindEntityOwnedParcelsResponseObject2Summary) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindEntityOwnedParcelsResponseObject2Summary) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindEntityOwnedParcelsResponseObject2Summary) UnmarshalJSON(data []byte) error
type V1DealFindEntityOwnedParcelsResponseObjectData ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsResponseObjectData struct {
Address string `json:"address" api:"nullable"`
City string `json:"city" api:"nullable"`
CountyFips string `json:"county_fips"`
// Any of "LLC", "CORP", "TRUST", "LP", "LTD", "ASSOCIATION", "OTHER_ENTITY".
EntityType string `json:"entity_type"`
OwnerName string `json:"owner_name"`
ParcelID string `json:"parcel_id"`
State string `json:"state" api:"nullable"`
StateFips string `json:"state_fips"`
TotalAssessedValue float64 `json:"total_assessed_value" api:"nullable"`
Zip string `json:"zip" api:"nullable"`
Zoning string `json:"zoning" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Address respjson.Field
City respjson.Field
CountyFips respjson.Field
EntityType respjson.Field
OwnerName respjson.Field
ParcelID respjson.Field
State respjson.Field
StateFips respjson.Field
TotalAssessedValue respjson.Field
Zip respjson.Field
Zoning respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindEntityOwnedParcelsResponseObjectData) RawJSON ¶ added in v0.2.0
func (r V1DealFindEntityOwnedParcelsResponseObjectData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindEntityOwnedParcelsResponseObjectData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindEntityOwnedParcelsResponseObjectData) UnmarshalJSON(data []byte) error
type V1DealFindEntityOwnedParcelsResponseUnion ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsResponseUnion struct {
// This field is a union of [[]V1DealFindEntityOwnedParcelsResponseObjectData],
// [[]V1DealFindEntityOwnedParcelsResponseObject2Data]
Data V1DealFindEntityOwnedParcelsResponseUnionData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// This field is from variant [V1DealFindEntityOwnedParcelsResponseObject2].
Summary V1DealFindEntityOwnedParcelsResponseObject2Summary `json:"summary"`
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
Summary respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
V1DealFindEntityOwnedParcelsResponseUnion contains all possible properties and values from V1DealFindEntityOwnedParcelsResponseObject, V1DealFindEntityOwnedParcelsResponseObject2.
Use the methods beginning with 'As' to cast the union to one of its variants.
func (V1DealFindEntityOwnedParcelsResponseUnion) AsV1DealFindEntityOwnedParcelsResponseObject ¶ added in v0.2.0
func (u V1DealFindEntityOwnedParcelsResponseUnion) AsV1DealFindEntityOwnedParcelsResponseObject() (v V1DealFindEntityOwnedParcelsResponseObject)
func (V1DealFindEntityOwnedParcelsResponseUnion) AsV1DealFindEntityOwnedParcelsResponseObject2 ¶ added in v0.2.0
func (u V1DealFindEntityOwnedParcelsResponseUnion) AsV1DealFindEntityOwnedParcelsResponseObject2() (v V1DealFindEntityOwnedParcelsResponseObject2)
func (V1DealFindEntityOwnedParcelsResponseUnion) RawJSON ¶ added in v0.2.0
func (u V1DealFindEntityOwnedParcelsResponseUnion) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindEntityOwnedParcelsResponseUnion) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindEntityOwnedParcelsResponseUnion) UnmarshalJSON(data []byte) error
type V1DealFindEntityOwnedParcelsResponseUnionData ¶ added in v0.2.0
type V1DealFindEntityOwnedParcelsResponseUnionData struct {
// This field will be present if the value is a
// [[]V1DealFindEntityOwnedParcelsResponseObjectData] instead of an object.
OfV1DealFindEntityOwnedParcelsResponseObjectData []V1DealFindEntityOwnedParcelsResponseObjectData `json:",inline"`
// This field will be present if the value is a
// [[]V1DealFindEntityOwnedParcelsResponseObject2Data] instead of an object.
OfV1DealFindEntityOwnedParcelsResponseObject2Data []V1DealFindEntityOwnedParcelsResponseObject2Data `json:",inline"`
JSON struct {
OfV1DealFindEntityOwnedParcelsResponseObjectData respjson.Field
OfV1DealFindEntityOwnedParcelsResponseObject2Data respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
V1DealFindEntityOwnedParcelsResponseUnionData is an implicit subunion of V1DealFindEntityOwnedParcelsResponseUnion. V1DealFindEntityOwnedParcelsResponseUnionData provides convenient access to the sub-properties of the union.
For type safety it is recommended to directly use a variant of the V1DealFindEntityOwnedParcelsResponseUnion.
If the underlying value is not a json object, one of the following properties will be valid: OfV1DealFindEntityOwnedParcelsResponseObjectData OfV1DealFindEntityOwnedParcelsResponseObject2Data]
func (*V1DealFindEntityOwnedParcelsResponseUnionData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindEntityOwnedParcelsResponseUnionData) UnmarshalJSON(data []byte) error
type V1DealFindFlipsParams ¶ added in v0.2.0
type V1DealFindFlipsParams struct {
// Filter by county FIPS code.
CountyFips param.Opt[string] `query:"county_fips,omitzero" json:"-"`
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum estimated profit.
MinProfit param.Opt[float64] `query:"min_profit,omitzero" json:"-"`
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// Filter by state FIPS code.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// Filter by flip speed tier (quick: <6mo, standard: 6-12mo, long: 12-24mo).
//
// Any of "quick", "standard", "long".
FlipTier V1DealFindFlipsParamsFlipTier `query:"flip_tier,omitzero" json:"-"`
// Set to 'flippers' to return a ranked list of top flippers instead of individual
// flips.
//
// Any of "flippers".
View V1DealFindFlipsParamsView `query:"view,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealFindFlipsParams) URLQuery ¶ added in v0.2.0
func (r V1DealFindFlipsParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealFindFlipsParams's query parameters as `url.Values`.
type V1DealFindFlipsParamsFlipTier ¶ added in v0.2.0
type V1DealFindFlipsParamsFlipTier string
Filter by flip speed tier (quick: <6mo, standard: 6-12mo, long: 12-24mo).
const ( V1DealFindFlipsParamsFlipTierQuick V1DealFindFlipsParamsFlipTier = "quick" V1DealFindFlipsParamsFlipTierStandard V1DealFindFlipsParamsFlipTier = "standard" V1DealFindFlipsParamsFlipTierLong V1DealFindFlipsParamsFlipTier = "long" )
type V1DealFindFlipsParamsView ¶ added in v0.2.0
type V1DealFindFlipsParamsView string
Set to 'flippers' to return a ranked list of top flippers instead of individual flips.
const (
V1DealFindFlipsParamsViewFlippers V1DealFindFlipsParamsView = "flippers"
)
type V1DealFindFlipsResponse ¶ added in v0.2.0
type V1DealFindFlipsResponse struct {
Data []V1DealFindFlipsResponseData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindFlipsResponse) RawJSON ¶ added in v0.2.0
func (r V1DealFindFlipsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindFlipsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindFlipsResponse) UnmarshalJSON(data []byte) error
type V1DealFindFlipsResponseData ¶ added in v0.2.0
type V1DealFindFlipsResponseData struct {
Address string `json:"address"`
BuyDate time.Time `json:"buy_date" format:"date"`
BuyPrice float64 `json:"buy_price"`
BuyerName string `json:"buyer_name"`
CountyFips string `json:"county_fips"`
// Any of "quick", "standard", "long".
FlipTier string `json:"flip_tier"`
HoldDays int64 `json:"hold_days"`
ParcelID string `json:"parcel_id"`
Profit float64 `json:"profit"`
SellDate time.Time `json:"sell_date" format:"date"`
SellPrice float64 `json:"sell_price"`
SellerName string `json:"seller_name"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Address respjson.Field
BuyDate respjson.Field
BuyPrice respjson.Field
BuyerName respjson.Field
CountyFips respjson.Field
FlipTier respjson.Field
HoldDays respjson.Field
ParcelID respjson.Field
Profit respjson.Field
SellDate respjson.Field
SellPrice respjson.Field
SellerName respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindFlipsResponseData) RawJSON ¶ added in v0.2.0
func (r V1DealFindFlipsResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindFlipsResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindFlipsResponseData) UnmarshalJSON(data []byte) error
type V1DealFindHighLandRatioParams ¶ added in v0.2.0
type V1DealFindHighLandRatioParams struct {
// 5-digit county FIPS filter.
CountyFips param.Opt[string] `query:"county_fips,omitzero" json:"-"`
// Page size, max 500.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum land/improvement ratio.
MinRatio param.Opt[float64] `query:"min_ratio,omitzero" json:"-"`
// Minimum land assessed value, USD.
MinValue param.Opt[int64] `query:"min_value,omitzero" json:"-"`
// Pagination offset.
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// 2-digit state FIPS filter.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// Zoning substring filter.
Zoning param.Opt[string] `query:"zoning,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealFindHighLandRatioParams) URLQuery ¶ added in v0.2.0
func (r V1DealFindHighLandRatioParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealFindHighLandRatioParams's query parameters as `url.Values`.
type V1DealFindHighLandRatioResponse ¶ added in v0.2.0
type V1DealFindHighLandRatioResponse struct {
Data []V1DealFindHighLandRatioResponseData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindHighLandRatioResponse) RawJSON ¶ added in v0.2.0
func (r V1DealFindHighLandRatioResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindHighLandRatioResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindHighLandRatioResponse) UnmarshalJSON(data []byte) error
type V1DealFindHighLandRatioResponseData ¶ added in v0.2.0
type V1DealFindHighLandRatioResponseData struct {
Address string `json:"address" api:"nullable"`
City string `json:"city" api:"nullable"`
CountyFips string `json:"county_fips"`
ImprovementAssessedValue float64 `json:"improvement_assessed_value" api:"nullable"`
LandAssessedValue float64 `json:"land_assessed_value" api:"nullable"`
// land / improvement, higher = more redevelopment potential.
LandImprovementRatio float64 `json:"land_improvement_ratio"`
OwnerName string `json:"owner_name" api:"nullable"`
ParcelID string `json:"parcel_id"`
State string `json:"state" api:"nullable"`
StateFips string `json:"state_fips"`
TotalAssessedValue float64 `json:"total_assessed_value" api:"nullable"`
Zoning string `json:"zoning" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Address respjson.Field
City respjson.Field
CountyFips respjson.Field
ImprovementAssessedValue respjson.Field
LandAssessedValue respjson.Field
LandImprovementRatio respjson.Field
OwnerName respjson.Field
ParcelID respjson.Field
State respjson.Field
StateFips respjson.Field
TotalAssessedValue respjson.Field
Zoning respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindHighLandRatioResponseData) RawJSON ¶ added in v0.2.0
func (r V1DealFindHighLandRatioResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindHighLandRatioResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindHighLandRatioResponseData) UnmarshalJSON(data []byte) error
type V1DealFindLongHoldParcelsParams ¶ added in v0.2.0
type V1DealFindLongHoldParcelsParams struct {
// 5-digit county FIPS filter.
CountyFips param.Opt[string] `query:"county_fips,omitzero" json:"-"`
// Page size, max 500.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum assessed value, USD.
MinValue param.Opt[int64] `query:"min_value,omitzero" json:"-"`
// Minimum years held.
MinYears param.Opt[int64] `query:"min_years,omitzero" json:"-"`
// Pagination offset.
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// 2-digit state FIPS filter.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// Filter by hold-period tier.
//
// Any of "10-15yr", "15-20yr", "20-30yr", "30yr+".
HoldTier V1DealFindLongHoldParcelsParamsHoldTier `query:"hold_tier,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealFindLongHoldParcelsParams) URLQuery ¶ added in v0.2.0
func (r V1DealFindLongHoldParcelsParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealFindLongHoldParcelsParams's query parameters as `url.Values`.
type V1DealFindLongHoldParcelsParamsHoldTier ¶ added in v0.2.0
type V1DealFindLongHoldParcelsParamsHoldTier string
Filter by hold-period tier.
const ( V1DealFindLongHoldParcelsParamsHoldTier10_15yr V1DealFindLongHoldParcelsParamsHoldTier = "10-15yr" V1DealFindLongHoldParcelsParamsHoldTier15_20yr V1DealFindLongHoldParcelsParamsHoldTier = "15-20yr" V1DealFindLongHoldParcelsParamsHoldTier20_30yr V1DealFindLongHoldParcelsParamsHoldTier = "20-30yr" V1DealFindLongHoldParcelsParamsHoldTier30yr V1DealFindLongHoldParcelsParamsHoldTier = "30yr+" )
type V1DealFindLongHoldParcelsResponse ¶ added in v0.2.0
type V1DealFindLongHoldParcelsResponse struct {
Data []V1DealFindLongHoldParcelsResponseData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindLongHoldParcelsResponse) RawJSON ¶ added in v0.2.0
func (r V1DealFindLongHoldParcelsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindLongHoldParcelsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindLongHoldParcelsResponse) UnmarshalJSON(data []byte) error
type V1DealFindLongHoldParcelsResponseData ¶ added in v0.2.0
type V1DealFindLongHoldParcelsResponseData struct {
Address string `json:"address" api:"nullable"`
City string `json:"city" api:"nullable"`
CountyFips string `json:"county_fips"`
// Any of "10-15yr", "15-20yr", "20-30yr", "30yr+".
HoldTier string `json:"hold_tier"`
LastSaleDate time.Time `json:"last_sale_date" format:"date"`
OwnerName string `json:"owner_name" api:"nullable"`
ParcelID string `json:"parcel_id"`
State string `json:"state" api:"nullable"`
StateFips string `json:"state_fips"`
TotalAssessedValue float64 `json:"total_assessed_value" api:"nullable"`
YearsHeld float64 `json:"years_held"`
Zip string `json:"zip" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Address respjson.Field
City respjson.Field
CountyFips respjson.Field
HoldTier respjson.Field
LastSaleDate respjson.Field
OwnerName respjson.Field
ParcelID respjson.Field
State respjson.Field
StateFips respjson.Field
TotalAssessedValue respjson.Field
YearsHeld respjson.Field
Zip respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindLongHoldParcelsResponseData) RawJSON ¶ added in v0.2.0
func (r V1DealFindLongHoldParcelsResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindLongHoldParcelsResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindLongHoldParcelsResponseData) UnmarshalJSON(data []byte) error
type V1DealFindPortfolioOwnersParams ¶ added in v0.2.0
type V1DealFindPortfolioOwnersParams struct {
// Page size, max 500.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum properties owned.
MinProperties param.Opt[int64] `query:"min_properties,omitzero" json:"-"`
// Minimum total portfolio assessed value, USD.
MinValue param.Opt[int64] `query:"min_value,omitzero" json:"-"`
// Pagination offset.
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// Owner name substring search.
Search param.Opt[string] `query:"search,omitzero" json:"-"`
// 2-letter owner mailing state filter.
State param.Opt[string] `query:"state,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealFindPortfolioOwnersParams) URLQuery ¶ added in v0.2.0
func (r V1DealFindPortfolioOwnersParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealFindPortfolioOwnersParams's query parameters as `url.Values`.
type V1DealFindPortfolioOwnersResponse ¶ added in v0.2.0
type V1DealFindPortfolioOwnersResponse struct {
Data []V1DealFindPortfolioOwnersResponseData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindPortfolioOwnersResponse) RawJSON ¶ added in v0.2.0
func (r V1DealFindPortfolioOwnersResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindPortfolioOwnersResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindPortfolioOwnersResponse) UnmarshalJSON(data []byte) error
type V1DealFindPortfolioOwnersResponseData ¶ added in v0.2.0
type V1DealFindPortfolioOwnersResponseData struct {
AvgAssessedValue float64 `json:"avg_assessed_value" api:"nullable"`
CountyCount int64 `json:"county_count"`
OwnerNameNormalized string `json:"owner_name_normalized"`
OwnerState string `json:"owner_state" api:"nullable"`
// National rank, 1 = largest portfolio.
PortfolioRank int64 `json:"portfolio_rank"`
PropertyCount int64 `json:"property_count"`
StateCount int64 `json:"state_count"`
StatesList string `json:"states_list" api:"nullable"`
TotalAcreage float64 `json:"total_acreage" api:"nullable"`
TotalAssessedValue float64 `json:"total_assessed_value" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgAssessedValue respjson.Field
CountyCount respjson.Field
OwnerNameNormalized respjson.Field
OwnerState respjson.Field
PortfolioRank respjson.Field
PropertyCount respjson.Field
StateCount respjson.Field
StatesList respjson.Field
TotalAcreage respjson.Field
TotalAssessedValue respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealFindPortfolioOwnersResponseData) RawJSON ¶ added in v0.2.0
func (r V1DealFindPortfolioOwnersResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealFindPortfolioOwnersResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealFindPortfolioOwnersResponseData) UnmarshalJSON(data []byte) error
type V1DealGetMarketSummaryParams ¶ added in v0.2.0
type V1DealGetMarketSummaryParams struct {
// 5-digit county FIPS filter.
CountyFips param.Opt[string] `query:"county_fips,omitzero" json:"-"`
// Page size, max 500.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Pagination offset.
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// 2-digit state FIPS filter.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// Year filter.
Year param.Opt[string] `query:"year,omitzero" json:"-"`
// Affordability-rating filter (only meaningful with view=affordability).
//
// Any of "AFFORDABLE", "MODERATE", "EXPENSIVE", "VERY_EXPENSIVE".
Rating V1DealGetMarketSummaryParamsRating `query:"rating,omitzero" json:"-"`
// Switch to the affordability-index dataset.
//
// Any of "affordability".
View V1DealGetMarketSummaryParamsView `query:"view,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealGetMarketSummaryParams) URLQuery ¶ added in v0.2.0
func (r V1DealGetMarketSummaryParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealGetMarketSummaryParams's query parameters as `url.Values`.
type V1DealGetMarketSummaryParamsRating ¶ added in v0.2.0
type V1DealGetMarketSummaryParamsRating string
Affordability-rating filter (only meaningful with view=affordability).
const ( V1DealGetMarketSummaryParamsRatingAffordable V1DealGetMarketSummaryParamsRating = "AFFORDABLE" V1DealGetMarketSummaryParamsRatingModerate V1DealGetMarketSummaryParamsRating = "MODERATE" V1DealGetMarketSummaryParamsRatingExpensive V1DealGetMarketSummaryParamsRating = "EXPENSIVE" V1DealGetMarketSummaryParamsRatingVeryExpensive V1DealGetMarketSummaryParamsRating = "VERY_EXPENSIVE" )
type V1DealGetMarketSummaryParamsView ¶ added in v0.2.0
type V1DealGetMarketSummaryParamsView string
Switch to the affordability-index dataset.
const (
V1DealGetMarketSummaryParamsViewAffordability V1DealGetMarketSummaryParamsView = "affordability"
)
type V1DealGetMarketSummaryResponseObject ¶ added in v0.2.0
type V1DealGetMarketSummaryResponseObject struct {
Data []V1DealGetMarketSummaryResponseObjectData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealGetMarketSummaryResponseObject) RawJSON ¶ added in v0.2.0
func (r V1DealGetMarketSummaryResponseObject) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealGetMarketSummaryResponseObject) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealGetMarketSummaryResponseObject) UnmarshalJSON(data []byte) error
type V1DealGetMarketSummaryResponseObject2 ¶ added in v0.2.0
type V1DealGetMarketSummaryResponseObject2 struct {
Data []AffordabilityRow `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealGetMarketSummaryResponseObject2) RawJSON ¶ added in v0.2.0
func (r V1DealGetMarketSummaryResponseObject2) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealGetMarketSummaryResponseObject2) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealGetMarketSummaryResponseObject2) UnmarshalJSON(data []byte) error
type V1DealGetMarketSummaryResponseObjectData ¶ added in v0.2.0
type V1DealGetMarketSummaryResponseObjectData struct {
AvgSalePrice float64 `json:"avg_sale_price" api:"nullable"`
CountyFips string `json:"county_fips"`
CountyName string `json:"county_name" api:"nullable"`
MedianSalePrice float64 `json:"median_sale_price" api:"nullable"`
SaleCount int64 `json:"sale_count"`
StateFips string `json:"state_fips"`
Year int64 `json:"year"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgSalePrice respjson.Field
CountyFips respjson.Field
CountyName respjson.Field
MedianSalePrice respjson.Field
SaleCount respjson.Field
StateFips respjson.Field
Year respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealGetMarketSummaryResponseObjectData) RawJSON ¶ added in v0.2.0
func (r V1DealGetMarketSummaryResponseObjectData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealGetMarketSummaryResponseObjectData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealGetMarketSummaryResponseObjectData) UnmarshalJSON(data []byte) error
type V1DealGetMarketSummaryResponseUnion ¶ added in v0.2.0
type V1DealGetMarketSummaryResponseUnion struct {
// This field is a union of [[]V1DealGetMarketSummaryResponseObjectData],
// [[]AffordabilityRow]
Data V1DealGetMarketSummaryResponseUnionData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
V1DealGetMarketSummaryResponseUnion contains all possible properties and values from V1DealGetMarketSummaryResponseObject, V1DealGetMarketSummaryResponseObject2.
Use the methods beginning with 'As' to cast the union to one of its variants.
func (V1DealGetMarketSummaryResponseUnion) AsV1DealGetMarketSummaryResponseObject ¶ added in v0.2.0
func (u V1DealGetMarketSummaryResponseUnion) AsV1DealGetMarketSummaryResponseObject() (v V1DealGetMarketSummaryResponseObject)
func (V1DealGetMarketSummaryResponseUnion) AsV1DealGetMarketSummaryResponseObject2 ¶ added in v0.2.0
func (u V1DealGetMarketSummaryResponseUnion) AsV1DealGetMarketSummaryResponseObject2() (v V1DealGetMarketSummaryResponseObject2)
func (V1DealGetMarketSummaryResponseUnion) RawJSON ¶ added in v0.2.0
func (u V1DealGetMarketSummaryResponseUnion) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealGetMarketSummaryResponseUnion) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealGetMarketSummaryResponseUnion) UnmarshalJSON(data []byte) error
type V1DealGetMarketSummaryResponseUnionData ¶ added in v0.2.0
type V1DealGetMarketSummaryResponseUnionData struct {
// This field will be present if the value is a
// [[]V1DealGetMarketSummaryResponseObjectData] instead of an object.
OfV1DealGetMarketSummaryResponseObjectData []V1DealGetMarketSummaryResponseObjectData `json:",inline"`
// This field will be present if the value is a [[]AffordabilityRow] instead of an
// object.
OfAffordabilityRowArray []AffordabilityRow `json:",inline"`
JSON struct {
OfV1DealGetMarketSummaryResponseObjectData respjson.Field
OfAffordabilityRowArray respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
V1DealGetMarketSummaryResponseUnionData is an implicit subunion of V1DealGetMarketSummaryResponseUnion. V1DealGetMarketSummaryResponseUnionData provides convenient access to the sub-properties of the union.
For type safety it is recommended to directly use a variant of the V1DealGetMarketSummaryResponseUnion.
If the underlying value is not a json object, one of the following properties will be valid: OfV1DealGetMarketSummaryResponseObjectData OfAffordabilityRowArray]
func (*V1DealGetMarketSummaryResponseUnionData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealGetMarketSummaryResponseUnionData) UnmarshalJSON(data []byte) error
type V1DealSearchContractorsParams ¶ added in v0.2.0
type V1DealSearchContractorsParams struct {
// Page size, max 500.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum permit count to include.
MinPermits param.Opt[int64] `query:"min_permits,omitzero" json:"-"`
// Minimum total declared permit value, USD.
MinValue param.Opt[int64] `query:"min_value,omitzero" json:"-"`
// Pagination offset.
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// Contractor name search (case-insensitive substring).
Search param.Opt[string] `query:"search,omitzero" json:"-"`
// 2-letter state filter.
State param.Opt[string] `query:"state,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealSearchContractorsParams) URLQuery ¶ added in v0.2.0
func (r V1DealSearchContractorsParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealSearchContractorsParams's query parameters as `url.Values`.
type V1DealSearchContractorsResponse ¶ added in v0.2.0
type V1DealSearchContractorsResponse struct {
Data []V1DealSearchContractorsResponseData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealSearchContractorsResponse) RawJSON ¶ added in v0.2.0
func (r V1DealSearchContractorsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealSearchContractorsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealSearchContractorsResponse) UnmarshalJSON(data []byte) error
type V1DealSearchContractorsResponseData ¶ added in v0.2.0
type V1DealSearchContractorsResponseData struct {
ActiveYears float64 `json:"active_years" api:"nullable"`
AvgPermitValue float64 `json:"avg_permit_value"`
ContractorLicense string `json:"contractor_license" api:"nullable"`
ContractorNameNormalized string `json:"contractor_name_normalized"`
// National rank, 1 = highest activity.
ContractorRank int64 `json:"contractor_rank"`
CountyCount int64 `json:"county_count"`
FirstPermitDate time.Time `json:"first_permit_date" format:"date"`
JurisdictionCount int64 `json:"jurisdiction_count"`
LastPermitDate time.Time `json:"last_permit_date" format:"date"`
PermitCount int64 `json:"permit_count"`
StateCount int64 `json:"state_count"`
// Comma-delimited 2-letter state codes.
StatesList string `json:"states_list" api:"nullable"`
TopPermitTypes []string `json:"top_permit_types"`
TotalPermitValue float64 `json:"total_permit_value"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ActiveYears respjson.Field
AvgPermitValue respjson.Field
ContractorLicense respjson.Field
ContractorNameNormalized respjson.Field
ContractorRank respjson.Field
CountyCount respjson.Field
FirstPermitDate respjson.Field
JurisdictionCount respjson.Field
LastPermitDate respjson.Field
PermitCount respjson.Field
StateCount respjson.Field
StatesList respjson.Field
TopPermitTypes respjson.Field
TotalPermitValue respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealSearchContractorsResponseData) RawJSON ¶ added in v0.2.0
func (r V1DealSearchContractorsResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealSearchContractorsResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealSearchContractorsResponseData) UnmarshalJSON(data []byte) error
type V1DealSearchLendersParams ¶ added in v0.2.0
type V1DealSearchLendersParams struct {
// Page size, max 500.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum mortgage count.
MinMortgages param.Opt[int64] `query:"min_mortgages,omitzero" json:"-"`
// Pagination offset.
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// Lender name substring search.
Search param.Opt[string] `query:"search,omitzero" json:"-"`
// 2-letter state filter.
State param.Opt[string] `query:"state,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1DealSearchLendersParams) URLQuery ¶ added in v0.2.0
func (r V1DealSearchLendersParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1DealSearchLendersParams's query parameters as `url.Values`.
type V1DealSearchLendersResponse ¶ added in v0.2.0
type V1DealSearchLendersResponse struct {
Data []V1DealSearchLendersResponseData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealSearchLendersResponse) RawJSON ¶ added in v0.2.0
func (r V1DealSearchLendersResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealSearchLendersResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealSearchLendersResponse) UnmarshalJSON(data []byte) error
type V1DealSearchLendersResponseData ¶ added in v0.2.0
type V1DealSearchLendersResponseData struct {
AvgMortgageAmount float64 `json:"avg_mortgage_amount" api:"nullable"`
CountyCount int64 `json:"county_count"`
FirstMortgageDate time.Time `json:"first_mortgage_date" format:"date"`
LastMortgageDate time.Time `json:"last_mortgage_date" format:"date"`
LenderNameNormalized string `json:"lender_name_normalized"`
// National rank, 1 = highest volume.
LenderRank int64 `json:"lender_rank"`
MedianMortgageAmount float64 `json:"median_mortgage_amount" api:"nullable"`
MortgageCount int64 `json:"mortgage_count"`
StateCount int64 `json:"state_count"`
StatesList string `json:"states_list" api:"nullable"`
TotalMortgageVolume float64 `json:"total_mortgage_volume" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgMortgageAmount respjson.Field
CountyCount respjson.Field
FirstMortgageDate respjson.Field
LastMortgageDate respjson.Field
LenderNameNormalized respjson.Field
LenderRank respjson.Field
MedianMortgageAmount respjson.Field
MortgageCount respjson.Field
StateCount respjson.Field
StatesList respjson.Field
TotalMortgageVolume respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1DealSearchLendersResponseData) RawJSON ¶ added in v0.2.0
func (r V1DealSearchLendersResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1DealSearchLendersResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1DealSearchLendersResponseData) UnmarshalJSON(data []byte) error
type V1DealService ¶ added in v0.2.0
type V1DealService struct {
// contains filtered or unexported fields
}
Deal sourcing: absentee owners, property flips.
V1DealService contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1DealService method instead.
func NewV1DealService ¶ added in v0.2.0
func NewV1DealService(opts ...option.RequestOption) (r V1DealService)
NewV1DealService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1DealService) FindAbsenteeOwners ¶ added in v0.2.0
func (r *V1DealService) FindAbsenteeOwners(ctx context.Context, query V1DealFindAbsenteeOwnersParams, opts ...option.RequestOption) (res *V1DealFindAbsenteeOwnersResponse, err error)
Retrieve parcels owned by absentee owners, useful for off-market deal sourcing.
func (*V1DealService) FindEntityOwnedParcels ¶ added in v0.2.0
func (r *V1DealService) FindEntityOwnedParcels(ctx context.Context, query V1DealFindEntityOwnedParcelsParams, opts ...option.RequestOption) (res *V1DealFindEntityOwnedParcelsResponseUnion, err error)
Returns parcels owned by legal entities identified from owner-name pattern matching across 221M+ parcels. Pass `top=true` to get aggregated entity rankings instead of per-parcel rows. One of `county_fips`, `state_fips`, `search`, or `top` is required.
func (*V1DealService) FindFlips ¶ added in v0.2.0
func (r *V1DealService) FindFlips(ctx context.Context, query V1DealFindFlipsParams, opts ...option.RequestOption) (res *V1DealFindFlipsResponse, err error)
Retrieve recently flipped properties. Use ?view=flippers to get a ranked list of top flippers instead.
func (*V1DealService) FindHighLandRatio ¶ added in v0.2.0
func (r *V1DealService) FindHighLandRatio(ctx context.Context, query V1DealFindHighLandRatioParams, opts ...option.RequestOption) (res *V1DealFindHighLandRatioResponse, err error)
Returns parcels where land value significantly exceeds improvement value — a signal for redevelopment, teardown, or assemblage opportunities. `county_fips` or `state_fips` is required.
func (*V1DealService) FindLongHoldParcels ¶ added in v0.2.0
func (r *V1DealService) FindLongHoldParcels(ctx context.Context, query V1DealFindLongHoldParcelsParams, opts ...option.RequestOption) (res *V1DealFindLongHoldParcelsResponse, err error)
Returns parcels not sold in `min_years` or more. Long-hold owners are often motivated sellers — estate planning, deferred maintenance, life changes. `county_fips` or `state_fips` is required.
func (*V1DealService) FindPortfolioOwners ¶ added in v0.2.0
func (r *V1DealService) FindPortfolioOwners(ctx context.Context, query V1DealFindPortfolioOwnersParams, opts ...option.RequestOption) (res *V1DealFindPortfolioOwnersResponse, err error)
Returns portfolio owners ranked by property count and total assessed value. Useful for finding institutional buyers, small landlords, or specific investor families.
func (*V1DealService) GetMarketSummary ¶ added in v0.2.0
func (r *V1DealService) GetMarketSummary(ctx context.Context, query V1DealGetMarketSummaryParams, opts ...option.RequestOption) (res *V1DealGetMarketSummaryResponseUnion, err error)
Default: returns county/quarter transaction summaries. Pass `view=affordability` to retrieve the home-affordability index instead (price-to-income ratios + rating).
func (*V1DealService) SearchContractors ¶ added in v0.2.0
func (r *V1DealService) SearchContractors(ctx context.Context, query V1DealSearchContractorsParams, opts ...option.RequestOption) (res *V1DealSearchContractorsResponse, err error)
Returns contractor profiles aggregated from 45M+ building permits. Each profile includes permit count, jurisdictions worked, total declared permit value, and activity dates. Use to identify active contractors in a market or find a specific contractor by name.
func (*V1DealService) SearchLenders ¶ added in v0.2.0
func (r *V1DealService) SearchLenders(ctx context.Context, query V1DealSearchLendersParams, opts ...option.RequestOption) (res *V1DealSearchLendersResponse, err error)
Returns lender profiles aggregated from deed/mortgage transactions. Includes mortgage count, total volume, geographic spread, and a national rank.
type V1GetCoverageParams ¶ added in v0.2.0
type V1GetCoverageParams struct {
// State FIPS code or abbreviation to filter coverage to a specific state and
// return county-level breakdown.
State param.Opt[string] `query:"state,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1GetCoverageParams) URLQuery ¶ added in v0.2.0
func (r V1GetCoverageParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1GetCoverageParams's query parameters as `url.Values`.
type V1GetCoverageResponse ¶ added in v0.2.0
type V1GetCoverageResponse struct {
Data []V1GetCoverageResponseData `json:"data"`
StatesCovered int64 `json:"states_covered"`
TotalParcels int64 `json:"total_parcels"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
StatesCovered respjson.Field
TotalParcels respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1GetCoverageResponse) RawJSON ¶ added in v0.2.0
func (r V1GetCoverageResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1GetCoverageResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1GetCoverageResponse) UnmarshalJSON(data []byte) error
type V1GetCoverageResponseData ¶ added in v0.2.0
type V1GetCoverageResponseData struct {
CountyFips string `json:"county_fips" api:"nullable"`
CountyName string `json:"county_name" api:"nullable"`
GeocodedPct float64 `json:"geocoded_pct"`
OwnerPct float64 `json:"owner_pct"`
ParcelCount int64 `json:"parcel_count"`
StateFips string `json:"state_fips"`
StateName string `json:"state_name"`
ValuePct float64 `json:"value_pct"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
CountyFips respjson.Field
CountyName respjson.Field
GeocodedPct respjson.Field
OwnerPct respjson.Field
ParcelCount respjson.Field
StateFips respjson.Field
StateName respjson.Field
ValuePct respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1GetCoverageResponseData) RawJSON ¶ added in v0.2.0
func (r V1GetCoverageResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1GetCoverageResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1GetCoverageResponseData) UnmarshalJSON(data []byte) error
type V1MarketCountyGetDetailResponse ¶ added in v0.2.0
type V1MarketCountyGetDetailResponse struct {
Affordability []AffordabilityRow `json:"affordability"`
FlipSummary V1MarketCountyGetDetailResponseFlipSummary `json:"flip_summary"`
MarketStats []V1MarketCountyGetDetailResponseMarketStat `json:"market_stats"`
ParcelSummary V1MarketCountyGetDetailResponseParcelSummary `json:"parcel_summary"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Affordability respjson.Field
FlipSummary respjson.Field
MarketStats respjson.Field
ParcelSummary respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketCountyGetDetailResponse) RawJSON ¶ added in v0.2.0
func (r V1MarketCountyGetDetailResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketCountyGetDetailResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketCountyGetDetailResponse) UnmarshalJSON(data []byte) error
type V1MarketCountyGetDetailResponseFlipSummary ¶ added in v0.2.0
type V1MarketCountyGetDetailResponseFlipSummary struct {
AvgHoldDays float64 `json:"avg_hold_days" api:"nullable"`
AvgRoi float64 `json:"avg_roi" api:"nullable"`
FlipCount int64 `json:"flip_count"`
TotalProfit float64 `json:"total_profit" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgHoldDays respjson.Field
AvgRoi respjson.Field
FlipCount respjson.Field
TotalProfit respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketCountyGetDetailResponseFlipSummary) RawJSON ¶ added in v0.2.0
func (r V1MarketCountyGetDetailResponseFlipSummary) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketCountyGetDetailResponseFlipSummary) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketCountyGetDetailResponseFlipSummary) UnmarshalJSON(data []byte) error
type V1MarketCountyGetDetailResponseMarketStat ¶ added in v0.2.0
type V1MarketCountyGetDetailResponseMarketStat struct {
// Average days on market.
AvgDom float64 `json:"avg_dom" api:"nullable"`
AvgSalePrice float64 `json:"avg_sale_price" api:"nullable"`
CountyFips string `json:"county_fips"`
MedianSalePrice float64 `json:"median_sale_price" api:"nullable"`
PriceYoyPct float64 `json:"price_yoy_pct" api:"nullable"`
Quarter string `json:"quarter"`
SaleCount int64 `json:"sale_count"`
StateFips string `json:"state_fips"`
TotalVolume float64 `json:"total_volume" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgDom respjson.Field
AvgSalePrice respjson.Field
CountyFips respjson.Field
MedianSalePrice respjson.Field
PriceYoyPct respjson.Field
Quarter respjson.Field
SaleCount respjson.Field
StateFips respjson.Field
TotalVolume respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketCountyGetDetailResponseMarketStat) RawJSON ¶ added in v0.2.0
func (r V1MarketCountyGetDetailResponseMarketStat) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketCountyGetDetailResponseMarketStat) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketCountyGetDetailResponseMarketStat) UnmarshalJSON(data []byte) error
type V1MarketCountyGetDetailResponseParcelSummary ¶ added in v0.2.0
type V1MarketCountyGetDetailResponseParcelSummary struct {
AvgAssessedValue float64 `json:"avg_assessed_value" api:"nullable"`
ParcelCount int64 `json:"parcel_count"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgAssessedValue respjson.Field
ParcelCount respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketCountyGetDetailResponseParcelSummary) RawJSON ¶ added in v0.2.0
func (r V1MarketCountyGetDetailResponseParcelSummary) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketCountyGetDetailResponseParcelSummary) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketCountyGetDetailResponseParcelSummary) UnmarshalJSON(data []byte) error
type V1MarketCountyGetStatisticsParams ¶ added in v0.2.0
type V1MarketCountyGetStatisticsParams struct {
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum number of sales in the period to include a county.
MinSales param.Opt[int64] `query:"min_sales,omitzero" json:"-"`
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// Specific quarter to retrieve (e.g., 2025Q4). Defaults to latest available.
Quarter param.Opt[string] `query:"quarter,omitzero" json:"-"`
// Filter by state FIPS code.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// Any of "asc", "desc".
Order V1MarketCountyGetStatisticsParamsOrder `query:"order,omitzero" json:"-"`
// Sort field.
//
// Any of "sale_count", "median_price", "yoy_change", "county_name".
Sort V1MarketCountyGetStatisticsParamsSort `query:"sort,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1MarketCountyGetStatisticsParams) URLQuery ¶ added in v0.2.0
func (r V1MarketCountyGetStatisticsParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1MarketCountyGetStatisticsParams's query parameters as `url.Values`.
type V1MarketCountyGetStatisticsParamsOrder ¶ added in v0.2.0
type V1MarketCountyGetStatisticsParamsOrder string
const ( V1MarketCountyGetStatisticsParamsOrderAsc V1MarketCountyGetStatisticsParamsOrder = "asc" V1MarketCountyGetStatisticsParamsOrderDesc V1MarketCountyGetStatisticsParamsOrder = "desc" )
type V1MarketCountyGetStatisticsParamsSort ¶ added in v0.2.0
type V1MarketCountyGetStatisticsParamsSort string
Sort field.
const ( V1MarketCountyGetStatisticsParamsSortSaleCount V1MarketCountyGetStatisticsParamsSort = "sale_count" V1MarketCountyGetStatisticsParamsSortMedianPrice V1MarketCountyGetStatisticsParamsSort = "median_price" V1MarketCountyGetStatisticsParamsSortYoyChange V1MarketCountyGetStatisticsParamsSort = "yoy_change" V1MarketCountyGetStatisticsParamsSortCountyName V1MarketCountyGetStatisticsParamsSort = "county_name" )
type V1MarketCountyGetStatisticsResponse ¶ added in v0.2.0
type V1MarketCountyGetStatisticsResponse struct {
Data []V1MarketCountyGetStatisticsResponseData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketCountyGetStatisticsResponse) RawJSON ¶ added in v0.2.0
func (r V1MarketCountyGetStatisticsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketCountyGetStatisticsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketCountyGetStatisticsResponse) UnmarshalJSON(data []byte) error
type V1MarketCountyGetStatisticsResponseData ¶ added in v0.2.0
type V1MarketCountyGetStatisticsResponseData struct {
AvgDaysOnMarket int64 `json:"avg_days_on_market"`
AvgPrice float64 `json:"avg_price"`
CountyFips string `json:"county_fips"`
CountyName string `json:"county_name"`
MedianPrice float64 `json:"median_price"`
Quarter string `json:"quarter"`
SaleCount int64 `json:"sale_count"`
StateAbbr string `json:"state_abbr"`
StateFips string `json:"state_fips"`
// Year-over-year median price change as a decimal (e.g., 0.05 = 5%).
YoyChange float64 `json:"yoy_change"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgDaysOnMarket respjson.Field
AvgPrice respjson.Field
CountyFips respjson.Field
CountyName respjson.Field
MedianPrice respjson.Field
Quarter respjson.Field
SaleCount respjson.Field
StateAbbr respjson.Field
StateFips respjson.Field
YoyChange respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketCountyGetStatisticsResponseData) RawJSON ¶ added in v0.2.0
func (r V1MarketCountyGetStatisticsResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketCountyGetStatisticsResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketCountyGetStatisticsResponseData) UnmarshalJSON(data []byte) error
type V1MarketCountyService ¶ added in v0.2.0
type V1MarketCountyService struct {
// contains filtered or unexported fields
}
County-level market statistics and trends.
V1MarketCountyService contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1MarketCountyService method instead.
func NewV1MarketCountyService ¶ added in v0.2.0
func NewV1MarketCountyService(opts ...option.RequestOption) (r V1MarketCountyService)
NewV1MarketCountyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1MarketCountyService) GetDetail ¶ added in v0.2.0
func (r *V1MarketCountyService) GetDetail(ctx context.Context, fips string, opts ...option.RequestOption) (res *V1MarketCountyGetDetailResponse, err error)
Returns the full county profile: quarterly market stats (sale count, median price, YoY change, days on market), affordability index by year, parcel summary (count, avg assessed value), and flip activity. Use for county-detail dashboards.
func (*V1MarketCountyService) GetStatistics ¶ added in v0.2.0
func (r *V1MarketCountyService) GetStatistics(ctx context.Context, query V1MarketCountyGetStatisticsParams, opts ...option.RequestOption) (res *V1MarketCountyGetStatisticsResponse, err error)
Retrieve real estate market statistics aggregated at the county level, including sale counts, median prices, and year-over-year changes.
type V1MarketGetFlipActivityParams ¶ added in v0.2.0
type V1MarketGetFlipActivityParams struct {
// Page size, max 500.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Pagination offset.
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// 2-digit state FIPS filter.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1MarketGetFlipActivityParams) URLQuery ¶ added in v0.2.0
func (r V1MarketGetFlipActivityParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1MarketGetFlipActivityParams's query parameters as `url.Values`.
type V1MarketGetFlipActivityResponse ¶ added in v0.2.0
type V1MarketGetFlipActivityResponse struct {
Data []V1MarketGetFlipActivityResponseData `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketGetFlipActivityResponse) RawJSON ¶ added in v0.2.0
func (r V1MarketGetFlipActivityResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketGetFlipActivityResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketGetFlipActivityResponse) UnmarshalJSON(data []byte) error
type V1MarketGetFlipActivityResponseData ¶ added in v0.2.0
type V1MarketGetFlipActivityResponseData struct {
AvgHoldDays float64 `json:"avg_hold_days" api:"nullable"`
// Average profit percentage (e.g. 0.18 = 18%).
AvgRoi float64 `json:"avg_roi" api:"nullable"`
CountyFips string `json:"county_fips"`
FlipCount int64 `json:"flip_count"`
TotalProfit float64 `json:"total_profit" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgHoldDays respjson.Field
AvgRoi respjson.Field
CountyFips respjson.Field
FlipCount respjson.Field
TotalProfit respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketGetFlipActivityResponseData) RawJSON ¶ added in v0.2.0
func (r V1MarketGetFlipActivityResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketGetFlipActivityResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketGetFlipActivityResponseData) UnmarshalJSON(data []byte) error
type V1MarketGetTrendsParams ¶ added in v0.2.0
type V1MarketGetTrendsParams struct {
// Comma-separated list of county FIPS codes.
CountyFips param.Opt[string] `query:"county_fips,omitzero" json:"-"`
// State FIPS code. Used if county_fips is not provided.
StateFips param.Opt[string] `query:"state_fips,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1MarketGetTrendsParams) URLQuery ¶ added in v0.2.0
func (r V1MarketGetTrendsParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1MarketGetTrendsParams's query parameters as `url.Values`.
type V1MarketGetTrendsResponse ¶ added in v0.2.0
type V1MarketGetTrendsResponse struct {
Data []V1MarketGetTrendsResponseData `json:"data"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketGetTrendsResponse) RawJSON ¶ added in v0.2.0
func (r V1MarketGetTrendsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketGetTrendsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketGetTrendsResponse) UnmarshalJSON(data []byte) error
type V1MarketGetTrendsResponseData ¶ added in v0.2.0
type V1MarketGetTrendsResponseData struct {
CountyFips string `json:"county_fips"`
CountyName string `json:"county_name"`
Quarters []V1MarketGetTrendsResponseDataQuarter `json:"quarters"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
CountyFips respjson.Field
CountyName respjson.Field
Quarters respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketGetTrendsResponseData) RawJSON ¶ added in v0.2.0
func (r V1MarketGetTrendsResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketGetTrendsResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketGetTrendsResponseData) UnmarshalJSON(data []byte) error
type V1MarketGetTrendsResponseDataQuarter ¶ added in v0.2.0
type V1MarketGetTrendsResponseDataQuarter struct {
AvgPrice float64 `json:"avg_price"`
MedianPrice float64 `json:"median_price"`
Quarter string `json:"quarter"`
SaleCount int64 `json:"sale_count"`
YoyChange float64 `json:"yoy_change"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgPrice respjson.Field
MedianPrice respjson.Field
Quarter respjson.Field
SaleCount respjson.Field
YoyChange respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1MarketGetTrendsResponseDataQuarter) RawJSON ¶ added in v0.2.0
func (r V1MarketGetTrendsResponseDataQuarter) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1MarketGetTrendsResponseDataQuarter) UnmarshalJSON ¶ added in v0.2.0
func (r *V1MarketGetTrendsResponseDataQuarter) UnmarshalJSON(data []byte) error
type V1MarketService ¶ added in v0.2.0
type V1MarketService struct {
// County-level market statistics and trends.
Counties V1MarketCountyService
// contains filtered or unexported fields
}
County-level market statistics and trends.
V1MarketService contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1MarketService method instead.
func NewV1MarketService ¶ added in v0.2.0
func NewV1MarketService(opts ...option.RequestOption) (r V1MarketService)
NewV1MarketService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1MarketService) GetFlipActivity ¶ added in v0.2.0
func (r *V1MarketService) GetFlipActivity(ctx context.Context, query V1MarketGetFlipActivityParams, opts ...option.RequestOption) (res *V1MarketGetFlipActivityResponse, err error)
Aggregated flip activity per county: count, average ROI, average hold days, total profit. Use for surfacing the hottest flip markets. Differs from /api/v1/deals/flips which returns the underlying transactions.
func (*V1MarketService) GetTrends ¶ added in v0.2.0
func (r *V1MarketService) GetTrends(ctx context.Context, query V1MarketGetTrendsParams, opts ...option.RequestOption) (res *V1MarketGetTrendsResponse, err error)
Retrieve quarterly time series of market metrics for one or more counties or a state.
type V1OwnerGetPortfolioSummaryResponse ¶ added in v0.2.0
type V1OwnerGetPortfolioSummaryResponse struct {
// Any of "individual", "corporation", "llc", "trust", "government", "other".
EntityType V1OwnerGetPortfolioSummaryResponseEntityType `json:"entity_type"`
OwnerName string `json:"owner_name"`
Properties []Parcel `json:"properties"`
Summary V1OwnerGetPortfolioSummaryResponseSummary `json:"summary"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
EntityType respjson.Field
OwnerName respjson.Field
Properties respjson.Field
Summary respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1OwnerGetPortfolioSummaryResponse) RawJSON ¶ added in v0.2.0
func (r V1OwnerGetPortfolioSummaryResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1OwnerGetPortfolioSummaryResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1OwnerGetPortfolioSummaryResponse) UnmarshalJSON(data []byte) error
type V1OwnerGetPortfolioSummaryResponseEntityType ¶ added in v0.2.0
type V1OwnerGetPortfolioSummaryResponseEntityType string
const ( V1OwnerGetPortfolioSummaryResponseEntityTypeIndividual V1OwnerGetPortfolioSummaryResponseEntityType = "individual" V1OwnerGetPortfolioSummaryResponseEntityTypeCorporation V1OwnerGetPortfolioSummaryResponseEntityType = "corporation" V1OwnerGetPortfolioSummaryResponseEntityTypeLlc V1OwnerGetPortfolioSummaryResponseEntityType = "llc" V1OwnerGetPortfolioSummaryResponseEntityTypeTrust V1OwnerGetPortfolioSummaryResponseEntityType = "trust" V1OwnerGetPortfolioSummaryResponseEntityTypeGovernment V1OwnerGetPortfolioSummaryResponseEntityType = "government" V1OwnerGetPortfolioSummaryResponseEntityTypeOther V1OwnerGetPortfolioSummaryResponseEntityType = "other" )
type V1OwnerGetPortfolioSummaryResponseSummary ¶ added in v0.2.0
type V1OwnerGetPortfolioSummaryResponseSummary struct {
AvgAssessedValue float64 `json:"avg_assessed_value"`
Counties int64 `json:"counties"`
PropertyCount int64 `json:"property_count"`
States []string `json:"states"`
TotalAssessedValue float64 `json:"total_assessed_value"`
ZoningBreakdown map[string]int64 `json:"zoning_breakdown"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvgAssessedValue respjson.Field
Counties respjson.Field
PropertyCount respjson.Field
States respjson.Field
TotalAssessedValue respjson.Field
ZoningBreakdown respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1OwnerGetPortfolioSummaryResponseSummary) RawJSON ¶ added in v0.2.0
func (r V1OwnerGetPortfolioSummaryResponseSummary) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1OwnerGetPortfolioSummaryResponseSummary) UnmarshalJSON ¶ added in v0.2.0
func (r *V1OwnerGetPortfolioSummaryResponseSummary) UnmarshalJSON(data []byte) error
type V1OwnerGetPropertiesParams ¶ added in v0.2.0
type V1OwnerGetPropertiesParams struct {
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1OwnerGetPropertiesParams) URLQuery ¶ added in v0.2.0
func (r V1OwnerGetPropertiesParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1OwnerGetPropertiesParams's query parameters as `url.Values`.
type V1OwnerGetPropertiesResponse ¶ added in v0.2.0
type V1OwnerGetPropertiesResponse struct {
Data []Parcel `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1OwnerGetPropertiesResponse) RawJSON ¶ added in v0.2.0
func (r V1OwnerGetPropertiesResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1OwnerGetPropertiesResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1OwnerGetPropertiesResponse) UnmarshalJSON(data []byte) error
type V1OwnerGetTransactionsResponse ¶ added in v0.2.0
type V1OwnerGetTransactionsResponse struct {
Count int64 `json:"count"`
Data []V1OwnerGetTransactionsResponseData `json:"data"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Count respjson.Field
Data respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1OwnerGetTransactionsResponse) RawJSON ¶ added in v0.2.0
func (r V1OwnerGetTransactionsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1OwnerGetTransactionsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1OwnerGetTransactionsResponse) UnmarshalJSON(data []byte) error
type V1OwnerGetTransactionsResponseData ¶ added in v0.2.0
type V1OwnerGetTransactionsResponseData struct {
DocumentNumber string `json:"document_number"`
// Recorded document type (Warranty Deed, Quit Claim, etc.).
DocumentType string `json:"document_type" api:"nullable"`
GranteeName string `json:"grantee_name" api:"nullable"`
GrantorName string `json:"grantor_name" api:"nullable"`
PropertyAddress string `json:"property_address" api:"nullable"`
RecordingDate time.Time `json:"recording_date" format:"date"`
SaleDate time.Time `json:"sale_date" format:"date"`
// USD. Null when state is non-disclosure.
SalePrice float64 `json:"sale_price" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
DocumentNumber respjson.Field
DocumentType respjson.Field
GranteeName respjson.Field
GrantorName respjson.Field
PropertyAddress respjson.Field
RecordingDate respjson.Field
SaleDate respjson.Field
SalePrice respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1OwnerGetTransactionsResponseData) RawJSON ¶ added in v0.2.0
func (r V1OwnerGetTransactionsResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1OwnerGetTransactionsResponseData) UnmarshalJSON ¶ added in v0.2.0
func (r *V1OwnerGetTransactionsResponseData) UnmarshalJSON(data []byte) error
type V1OwnerSearchOwnersParams ¶ added in v0.2.0
type V1OwnerSearchOwnersParams struct {
// Search query for owner name.
Q string `query:"q" api:"required" json:"-"`
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Minimum number of properties owned.
MinProperties param.Opt[int64] `query:"min_properties,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1OwnerSearchOwnersParams) URLQuery ¶ added in v0.2.0
func (r V1OwnerSearchOwnersParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1OwnerSearchOwnersParams's query parameters as `url.Values`.
type V1OwnerSearchOwnersResponse ¶ added in v0.2.0
type V1OwnerSearchOwnersResponse struct {
Data []Owner `json:"data"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1OwnerSearchOwnersResponse) RawJSON ¶ added in v0.2.0
func (r V1OwnerSearchOwnersResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1OwnerSearchOwnersResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1OwnerSearchOwnersResponse) UnmarshalJSON(data []byte) error
type V1OwnerService ¶ added in v0.2.0
type V1OwnerService struct {
// contains filtered or unexported fields
}
Owner search, profiles, and portfolios.
V1OwnerService contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1OwnerService method instead.
func NewV1OwnerService ¶ added in v0.2.0
func NewV1OwnerService(opts ...option.RequestOption) (r V1OwnerService)
NewV1OwnerService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1OwnerService) GetPortfolioSummary ¶ added in v0.2.0
func (r *V1OwnerService) GetPortfolioSummary(ctx context.Context, name string, opts ...option.RequestOption) (res *V1OwnerGetPortfolioSummaryResponse, err error)
Retrieve an owner's portfolio with aggregated summary statistics and property breakdown.
func (*V1OwnerService) GetProfile ¶ added in v0.2.0
func (r *V1OwnerService) GetProfile(ctx context.Context, name string, opts ...option.RequestOption) (res *Owner, err error)
Retrieve a specific owner profile by name, including property count, total assessed value, entity type, and states.
func (*V1OwnerService) GetProperties ¶ added in v0.2.0
func (r *V1OwnerService) GetProperties(ctx context.Context, name string, query V1OwnerGetPropertiesParams, opts ...option.RequestOption) (res *V1OwnerGetPropertiesResponse, err error)
Retrieve the list of properties owned by a specific owner.
func (*V1OwnerService) GetTransactions ¶ added in v0.2.0
func (r *V1OwnerService) GetTransactions(ctx context.Context, name string, opts ...option.RequestOption) (res *V1OwnerGetTransactionsResponse, err error)
Returns up to 100 most-recent deed events where the named owner is either grantor or grantee. Useful for building an owner's transaction timeline across their portfolio.
func (*V1OwnerService) SearchOwners ¶ added in v0.2.0
func (r *V1OwnerService) SearchOwners(ctx context.Context, query V1OwnerSearchOwnersParams, opts ...option.RequestOption) (res *V1OwnerSearchOwnersResponse, err error)
Search for property owners by name. Returns owner profiles with property counts and portfolio values.
type V1ParcelGetDeedsResponse ¶ added in v0.2.0
type V1ParcelGetDeedsResponse struct {
Data []Deed `json:"data"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetDeedsResponse) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetDeedsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetDeedsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetDeedsResponse) UnmarshalJSON(data []byte) error
type V1ParcelGetGeojsonParams ¶ added in v0.2.0
type V1ParcelGetGeojsonParams struct {
// Bounding box `west,south,east,north`.
Bbox string `query:"bbox" api:"required" json:"-"`
// Map zoom level. Below 14 returns an empty collection.
Zoom int64 `query:"zoom" api:"required" json:"-"`
// contains filtered or unexported fields
}
func (V1ParcelGetGeojsonParams) URLQuery ¶ added in v0.2.0
func (r V1ParcelGetGeojsonParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1ParcelGetGeojsonParams's query parameters as `url.Values`.
type V1ParcelGetGeojsonResponse ¶ added in v0.2.0
type V1ParcelGetGeojsonResponse struct {
Features []V1ParcelGetGeojsonResponseFeature `json:"features"`
// Any of "FeatureCollection".
Type V1ParcelGetGeojsonResponseType `json:"type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Features respjson.Field
Type respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
GeoJSON FeatureCollection of parcel polygons. Each feature's properties carry the basic parcel summary for popup rendering.
func (V1ParcelGetGeojsonResponse) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetGeojsonResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetGeojsonResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetGeojsonResponse) UnmarshalJSON(data []byte) error
type V1ParcelGetGeojsonResponseFeature ¶ added in v0.2.0
type V1ParcelGetGeojsonResponseFeature struct {
Geometry V1ParcelGetGeojsonResponseFeatureGeometry `json:"geometry"`
Properties V1ParcelGetGeojsonResponseFeatureProperties `json:"properties"`
// Any of "Feature".
Type string `json:"type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Geometry respjson.Field
Properties respjson.Field
Type respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetGeojsonResponseFeature) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetGeojsonResponseFeature) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetGeojsonResponseFeature) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetGeojsonResponseFeature) UnmarshalJSON(data []byte) error
type V1ParcelGetGeojsonResponseFeatureGeometry ¶ added in v0.2.0
type V1ParcelGetGeojsonResponseFeatureGeometry struct {
// GeoJSON polygon coordinate rings: outer ring first, then any inner rings.
Coordinates [][][]float64 `json:"coordinates"`
// Any of "Polygon".
Type string `json:"type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Coordinates respjson.Field
Type respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetGeojsonResponseFeatureGeometry) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetGeojsonResponseFeatureGeometry) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetGeojsonResponseFeatureGeometry) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetGeojsonResponseFeatureGeometry) UnmarshalJSON(data []byte) error
type V1ParcelGetGeojsonResponseFeatureProperties ¶ added in v0.2.0
type V1ParcelGetGeojsonResponseFeatureProperties struct {
Address string `json:"address" api:"nullable"`
City string `json:"city" api:"nullable"`
CountyFips string `json:"county_fips"`
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
OwnerName string `json:"owner_name" api:"nullable"`
ParcelID string `json:"parcel_id"`
PropertyType string `json:"property_type" api:"nullable"`
State string `json:"state" api:"nullable"`
TotalAssessedValue float64 `json:"total_assessed_value" api:"nullable"`
YearBuilt int64 `json:"year_built" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Address respjson.Field
City respjson.Field
CountyFips respjson.Field
Latitude respjson.Field
Longitude respjson.Field
OwnerName respjson.Field
ParcelID respjson.Field
PropertyType respjson.Field
State respjson.Field
TotalAssessedValue respjson.Field
YearBuilt respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetGeojsonResponseFeatureProperties) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetGeojsonResponseFeatureProperties) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetGeojsonResponseFeatureProperties) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetGeojsonResponseFeatureProperties) UnmarshalJSON(data []byte) error
type V1ParcelGetGeojsonResponseType ¶ added in v0.2.0
type V1ParcelGetGeojsonResponseType string
const (
V1ParcelGetGeojsonResponseTypeFeatureCollection V1ParcelGetGeojsonResponseType = "FeatureCollection"
)
type V1ParcelGetOwnerResponse ¶ added in v0.2.0
type V1ParcelGetOwnerResponse struct {
// Any of "individual", "corporation", "llc", "trust", "government", "other".
EntityType V1ParcelGetOwnerResponseEntityType `json:"entity_type"`
MailingAddress string `json:"mailing_address"`
OwnerName string `json:"owner_name"`
PortfolioSummary V1ParcelGetOwnerResponsePortfolioSummary `json:"portfolio_summary"`
Properties []Parcel `json:"properties"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
EntityType respjson.Field
MailingAddress respjson.Field
OwnerName respjson.Field
PortfolioSummary respjson.Field
Properties respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetOwnerResponse) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetOwnerResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetOwnerResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetOwnerResponse) UnmarshalJSON(data []byte) error
type V1ParcelGetOwnerResponseEntityType ¶ added in v0.2.0
type V1ParcelGetOwnerResponseEntityType string
const ( V1ParcelGetOwnerResponseEntityTypeIndividual V1ParcelGetOwnerResponseEntityType = "individual" V1ParcelGetOwnerResponseEntityTypeCorporation V1ParcelGetOwnerResponseEntityType = "corporation" V1ParcelGetOwnerResponseEntityTypeLlc V1ParcelGetOwnerResponseEntityType = "llc" V1ParcelGetOwnerResponseEntityTypeTrust V1ParcelGetOwnerResponseEntityType = "trust" V1ParcelGetOwnerResponseEntityTypeGovernment V1ParcelGetOwnerResponseEntityType = "government" V1ParcelGetOwnerResponseEntityTypeOther V1ParcelGetOwnerResponseEntityType = "other" )
type V1ParcelGetOwnerResponsePortfolioSummary ¶ added in v0.2.0
type V1ParcelGetOwnerResponsePortfolioSummary struct {
PropertyCount int64 `json:"property_count"`
States []string `json:"states"`
TotalAssessedValue float64 `json:"total_assessed_value"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
PropertyCount respjson.Field
States respjson.Field
TotalAssessedValue respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetOwnerResponsePortfolioSummary) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetOwnerResponsePortfolioSummary) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetOwnerResponsePortfolioSummary) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetOwnerResponsePortfolioSummary) UnmarshalJSON(data []byte) error
type V1ParcelGetPermitsResponse ¶ added in v0.2.0
type V1ParcelGetPermitsResponse struct {
Data []Permit `json:"data"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetPermitsResponse) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetPermitsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetPermitsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetPermitsResponse) UnmarshalJSON(data []byte) error
type V1ParcelGetReportParams ¶ added in v0.2.0
type V1ParcelGetReportParams struct {
// 5-digit county FIPS. Strongly recommended when passing a county-local id.
CountyFips param.Opt[string] `query:"county_fips,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1ParcelGetReportParams) URLQuery ¶ added in v0.2.0
func (r V1ParcelGetReportParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1ParcelGetReportParams's query parameters as `url.Values`.
type V1ParcelGetReportResponse ¶ added in v0.2.0
type V1ParcelGetReportResponse struct {
ComparableSales []V1ParcelGetReportResponseComparableSale `json:"comparable_sales"`
Deeds []Deed `json:"deeds"`
Parcel Parcel `json:"parcel"`
Permits []Permit `json:"permits"`
Risk RiskAssessment `json:"risk"`
UccLiens []V1ParcelGetReportResponseUccLien `json:"ucc_liens"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ComparableSales respjson.Field
Deeds respjson.Field
Parcel respjson.Field
Permits respjson.Field
Risk respjson.Field
UccLiens respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
Comprehensive parcel report — every PropRaven data point joined per parcel. Subsections are populated on a best-effort basis; missing data is omitted rather than nulled.
func (V1ParcelGetReportResponse) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetReportResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetReportResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetReportResponse) UnmarshalJSON(data []byte) error
type V1ParcelGetReportResponseComparableSale ¶ added in v0.2.0
type V1ParcelGetReportResponseComparableSale struct {
CompBaths float64 `json:"comp_baths" api:"nullable"`
CompBeds int64 `json:"comp_beds" api:"nullable"`
CompParcelID string `json:"comp_parcel_id"`
CompSaleDate time.Time `json:"comp_sale_date" format:"date"`
CompSalePrice float64 `json:"comp_sale_price" api:"nullable"`
CompSqft int64 `json:"comp_sqft" api:"nullable"`
DistanceMiles float64 `json:"distance_miles" api:"nullable"`
SimilarityScore float64 `json:"similarity_score"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
CompBaths respjson.Field
CompBeds respjson.Field
CompParcelID respjson.Field
CompSaleDate respjson.Field
CompSalePrice respjson.Field
CompSqft respjson.Field
DistanceMiles respjson.Field
SimilarityScore respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetReportResponseComparableSale) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetReportResponseComparableSale) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetReportResponseComparableSale) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetReportResponseComparableSale) UnmarshalJSON(data []byte) error
type V1ParcelGetReportResponseUccLien ¶ added in v0.2.0
type V1ParcelGetReportResponseUccLien struct {
DebtorName string `json:"debtor_name" api:"nullable"`
FilingDate time.Time `json:"filing_date" format:"date"`
FilingID string `json:"filing_id"`
FilingStatus string `json:"filing_status" api:"nullable"`
LapseDate time.Time `json:"lapse_date" format:"date"`
MatchConfidence float64 `json:"match_confidence"`
MatchMethod string `json:"match_method" api:"nullable"`
SecuredParty string `json:"secured_party" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
DebtorName respjson.Field
FilingDate respjson.Field
FilingID respjson.Field
FilingStatus respjson.Field
LapseDate respjson.Field
MatchConfidence respjson.Field
MatchMethod respjson.Field
SecuredParty respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetReportResponseUccLien) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetReportResponseUccLien) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetReportResponseUccLien) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetReportResponseUccLien) UnmarshalJSON(data []byte) error
type V1ParcelGetTrafficHistoryParams ¶ added in v0.2.0
type V1ParcelGetTrafficHistoryParams struct {
// Latitude.
Lat float64 `query:"lat" api:"required" json:"-"`
// Longitude.
Lng float64 `query:"lng" api:"required" json:"-"`
// contains filtered or unexported fields
}
func (V1ParcelGetTrafficHistoryParams) URLQuery ¶ added in v0.2.0
func (r V1ParcelGetTrafficHistoryParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1ParcelGetTrafficHistoryParams's query parameters as `url.Values`.
type V1ParcelGetTrafficHistoryResponse ¶ added in v0.2.0
type V1ParcelGetTrafficHistoryResponse struct {
// Year-keyed historical counts (newest last).
History []V1ParcelGetTrafficHistoryResponseHistory `json:"history"`
Station V1ParcelGetTrafficHistoryResponseStation `json:"station"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
History respjson.Field
Station respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetTrafficHistoryResponse) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetTrafficHistoryResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetTrafficHistoryResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetTrafficHistoryResponse) UnmarshalJSON(data []byte) error
type V1ParcelGetTrafficHistoryResponseHistory ¶ added in v0.2.0
type V1ParcelGetTrafficHistoryResponseHistory struct {
Aadt int64 `json:"aadt" api:"nullable"`
Year int64 `json:"year"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Aadt respjson.Field
Year respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetTrafficHistoryResponseHistory) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetTrafficHistoryResponseHistory) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetTrafficHistoryResponseHistory) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetTrafficHistoryResponseHistory) UnmarshalJSON(data []byte) error
type V1ParcelGetTrafficHistoryResponseStation ¶ added in v0.2.0
type V1ParcelGetTrafficHistoryResponseStation struct {
ID string `json:"id"`
// Most recent AADT count.
AadtCurrent int64 `json:"aadt_current" api:"nullable"`
AadtYear int64 `json:"aadt_year" api:"nullable"`
Cagr3yr float64 `json:"cagr_3yr" api:"nullable"`
Cagr5yr float64 `json:"cagr_5yr" api:"nullable"`
Cagr7yr float64 `json:"cagr_7yr" api:"nullable"`
FunctionalClass string `json:"functional_class" api:"nullable"`
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
RouteName string `json:"route_name" api:"nullable"`
StationID string `json:"station_id"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
AadtCurrent respjson.Field
AadtYear respjson.Field
Cagr3yr respjson.Field
Cagr5yr respjson.Field
Cagr7yr respjson.Field
FunctionalClass respjson.Field
Latitude respjson.Field
Longitude respjson.Field
RouteName respjson.Field
StationID respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1ParcelGetTrafficHistoryResponseStation) RawJSON ¶ added in v0.2.0
func (r V1ParcelGetTrafficHistoryResponseStation) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1ParcelGetTrafficHistoryResponseStation) UnmarshalJSON ¶ added in v0.2.0
func (r *V1ParcelGetTrafficHistoryResponseStation) UnmarshalJSON(data []byte) error
type V1ParcelService ¶ added in v0.2.0
type V1ParcelService struct {
// contains filtered or unexported fields
}
Parcel lookup, owner details, permits, deeds, and risk data.
V1ParcelService contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1ParcelService method instead.
func NewV1ParcelService ¶ added in v0.2.0
func NewV1ParcelService(opts ...option.RequestOption) (r V1ParcelService)
NewV1ParcelService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1ParcelService) Get ¶ added in v0.2.0
func (r *V1ParcelService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *Parcel, err error)
Retrieve a single parcel by its composite ID (county_fips:parcel_id).
func (*V1ParcelService) GetDeeds ¶ added in v0.2.0
func (r *V1ParcelService) GetDeeds(ctx context.Context, id string, opts ...option.RequestOption) (res *V1ParcelGetDeedsResponse, err error)
Retrieve deed transactions and transfer history for a parcel.
func (*V1ParcelService) GetGeojson ¶ added in v0.2.0
func (r *V1ParcelService) GetGeojson(ctx context.Context, query V1ParcelGetGeojsonParams, opts ...option.RequestOption) (res *V1ParcelGetGeojsonResponse, err error)
Returns parcel polygons inside a bounding box as a GeoJSON FeatureCollection. Only served at zoom ≥ 14 to limit data volume — coarser bbox returns an empty collection. Each feature's properties include parcel_id, county_fips, owner_name, assessed value, and basic attributes for rendering popups.
func (*V1ParcelService) GetOwner ¶ added in v0.2.0
func (r *V1ParcelService) GetOwner(ctx context.Context, id string, opts ...option.RequestOption) (res *V1ParcelGetOwnerResponse, err error)
Retrieve the owner of a parcel along with their portfolio summary and list of properties.
func (*V1ParcelService) GetPermits ¶ added in v0.2.0
func (r *V1ParcelService) GetPermits(ctx context.Context, id string, opts ...option.RequestOption) (res *V1ParcelGetPermitsResponse, err error)
Retrieve building and construction permits associated with a parcel.
func (*V1ParcelService) GetReport ¶ added in v0.2.0
func (r *V1ParcelService) GetReport(ctx context.Context, id string, query V1ParcelGetReportParams, opts ...option.RequestOption) (res *V1ParcelGetReportResponse, err error)
Returns the full canonical parcel record plus every enrichment: UCC liens, comparable sales, owner portfolio context, permits, deeds, hazard composite. This is the single most data-dense endpoint per parcel — designed for due-diligence and underwriting workflows. Heavier than parcels/{id}; cache aggressively when serving UIs.
func (*V1ParcelService) GetRisks ¶ added in v0.2.0
func (r *V1ParcelService) GetRisks(ctx context.Context, id string, opts ...option.RequestOption) (res *RiskAssessment, err error)
Retrieve flood, wildfire, air quality, and crime risk data for a parcel.
func (*V1ParcelService) GetTrafficHistory ¶ added in v0.2.0
func (r *V1ParcelService) GetTrafficHistory(ctx context.Context, id string, query V1ParcelGetTrafficHistoryParams, opts ...option.RequestOption) (res *V1ParcelGetTrafficHistoryResponse, err error)
Finds the AADT (annual average daily traffic) station nearest to the given coordinates and returns its historical time series plus 3/5/7-year CAGRs. Useful for retail / CRE site selection. Search radius ~2 miles; returns empty data if no station is in range.
type V1SearchAutocompleteParams ¶ added in v0.2.0
type V1SearchAutocompleteParams struct {
// Search prefix. Minimum 2 chars.
Q string `query:"q" api:"required" json:"-"`
// contains filtered or unexported fields
}
func (V1SearchAutocompleteParams) URLQuery ¶ added in v0.2.0
func (r V1SearchAutocompleteParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1SearchAutocompleteParams's query parameters as `url.Values`.
type V1SearchAutocompleteResponse ¶ added in v0.2.0
type V1SearchAutocompleteResponse struct {
Addresses []V1SearchAutocompleteResponseAddress `json:"addresses"`
Locations []V1SearchAutocompleteResponseLocation `json:"locations"`
Parcels []V1SearchAutocompleteResponseParcel `json:"parcels"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Addresses respjson.Field
Locations respjson.Field
Parcels respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1SearchAutocompleteResponse) RawJSON ¶ added in v0.2.0
func (r V1SearchAutocompleteResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1SearchAutocompleteResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchAutocompleteResponse) UnmarshalJSON(data []byte) error
type V1SearchAutocompleteResponseAddress ¶ added in v0.2.0
type V1SearchAutocompleteResponseAddress struct {
Lat float64 `json:"lat"`
Lng float64 `json:"lng"`
Name string `json:"name"`
// Any of "address".
Type string `json:"type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Lat respjson.Field
Lng respjson.Field
Name respjson.Field
Type respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
Mapbox-geocoded address suggestion. Use to disambiguate user input before calling /api/v1/lookup or /api/v1/parcels/{id}.
func (V1SearchAutocompleteResponseAddress) RawJSON ¶ added in v0.2.0
func (r V1SearchAutocompleteResponseAddress) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1SearchAutocompleteResponseAddress) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchAutocompleteResponseAddress) UnmarshalJSON(data []byte) error
type V1SearchAutocompleteResponseLocation ¶ added in v0.2.0
type V1SearchAutocompleteResponseLocation struct {
City string `json:"city"`
Lat float64 `json:"lat"`
Lng float64 `json:"lng"`
Name string `json:"name"`
ParcelCount int64 `json:"parcel_count"`
State string `json:"state"`
// Any of "city".
Type string `json:"type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
City respjson.Field
Lat respjson.Field
Lng respjson.Field
Name respjson.Field
ParcelCount respjson.Field
State respjson.Field
Type respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1SearchAutocompleteResponseLocation) RawJSON ¶ added in v0.2.0
func (r V1SearchAutocompleteResponseLocation) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1SearchAutocompleteResponseLocation) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchAutocompleteResponseLocation) UnmarshalJSON(data []byte) error
type V1SearchAutocompleteResponseParcel ¶ added in v0.2.0
type V1SearchAutocompleteResponseParcel struct {
Address string `json:"address" api:"nullable"`
City string `json:"city" api:"nullable"`
CountyFips string `json:"county_fips"`
ParcelID string `json:"parcel_id"`
State string `json:"state" api:"nullable"`
// Any of "parcel".
Type string `json:"type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Address respjson.Field
City respjson.Field
CountyFips respjson.Field
ParcelID respjson.Field
State respjson.Field
Type respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1SearchAutocompleteResponseParcel) RawJSON ¶ added in v0.2.0
func (r V1SearchAutocompleteResponseParcel) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1SearchAutocompleteResponseParcel) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchAutocompleteResponseParcel) UnmarshalJSON(data []byte) error
type V1SearchExportResultsParams ¶ added in v0.2.0
type V1SearchExportResultsParams struct {
// Bounding box: east longitude.
East param.Opt[float64] `query:"east,omitzero" json:"-"`
// Row cap. Hard max 10,000.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// Bounding box: north latitude.
North param.Opt[float64] `query:"north,omitzero" json:"-"`
// Bounding box: south latitude.
South param.Opt[float64] `query:"south,omitzero" json:"-"`
// Bounding box: west longitude.
West param.Opt[float64] `query:"west,omitzero" json:"-"`
// Comma-delimited zoning categories.
ZoningCategories param.Opt[string] `query:"zoningCategories,omitzero" json:"-"`
// Sort direction.
//
// Any of "asc", "desc".
Order V1SearchExportResultsParamsOrder `query:"order,omitzero" json:"-"`
// Sort column.
//
// Any of "address", "city", "state", "owner_name", "total_assessed_value",
// "zoning", "year_built", "lot_size_acres", "ownership_type".
Sort V1SearchExportResultsParamsSort `query:"sort,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1SearchExportResultsParams) URLQuery ¶ added in v0.2.0
func (r V1SearchExportResultsParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1SearchExportResultsParams's query parameters as `url.Values`.
type V1SearchExportResultsParamsOrder ¶ added in v0.2.0
type V1SearchExportResultsParamsOrder string
Sort direction.
const ( V1SearchExportResultsParamsOrderAsc V1SearchExportResultsParamsOrder = "asc" V1SearchExportResultsParamsOrderDesc V1SearchExportResultsParamsOrder = "desc" )
type V1SearchExportResultsParamsSort ¶ added in v0.2.0
type V1SearchExportResultsParamsSort string
Sort column.
const ( V1SearchExportResultsParamsSortAddress V1SearchExportResultsParamsSort = "address" V1SearchExportResultsParamsSortCity V1SearchExportResultsParamsSort = "city" V1SearchExportResultsParamsSortState V1SearchExportResultsParamsSort = "state" V1SearchExportResultsParamsSortOwnerName V1SearchExportResultsParamsSort = "owner_name" V1SearchExportResultsParamsSortTotalAssessedValue V1SearchExportResultsParamsSort = "total_assessed_value" V1SearchExportResultsParamsSortZoning V1SearchExportResultsParamsSort = "zoning" V1SearchExportResultsParamsSortYearBuilt V1SearchExportResultsParamsSort = "year_built" V1SearchExportResultsParamsSortLotSizeAcres V1SearchExportResultsParamsSort = "lot_size_acres" V1SearchExportResultsParamsSortOwnershipType V1SearchExportResultsParamsSort = "ownership_type" )
type V1SearchFullSearchParams ¶ added in v0.2.0
type V1SearchFullSearchParams struct {
// Search query. Min 2 chars.
Q string `query:"q" api:"required" json:"-"`
// City filter.
City param.Opt[string] `query:"city,omitzero" json:"-"`
// Page size, max 200.
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
// 1-indexed page number.
Page param.Opt[int64] `query:"page,omitzero" json:"-"`
// 2-letter state filter.
State param.Opt[string] `query:"state,omitzero" json:"-"`
// Sort direction.
//
// Any of "asc", "desc".
Dir V1SearchFullSearchParamsDir `query:"dir,omitzero" json:"-"`
// Field to match against.
//
// Any of "all", "address", "owner_name", "city".
Field V1SearchFullSearchParamsField `query:"field,omitzero" json:"-"`
// Sort column.
//
// Any of "address", "city", "state", "owner_name", "total_value", "year_built".
Sort V1SearchFullSearchParamsSort `query:"sort,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (V1SearchFullSearchParams) URLQuery ¶ added in v0.2.0
func (r V1SearchFullSearchParams) URLQuery() (v url.Values, err error)
URLQuery serializes V1SearchFullSearchParams's query parameters as `url.Values`.
type V1SearchFullSearchParamsDir ¶ added in v0.2.0
type V1SearchFullSearchParamsDir string
Sort direction.
const ( V1SearchFullSearchParamsDirAsc V1SearchFullSearchParamsDir = "asc" V1SearchFullSearchParamsDirDesc V1SearchFullSearchParamsDir = "desc" )
type V1SearchFullSearchParamsField ¶ added in v0.2.0
type V1SearchFullSearchParamsField string
Field to match against.
const ( V1SearchFullSearchParamsFieldAll V1SearchFullSearchParamsField = "all" V1SearchFullSearchParamsFieldAddress V1SearchFullSearchParamsField = "address" V1SearchFullSearchParamsFieldOwnerName V1SearchFullSearchParamsField = "owner_name" V1SearchFullSearchParamsFieldCity V1SearchFullSearchParamsField = "city" )
type V1SearchFullSearchParamsSort ¶ added in v0.2.0
type V1SearchFullSearchParamsSort string
Sort column.
const ( V1SearchFullSearchParamsSortAddress V1SearchFullSearchParamsSort = "address" V1SearchFullSearchParamsSortCity V1SearchFullSearchParamsSort = "city" V1SearchFullSearchParamsSortState V1SearchFullSearchParamsSort = "state" V1SearchFullSearchParamsSortOwnerName V1SearchFullSearchParamsSort = "owner_name" V1SearchFullSearchParamsSortTotalValue V1SearchFullSearchParamsSort = "total_value" V1SearchFullSearchParamsSortYearBuilt V1SearchFullSearchParamsSort = "year_built" )
type V1SearchFullSearchResponse ¶ added in v0.2.0
type V1SearchFullSearchResponse struct {
Page int64 `json:"page"`
Pages int64 `json:"pages"`
Results []Parcel `json:"results"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Page respjson.Field
Pages respjson.Field
Results respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1SearchFullSearchResponse) RawJSON ¶ added in v0.2.0
func (r V1SearchFullSearchResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1SearchFullSearchResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchFullSearchResponse) UnmarshalJSON(data []byte) error
type V1SearchParcelSearchParams ¶ added in v0.2.0
type V1SearchParcelSearchParams struct {
Bounds V1SearchParcelSearchParamsBounds `json:"bounds,omitzero" api:"required"`
// Number of results to return.
Limit param.Opt[int64] `json:"limit,omitzero"`
// Number of results to skip for pagination.
Offset param.Opt[int64] `json:"offset,omitzero"`
Filters V1SearchParcelSearchParamsFilters `json:"filters,omitzero"`
// Any of "asc", "desc".
Order V1SearchParcelSearchParamsOrder `json:"order,omitzero"`
// Sort field.
//
// Any of "assessed_value", "sale_price", "acreage", "year_built", "deal_score".
Sort V1SearchParcelSearchParamsSort `json:"sort,omitzero"`
// contains filtered or unexported fields
}
func (V1SearchParcelSearchParams) MarshalJSON ¶ added in v0.2.0
func (r V1SearchParcelSearchParams) MarshalJSON() (data []byte, err error)
func (*V1SearchParcelSearchParams) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchParcelSearchParams) UnmarshalJSON(data []byte) error
type V1SearchParcelSearchParamsBounds ¶ added in v0.2.0
type V1SearchParcelSearchParamsBounds struct {
East float64 `json:"east" api:"required"`
North float64 `json:"north" api:"required"`
South float64 `json:"south" api:"required"`
West float64 `json:"west" api:"required"`
// contains filtered or unexported fields
}
The properties East, North, South, West are required.
func (V1SearchParcelSearchParamsBounds) MarshalJSON ¶ added in v0.2.0
func (r V1SearchParcelSearchParamsBounds) MarshalJSON() (data []byte, err error)
func (*V1SearchParcelSearchParamsBounds) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchParcelSearchParamsBounds) UnmarshalJSON(data []byte) error
type V1SearchParcelSearchParamsFilters ¶ added in v0.2.0
type V1SearchParcelSearchParamsFilters struct {
// Only return parcels with absentee owners.
AbsenteeOnly param.Opt[bool] `json:"absenteeOnly,omitzero"`
// Filter by acreage range.
AcreageRange V1SearchParcelSearchParamsFiltersAcreageRange `json:"acreageRange,omitzero"`
// Filter by owner entity type.
//
// Any of "individual", "corporation", "llc", "trust", "government", "other".
OwnerTypes []string `json:"ownerTypes,omitzero"`
// Filter by assessed value range.
ValueRange V1SearchParcelSearchParamsFiltersValueRange `json:"valueRange,omitzero"`
// Filter by year built range.
YearBuiltRange V1SearchParcelSearchParamsFiltersYearBuiltRange `json:"yearBuiltRange,omitzero"`
// Filter by zoning category (e.g., residential, commercial, industrial).
ZoningCategories []string `json:"zoningCategories,omitzero"`
// contains filtered or unexported fields
}
func (V1SearchParcelSearchParamsFilters) MarshalJSON ¶ added in v0.2.0
func (r V1SearchParcelSearchParamsFilters) MarshalJSON() (data []byte, err error)
func (*V1SearchParcelSearchParamsFilters) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchParcelSearchParamsFilters) UnmarshalJSON(data []byte) error
type V1SearchParcelSearchParamsFiltersAcreageRange ¶ added in v0.2.0
type V1SearchParcelSearchParamsFiltersAcreageRange struct {
Max param.Opt[float64] `json:"max,omitzero"`
Min param.Opt[float64] `json:"min,omitzero"`
// contains filtered or unexported fields
}
Filter by acreage range.
func (V1SearchParcelSearchParamsFiltersAcreageRange) MarshalJSON ¶ added in v0.2.0
func (r V1SearchParcelSearchParamsFiltersAcreageRange) MarshalJSON() (data []byte, err error)
func (*V1SearchParcelSearchParamsFiltersAcreageRange) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchParcelSearchParamsFiltersAcreageRange) UnmarshalJSON(data []byte) error
type V1SearchParcelSearchParamsFiltersValueRange ¶ added in v0.2.0
type V1SearchParcelSearchParamsFiltersValueRange struct {
Max param.Opt[float64] `json:"max,omitzero"`
Min param.Opt[float64] `json:"min,omitzero"`
// contains filtered or unexported fields
}
Filter by assessed value range.
func (V1SearchParcelSearchParamsFiltersValueRange) MarshalJSON ¶ added in v0.2.0
func (r V1SearchParcelSearchParamsFiltersValueRange) MarshalJSON() (data []byte, err error)
func (*V1SearchParcelSearchParamsFiltersValueRange) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchParcelSearchParamsFiltersValueRange) UnmarshalJSON(data []byte) error
type V1SearchParcelSearchParamsFiltersYearBuiltRange ¶ added in v0.2.0
type V1SearchParcelSearchParamsFiltersYearBuiltRange struct {
Max param.Opt[int64] `json:"max,omitzero"`
Min param.Opt[int64] `json:"min,omitzero"`
// contains filtered or unexported fields
}
Filter by year built range.
func (V1SearchParcelSearchParamsFiltersYearBuiltRange) MarshalJSON ¶ added in v0.2.0
func (r V1SearchParcelSearchParamsFiltersYearBuiltRange) MarshalJSON() (data []byte, err error)
func (*V1SearchParcelSearchParamsFiltersYearBuiltRange) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchParcelSearchParamsFiltersYearBuiltRange) UnmarshalJSON(data []byte) error
type V1SearchParcelSearchParamsOrder ¶ added in v0.2.0
type V1SearchParcelSearchParamsOrder string
const ( V1SearchParcelSearchParamsOrderAsc V1SearchParcelSearchParamsOrder = "asc" V1SearchParcelSearchParamsOrderDesc V1SearchParcelSearchParamsOrder = "desc" )
type V1SearchParcelSearchParamsSort ¶ added in v0.2.0
type V1SearchParcelSearchParamsSort string
Sort field.
const ( V1SearchParcelSearchParamsSortAssessedValue V1SearchParcelSearchParamsSort = "assessed_value" V1SearchParcelSearchParamsSortSalePrice V1SearchParcelSearchParamsSort = "sale_price" V1SearchParcelSearchParamsSortAcreage V1SearchParcelSearchParamsSort = "acreage" V1SearchParcelSearchParamsSortYearBuilt V1SearchParcelSearchParamsSort = "year_built" V1SearchParcelSearchParamsSortDealScore V1SearchParcelSearchParamsSort = "deal_score" )
type V1SearchParcelSearchResponse ¶ added in v0.2.0
type V1SearchParcelSearchResponse struct {
Data []Parcel `json:"data"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Total int64 `json:"total"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Limit respjson.Field
Offset respjson.Field
Total respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1SearchParcelSearchResponse) RawJSON ¶ added in v0.2.0
func (r V1SearchParcelSearchResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1SearchParcelSearchResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1SearchParcelSearchResponse) UnmarshalJSON(data []byte) error
type V1SearchService ¶ added in v0.2.0
type V1SearchService struct {
// contains filtered or unexported fields
}
Geographic and filtered parcel search.
V1SearchService contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1SearchService method instead.
func NewV1SearchService ¶ added in v0.2.0
func NewV1SearchService(opts ...option.RequestOption) (r V1SearchService)
NewV1SearchService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1SearchService) Autocomplete ¶ added in v0.2.0
func (r *V1SearchService) Autocomplete(ctx context.Context, query V1SearchAutocompleteParams, opts ...option.RequestOption) (res *V1SearchAutocompleteResponse, err error)
Fast prefix-matched autocomplete: returns cities/places, matching parcels, and Mapbox-geocoded addresses for the prefix. Three independent tiers run in parallel with per-tier timeouts so a slow DB query never blocks fast Mapbox results. Use for type-ahead UIs and address entry; for full-detail lookup use parcel lookup.
func (*V1SearchService) ExportResults ¶ added in v0.2.0
func (r *V1SearchService) ExportResults(ctx context.Context, query V1SearchExportResultsParams, opts ...option.RequestOption) (res *io.Reader, err error)
Returns up to 10,000 search-matched parcels as a CSV download. Accepts the same geographic + attribute filters as POST /api/v1/search. Designed for spreadsheet / Excel workflows; for programmatic ingestion, use the JSON search endpoint and paginate.
func (*V1SearchService) FullSearch ¶ added in v0.2.0
func (r *V1SearchService) FullSearch(ctx context.Context, query V1SearchFullSearchParams, opts ...option.RequestOption) (res *V1SearchFullSearchResponse, err error)
Paginated search across the parcel search index by free-text query (`q`) and optional field/state/city filters. Distinct from POST /api/v1/search which is geo-bounded; this endpoint is text-anchored and works without a bounding box. Returns 50/page by default, 200 max.
func (*V1SearchService) ParcelSearch ¶ added in v0.2.0
func (r *V1SearchService) ParcelSearch(ctx context.Context, body V1SearchParcelSearchParams, opts ...option.RequestOption) (res *V1SearchParcelSearchResponse, err error)
Search parcels within geographic bounds with optional filters, sorting, and pagination.
type V1Service ¶ added in v0.2.0
type V1Service struct {
// Parcel lookup, owner details, permits, deeds, and risk data.
Parcels V1ParcelService
// Geographic and filtered parcel search.
Search V1SearchService
// Deal sourcing: absentee owners, property flips.
Deals V1DealService
// County-level market statistics and trends.
Market V1MarketService
// Owner search, profiles, and portfolios.
Owners V1OwnerService
// Webhook subscriptions and delivery history. Manage which events PropRaven pushes
// to your endpoints.
Webhooks V1WebhookService
// Account-scoped usage, quota, and key-level reporting.
Account V1AccountService
// contains filtered or unexported fields
}
Data coverage statistics.
V1Service contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1Service method instead.
func NewV1Service ¶ added in v0.2.0
func NewV1Service(opts ...option.RequestOption) (r V1Service)
NewV1Service generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1Service) GetCoverage ¶ added in v0.2.0
func (r *V1Service) GetCoverage(ctx context.Context, query V1GetCoverageParams, opts ...option.RequestOption) (res *V1GetCoverageResponse, err error)
Retrieve parcel coverage statistics at the state or county level.
type V1WebhookDisableEndpointResponse ¶ added in v0.2.0
type V1WebhookDisableEndpointResponse struct {
Deleted string `json:"deleted" format:"uuid"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Deleted respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1WebhookDisableEndpointResponse) RawJSON ¶ added in v0.2.0
func (r V1WebhookDisableEndpointResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1WebhookDisableEndpointResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1WebhookDisableEndpointResponse) UnmarshalJSON(data []byte) error
type V1WebhookGetDeliveriesResponse ¶ added in v0.2.0
type V1WebhookGetDeliveriesResponse struct {
Deliveries []V1WebhookGetDeliveriesResponseDelivery `json:"deliveries"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Deliveries respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1WebhookGetDeliveriesResponse) RawJSON ¶ added in v0.2.0
func (r V1WebhookGetDeliveriesResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1WebhookGetDeliveriesResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1WebhookGetDeliveriesResponse) UnmarshalJSON(data []byte) error
type V1WebhookGetDeliveriesResponseDelivery ¶ added in v0.2.0
type V1WebhookGetDeliveriesResponseDelivery struct {
ID string `json:"id" format:"uuid"`
Attempts int64 `json:"attempts"`
CreatedAt time.Time `json:"created_at" format:"date-time"`
DeadLetteredAt time.Time `json:"dead_lettered_at" format:"date-time"`
// Deterministic event identifier — sha256(source || pk || event_type). Idempotent
// re-deliveries share this.
EventID string `json:"event_id"`
EventOccurredAt time.Time `json:"event_occurred_at" format:"date-time"`
// Any of "parcel.sold", "parcel.permit_filed", "parcel.owner_changed".
EventType string `json:"event_type"`
LastAttemptAt time.Time `json:"last_attempt_at" format:"date-time"`
LastError string `json:"last_error" api:"nullable"`
// Truncated to ~1KB.
LastResponseBody string `json:"last_response_body" api:"nullable"`
LastResponseStatus int64 `json:"last_response_status" api:"nullable"`
NextAttemptAt time.Time `json:"next_attempt_at" format:"date-time"`
// Any of "pending", "in_flight", "succeeded", "failed", "dead_lettered".
Status string `json:"status"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
Attempts respjson.Field
CreatedAt respjson.Field
DeadLetteredAt respjson.Field
EventID respjson.Field
EventOccurredAt respjson.Field
EventType respjson.Field
LastAttemptAt respjson.Field
LastError respjson.Field
LastResponseBody respjson.Field
LastResponseStatus respjson.Field
NextAttemptAt respjson.Field
Status respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1WebhookGetDeliveriesResponseDelivery) RawJSON ¶ added in v0.2.0
func (r V1WebhookGetDeliveriesResponseDelivery) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1WebhookGetDeliveriesResponseDelivery) UnmarshalJSON ¶ added in v0.2.0
func (r *V1WebhookGetDeliveriesResponseDelivery) UnmarshalJSON(data []byte) error
type V1WebhookListEndpointsResponse ¶ added in v0.2.0
type V1WebhookListEndpointsResponse struct {
Quota V1WebhookListEndpointsResponseQuota `json:"quota"`
// Any of "free", "starter", "pro", "scale", "api_100k".
Tier V1WebhookListEndpointsResponseTier `json:"tier"`
Webhooks []Webhook `json:"webhooks"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Quota respjson.Field
Tier respjson.Field
Webhooks respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1WebhookListEndpointsResponse) RawJSON ¶ added in v0.2.0
func (r V1WebhookListEndpointsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1WebhookListEndpointsResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1WebhookListEndpointsResponse) UnmarshalJSON(data []byte) error
type V1WebhookListEndpointsResponseQuota ¶ added in v0.2.0
type V1WebhookListEndpointsResponseQuota struct {
// Max simultaneous active webhook endpoints on this tier.
MaxEndpoints int64 `json:"maxEndpoints"`
// Max event deliveries per UTC day on this tier.
MaxEventsPerDay int64 `json:"maxEventsPerDay"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
MaxEndpoints respjson.Field
MaxEventsPerDay respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (V1WebhookListEndpointsResponseQuota) RawJSON ¶ added in v0.2.0
func (r V1WebhookListEndpointsResponseQuota) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1WebhookListEndpointsResponseQuota) UnmarshalJSON ¶ added in v0.2.0
func (r *V1WebhookListEndpointsResponseQuota) UnmarshalJSON(data []byte) error
type V1WebhookListEndpointsResponseTier ¶ added in v0.2.0
type V1WebhookListEndpointsResponseTier string
const ( V1WebhookListEndpointsResponseTierFree V1WebhookListEndpointsResponseTier = "free" V1WebhookListEndpointsResponseTierStarter V1WebhookListEndpointsResponseTier = "starter" V1WebhookListEndpointsResponseTierPro V1WebhookListEndpointsResponseTier = "pro" V1WebhookListEndpointsResponseTierScale V1WebhookListEndpointsResponseTier = "scale" V1WebhookListEndpointsResponseTierAPI100k V1WebhookListEndpointsResponseTier = "api_100k" )
type V1WebhookNewEndpointParams ¶ added in v0.2.0
type V1WebhookNewEndpointParams struct {
// Event types to subscribe to. NOTE: only parcel.sold is live in v1.0; others 501.
//
// Any of "parcel.sold", "parcel.permit_filed", "parcel.owner_changed".
EventTypes []string `json:"event_types,omitzero" api:"required"`
// Any of "parcel_ids", "state_fips", "county_fips".
FilterKind V1WebhookNewEndpointParamsFilterKind `json:"filter_kind,omitzero" api:"required"`
// Shape varies with filter_kind. parcel_ids: explicit list. state_fips: all
// parcels in a state. county_fips: all parcels in a county within a state.
FilterValue WebhookFilterUnionParam `json:"filter_value,omitzero" api:"required"`
// Customer endpoint. https:// only.
URL string `json:"url" api:"required" format:"uri"`
// Optional human-readable label for your dashboard.
Description param.Opt[string] `json:"description,omitzero"`
// contains filtered or unexported fields
}
func (V1WebhookNewEndpointParams) MarshalJSON ¶ added in v0.2.0
func (r V1WebhookNewEndpointParams) MarshalJSON() (data []byte, err error)
func (*V1WebhookNewEndpointParams) UnmarshalJSON ¶ added in v0.2.0
func (r *V1WebhookNewEndpointParams) UnmarshalJSON(data []byte) error
type V1WebhookNewEndpointParamsFilterKind ¶ added in v0.2.0
type V1WebhookNewEndpointParamsFilterKind string
const ( V1WebhookNewEndpointParamsFilterKindParcelIDs V1WebhookNewEndpointParamsFilterKind = "parcel_ids" V1WebhookNewEndpointParamsFilterKindStateFips V1WebhookNewEndpointParamsFilterKind = "state_fips" V1WebhookNewEndpointParamsFilterKindCountyFips V1WebhookNewEndpointParamsFilterKind = "county_fips" )
type V1WebhookNewEndpointResponse ¶ added in v0.2.0
type V1WebhookNewEndpointResponse struct {
// Signature-verification reminder.
Hint string `json:"hint" api:"required"`
// **Shown once.** Copy and store server-side immediately. Used to sign every
// outgoing delivery.
Secret string `json:"secret" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Hint respjson.Field
Secret respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
Webhook
}
func (V1WebhookNewEndpointResponse) RawJSON ¶ added in v0.2.0
func (r V1WebhookNewEndpointResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*V1WebhookNewEndpointResponse) UnmarshalJSON ¶ added in v0.2.0
func (r *V1WebhookNewEndpointResponse) UnmarshalJSON(data []byte) error
type V1WebhookService ¶ added in v0.2.0
type V1WebhookService struct {
// contains filtered or unexported fields
}
Webhook subscriptions and delivery history. Manage which events PropRaven pushes to your endpoints.
V1WebhookService contains methods and other services that help with interacting with the propraven API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewV1WebhookService method instead.
func NewV1WebhookService ¶ added in v0.2.0
func NewV1WebhookService(opts ...option.RequestOption) (r V1WebhookService)
NewV1WebhookService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*V1WebhookService) DisableEndpoint ¶ added in v0.2.0
func (r *V1WebhookService) DisableEndpoint(ctx context.Context, id string, opts ...option.RequestOption) (res *V1WebhookDisableEndpointResponse, err error)
Marks the endpoint inactive. Delivery history is preserved. The endpoint can no longer receive new events but past deliveries remain queryable via the deliveries route.
func (*V1WebhookService) GetDeliveries ¶ added in v0.2.0
func (r *V1WebhookService) GetDeliveries(ctx context.Context, id string, opts ...option.RequestOption) (res *V1WebhookGetDeliveriesResponse, err error)
Returns the last 100 delivery attempts for an endpoint — useful for debugging signature mismatches, retry visibility, and dead-letter inspection.
func (*V1WebhookService) GetEndpoint ¶ added in v0.2.0
func (r *V1WebhookService) GetEndpoint(ctx context.Context, id string, opts ...option.RequestOption) (res *Webhook, err error)
Returns the full endpoint record (without the secret).
func (*V1WebhookService) ListEndpoints ¶ added in v0.2.0
func (r *V1WebhookService) ListEndpoints(ctx context.Context, opts ...option.RequestOption) (res *V1WebhookListEndpointsResponse, err error)
Returns all webhook endpoints for the calling account, plus the per-tier quota.
func (*V1WebhookService) NewEndpoint ¶ added in v0.2.0
func (r *V1WebhookService) NewEndpoint(ctx context.Context, body V1WebhookNewEndpointParams, opts ...option.RequestOption) (res *V1WebhookNewEndpointResponse, err error)
Creates a new webhook subscription. The returned `secret` is shown ONCE — store it server-side and use it to verify every incoming delivery via the `X-PropRaven-Signature` header (HMAC-SHA256 over `<unix_ms>.<raw_body>`). Reject deliveries where `|now - t| > 5min`.
type VerifyWebhookOptions ¶ added in v0.2.0
VerifyWebhookOptions configures VerifyWebhook. MaxClockSkew defaults to 5 minutes — matching the PropRaven dispatch retry window.
type Webhook ¶
type Webhook struct {
ID string `json:"id" format:"uuid"`
CreatedAt time.Time `json:"created_at" format:"date-time"`
DeliveriesAttempted int64 `json:"deliveries_attempted"`
DeliveriesSucceeded int64 `json:"deliveries_succeeded"`
Description string `json:"description"`
DisabledAt time.Time `json:"disabled_at" format:"date-time"`
DisabledReason string `json:"disabled_reason" api:"nullable"`
// Any of "parcel.sold", "parcel.permit_filed", "parcel.owner_changed".
EventTypes []string `json:"event_types"`
// Any of "parcel_ids", "state_fips", "county_fips".
FilterKind WebhookFilterKind `json:"filter_kind"`
// Shape varies with filter_kind. parcel_ids: explicit list. state_fips: all
// parcels in a state. county_fips: all parcels in a county within a state.
FilterValue WebhookFilterUnion `json:"filter_value"`
IsActive bool `json:"is_active"`
LastDeliveryAt time.Time `json:"last_delivery_at" format:"date-time"`
LastSuccessAt time.Time `json:"last_success_at" format:"date-time"`
// First 14 chars of the secret (whsec\_ + 8 hex). Use to identify the webhook in
// your dashboard; full secret is shown only at create time.
SecretPrefix string `json:"secret_prefix"`
// Customer endpoint. Must be https://.
URL string `json:"url" format:"uri"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
DeliveriesAttempted respjson.Field
DeliveriesSucceeded respjson.Field
Description respjson.Field
DisabledAt respjson.Field
DisabledReason respjson.Field
EventTypes respjson.Field
FilterKind respjson.Field
FilterValue respjson.Field
IsActive respjson.Field
LastDeliveryAt respjson.Field
LastSuccessAt respjson.Field
SecretPrefix respjson.Field
URL respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (*Webhook) UnmarshalJSON ¶ added in v0.2.0
type WebhookFilterKind ¶ added in v0.2.0
type WebhookFilterKind string
const ( WebhookFilterKindParcelIDs WebhookFilterKind = "parcel_ids" WebhookFilterKindStateFips WebhookFilterKind = "state_fips" WebhookFilterKindCountyFips WebhookFilterKind = "county_fips" )
type WebhookFilterObject ¶ added in v0.2.0
type WebhookFilterObject struct {
// 3-digit county FIPS (within the state) — subscribe to all parcels in this
// county.
CountyFips string `json:"county_fips" api:"required"`
StateFips string `json:"state_fips" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
CountyFips respjson.Field
StateFips respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (WebhookFilterObject) RawJSON ¶ added in v0.2.0
func (r WebhookFilterObject) RawJSON() string
Returns the unmodified JSON received from the API
func (*WebhookFilterObject) UnmarshalJSON ¶ added in v0.2.0
func (r *WebhookFilterObject) UnmarshalJSON(data []byte) error
type WebhookFilterObjectParam ¶ added in v0.2.0
type WebhookFilterObjectParam struct {
// 3-digit county FIPS (within the state) — subscribe to all parcels in this
// county.
CountyFips string `json:"county_fips" api:"required"`
StateFips string `json:"state_fips" api:"required"`
// contains filtered or unexported fields
}
The properties CountyFips, StateFips are required.
func (WebhookFilterObjectParam) MarshalJSON ¶ added in v0.2.0
func (r WebhookFilterObjectParam) MarshalJSON() (data []byte, err error)
func (*WebhookFilterObjectParam) UnmarshalJSON ¶ added in v0.2.0
func (r *WebhookFilterObjectParam) UnmarshalJSON(data []byte) error
type WebhookFilterParcelIDs ¶ added in v0.2.0
type WebhookFilterParcelIDs struct {
// Composite parcel IDs to subscribe to. 1–1000 IDs.
ParcelIDs []string `json:"parcel_ids" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ParcelIDs respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (WebhookFilterParcelIDs) RawJSON ¶ added in v0.2.0
func (r WebhookFilterParcelIDs) RawJSON() string
Returns the unmodified JSON received from the API
func (*WebhookFilterParcelIDs) UnmarshalJSON ¶ added in v0.2.0
func (r *WebhookFilterParcelIDs) UnmarshalJSON(data []byte) error
type WebhookFilterParcelIDsParam ¶ added in v0.2.0
type WebhookFilterParcelIDsParam struct {
// Composite parcel IDs to subscribe to. 1–1000 IDs.
ParcelIDs []string `json:"parcel_ids,omitzero" api:"required"`
// contains filtered or unexported fields
}
The property ParcelIDs is required.
func (WebhookFilterParcelIDsParam) MarshalJSON ¶ added in v0.2.0
func (r WebhookFilterParcelIDsParam) MarshalJSON() (data []byte, err error)
func (*WebhookFilterParcelIDsParam) UnmarshalJSON ¶ added in v0.2.0
func (r *WebhookFilterParcelIDsParam) UnmarshalJSON(data []byte) error
type WebhookFilterStateFips ¶ added in v0.2.0
type WebhookFilterStateFips struct {
// 2-digit state FIPS — subscribe to all parcels in this state.
StateFips string `json:"state_fips" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
StateFips respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (WebhookFilterStateFips) RawJSON ¶ added in v0.2.0
func (r WebhookFilterStateFips) RawJSON() string
Returns the unmodified JSON received from the API
func (*WebhookFilterStateFips) UnmarshalJSON ¶ added in v0.2.0
func (r *WebhookFilterStateFips) UnmarshalJSON(data []byte) error
type WebhookFilterStateFipsParam ¶ added in v0.2.0
type WebhookFilterStateFipsParam struct {
// 2-digit state FIPS — subscribe to all parcels in this state.
StateFips string `json:"state_fips" api:"required"`
// contains filtered or unexported fields
}
The property StateFips is required.
func (WebhookFilterStateFipsParam) MarshalJSON ¶ added in v0.2.0
func (r WebhookFilterStateFipsParam) MarshalJSON() (data []byte, err error)
func (*WebhookFilterStateFipsParam) UnmarshalJSON ¶ added in v0.2.0
func (r *WebhookFilterStateFipsParam) UnmarshalJSON(data []byte) error
type WebhookFilterUnion ¶ added in v0.2.0
type WebhookFilterUnion struct {
// This field is from variant [WebhookFilterParcelIDs].
ParcelIDs []string `json:"parcel_ids"`
StateFips string `json:"state_fips"`
// This field is from variant [WebhookFilterObject].
CountyFips string `json:"county_fips"`
JSON struct {
ParcelIDs respjson.Field
StateFips respjson.Field
CountyFips respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
WebhookFilterUnion contains all possible properties and values from WebhookFilterParcelIDs, WebhookFilterStateFips, WebhookFilterObject.
Use the methods beginning with 'As' to cast the union to one of its variants.
func (WebhookFilterUnion) AsWebhookFilterObject ¶ added in v0.2.0
func (u WebhookFilterUnion) AsWebhookFilterObject() (v WebhookFilterObject)
func (WebhookFilterUnion) AsWebhookFilterParcelIDs ¶ added in v0.2.0
func (u WebhookFilterUnion) AsWebhookFilterParcelIDs() (v WebhookFilterParcelIDs)
func (WebhookFilterUnion) AsWebhookFilterStateFips ¶ added in v0.2.0
func (u WebhookFilterUnion) AsWebhookFilterStateFips() (v WebhookFilterStateFips)
func (WebhookFilterUnion) RawJSON ¶ added in v0.2.0
func (u WebhookFilterUnion) RawJSON() string
Returns the unmodified JSON received from the API
func (WebhookFilterUnion) ToParam ¶ added in v0.2.0
func (r WebhookFilterUnion) ToParam() WebhookFilterUnionParam
ToParam converts this WebhookFilterUnion to a WebhookFilterUnionParam.
Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with WebhookFilterUnionParam.Overrides()
func (*WebhookFilterUnion) UnmarshalJSON ¶ added in v0.2.0
func (r *WebhookFilterUnion) UnmarshalJSON(data []byte) error
type WebhookFilterUnionParam ¶ added in v0.2.0
type WebhookFilterUnionParam struct {
OfWebhookFilterParcelIDs *WebhookFilterParcelIDsParam `json:",omitzero,inline"`
OfWebhookFilterStateFips *WebhookFilterStateFipsParam `json:",omitzero,inline"`
OfWebhookFilterObject *WebhookFilterObjectParam `json:",omitzero,inline"`
// contains filtered or unexported fields
}
Only one field can be non-zero.
Use param.IsOmitted to confirm if a field is set.
func WebhookFilterParamOfWebhookFilterObject ¶ added in v0.2.0
func WebhookFilterParamOfWebhookFilterObject(countyFips string, stateFips string) WebhookFilterUnionParam
func WebhookFilterParamOfWebhookFilterParcelIDs ¶ added in v0.2.0
func WebhookFilterParamOfWebhookFilterParcelIDs(parcelIDs []string) WebhookFilterUnionParam
func WebhookFilterParamOfWebhookFilterStateFips ¶ added in v0.2.0
func WebhookFilterParamOfWebhookFilterStateFips(stateFips string) WebhookFilterUnionParam
func (WebhookFilterUnionParam) MarshalJSON ¶ added in v0.2.0
func (u WebhookFilterUnionParam) MarshalJSON() ([]byte, error)
func (*WebhookFilterUnionParam) UnmarshalJSON ¶ added in v0.2.0
func (u *WebhookFilterUnionParam) UnmarshalJSON(data []byte) error
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
encoding/json
Package json implements encoding and decoding of JSON as defined in RFC 7159.
|
Package json implements encoding and decoding of JSON as defined in RFC 7159. |
|
encoding/json/shims
This package provides shims over Go 1.2{2,3} APIs which are missing from Go 1.22, and used by the Go 1.24 encoding/json package.
|
This package provides shims over Go 1.2{2,3} APIs which are missing from Go 1.22, and used by the Go 1.24 encoding/json package. |
|
packages
|
|
|
shared
|
|