Purplebricks Performance Report API

The Performance Report API from Purplebricks — 4 operation(s) for performance report.

Operations 4

GET /v1/performancereport/{id} Get performancereport by id #
GET /v1/performancereport/getadvertperformance Get performancereport getadvertperformance #
GET /v2/performancereport/{id} Get performancereport by id #
GET /v2/performancereport/getadvertperformance Get performancereport getadvertperformance #

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-performance-report-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-performance-report-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Purplebricks Performance Report API
  version: '1.0'
  description: 'Operations tagged PerformanceReport across 2 of this provider''s published API definitions: purplebricks-property-v1-openapi.yml, purplebricks-property-v2-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.purplebricks.co.uk/property-api
security:
- Bearer: []
tags:
- name: Performance Report
paths:
  /v1/performancereport/{id}:
    get:
      tags:
      - Performance Report
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: userId
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportResult'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportResult'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportResult'
      summary: Get performancereport by id
      x-summary-source: derived
      operationId: getV1PerformancereportById
      x-operation-id-source: derived
    servers:
    - url: https://api.purplebricks.co.uk/property-api
  /v1/performancereport/getadvertperformance:
    get:
      tags:
      - Performance Report
      parameters:
      - name: propertyId
        in: query
        schema:
          type: integer
          format: int32
      - name: from
        in: query
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertResult'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertResult'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertResult'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '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'
      summary: Get performancereport getadvertperformance
      x-summary-source: derived
      operationId: getV1PerformancereportGetadvertperformance
      x-operation-id-source: derived
    servers:
    - url: https://api.purplebricks.co.uk/property-api
  /v2/performancereport/{id}:
    get:
      tags:
      - Performance Report
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: userId
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportResult'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportResult'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportResult'
      summary: Get performancereport by id
      x-summary-source: derived
      operationId: getV2PerformancereportById
      x-operation-id-source: derived
    servers:
    - url: https://api.purplebricks.co.uk/property-api
  /v2/performancereport/getadvertperformance:
    get:
      tags:
      - Performance Report
      parameters:
      - name: propertyId
        in: query
        schema:
          type: integer
          format: int32
      - name: from
        in: query
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertResult'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertResult'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertResult'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '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'
      summary: Get performancereport getadvertperformance
      x-summary-source: derived
      operationId: getV2PerformancereportGetadvertperformance
      x-operation-id-source: derived
    servers:
    - url: https://api.purplebricks.co.uk/property-api
