Purplebricks Valuations API

Free-valuation funnel service: valuation intent capture, lead capture, postcode resolution, valuation reports, follow-up scheduling and a Salesforce diary pilot, plus a v2 valuation surface. This is the API behind the book-your-free-valuation journey that opens every Purplebricks seller relationship.

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/purplebricks-valuations-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

purplebricks-valuations-v1-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Purplebricks.Valuations.Api 1.0 - Core
  description: '### The new home for accessing the valuations service library

    ### [Purplebricks.Valuations.Api Git Repository](https://dev.azure.com/purplebricks/BackEnd/_git/valuations-api)'
  version: '1.0'
servers:
- url: https://api.purplebricks.co.uk/valuations-api
paths:
  /v1/followup:
    post:
      tags:
      - FollowUp
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/followup/reschedule:
    post:
      tags:
      - FollowUp
      parameters:
      - name: userId
        in: query
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/followup/updateleadtemp:
    post:
      tags:
      - FollowUp
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/followup/toaction:
    get:
      tags:
      - FollowUp
      parameters:
      - name: userId
        in: query
        schema:
          type: integer
          format: int32
      - name: nextFollowUpDateLimit
        in: query
        schema:
          type: string
      - name: userFullNameFilter
        in: query
        schema:
          type: string
      - name: addressFilter
        in: query
        schema:
          type: string
      - name: pageNumber
        in: query
        schema:
          type: integer
          format: int32
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
      - name: temperatureFilter
        in: query
        schema:
          type: string
      - name: packageNameFilter
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedValuationFollowUpViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedValuationFollowUpViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedValuationFollowUpViewModel'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/followup/lpplist:
    get:
      tags:
      - FollowUp
      parameters:
      - name: userId
        in: query
        schema:
          type: integer
          format: int32
      - name: orderBy
        in: query
        schema:
          $ref: '#/components/schemas/Purplebricks.Valuations.Contract.Enums.LppSummaryOrderBy'
      - name: pageNumber
        in: query
        schema:
          type: integer
          format: int32
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedLppSummaryListViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedLppSummaryListViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedLppSummaryListViewModel'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/followup/alterdateforproperty:
    post:
      tags:
      - FollowUp
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.FollowUpDateForPropertyInputModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.FollowUpDateForPropertyInputModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.FollowUpDateForPropertyInputModel'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/leadcapture:
    post:
      tags:
      - LeadCapture
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.LeadCaptureInputModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.LeadCaptureInputModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.LeadCaptureInputModel'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.LeadCaptureViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.LeadCaptureViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.LeadCaptureViewModel'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/postcode/isintrialregion:
    get:
      tags:
      - PostCode
      parameters:
      - name: postCode
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: boolean
            application/json:
              schema:
                type: boolean
            text/json:
              schema:
                type: boolean
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/postcode/isintrialregionbyeventid:
    get:
      tags:
      - PostCode
      parameters:
      - name: eventId
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: boolean
            application/json:
              schema:
                type: boolean
            text/json:
              schema:
                type: boolean
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/salesforcediarypilot/isindiarymanagementtrial/{postcode}:
    get:
      tags:
      - SalesforceDiaryPilot
      parameters:
      - name: postcode
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: boolean
            application/json:
              schema:
                type: boolean
            text/json:
              schema:
                type: boolean
  /v1/creatio/users/{userId}/valuations:
    get:
      tags:
      - Users
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.CreatioValuationDetail'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.CreatioValuationDetail'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.CreatioValuationDetail'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '500':
          description: Server Error
  /v1/valuationintent/getredirecturl:
    get:
      tags:
      - ValuationIntent
      parameters:
      - name: intent
        in: query
        schema:
          type: string
      - name: propertyId
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /v1/valuationintent/shoulduseinstantvaluationflow:
    get:
      tags:
      - ValuationIntent
      parameters:
      - name: propertyId
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.IsInstantValuationViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.IsInstantValuationViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.IsInstantValuationViewModel'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '500':
          description: Server Error
  /v1/valuationintent/wasinstantvaluation:
    get:
      tags:
      - ValuationIntent
      parameters:
      - name: propertyId
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.WasInstantValuationViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.WasInstantValuationViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.WasInstantValuationViewModel'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '500':
          description: Server Error
  /v1/valuationintent/getpostdataharvestingredirect:
    get:
      tags:
      - ValuationIntent
      parameters:
      - name: propertyId
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.GetPostDataHarvestingRedirectViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.GetPostDataHarvestingRedirectViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.GetPostDataHarvestingRedirectViewModel'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '500':
          description: Server Error
  /v1/valuationintent/bookinguserdata:
    post:
      tags:
      - ValuationIntent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '500':
          description: Server Error
  /v1/valuationintent/requestvaluationavailability:
    post:
      tags:
      - ValuationIntent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '500':
          description: Server Error
  /v1/valuationreport/{id}:
    get:
      tags:
      - ValuationReport
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.ValuationReportViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.ValuationReportViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.ValuationReportViewModel'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
components:
  schemas:
    Microsoft.AspNetCore.Mvc.ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    Purplebricks.Valuations.Api.Models.ComparablePropertyViewModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        address:
          type: string
          nullable: true
        features:
          type: string
          nullable: true
        price:
          type: number
          format: double
        date:
          type: string
          format: date-time
          nullable: true
        bedrooms:
          type: integer
          format: int32
        comparablePropertyType:
          type: string
          nullable: true
        marketState:
          $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.Enums.ComparablePropertyMarketState'
      additionalProperties: false
    Purplebricks.Valuations.Api.Models.GetPostDataHarvestingRedirectViewModel:
      type: object
      properties:
        redirectUrl:
          typ

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/purplebricks/refs/heads/main/openapi/purplebricks-valuations-v1-openapi.yml