Purplebricks Properties API

The Properties API from Purplebricks — 2 operation(s) for properties.

Operations 2

GET /v1/properties/{propertyId} Returns the basic details of a property for which a viewing appointment can be booked against.
GET /v1/creatio/properties/{propertyId}/viewings

Documentation

Specifications

Other Resources

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-properties-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

purplebricks-properties-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Purplebricks.Viewings.Api 1.0 - Customer Experience Properties API
  description: '### Purplebricks Viewings API.

    ### [Purplebricks.Viewings.Api Git Repository](https://dev.azure.com/purplebricks/BackEnd/_git/viewings)'
  version: '1.0'
servers:
- url: https://api.purplebricks.co.uk/viewings-api
security:
- Bearer: []
tags:
- name: Properties
paths:
  /v1/properties/{propertyId}:
    get:
      tags:
      - Properties
      summary: Returns the basic details of a property for which a viewing appointment can be booked against.
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The property was successfully retrieved.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.PropertyViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.PropertyViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.PropertyViewModel'
        '404':
          description: The property could not be 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/creatio/properties/{propertyId}/viewings:
    get:
      tags:
      - Properties
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Viewings.Business.Models.ViewingDetail'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Viewings.Business.Models.ViewingDetail'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Viewings.Business.Models.ViewingDetail'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '500':
          description: Server Error
