Landcor Data · Arazzo Workflow

Landcor — loan-to-value check and valuation report

Version 1.0.0

Run a proposed mortgage amount against Landcor's AVM value for a BC property and retrieve the password-protected PDF valuation report for the file.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Real-EstateCanadaValuationAVMProperty RecordsTitleLand RegistryMortgagePropTechProperty DataArazzoWorkflows

Provider

landcor

Workflows

ltv-check-and-report
PID plus a proposed loan amount in; AVM band, LTV verdict and the encrypted PDF report out.
The AVM range is read BEFORE the LTV check on purpose — the check returns only booleans (has_avm, avm_exceeds_ltv) and never the valuation itself, so without step 1 you can report a verdict but not the number behind it.
3 steps inputs: ltv_amount, pid outputs: avm_exceeds_ltv, encrypted_pdf, has_avm, roll_number, valuation_high, valuation_low
1
read-valuation-range
Current AVM low/high band for the subject property.
2
run-ltv-check
Stateless comparison — this POST creates nothing. Read has_avm first: false means Landcor holds no AVM value for the PID, in which case avm_exceeds_ltv carries no meaning and must not be reported as a pass or a fail.
3
read-property-pdf
Retrieve the valuation report. Returns a JSON envelope containing a base64-encoded, PASSWORD-PROTECTED PDF in encrypted_pdf — not an application/pdf body, and the API does not supply the password. Backed by a legacy Landcor SOAP webservice: an undeclared 404 means the PID could not be resolved to assessment area, jurisdiction and roll number, and an undeclared 502 means the upstream SOAP service failed (retry a 502, never a 404).

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Landcor — loan-to-value check and valuation report
  summary: Run a proposed mortgage amount against Landcor's AVM value for a BC property and retrieve the password-protected PDF valuation report for the file.
  version: 1.0.0
  description: >-
    The lender / mortgage-broker flow. Authored by API Evangelist from the live Landcor Property
    API OpenAPI 3.1.0 document; every operationId was verified verbatim against
    openapi/landcor-property-api-openapi.json. All steps require an Authorization: Bearer token,
    for which Landcor publishes no issuance route.
  x-realizes-capability-ids:
  - BC-4970
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4970
      capability_name: Real Estate Valuation & Appraisal Management
      spec: landcor-valuation-api-openapi.yml
      confidence: 0.8
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: propertyApi
  url: ../openapi/landcor-property-api-openapi.yml
  type: openapi
- name: valuationApi
  url: ../openapi/landcor-valuation-api-openapi.yml
  type: openapi
workflows:
- workflowId: ltv-check-and-report
  summary: PID plus a proposed loan amount in; AVM band, LTV verdict and the encrypted PDF report out.
  description: >-
    The AVM range is read BEFORE the LTV check on purpose — the check returns only booleans
    (has_avm, avm_exceeds_ltv) and never the valuation itself, so without step 1 you can report a
    verdict but not the number behind it.
  inputs:
    type: object
    required: [pid, ltv_amount]
    properties:
      pid:
        type: string
        pattern: ^\d{3}-\d{3}-\d{3}$
        description: Landcor property identifier in xxx-xxx-xxx form. Resolve it first with the address-to-valuation workflow.
      ltv_amount:
        type: number
        description: Proposed loan amount to test against the AVM value.
  steps:
  - stepId: read-valuation-range
    description: Current AVM low/high band for the subject property.
    operationId: read_valuation_range_valuationRange__pid__get
    parameters:
    - name: pid
      in: path
      value: $inputs.pid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      low_range_value: $response.body#/low_range_value
      high_range_value: $response.body#/high_range_value
  - stepId: run-ltv-check
    description: >-
      Stateless comparison — this POST creates nothing. Read has_avm first: false means Landcor
      holds no AVM value for the PID, in which case avm_exceeds_ltv carries no meaning and must
      not be reported as a pass or a fail.
    operationId: run_ltv_check_valuation_ltv_check_post
    requestBody:
      contentType: application/json
      payload:
        pid: $inputs.pid
        ltv_amount: $inputs.ltv_amount
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      has_avm: $response.body#/has_avm
      avm_exceeds_ltv: $response.body#/avm_exceeds_ltv
      ltv_amount: $response.body#/ltv_amount
  - stepId: read-property-pdf
    description: >-
      Retrieve the valuation report. Returns a JSON envelope containing a base64-encoded,
      PASSWORD-PROTECTED PDF in encrypted_pdf — not an application/pdf body, and the API does not
      supply the password. Backed by a legacy Landcor SOAP webservice: an undeclared 404 means the
      PID could not be resolved to assessment area, jurisdiction and roll number, and an
      undeclared 502 means the upstream SOAP service failed (retry a 502, never a 404).
    operationId: read_property_pdf_property__pid__report_pdf_get
    parameters:
    - name: pid
      in: path
      value: $inputs.pid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      encrypted_pdf: $response.body#/encrypted_pdf
      aa_code: $response.body#/aa_code
      j_code: $response.body#/j_code
      roll_number: $response.body#/roll_number
      valuation: $response.body#/valuation
  outputs:
    valuation_low: $steps.read-valuation-range.outputs.low_range_value
    valuation_high: $steps.read-valuation-range.outputs.high_range_value
    has_avm: $steps.run-ltv-check.outputs.has_avm
    avm_exceeds_ltv: $steps.run-ltv-check.outputs.avm_exceeds_ltv
    encrypted_pdf: $steps.read-property-pdf.outputs.encrypted_pdf
    roll_number: $steps.read-property-pdf.outputs.roll_number

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/landcor-ltv-check-and-report"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.