components:
  schemas:
    Purplebricks.Property.Business.ViewModels.Property:
      type: object
      properties:
        address:
          type:
          - string
          - 'null'
        isRegionScotland:
          type: boolean
        toLet:
          type: boolean
        publishDate:
          type:
          - string
          - 'null'
          format: date-time
        marketDate:
          type:
          - string
          - 'null'
          format: date-time
        imageUrl:
          type:
          - string
          - 'null'
        marketPrice:
          type:
          - number
          - 'null'
          format: double
        minAdvertPrice:
          type:
          - integer
          - 'null'
          format: int32
        maxAdvertPrice:
          type:
          - integer
          - 'null'
          format: int32
        priceText:
          type:
          - string
          - 'null'
        lastActionCompleted:
          $ref: '#/components/schemas/Purplebricks.Property.Domain.Enums.WorkflowStepType'
        rentFrequency:
          $ref: '#/components/schemas/Purplebricks.Property.Domain.Enums.RentFrequency'
        isAuction:
          type: boolean
        postcode:
          type:
          - string
          - 'null'
        propertyTypeName:
          type:
          - string
          - 'null'
        latitude:
          type:
          - number
          - 'null'
          format: double
        longitude:
          type:
          - number
          - 'null'
          format: double
      additionalProperties: false
    Purplebricks.Property.Business.ViewModels.Viewing:
      type: object
      properties:
        appointmentReference:
          type:
          - string
          - 'null'
          format: uuid
        dateBooked:
          type: string
          format: date-time
        dateViewed:
          type: string
          format: date-time
        viewerName:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
        viewerId:
          type:
          - integer
          - 'null'
          format: int32
        primaryContactNumber:
          type:
          - string
          - 'null'
        isCancelled:
          type: boolean
        isRearranged:
          type: boolean
        isConfirmed:
          type: boolean
        isAttended:
          type:
          - boolean
          - 'null'
        buyerAdditionalData:
          $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.BuyerData'
        tenantAdditionalData:
          $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.TenantData'
        whoNeedsToConfirm:
          type:
          - string
          - 'null'
        bookingId:
          type: integer
          format: int32
        rearrangedBookingId:
          type:
          - integer
          - 'null'
          format: int32
        feedbackPresentation:
          type:
          - integer
          - 'null'
          format: int32
        feedbackSuitability:
          type:
          - integer
          - 'null'
          format: int32
        feedbackPrice:
          type:
          - integer
          - 'null'
          format: int32
      additionalProperties: false
    Purplebricks.Property.Business.ViewModels.BlockedViewing:
      type: object
      properties:
        userId:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
        attemptDate:
          type: string
          format: date-time
        blockedForPets:
          type: boolean
        blockedForSmoker:
          type: boolean
        blockedForDhs:
          type: boolean
      additionalProperties: false
    Purplebricks.Property.Business.ViewModels.TenantData:
      type: object
      properties:
        lettingTerms:
          type:
          - string
          - 'null'
        employmentStatus:
          type:
          - string
          - 'null'
        poorCreditHistory:
          type:
          - string
          - 'null'
        havePets:
          type:
          - string
          - 'null'
        otherPets:
          type:
          - string
          - 'null'
        isSmoker:
          type:
          - string
          - 'null'
        moveTimeframe:
          type:
          - string
          - 'null'
      additionalProperties: false
    Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertResult:
      type: object
      properties:
        earlierDataAvailable:
          type: boolean
        laterDataAvailable:
          type: boolean
        dates:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertModel'
      additionalProperties: false
    Purplebricks.Property.Business.ViewModels.BuyerData:
      type: object
      properties:
        moveTimeframe:
          type:
          - string
          - 'null'
        timeOnMarket:
          type:
          - string
          - 'null'
        viewingPurpose:
          type:
          - string
          - 'null'
        hasPortfolio:
          type:
          - string
          - 'null'
        propertyToSell:
          type:
          - string
          - 'null'
        saleProgression:
          type:
          - string
          - 'null'
        mortgageRequired:
          type:
          - string
          - 'null'
        mortgageStatus:
          type:
          - string
          - 'null'
      additionalProperties: false
    Purplebricks.Property.Business.ViewModels.AverageFeedbackStatistics:
      type: object
      properties:
        count:
          type: integer
          format: int32
        presentation:
          type: integer
          format: int32
        suitability:
          type: integer
          format: int32
        price:
          type: integer
          format: int32
      additionalProperties: false
    Purplebricks.Property.Domain.Enums.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.Property.Business.ViewModels.PerformanceReportResult:
      type: object
      properties:
        propertyDetails:
          $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Property'
        daysOnMarket:
          type: integer
          format: int32
        numberTracking:
          type: integer
          format: int32
        numberOfNotesOfInterest:
          type: integer
          format: int32
        upcomingViewingsCount:
          type: integer
          format: int32
        attendedViewingsCount:
          type: integer
          format: int32
        upcomingOrAttendedViewingsCount:
          type: integer
          format: int32
        viewingsAwaitingConfirmationCount:
          type: integer
          format: int32
        viewingsCancelledCount:
          type: integer
          format: int32
        unattendedViewingsCount:
          type: integer
          format: int32
        unconfirmedViewingsCancelledCount:
          type: integer
          format: int32
        offersReceivedCount:
          type: integer
          format: int32
        newOffersCount:
          type: integer
          format: int32
        negotiatingOffersCount:
          type: integer
          format: int32
        declinedOffersCount:
          type: integer
          format: int32
        activeOffersCount:
          type: integer
          format: int32
        timesViewed:
          type: integer
          format: int32
        timesViewedLastSeven:
          type: integer
          format: int32
        contractDownloadsCount:
          type: integer
          format: int32
        awaitingFeedbackCount:
          type: integer
          format: int32
        averageFeedback:
          $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.AverageFeedbackStatistics'
        offers:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Offer'
        viewings:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Viewing'
        blockedViewings:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.BlockedViewing'
        rightmovePerformance:
          $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.RightmoveAdvertPerformance'
        notesOfInterestDetails:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.NotesOfInterest'
        upcomingOrAttendedViewings:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Viewing'
        viewingsAwaitingConfirmation:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Viewing'
        viewingsCancelled:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Viewing'
        unconfirmedViewingsCancelled:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Viewing'
        unattendedViewings:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Viewing'
        propertyTimeZone:
          $ref: '#/components/schemas/Purplebricks.Property.Domain.Enums.IanaTimeZone'
      additionalProperties: false
    Purplebricks.Property.Domain.Enums.RentFrequency:
      enum:
      - Yearly
      - Quarterly
      - Monthly
      - Weekly
      - Daily
      type: string
    Purplebricks.Property.Business.ViewModels.RightmoveAdvertPerformance:
      type: object
      properties:
        totalViews:
          type: integer
          format: int32
        viewsInLast7Days:
          type: integer
          format: int32
        totalSearchHits:
          type: integer
          format: int32
        searchHitsInLast7Days:
          type: integer
          format: int32
        totalEnquiries:
          type: integer
          format: int32
        rightmoveEnquiries:
          type: integer
          format: int32
        searchHitsAndViewsLastUpdatedDate:
          type:
          - string
          - 'null'
          format: date-time
        enquiriesLastUpdatedDate:
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: false
    Purplebricks.Property.Domain.Enums.OfferStatus:
      enum:
      - OfferMade
      - Acceptable
      - Declined
      - CounterOfferMade
      - WithdrawOffer
      - Aborted
      - OfferUpdated
      - WithdrawAcceptance
      - WithdrawCounterOffer
      - Accepted
      - ExpertNegotiating
      - ExpertNotNegotiating
      - RenegotiationOfferMade
      - RenegotiationCounterOfferMade
      - RenegotiationOfferWithdrawn
      - RenegotiationCounterOfferWithdrawn
      type: string
    Purplebricks.Property.Domain.Enums.IanaTimeZone:
      enum:
      - Not Set
      - Europe/London
      - Australia/Perth
      - Australia/Eucla
      - Australia/Adelaide
      - Australia/Broken_Hill
      - Australia/Darwin
      - Australia/Brisbane
      - Australia/Currie
      - Australia/Hobart
      - Australia/Lindeman
      - Australia/Melbourne
      - Australia/Sydney
      - Australia/Lord_Howe
      - Antarctica/Macquarie
      - America/Los_Angeles
      - America/New_York
      - America/Detroit
      - America/Kentucky/Louisville
      - America/Kentucky/Monticello
      - America/Indiana/Indianapolis
      - America/Indiana/Vincennes
      - America/Indiana/Winamac
      - America/Indiana/Marengo
      - America/Indiana/Petersburg
      - America/Indiana/Vevay
      - America/Chicago
      - America/Indiana/Tell_City
      - America/Indiana/Knox
      - America/Menominee
      - America/North_Dakota/Center
      - America/North_Dakota/New_Salem
      - America/North_Dakota/Beulah
      - America/Boise
      - America/Phoenix
      - America/Anchorage
      - America/Juneau
      - America/Sitka
      - America/Yakutat
      - America/Nome
      - America/Adak
      - America/Metlakatla
      - Pacific/Honolulu
      - America/Denver
      - Pacific/Auckland
      type: string
    Purplebricks.Property.Business.ViewModels.PerformanceReportAdvertModel:
      type: object
      properties:
        date:
          type: string
          format: date-time
        searches:
          type: integer
          format: int32
        views:
          type: integer
          format: int32
        viewings:
          type: integer
          format: int32
      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.Property.Business.ViewModels.Offer:
      type: object
      properties:
        date:
          type:
          - string
          - 'null'
          format: date-time
        name:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
        userId:
          type:
          - integer
          - 'null'
          format: int32
        price:
          type: number
          format: double
        status:
          $ref: '#/components/schemas/Purplebricks.Property.Domain.Enums.OfferStatus'
      additionalProperties: false
    Purplebricks.Property.Business.ViewModels.NotesOfInterest:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        phoneNumber:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
        userId:
          type: integer
          format: int32
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: apiKey
      description: Authorization header using Bearer scheme
      name: Authorization
      in: header
x-refined-from:
- purplebricks-property-v1-openapi.yml
- purplebricks-property-v2-openapi.yml