---
title: "CreateInstructionRequest"
url: "https://developer.pexa.co.uk/apis/instruction-v1-v1/versions/861f183b-600d-4bbf-9762-abebcbf9b5ac/schemas/CreateInstructionRequest"
---

> Full API specification: https://developer.pexa.co.uk/apis/instruction-v1-v1/versions/861f183b-600d-4bbf-9762-abebcbf9b5ac.md

# CreateInstructionRequest

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Lender Instruction
  version: v1
servers:
  - url: https://api.pexa.co.uk
    description: API Gateway URL
components:
  schemas:
    CreateInstructionRequest:
      type: object
      required:
        - routingConfig
        - instructionsDetails
      properties:
        routingConfig:
          type: object
          description: Information used to determine where to route the instruction
          properties:
            assignedPanelManager:
              type: string
              pattern: ^(SMOOVE)$
              description: |
                The assigned panel manager Allowed Values: [ `SMOOVE`]
            assignedPanelLawFirm:
              type: string
              maxLength: 50
              description: Panel reference held by the Panel Manager for the law firm
            assignedLawFirm:
              type: string
              pattern: ^(OPTIMA)$
              description: |
                The actual law firm name Allowed Values: [ `OPTIMA` ]
            pexaEligible:
              type: boolean
              description: Indicates if the funds should be settled by PEXA
        instructionsDetails:
          type: object
          required:
            - reference
            - property
            - parties
            - transactionType
          properties:
            reference:
              type: string
              minLength: 1
              maxLength: 40
              description: The lender held reference for the mortgage application
            loanAmount:
              type: number
              minimum: 1
              format: double
              description: The amount of the loan
            transactionType:
              type: string
              pattern: ^(PURCHASE|REMORTGAGE)$
              description: |
                Allowed values: [ `PURCHASE`, `REMORTGAGE` ]
            serviceLevel:
              type: string
              pattern: ^(STANDARD|PREMIER)$
              description: >
                Level of service required for this instruction Allowed values: [
                `STANDARD`, `PREMIER` ]
            lender:
              type: object
              properties:
                accountNumber:
                  type: string
                  description: The lender account number
                sortCode:
                  type: string
                  description: The lender sort code
            property:
              type: object
              required:
                - address
                - jurisdiction
              properties:
                jurisdiction:
                  type: string
                  pattern: ^(ENGLAND_WALES|SCOTLAND|NORTHERN_IRELAND)$
                  description: >
                    The jurisdiction of the property (REQUIRED field as of
                    v1.1.0) Allowed values: [`ENGLAND_WALES`, `SCOTLAND`,
                    `NORTHERN_IRELAND`]
                country:
                  type: string
                  pattern: ^(ENGLAND|WALES|SCOTLAND|NORTHERN_IRELAND)$
                  description: >
                    The country where the property is located Allowed values:
                    [`ENGLAND`, `WALES`, `SCOTLAND`, `NORTHERN_IRELAND`]
                address:
                  type: object
                  required:
                    - postcode
                  properties:
                    flat:
                      type: string
                      description: Flat/apartment number
                    name:
                      type: string
                      description: Building name
                    number:
                      type: string
                      description: House/building number
                    street:
                      type: string
                      description: Street name
                    town:
                      type: string
                      description: Town/city
                    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}))$
                    locality:
                      type: string
                      description: Locality
                    county:
                      type: string
                      description: County name
                unencumbered:
                  type: boolean
                  description: Indicates if the property is unencumbered
                tenure:
                  type: string
                  pattern: ^(FREEHOLD|LEASEHOLD)$
                  description: >
                    The tenure of the property Allowed values: [ `FREEHOLD`,
                    `LEASEHOLD`]
                occupancyType:
                  type: string
                  pattern: ^(OWNER_OCCUPIED|BUY_TO_LET|SECOND_HOME|HOLIDAY_LET)$
                  description: >
                    Type of occupancy for the property Allowed values: [
                    `OWNER_OCCUPIED`, `BUY_TO_LET`, `SECOND_HOME`, `HOLIDAY_LET`
                    ]
                newBuild:
                  type: boolean
                  description: Indicates if the property is a new build
            parties:
              type: array
              description: Information about the applicants, introducer, and outgoing lender
                (up to 4 applicants plus introducer and outgoing lender as
                needed)
              items:
                oneOf:
                  - type: object
                    required:
                      - type
                      - partyDetails
                    allOf:
                      - type: object
                        discriminator:
                          propertyName: type
                          mapping:
                            INDIVIDUAL: "#/components/schemas/IndividualParty"
                            ORGANISATION: "#/components/schemas/OrganisationParty"
                        properties:
                          role:
                            type: string
                            pattern: ^(BORROWER|BUYER|INTRODUCER|OUTGOING_LENDER)$
                            description: >
                              Allowed Values: [`BORROWER`, `BUYER`,
                              `INTRODUCER`, `OUTGOING_LENDER`]
                          addresses:
                            type: array
                            items:
                              type: object
                              required:
                                - type
                                - details
                              properties:
                                type:
                                  type: string
                                  pattern: ^(REGISTERED_ADDRESS)$
                                  description: |
                                    Allowed values: [ `REGISTERED_ADDRESS`]
                                  example: REGISTERED_ADDRESS
                                details:
                                  type: object
                                  required:
                                    - postcode
                                  properties:
                                    name:
                                      maxLength: 50
                                      minLength: 0
                                      type: string
                                      description: Building name
                                      example: 1 The House
                                    number:
                                      maxLength: 4
                                      minLength: 0
                                      type: string
                                      description: House/building number
                                      example: 123a
                                    flat:
                                      maxLength: 30
                                      minLength: 0
                                      type: string
                                      description: Flat/apartment number
                                      example: Flat 32
                                    street:
                                      maxLength: 60
                                      minLength: 0
                                      type: string
                                      description: Street name
                                      example: Huddersfield
                                    town:
                                      maxLength: 30
                                      minLength: 0
                                      type: string
                                      description: Town/city
                                      example: West Yorkshire
                                    county:
                                      type: string
                                      description: County name (required for OCE verification)
                                      example: Greater London
                                    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}))$
                                    locality:
                                      type: string
                                      description: Locality
                                      example: Kensington
                            description: Address information for the party
                        required:
                          - role
                    properties:
                      type:
                        type: string
                        pattern: ^(INDIVIDUAL)$
                        description: |
                          Allowed Values: [`INDIVIDUAL`]
                      partyDetails:
                        type: object
                        properties:
                          forenames:
                            type: string
                            maxLength: 90
                            minLength: 1
                            pattern: ^[A-Za-z][A-Za-z\- ']*$
                            description: Forename is required for Individual BORROWER and BUYER parties
                            example: James Thomas
                          surname:
                            type: string
                            maxLength: 50
                            minLength: 1
                            pattern: ^[A-Za-z][A-Za-z\ - ']*$
                            description: Surname is required for Individual BORROWER and BUYER parties
                            example: Smith
                          title:
                            type: string
                            description: Title (e.g., "Mr", "Mrs", "Dr")
                          dateOfBirth:
                            type: string
                            format: date
                            description: Date of birth (YYYY-MM-DD)
                          mobile:
                            type: string
                            pattern: ^(\+?\d{1,4}[- ]?)?[\d\s-]{4,20}$
                            description: Mobile phone number
                            minLength: 4
                            maxLength: 20
                          phone:
                            type: string
                            pattern: ^(\+?\d{1,4}[- ]?)?[\d\s-]{4,20}$
                            description: Home landline phone number
                            minLength: 4
                            maxLength: 20
                          email:
                            type: string
                            maxLength: 100
                            pattern: ^$|(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[A-z0-9](?:[A-z0-9-]*[A-z0-9])?\.)+[A-z0-9](?:[A-z0-9-]*[A-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[A-z0-9-]*[A-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5A\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
                            example: john.smith@lawfirm.com
                            description: Email address
                          fcaNumber:
                            type: string
                            description: FCA registration number is required only for Individual INTRODUCER
                              party
                            example: "123456"
                          organisationName:
                            type: string
                            maxLength: 160
                            minLength: 1
                            pattern: ^[a-zA-ZÀ-ÖØ-öø-ſĀ-ıĴ-ľŁ-ŉŊ-ŏŐ-őŒ-žǼǺǾẀẂẄỲǽǻǿẁẃẅỳ\d&@£$€¥#'''(){}<>!«»"""\[\]?*=%+\s.,:\/;\\-]+$
                            description: Organization name
                            example: Mortgage Broker Corp Ltd
                  - type: object
                    required:
                      - type
                      - partyDetails
                    allOf:
                      - type: object
                        discriminator:
                          propertyName: type
                          mapping:
                            INDIVIDUAL: "#/components/schemas/IndividualParty"
                            ORGANISATION: "#/components/schemas/OrganisationParty"
                        properties:
                          role:
                            type: string
                            pattern: ^(BORROWER|BUYER|INTRODUCER|OUTGOING_LENDER)$
                            description: >
                              Allowed Values: [`BORROWER`, `BUYER`,
                              `INTRODUCER`, `OUTGOING_LENDER`]
                          addresses:
                            type: array
                            items:
                              type: object
                              required:
                                - type
                                - details
                              properties:
                                type:
                                  type: string
                                  pattern: ^(REGISTERED_ADDRESS)$
                                  description: |
                                    Allowed values: [ `REGISTERED_ADDRESS`]
                                  example: REGISTERED_ADDRESS
                                details:
                                  type: object
                                  required:
                                    - postcode
                                  properties:
                                    name:
                                      maxLength: 50
                                      minLength: 0
                                      type: string
                                      description: Building name
                                      example: 1 The House
                                    number:
                                      maxLength: 4
                                      minLength: 0
                                      type: string
                                      description: House/building number
                                      example: 123a
                                    flat:
                                      maxLength: 30
                                      minLength: 0
                                      type: string
                                      description: Flat/apartment number
                                      example: Flat 32
                                    street:
                                      maxLength: 60
                                      minLength: 0
                                      type: string
                                      description: Street name
                                      example: Huddersfield
                                    town:
                                      maxLength: 30
                                      minLength: 0
                                      type: string
                                      description: Town/city
                                      example: West Yorkshire
                                    county:
                                      type: string
                                      description: County name (required for OCE verification)
                                      example: Greater London
                                    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}))$
                                    locality:
                                      type: string
                                      description: Locality
                                      example: Kensington
                            description: Address information for the party
                        required:
                          - role
                    properties:
                      type:
                        type: string
                        pattern: ^(ORGANISATION)$
                        description: |
                          Allowed Values: [`ORGANISATION`]
                      partyDetails:
                        type: object
                        required:
                          - organisationName
                        properties:
                          organisationName:
                            type: string
                            maxLength: 160
                            minLength: 1
                            pattern: ^[a-zA-ZÀ-ÖØ-öø-ſĀ-ıĴ-ľŁ-ŉŊ-ŏŐ-őŒ-žǼǺǾẀẂẄỲǽǻǿẁẃẅỳ\d&@£$€¥#'''(){}<>!«»"""\[\]?*=%+\s.,:\/;\\-]+$
                            description: Organization name is required for Organisation BORROWER and BUYER
                              parties
                            example: Smith Ltd
                          registrationNumber:
                            type: string
                            minLength: 6
                            maxLength: 8
                            pattern: ^[A-Z0-9]+$
                            description: Company registration number is required only for Organisation
                              BORROWER, BUYER, OUTGOING_LENDER parties
                            example: "12345678"
                          organisationType:
                            type: string
                            pattern: ^(LIMITED_COMPANY)$
                            description: >
                              Type of organization is required only only for
                              Organisation BORROWER and BUYER parties Allowed
                              Values: [`LIMITED_COMPANY`]
                            example: LIMITED_COMPANY
                          outgoingLenderAccountNumber:
                            type: string
                            description: Account number with the outgoing lender is required for only
                              Organisation OUTGOING_LENDER party
                            example: "12345678"
            mortgagePrisoner:
              type: boolean
              description: Indicates if this is a mortgage prisoner
```
