sentineliq-net Public API
The public API from sentineliq-net — 3 operation(s) for public.
The public API from sentineliq-net — 3 operation(s) for public.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/sentineliq-net:sentineliq-net-public-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SENTINEL Property Research Public API
version: 1.5.1
description: 'Per-address computed research for King, Snohomish, Pierce, and Whatcom counties, Washington: deterministic REET, seller net sheet, NWMLS deadline and monthly-payment calculators, seller-scenario and offer comparisons, and a seller packet combining math with optional cached evidence and Markdown (one metered answer per packet). A sanitized county property record accepts an address or county plus parcel ID, excludes owner identity, and carries exact field observations with explicit gaps. Permit history supplies City of Seattle building records and observed changes with issuing-agency coverage boundaries; listing status / price / days-on-market appear only when the listing row is RentCast-licensed, and portal links, photos and portal valuations never appear. An attributed market snapshot. Every response carries an `attributions` array whose `required` entries must be reproduced wherever the data is shown. Not affiliated with or endorsed by NWMLS, the Washington Department of Revenue, or any county.'
servers:
- url: https://app.sentineliq.net
tags:
- name: Public
paths:
/api/v1/public/reet:
post:
tags:
- Public
summary: Public Reet
description: 'Graduated WA REET (RCW 82.45): state brackets + local county rate.
Same builder as the keyed ``/agent-api/v1/reet`` and the ``wa_reet``
MCP tool (build_reet_response over src/deals/net_sheet.py), so the
payload — attributions and disclaimer included — is identical.'
operationId: publicReet
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReetRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ReetResponse'
'422':
description: VALIDATION — request failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'413':
description: PAYLOAD_TOO_LARGE — serialized body exceeds 65536 bytes; never metered. Reduce it before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'429':
description: RATE_LIMITED — per-IP burst or daily cap; Retry-After.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
security: []
/api/v1/public/net-sheet:
post:
tags:
- Public
summary: Public Net Sheet
description: 'Full WA seller net sheet (REET + commission + title/escrow + payoff).
Same request shape as the keyed ``/agent-api/v1/net-sheet`` and the
``wa_net_sheet`` MCP tool; same engine (src/deals/net_sheet.py); same
``public_calc`` IP bucket as the other free calculators. Engine-rejected
inputs surface as the same structured 422 the keyed route returns
(pydantic bounds mirror the engine, but the engine stays authoritative).'
operationId: publicNetSheet
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiNetSheetRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/NetSheetResponse'
'422':
description: VALIDATION — request failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'413':
description: PAYLOAD_TOO_LARGE — serialized body exceeds 65536 bytes; never metered. Reduce it before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'429':
description: RATE_LIMITED — per-IP burst or daily cap; Retry-After.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
security: []
/api/v1/public/deadlines:
post:
tags:
- Public
summary: Public Deadlines
description: 'Standard NWMLS deadline set from mutual acceptance.
Same builder as the keyed ``/agent-api/v1/deadlines`` and the
``nwmls_deadlines`` MCP tool (build_deadlines_response: every date from
add_business_days / add_calendar_days per RCW 1.16.050, never local
arithmetic), so the rows, disclaimers, and attributions are identical.'
operationId: publicDeadlines
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeadlinesRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DeadlinesResponse'
'422':
description: VALIDATION — request failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'413':
description: PAYLOAD_TOO_LARGE — serialized body exceeds 65536 bytes; never metered. Reduce it before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'429':
description: RATE_LIMITED — per-IP burst or daily cap; Retry-After.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
security: []
components:
schemas:
DeadlinesRequest:
properties:
mutual_acceptance:
type: string
format: date
title: Mutual Acceptance
financing_days:
type: integer
enum:
- 14
- 21
- 30
title: Financing Days
default: 21
closing:
anyOf:
- type: string
format: date
- type: 'null'
title: Closing
additionalProperties: false
type: object
required:
- mutual_acceptance
title: DeadlinesRequest
ReetRequest:
properties:
sale_price:
type: integer
exclusiveMaximum: 500000000.0
exclusiveMinimum: 0.0
title: Sale Price
county:
type: string
title: County
additionalProperties: false
type: object
required:
- sale_price
- county
title: ReetRequest
AgentApiError:
title: AgentApiError
type: object
required:
- detail
properties:
detail:
type: object
required:
- code
- message
properties:
code:
type: string
description: 'Machine-readable error code: VALIDATION, NOT_FOUND, AMBIGUOUS_ADDRESS, INVALID_KEY, PLAN_REQUIRED, TRIAL_ENDED, TRIAL_ANSWERS_USED, QUOTA_EXCEEDED, CUSTOMER_BUDGET_EXCEEDED, RATE_LIMITED, PAYLOAD_TOO_LARGE, HISTORY_UNAVAILABLE, SOURCE_UNAVAILABLE.'
message:
type: string
upgrade_url:
type: string
description: Present on 402 and quota 429 responses.
DeadlineRow:
properties:
key:
type: string
title: Key
label:
type: string
title: Label
date:
type: string
format: date
title: Date
days:
anyOf:
- type: integer
- type: 'null'
title: Days
description: Day count from the anchor; null for the contract closing date.
basis:
type: string
enum:
- business
- calendar
title: Basis
rule:
type: string
title: Rule
lands_on_non_business_day:
type: boolean
title: Lands On Non Business Day
description: True when the date is a weekend or WA state holiday (RCW 1.16.050).
type: object
required:
- key
- label
- date
- days
- basis
- rule
- lands_on_non_business_day
title: DeadlineRow
description: One NWMLS deadline computed from mutual acceptance.
DeadlinesResponse:
properties:
mutual_acceptance:
type: string
format: date
title: Mutual Acceptance
financing_days:
type: integer
title: Financing Days
deadlines:
items:
$ref: '#/components/schemas/DeadlineRow'
type: array
title: Deadlines
deadline_disclaimer:
type: string
title: Deadline Disclaimer
disclaimer:
type: string
title: Disclaimer
attributions:
items:
$ref: '#/components/schemas/Attribution'
type: array
title: Attributions
type: object
required:
- mutual_acceptance
- financing_days
- deadlines
- deadline_disclaimer
- disclaimer
- attributions
title: DeadlinesResponse
description: Standard NWMLS deadline set from a mutual-acceptance date.
NetSheetResponse:
properties:
sale_price:
type: integer
title: Sale Price
mortgage_payoff:
type: integer
title: Mortgage Payoff
state_reet:
type: integer
title: State Reet
state_reet_brackets:
items:
$ref: '#/components/schemas/ReetBracket'
type: array
title: State Reet Brackets
local_reet:
type: integer
title: Local Reet
total_reet:
type: integer
title: Total Reet
reet_technology_fee:
type: integer
title: Reet Technology Fee
local_reet_rate:
type: number
title: Local Reet Rate
local_reet_rate_effective_date:
type: string
title: Local Reet Rate Effective Date
local_reet_assumption:
type: string
title: Local Reet Assumption
state_reet_brackets_effective_through:
type: string
title: State Reet Brackets Effective Through
reet_scope:
type: string
title: Reet Scope
commission:
type: integer
title: Commission
commission_rate:
type: number
title: Commission Rate
title_insurance:
type: integer
title: Title Insurance
escrow_fee:
type: integer
title: Escrow Fee
recording_fees:
type: integer
title: Recording Fees
hoa_transfer:
type: integer
title: Hoa Transfer
property_tax_proration:
type: integer
title: Property Tax Proration
total_costs:
type: integer
title: Total Costs
total_deductions:
type: integer
title: Total Deductions
net_proceeds:
type: integer
title: Net Proceeds
county:
type: string
title: County
disclaimer:
type: string
title: Disclaimer
attributions:
items:
$ref: '#/components/schemas/Attribution'
type: array
title: Attributions
type: object
required:
- sale_price
- mortgage_payoff
- state_reet
- state_reet_brackets
- local_reet
- total_reet
- reet_technology_fee
- local_reet_rate
- local_reet_rate_effective_date
- local_reet_assumption
- state_reet_brackets_effective_through
- reet_scope
- commission
- commission_rate
- title_insurance
- escrow_fee
- recording_fees
- hoa_transfer
- property_tax_proration
- total_costs
- total_deductions
- net_proceeds
- county
- disclaimer
- attributions
title: NetSheetResponse
description: Full WA seller net sheet — every line item from the deterministic engine.
AgentApiNetSheetRequest:
properties:
sale_price:
type: integer
exclusiveMaximum: 500000000.0
exclusiveMinimum: 0.0
title: Sale Price
county:
type: string
maxLength: 40
minLength: 1
title: County
description: Omitted county assumes King. Confirm the property's DOR location code.
default: king
commission_rate:
type: number
maximum: 0.15
minimum: 0.0
title: Commission Rate
default: 0.05
mortgage_balance:
type: integer
exclusiveMaximum: 500000000.0
minimum: 0.0
title: Mortgage Balance
description: Legacy calculator assumes $0 if omitted; use seller-scenarios to distinguish an unknown payoff.
default: 0
has_hoa:
type: boolean
title: Has Hoa
default: false
property_tax_proration:
type: integer
exclusiveMaximum: 500000000.0
minimum: 0.0
title: Property Tax Proration
default: 0
additionalProperties: false
type: object
required:
- sale_price
title: AgentApiNetSheetRequest
ReetBracket:
properties:
up_to:
anyOf:
- type: integer
- type: 'null'
title: Up To
description: Upper bound of the band in dollars; null for the top band.
rate:
type: number
title: Rate
description: State rate applied in this band (0.011 = 1.10%).
taxable:
type: integer
title: Taxable
description: Dollars of the sale price taxed in this band.
tax:
type: integer
title: Tax
description: State REET owed on this band, rounded to the dollar.
type: object
required:
- up_to
- rate
- taxable
- tax
title: ReetBracket
description: One graduated state-REET band (RCW 82.45).
Attribution:
properties:
source:
type: string
title: Source
text:
type: string
title: Text
url:
anyOf:
- type: string
- type: 'null'
title: Url
required:
type: boolean
title: Required
default: false
type: object
required:
- source
- text
title: Attribution
description: One attribution / non-affiliation line attached to a response.
ReetResponse:
properties:
sale_price:
type: integer
title: Sale Price
county:
type: string
title: County
state_reet:
type: integer
title: State Reet
state_brackets:
items:
$ref: '#/components/schemas/ReetBracket'
type: array
title: State Brackets
local_rate:
type: number
title: Local Rate
local_reet:
type: integer
title: Local Reet
total_reet:
type: integer
title: Total Reet
technology_fee:
type: integer
title: Technology Fee
description: Flat DOR electronic-technology fee (RCW 82.45.180).
estimated_total_due:
type: integer
title: Estimated Total Due
description: total_reet + technology_fee.
local_rate_effective_date:
type: string
title: Local Rate Effective Date
local_rate_assumption:
type: string
title: Local Rate Assumption
description: County-level local-rate assumption; verify the DOR location code.
state_brackets_effective_through:
type: string
title: State Brackets Effective Through
reet_scope:
type: string
title: Reet Scope
effective_rate_pct:
type: number
title: Effective Rate Pct
disclaimer:
type: string
title: Disclaimer
attributions:
items:
$ref: '#/components/schemas/Attribution'
type: array
title: Attributions
type: object
required:
- sale_price
- county
- state_reet
- state_brackets
- local_rate
- local_reet
- total_reet
- technology_fee
- estimated_total_due
- local_rate_effective_date
- local_rate_assumption
- state_brackets_effective_through
- reet_scope
- effective_rate_pct
- disclaimer
- attributions
title: ReetResponse
description: 'Graduated WA REET: state brackets + local county rate + DOR fee.'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: agk_...
description: 'SENTINEL Developer API key (Authorization: Bearer agk_...). X-API-Key: agk_... is accepted as an equivalent.'