---
title: "WorkspaceDto"
url: "https://developer.pexa.co.uk/apis/workspace-v1-v1/versions/32819e5a-6411-493b-abe8-00b7c7ca6c77/schemas/WorkspaceDto"
---

> Full API specification: https://developer.pexa.co.uk/apis/workspace-v1-v1/versions/32819e5a-6411-493b-abe8-00b7c7ca6c77.md

# WorkspaceDto

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Workspace
  version: v1.3.0
servers:
  - url: https://api.pexa.co.uk
    description: API Gateway URL
components:
  schemas:
    WorkspaceDto:
      type: object
      properties:
        workspaceId:
          type: string
          format: uuid
        workspaceReferenceId:
          type: string
          example: PEXA210000012
        status:
          type: string
          pattern: ^(CREATED|PREPARED|FUNDS_AUTHORISED|FUNDS_EXCHANGED|LODGED|REQUISITIONED|CLOSED|CANCELLED)$
          description: >
            Allowed values: [`CREATED`, `PREPARED`, `FUNDS_AUTHORISED`,
            `FUNDS_EXCHANGED`, `LODGED`, `REQUISITIONED`, `CLOSED`, `CANCELLED`]
        transactionType:
          type: string
          pattern: ^(REMORTGAGE|PURCHASE)$
          description: |
            Transaction Type:
             * REMORTGAGE
             * PURCHASE
        reference:
          type: string
          example: "109344235"
        jurisdiction:
          type: string
          pattern: ^(ENGLAND_WALES)$
          example: ENGLAND_WALES
          description: |
            Jurisdiction:
             * `ENGLAND_WALES` - England/Wales
        createdAt:
          type: string
          format: date-time
        completionDate:
          type: string
          format: 2022-08-01
        securityAddress:
          required:
            - postcode
          type: object
          properties:
            securityAddressId:
              type: string
              format: uuid
              readOnly: true
              example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
            name:
              maxLength: 50
              minLength: 0
              type: string
              example: 1 The House
            number:
              maxLength: 4
              minLength: 0
              type: string
              example: 123a
            flat:
              maxLength: 30
              minLength: 0
              type: string
              example: Flat 32
            street:
              maxLength: 60
              minLength: 0
              type: string
              example: Huddersfield
            town:
              maxLength: 30
              minLength: 0
              type: string
              example: West Yorkshire
            postcode:
              maxLength: 8
              minLength: 6
              type: string
              example: M16 0RA
              pattern: ^(([Gg][Ii][Rr]
                0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9][A-Za-z]?))))\s[0-9][A-Za-z]{2}))$
        auditDetails:
          required:
            - status
          type: object
          properties:
            enhancedDueDiligence:
              required:
                - id
                - status
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - ACCEPTED
                    - REFERRED
                    - DECLINED
            status:
              type: string
              enum:
                - AWAITING_REVIEW
                - UNDER_REVIEW
                - ACCEPTED
                - DECLINED
        parties:
          type: array
          items:
            type: object
            required:
              - type
            properties:
              partyId:
                type: string
                format: uuid
                readOnly: true
              role:
                type: string
                pattern: ^(BORROWER|BUYER|SELLER|OUTGOING_PROPRIETOR|OUTGOING_LENDER)$
                example: BORROWER
                description: >
                  Allowed values: [`BORROWER`, `BUYER`, `SELLER`,
                  `OUTGOING_PROPRIETOR`, `OUTGOING_LENDER`]
              proprietorMatchStatus:
                type: array
                items:
                  type: string
                  pattern: ^(MATCH|NAME_MISMATCH|PENDING|PROPRIETOR_NAME_CHANGE_REQUIRED|TYPE_MISMATCH|REGISTRATION_NUMBER_MISMATCH|NOT_REQUIRED|PARTY_NAME_UPDATED)$
                  example: NAME_MISMATCH
                  description: >
                    Allowed values: [`MATCH`, `NAME_MISMATCH`, `PENDING`,
                    `PROPRIETOR_NAME_CHANGE_REQUIRED`, `TYPE_MISMATCH`,
                    `REGISTRATION_NUMBER_MISMATCH`, `NOT_REQUIRED`,
                    `PARTY_NAME_UPDATED`]
              type:
                type: string
                pattern: ^(INDIVIDUAL|ORGANISATION)$
                example: INDIVIDUAL
                description: |
                  Allowed values: [`INDIVIDUAL`, `ORGANISATION`]
              partyDetails:
                oneOf:
                  - type: object
                    required:
                      - forenames
                      - surname
                    properties:
                      forenames:
                        maxLength: 90
                        minLength: 1
                        type: string
                        example: James Thomas
                        pattern: ^[A-Za-z][A-Za-z\- ']*$
                      surname:
                        maxLength: 50
                        minLength: 1
                        type: string
                        example: Smith
                        pattern: ^[A-Za-z][A-Za-z\- ']*$
                  - type: object
                    required:
                      - organisationName
                      - registrationNumber
                      - organisationType
                    properties:
                      organisationName:
                        maxLength: 160
                        minLength: 1
                        type: string
                        example: My Organisation
                        pattern: ^[a-zA-ZÀ-ÖØ-öø-ſĀ-ıĴ-ľŁ-ŉŊ-ŏŐ-őŒ-žǼǺǾẀẂẄỲǽǻǿẁẃẅỳ\d&@£$€¥#‘’'(){}<>!«»“”"\[\]?*=%+\s.,:\/;\\-]+$
                      registrationNumber:
                        type: string
                        minLength: 6
                        maxLength: 8
                        pattern: ^[A-Z0-9]+$
                        example: ABCD1234
                      organisationType:
                        maxLength: 200
                        minLength: 1
                        type: string
                        pattern: ^(LIMITED_COMPANY)$
                        example: LIMITED_COMPANY
                        description: |
                          Organisation Type:
                           * `LIMITED_COMPANY`
              representationType:
                type: string
                pattern: ^(NO_REPRESENTATION|DUAL_REPRESENTATION|SEPARATE_REPRESENTATION)$
                example: NO_REPRESENTATION
                description: >
                  Allowed values: [`NO_REPRESENTATION`, `DUAL_REPRESENTATION`,
                  `SEPARATE_REPRESENTATION`]
              representationId:
                type: string
                format: uuid
              representativeType:
                type: string
                pattern: ^(EXTERNAL_LAW_FIRM|PARTICIPANT)$
                example: EXTERNAL_LAW_FIRM
                description: |
                  Allowed values: [`EXTERNAL_LAW_FIRM`, `PARTICIPANT`]
              sourceProprietorId:
                type: string
                format: uuid
              addresses:
                type: array
                items:
                  type: object
                  required:
                    - type
                    - details
                  properties:
                    type:
                      type: string
                      pattern: ^(REGISTERED_ADDRESS)$
                      description: |
                        Address Type:
                         * `REGISTERED_ADDRESS`
                    details:
                      required:
                        - postcode
                      type: object
                      properties:
                        addressId:
                          type: string
                          format: uuid
                          readOnly: true
                          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                        name:
                          maxLength: 50
                          minLength: 0
                          type: string
                          example: 1 The House
                        number:
                          maxLength: 4
                          minLength: 0
                          type: string
                          example: 123a
                        flat:
                          maxLength: 30
                          minLength: 0
                          type: string
                          example: Flat 32
                        street:
                          maxLength: 60
                          minLength: 0
                          type: string
                          example: Huddersfield
                        town:
                          maxLength: 30
                          minLength: 0
                          type: string
                          example: West Yorkshire
                        postcode:
                          maxLength: 8
                          minLength: 6
                          type: string
                          example: M16 0RA
                          pattern: ^(([Gg][Ii][Rr]
                            0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9][A-Za-z]?))))\s[0-9][A-Za-z]{2}))$
              verificationOfIdentity:
                type: string
                pattern: ^(LAW_FIRM_CERTIFIED|IDENTITY_EVIDENCE)$
                example: LAW_FIRM_CERTIFIED
                description: |
                  Allowed values: [`LAW_FIRM_CERTIFIED`, `IDENTITY_EVIDENCE`]
        references:
          type: array
          items:
            type: object
            required:
              - referenceNumber
              - representativeRole
            properties:
              referenceId:
                type: string
                format: uuid
                readOnly: true
              representativeId:
                type: string
                format: uuid
              referenceNumber:
                maxLength: 25
                minLength: 1
                type: string
                example: "123456"
              representativeRole:
                type: string
                pattern: ^(BORROWER_REPRESENTATIVE|INCOMING_LENDER|INCOMING_LENDER_REPRESENTATIVE|WORKSPACE_LAW_FIRM|BUYER_REPRESENTATIVE|SELLER_REPRESENTATIVE|OUTGOING_PROPRIETOR_REPRESENTATIVE)$
                example: BORROWER_REPRESENTATIVE
                description: >
                  Representative role: [`BORROWER_REPRESENTATIVE`,
                  `INCOMING_LENDER`, `INCOMING_LENDER_REPRESENTATIVE`,
                  `WORKSPACE_LAW_FIRM`, `BUYER_REPRESENTATIVE`,
                  `SELLER_REPRESENTATIVE`, `OUTGOING_PROPRIETOR_REPRESENTATIVE`]
                  <br> Note - Representative role `WORKSPACE_LAW_FIRM` will be
                  replaced with `INCOMING_LENDER_REPRESENTATIVE` soon
        readyForApproval:
          type: boolean
          default: false
          description: flag to indicate if the workspace is ready to be approved status.
        participants:
          type: array
          items:
            type: object
            required:
              - subscriberId
              - role
            properties:
              participantId:
                type: string
                format: uuid
                readOnly: true
              subscriberId:
                type: string
                format: uuid
              role:
                type: string
                pattern: ^(INCOMING_LENDER|BUYER_REPRESENTATIVE|SELLER_REPRESENTATIVE|INCOMING_LENDER_REPRESENTATIVE)$
                description: >
                  Allowed values: [`INCOMING_LENDER`, `BUYER_REPRESENTATIVE`,
                  `SELLER_REPRESENTATIVE`, `INCOMING_LENDER_REPRESENTATIVE`]
        canBeUnapproved:
          type: boolean
          default: false
          description: flag to indicate if the workspace can be unapproved.
        hardLocked:
          type: boolean
          default: false
          description: workspace hardlocked status.
        isLocked:
          type: boolean
          default: false
          description: flag to indicate if the workspace can be soft locked.
        canBeCancelled:
          type: boolean
          default: false
          description: flag to indicate if the workspace can be cancelled.
        borrowersValidationStatus:
          type: string
          pattern: ^(VALID|INVALID|PENDING|COUNT_INVALID|TYPE_INVALID|NOT_REQUIRED|UNSUPPORTED_TYPE)$
          description: >
            Allowed values: [`VALID`, `INVALID`, `PENDING`, `COUNT_INVALID`,
            `TYPE_INVALID`, `NOT_REQUIRED`, `UNSUPPORTED_TYPE`]
        remarks:
          type: object
          required:
            - cancellationReason
          properties:
            cancellationReason:
              type: string
              pattern: ^(APPLICANT_DECIDED_NOT_TO_PROCEED|TITLE_COMPLICATIONS_OUTSIDE_PEXA_SCOPE|LAW_FIRM_NO_LONGER_ACTING|LENDER_DECIDED_NOT_TO_PROCEED|LOAN_INVOLVES_MULTIPLE_TITLES|OTHER)$
              description: >
                Allowed values: [`APPLICANT_DECIDED_NOT_TO_PROCEED`,
                `TITLE_COMPLICATIONS_OUTSIDE_PEXA_SCOPE`,
                `LAW_FIRM_NO_LONGER_ACTING`, `LENDER_DECIDED_NOT_TO_PROCEED`,
                `LOAN_INVOLVES_MULTIPLE_TITLES`, `OTHER`]
            cancellationNotesForOther:
              maxLength: 100
              minLength: 1
              type: string
              example: Title complications outside PEXA scope
            actionedAt:
              type: string
              example: 2024-03-14T09:48:59.698092Z
        transferOfEquity:
          type: boolean
          default: false
          description: flag to indicate if the workspace features transfer of equity
        subscriberId:
          type: string
          format: uuid
          description: Subscriber Id of workspace creator
```
