---
title: "CreateWorkspaceRequest"
url: "https://developer.pexa.co.uk/apis/workspace-v1-v1/versions/f42817f3-815f-4a74-8ba5-2f83efd8ab42/schemas/CreateWorkspaceRequest"
---

> Full API specification: https://developer.pexa.co.uk/apis/workspace-v1-v1/versions/f42817f3-815f-4a74-8ba5-2f83efd8ab42.md

# CreateWorkspaceRequest

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Workspace
  version: v1
servers:
  - url: https://api.pexa.co.uk
    description: API Gateway URL
components:
  schemas:
    CreateWorkspaceRequest:
      type: object
      required:
        - transactionType
        - reference
        - property
        - participants
        - parties
      properties:
        transactionType:
          type: string
          pattern: ^(PURCHASE|REMORTGAGE)$
          description: |
            Allowed values: [`PURCHASE`, `REMORTGAGE`]
        reference:
          type: string
          maxLength: 25
          minLength: 1
          example: "109344235"
        property:
          type: object
          required:
            - jurisdiction
            - securityAddress
          properties:
            jurisdiction:
              type: string
              pattern: ^(ENGLAND_WALES)$
              example: ENGLAND_WALES
              description: |
                Jurisdiction:
                 * `ENGLAND_WALES` - England/Wales
            securityAddress:
              type: object
              required:
                - postcode
              properties:
                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}))$
        parties:
          type: array
          description: >
            *minItems: 1 - Organisation borrower Party or 1 - Individual
            borrower Parties* *maxItems: 1 - Organisation borrower Party or 4 -
            Individual borrower Parties*
          items:
            oneOf:
              - type: object
                required:
                  - type
                  - partyDetails
                allOf:
                  - type: object
                    discriminator:
                      propertyName: type
                      mapping:
                        INDIVIDUAL: "#/components/schemas/IndividualDetails"
                        ORGANISATION: "#/components/schemas/OrganisationDetails"
                    properties:
                      role:
                        type: string
                        pattern: ^(BORROWER|BUYER)$
                        description: >
                          Party Role: Allowed values are BUYER for purchase
                          workspace and BORROWER for remortgage workspace
                           * `BORROWER`
                           * `BUYER`
                    required:
                      - role
                properties:
                  type:
                    type: string
                    pattern: ^(INDIVIDUAL)$
                    description: |
                      Party Type:
                       * `INDIVIDUAL`
                  partyDetails:
                    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
                allOf:
                  - type: object
                    discriminator:
                      propertyName: type
                      mapping:
                        INDIVIDUAL: "#/components/schemas/IndividualDetails"
                        ORGANISATION: "#/components/schemas/OrganisationDetails"
                    properties:
                      role:
                        type: string
                        pattern: ^(BORROWER|BUYER)$
                        description: >
                          Party Role: Allowed values are BUYER for purchase
                          workspace and BORROWER for remortgage workspace
                           * `BORROWER`
                           * `BUYER`
                    required:
                      - role
                required:
                  - type
                  - partyDetails
                properties:
                  type:
                    type: string
                    pattern: ^(ORGANISATION)$
                    description: |
                      Party Type:
                       * `ORGANISATION`
                  addresses:
                    type: array
                    items:
                      type: object
                      description: Party address is only applicable for Purchase workspace and should
                        be provided for Organisation buyer party
                      required:
                        - type
                        - details
                      properties:
                        type:
                          type: string
                          pattern: ^(REGISTERED_ADDRESS)$
                          description: |
                            Address Type:
                             * `REGISTERED_ADDRESS`
                        details:
                          type: object
                          required:
                            - postcode
                          properties:
                            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}))$
                    maxItems: 1
                  partyDetails:
                    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`
        participants:
          type: array
          items:
            type: object
            required:
              - id
              - role
            properties:
              id:
                type: string
                format: uuid
              role:
                type: string
                pattern: ^(INCOMING_LENDER_REPRESENTATIVE|INCOMING_LENDER)$
                description: |
                  Participant Role:
                   * `INCOMING_LENDER_REPRESENTATIVE`
                   * `INCOMING_LENDER`
          maxItems: 1
          minItems: 1
```
