sentineliq-net Public API

The public API from sentineliq-net — 3 operation(s) for public.

Operations 3

POST /api/v1/public/reet Public Reet #
POST /api/v1/public/net-sheet Public Net Sheet #
POST /api/v1/public/deadlines Public Deadlines #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sentineliq-net:sentineliq-net-public-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

sentineliq-net-public-api-openapi.yml Raw ↑
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.'