Sprift · Arazzo Workflow

Sprift — valuation evidence pack

Version 1.0.0

Resolve a UPRN to Sprift's internal property ID, then collect the price estimate, unified comparables, recently sold evidence and live for-sale stock.

1 workflow 1 source API 1 provider
View Spec View on GitHub Real EstateUnited KingdomPropTechProperty DataProperty ListingsValuationAVMLand RegistryConveyancingRentalsMortgageArazzoWorkflows

Provider

sprift

Workflows

valuation-evidence-pack
UPRN → propertyID → estimate + comparables + sold + for sale
5 steps inputs: apiKey, comparableStatus, uprn outputs: comparables, estimatedPrice, soldProperties
1
resolve-property-id
$sourceDescriptions.sprift.Property-ID
Convert the UPRN into Sprift's internal property ID.
2
price-estimate
$sourceDescriptions.sprift.Property-Price-Estimate
The only valuation surface in the published contract.
3
comparables
$sourceDescriptions.sprift.PropertyDetails-Comparables
Unified comparables for the UPRN.
4
recently-sold
$sourceDescriptions.sprift.PropertyDetails-RS
Achieved prices near the property, with price per square foot.
5
currently-for-sale
$sourceDescriptions.sprift.PropertyDetails-CFS-UO
Live asking-price stock near the property.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Sprift — valuation evidence pack
  version: 1.0.0
  summary: >-
    Resolve a UPRN to Sprift's internal property ID, then collect the price estimate,
    unified comparables, recently sold evidence and live for-sale stock.
  description: >-
    Authored by API Evangelist from Sprift's published Swagger 2.0 contract. Entirely
    read-only. Note the identifier split: the comparables operation takes the UPRN
    while the estimate, sold and for-sale operations take Sprift's internal integer
    propertyID, which is why the first step exists.
sourceDescriptions:
- name: sprift
  url: ../openapi/sprift-openapi.json
  type: openapi
workflows:
- workflowId: valuation-evidence-pack
  summary: UPRN → propertyID → estimate + comparables + sold + for sale
  inputs:
    type: object
    required:
    - apiKey
    - uprn
    - comparableStatus
    properties:
      apiKey:
        type: string
        description: Sprift API key, sent as the SPRIFT-API-KEY header.
      uprn:
        type: integer
        description: Unique Property Reference Number.
      comparableStatus:
        type: string
        description: >-
          The comparable type segment for GET /property/{uprn}/{status}. The contract
          declares this as a free string with no enumeration; an unrecognised value
          returns HTTP 400 "Unknown comparable type". Obtain the valid set from Sprift
          support.
  steps:
  - stepId: resolve-property-id
    description: Convert the UPRN into Sprift's internal property ID.
    operationId: $sourceDescriptions.sprift.Property-ID
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: uprn
      in: path
      value: $inputs.uprn
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      propertyId: $response.body#/property_id
  - stepId: price-estimate
    description: The only valuation surface in the published contract.
    operationId: $sourceDescriptions.sprift.Property-Price-Estimate
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: propertyID
      in: path
      value: $steps.resolve-property-id.outputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      estimatedPrice: $response.body#/estimatedPrice
      rentalEstimate: $response.body#/rentalEstimate
      yield: $response.body#/yield
  - stepId: comparables
    description: Unified comparables for the UPRN.
    operationId: $sourceDescriptions.sprift.PropertyDetails-Comparables
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: uprn
      in: path
      value: $inputs.uprn
    - name: status
      in: path
      value: $inputs.comparableStatus
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      comparables: $response.body#/properties
  - stepId: recently-sold
    description: Achieved prices near the property, with price per square foot.
    operationId: $sourceDescriptions.sprift.PropertyDetails-RS
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: propertyID
      in: path
      value: $steps.resolve-property-id.outputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      soldProperties: $response.body#/sold_properties
  - stepId: currently-for-sale
    description: Live asking-price stock near the property.
    operationId: $sourceDescriptions.sprift.PropertyDetails-CFS-UO
    parameters:
    - name: SPRIFT-API-KEY
      in: header
      value: $inputs.apiKey
    - name: propertyID
      in: path
      value: $steps.resolve-property-id.outputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      comparables: $response.body#/comparables
  outputs:
    estimatedPrice: $steps.price-estimate.outputs.estimatedPrice
    comparables: $steps.comparables.outputs.comparables
    soldProperties: $steps.recently-sold.outputs.soldProperties