Purplebricks Property API

The largest of the publicly-reachable Purplebricks microservice APIs (86 v1 paths plus an 11-path v2), covering the property record end to end: active, preactive, inactive and withdrawn properties, property boxes, owners, address lookup, go-to-market and instant-instruct flows, tracked properties, property search hits, seller and agent dashboards, exposure, performance and internal performance reports, property questionnaire forms, railway-station proximity, Countrywide and Land Registry lookups. Bearer-token protected and undocumented outside the live Swagger UI it serves itself.

OpenAPI Specification

purplebricks-property-v1-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Purplebricks Property API 1.0 - Platform
  description: '### All Ex Uber Property related controllers are here.

    ### [Purplebricks Property API Git Repository](https://dev.azure.com/purplebricks/BackEnd/_git/property-api)'
  version: '1.0'
servers:
- url: https://api.purplebricks.co.uk/property-api
paths:
  /v1/activeproperty/{id}:
    get:
      tags:
      - ActiveProperty
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivePropertyViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivePropertyViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivePropertyViewModel'
  /v1/activitydashboard/getactivitydocument:
    get:
      tags:
      - ActivityDashboard
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.CosmosDb.Documents.ActivityDashboard.ActivityDashboardDocument'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.CosmosDb.Documents.ActivityDashboard.ActivityDashboardDocument'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.CosmosDb.Documents.ActivityDashboard.ActivityDashboardDocument'
  /v1/activitydashboard/getpropertiesbyuserid:
    get:
      tags:
      - ActivityDashboard
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivityDashboard.ActivityDashboardPropertyModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivityDashboard.ActivityDashboardPropertyModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivityDashboard.ActivityDashboardPropertyModel'
  /v1/activitydashboard/getpropertynotificationcount:
    get:
      tags:
      - ActivityDashboard
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivityDashboard.ActivityDashboardTotalsModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivityDashboard.ActivityDashboardTotalsModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ActivityDashboard.ActivityDashboardTotalsModel'
  /v1/address/createaddress:
    post:
      tags:
      - Address
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.AddressInputModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.AddressInputModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.AddressInputModel'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: integer
                format: int32
            application/json:
              schema:
                type: integer
                format: int32
            text/json:
              schema:
                type: integer
                format: int32
  /v1/bland/property/{propertyId}:
    get:
      tags:
      - Bland
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Bland.BlandPropertyViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Bland.BlandPropertyViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Bland.BlandPropertyViewModel'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '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'
        '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'
        '500':
          description: Server Error
  /v1/bland/property:
    post:
      tags:
      - Bland
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Api.Controllers.V1.BlandController+BlandPropertyRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Api.Controllers.V1.BlandController+BlandPropertyRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Api.Controllers.V1.BlandController+BlandPropertyRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Bland.BlandPropertyViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Bland.BlandPropertyViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Bland.BlandPropertyViewModel'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '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'
        '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'
        '500':
          description: Server Error
  /v1/countrywide/jobresult:
    post:
      tags:
      - Countrywide
      parameters:
      - name: Authorization
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.Countrywide.JobResultRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.Countrywide.JobResultRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.Countrywide.JobResultRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Countrywide.JobResultResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Countrywide.JobResultResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Countrywide.JobResultResponse'
        '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'
        '500':
          description: Server Error
  /v1/dashboard:
    get:
      tags:
      - Dashboard
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Dashboard.MyPropertiesViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Dashboard.MyPropertiesViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.Dashboard.MyPropertiesViewModel'
  /v1/dashboard/externallinks:
    get:
      tags:
      - Dashboard
      parameters:
      - name: propertyId
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PropertyExternalLinksViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PropertyExternalLinksViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.PropertyExternalLinksViewModel'
        '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'
        '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'
        '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'
        '500':
          description: Server Error
  /v1/exposurereport/{propertyId}:
    get:
      tags:
      - ExposureReport
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
        '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/exposurereport/{propertyId}/history:
    get:
      tags:
      - ExposureReport
      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.Property.Business.ViewModels.ExposureReportSummary'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportSummary'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportSummary'
        '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/exposurereport/{propertyId}/{reportId}:
    get:
      tags:
      - ExposureReport
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: reportId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
        '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/exposurereport/{propertyId}/week-{weekNumber}:
    get:
      tags:
      - ExposureReport
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: weekNumber
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ExposureReportResponse'
        '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/exposurereport/{propertyId}/market:
    get:
      tags:
      - ExposureReport
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.MarketData'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.MarketData'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.MarketData'
        '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/exposurereport/{propertyId}/generate:
    post:
      tags:
      - ExposureReport
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '202':
          description: Success
        '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'
        '409':
          description: Conflict
          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/gotomarket/{propertyId}/progress:
    get:
      tags:
      - GoToMarket
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.GoToMarketViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.GoToMarketViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.GoToMarketViewModel'
        '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'
        '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'
        '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'
        '500':
          description: Server Error
  /v1/gotomarket/{propertyId}/boardandkeysafepreference:
    post:
      tags:
      - GoToMarket
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.BoardAndKeySafePreferenceRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.BoardAndKeySafePreferenceRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.BoardAndKeySafePreferenceRequest'
      responses:
        '200':
          description: Success
        '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'
        '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'
        '500':
          description: Server Error
  /v1/gotomarket/{propertyId}/propertytaxband:
    post:
      tags:
      - GoToMarket
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.TaxBandCreationRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.TaxBandCreationRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Purplebricks.Property.Business.InputModels.TaxBandCreationRequest'
      responses:
        '200':
          description: Success
        '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'
        '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'
        '500':
          description: Server Error
  /v1/gotomarket/{propertyId}/getimageuploaddetails:
    get:
      tags:
      - GoToMarket
      parameters:
      - name: propertyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: imageCount
        in: query
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ImageUploadViewModel'
            application/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ImageUploadViewModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Purplebricks.Property.Business.ViewModels.ImageUploadViewModel'
        '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: '#/com

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