components:
  schemas:
    Purplebricks.Viewings.Business.Models.ViewingDetail:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.AddressViewModel'
        viewingDate:
          type: string
          format: date-time
        status:
          type:
          - string
          - 'null'
        isSales:
          type: boolean
        conductingAppointment:
          type:
          - string
          - 'null'
        viewingId:
          type: integer
          format: int32
        propertyId:
          type: integer
          format: int32
        viewer:
          $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.EventUserDetailsViewModel'
        host:
          $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.EventUserDetailsViewModel'
        seller:
          $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.EventUserDetailsViewModel'
      additionalProperties: false
    Purplebricks.DatabaseModel.Enumerations.WorkflowStepType:
      enum:
      - Create
      - BookValuation
      - Valuation
      - Instruct
      - CreateAdvert
      - RejectAdvert
      - AmendAdvert
      - ApproveAdvert
      - SchedulePendingRegCert
      - Schedule
      - PublishPendingRegCert
      - Publish
      - Withdraw
      - Suspend
      - SuspendByUser
      - SuspendAccount
      - UnderOffer
      - SoldSubjectToContract
      - DiyAdvertStarted
      - LetSubjectToContract
      - DeclineOffer
      - UpdateProperty
      - AcceptableOffer
      - ApplicationReceived
      - AcceptableOfferNotMarketed
      - WithdrawOffer
      - UpdateAdvert
      - DiyAdvertCreated
      - DiyAdvertRejected
      - ApprovePhoto
      - ContractsExchanged
      - Completion
      - DiyAdvertAmended
      - DiyAdvertRejectAmendments
      - SchedulePendingContract
      - PublishPendingContract
      - UpdatePropertyDiary
      - ContractsExchangedCoolingOffPeriod
      - ForceSold
      - ForceSoldSubjectToContract
      - ForceContractsExchanged
      - ForceCompletion
      - SoldSubjectToEscrow
      - PendingEscrow
      - Closing
      - ForceAcceptableOffer
      - ForceAcceptableOfferNotMarketed
      - ForceContractsExchangedCoolingOffPeriod
      - InstantValuation
      - FakeValuation
      - Cancelled
      type: string
    Purplebricks.Viewings.Business.Models.BookingRequestStatus:
      enum:
      - SlotNotAvailable
      - Confirmed
      - AwaitingConfirmation
      - PropertySold
      - PropertyWithdrawn
      type: string
    Purplebricks.Viewings.Business.ViewModels.PropertyViewModel:
      type: object
      properties:
        propertyId:
          type:
          - integer
          - 'null'
          format: int32
        listingId:
          type:
          - string
          - 'null'
        toLet:
          type: boolean
        street:
          type:
          - string
          - 'null'
        town:
          type:
          - string
          - 'null'
        county:
          type:
          - string
          - 'null'
        postcode:
          type:
          - string
          - 'null'
        fullAddress:
          type:
          - string
          - 'null'
        tenancyChecksViewModel:
          $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.TenancyChecksViewModel'
        email:
          type:
          - string
          - 'null'
        loggedIn:
          type: boolean
        existingCustomer:
          type:
          - boolean
          - 'null'
        propertyToSell:
          type:
          - boolean
          - 'null'
        saleProgression:
          $ref: '#/components/schemas/Purplebricks.DatabaseModel.Enumerations.Offer.SaleProgressOption'
        portal:
          $ref: '#/components/schemas/Purplebricks.DatabaseModel.Enumerations.PortalType'
        lastActionCompleted:
          $ref: '#/components/schemas/Purplebricks.DatabaseModel.Enumerations.WorkflowStepType'
        confirmation:
          $ref: '#/components/schemas/Purplebricks.Viewings.Business.ViewModels.BookViewingConfirmationViewModel'
        mainImageUrl:
          type:
          - string
          - 'null'
        userId:
          type: integer
          format: int32
        closingDate:
          type:
          - string
          - 'null'
          format: date-time
        hasAccompaniedViewing:
          type: boolean
        accompaniedViewingExpertId:
          type:
          - integer
          - 'null'
          format: int32
        expertId:
          type: integer
          format: int32
      additionalProperties: false
    Purplebricks.Viewings.Business.ViewModels.EventUserDetailsViewModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        title:
          type:
          - string
          - 'null'
        forename:
          type:
          - string
          - 'null'
        surname:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
        phone:
          type:
          - string
          - 'null'
      additionalProperties: false
    Purplebricks.Viewings.Business.ViewModels.AddressViewModel:
      type: object
      properties:
        line1:
          type:
          - string
          - 'null'
        line2:
          type:
          - string
          - 'null'
        town:
          type:
          - string
          - 'null'
        county:
          type:
          - string
          - 'null'
        country:
          type:
          - string
          - 'null'
        postcode:
          type:
          - string
          - 'null'
      additionalProperties: false
    Microsoft.AspNetCore.Mvc.ProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
      additionalProperties: {}
    Purplebricks.Viewings.Business.ViewModels.BookViewingConfirmationViewModel:
      type: object
      properties:
        eventId:
          type:
          - integer
          - 'null'
          format: int32
        propertyId:
          type:
          - integer
          - 'null'
          format: int32
        listingId:
          type:
          - string
          - 'null'
        status:
          $ref: '#/components/schemas/Purplebricks.Viewings.Business.Models.BookingRequestStatus'
        bookingProcess:
          $ref: '#/components/schemas/Purplebricks.DatabaseModel.Enumerations.BookingProcess'
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        propertyTimeZone:
          $ref: '#/components/schemas/Purplebricks.DatabaseModel.Enumerations.IanaTimeZone'
        street:
          type:
          - string
          - 'null'
        town:
          type:
          - string
          - 'null'
        county:
          type:
          - string
          - 'null'
        postcode:
          type:
          - string
          - 'null'
        isAccompaniedViewing:
          type: boolean
        hostName:
          type:
          - string
          - 'null'
        hostPhoneNumber:
          type:
          - string
          - 'null'
        expertPhoto:
          type:
          - string
          - 'null'
        trustPilotId:
          type:
          - string
          - 'null'
      additionalProperties: false
    Purplebricks.DatabaseModel.Enumerations.BookingProcess:
      enum:
      - SellerBookValuation
      - BuyerBookViewing
      - CallCentreBookValuation
      - CallCentreBookViewing
      - SellerRearrange
      - BuyerRearrange
      - LpeRearrange
      - LpeBookViewing
      - BuyingAgentBookViewing
      - RemortgageInstantValuation
      - AiVoiceAgent
      - AiWhatsAppAgent
      - AiSmsAgent
      type: string
    Purplebricks.DatabaseModel.Enumerations.PortalType:
      enum:
      - Rightmove
      - Zoopla
      - Globrix
      - PrimeLocation
      - PropertyPal
      - PropertyNews
      - S1Homes
      - Domain
      - RealEstate
      - TradeMe
      type: string
    Purplebricks.DatabaseModel.Enumerations.IanaTimeZone:
      enum:
      - NotSet
      - EuropeLondon
      - AustraliaPerth
      - AustraliaEucla
      - AustraliaAdelaide
      - AustraliaBrokenHill
      - AustraliaDarwin
      - AustraliaBrisbane
      - AustraliaCurrie
      - AustraliaHobart
      - AustraliaLindeman
      - AustraliaMelbourne
      - AustraliaSydney
      - AustraliaLordHowe
      - AntarcticaMacquarie
      - AmericaLosAngeles
      - AmericaNewYork
      - AmericaDetroit
      - AmericaKentuckyLouisville
      - AmericaKentuckyMonticello
      - AmericaIndianaIndianapolis
      - AmericaIndianaVincennes
      - AmericaIndianaWinamac
      - AmericaIndianaMarengo
      - AmericaIndianaPetersburg
      - AmericaIndianaVevay
      - AmericaChicago
      - AmericaIndianaTellCity
      - AmericaIndianaKnox
      - AmericaMenominee
      - AmericaNorthDakotaCenter
      - AmericaNorthDakotaNewSalem
      - AmericaNorthDakotaBeulah
      - AmericaBoise
      - AmericaPhoenix
      - AmericaAnchorage
      - AmericaJuneau
      - AmericaSitka
      - AmericaYakutat
      - AmericaNome
      - AmericaAdak
      - AmericaMetlakatla
      - PacificHonolulu
      - AmericaDenver
      - PacificAuckland
      type: string
    Purplebricks.DatabaseModel.Enumerations.Offer.SaleProgressOption:
      enum:
      - NotOnTheMarket
      - OnTheMarket
      - SSTC
      - Pending
      type: string
    Purplebricks.Viewings.Business.ViewModels.TenancyChecksViewModel:
      type: object
      properties:
        dhsPermitted:
          type: boolean
        petsPermitted:
          type: boolean
        smokersPermitted:
          type: boolean
        dhsBlocked:
          type: boolean
        petsBlocked:
          type: boolean
        smokersBlocked:
          type: boolean
        studentLet:
          type: boolean
        shared:
          type: boolean
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: apiKey
      description: Authorization header using Bearer scheme
      name: Authorization
      in: header