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

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

# Update Instruction

`PATCH` `/partner/api/platformconnect/v1/instructions/{instruction_id}`

Operation ID: `updateInstruction`

This endpoint enables a lender to update existing case instruction data with either the panel management firm or the allocated law firm.

## Path parameters

- `instruction_id` (string, required) - The unique identifier for the instruction to be updated

## Header parameters

- `X-Request-Correlation-Id` (string, optional) - The unique identifier for the request

## Request body (required)

Content types: `application/json`

## Responses

- `200` - OK
- `400` - BAD REQUEST
- `401` - UNAUTHORISED
- `403` - FORBIDDEN
- `404` - NOT FOUND
- `500` - INTERNAL SERVER ERROR
- `503` - SERVICE UNAVAILABLE

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Lender Instruction
  version: v1
servers:
  - url: https://api.pexa.co.uk
    description: API Gateway URL
paths:
  /partner/api/platformconnect/v1/instructions/{instruction_id}:
    patch:
      tags:
        - InstructionV1
      summary: Update Instruction
      description: This endpoint enables a lender to update existing case instruction
        data with either the panel management firm or the allocated law firm.
      operationId: updateInstruction
      security:
        - oauth2:
            - x-api:edit:instructions
      parameters:
        - name: X-Request-Correlation-Id
          in: header
          description: The unique identifier for the request
          required: false
          schema:
            type: string
        - name: instruction_id
          in: path
          description: The unique identifier for the instruction to be updated
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                loanAmount:
                  type: number
                  format: double
                  minimum: 1
                  description: The amount of the loan
                property:
                  type: object
                  properties:
                    unencumbered:
                      type: boolean
                      description: Indicates if the property is unencumbered
                    newBuild:
                      type: boolean
                      description: Indicates if the property is a new build
                    address:
                      description: Property address. Partial address updates are discouraged. Any
                        update will fully overwrite the existing address, so you
                        should provide the complete address payload with every
                        address update.
                      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
                parties:
                  type: array
                  description: Information about the applicants and outgoing lender (up to 4
                    applicants plus outgoing lender as needed)
                  items:
                    oneOf:
                      - type: object
                        required:
                          - type
                        allOf:
                          - type: object
                            discriminator:
                              propertyName: type
                              mapping:
                                INDIVIDUAL: "#/components/schemas/UpdateIndividualParty"
                                ORGANISATION: "#/components/schemas/UpdateOrganisationParty"
                            properties:
                              partyId:
                                type: string
                                format: uuid
                                description: Unique identifier for the party associated with the instruction
                              addresses:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    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
                                        locality:
                                          type: string
                                          description: Locality
                                        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}))$
                                description: Address information for the party. Partial address updates are
                                  discouraged. Any update will fully overwrite
                                  the existing address, so you should provide
                                  the complete address payload with every
                                  address update.
                            required:
                              - partyId
                        properties:
                          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
                          type:
                            type: string
                            pattern: ^(INDIVIDUAL)$
                            description: |
                              Allowed Values: [`INDIVIDUAL`]
                      - type: object
                        required:
                          - type
                        allOf:
                          - type: object
                            discriminator:
                              propertyName: type
                              mapping:
                                INDIVIDUAL: "#/components/schemas/UpdateIndividualParty"
                                ORGANISATION: "#/components/schemas/UpdateOrganisationParty"
                            properties:
                              partyId:
                                type: string
                                format: uuid
                                description: Unique identifier for the party associated with the instruction
                              addresses:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    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
                                        locality:
                                          type: string
                                          description: Locality
                                        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}))$
                                description: Address information for the party. Partial address updates are
                                  discouraged. Any update will fully overwrite
                                  the existing address, so you should provide
                                  the complete address payload with every
                                  address update.
                            required:
                              - partyId
                        properties:
                          partyDetails:
                            type: object
                            properties:
                              outgoingLenderAccountNumber:
                                type: string
                                description: Account number with the outgoing lender is required for only
                                  Organisation OUTGOING_LENDER party
                                example: "12345678"
                          type:
                            type: string
                            pattern: ^(ORGANISATION)$
                            description: |
                              Allowed Values: [`ORGANISATION`]
                mortgagePrisoner:
                  type: boolean
                  description: Indicates if this is a mortgage prisoner
            examples:
              updateInstructionRequestWithIndividualParty:
                summary: Update instruction with individual party details
                value:
                  loanAmount: 250000
                  property:
                    address:
                      flat: Flat 2
                      name: The Manor House
                      number: "123"
                      street: High Street
                      town: London
                      postcode: SW1A 1AA
                      locality: Kensington
                      county: Greater London
                    unencumbered: false
                    newBuild: false
                  parties:
                    - partyId: 7e80ae84-6e82-4227-8c45-1dd1bdbbc97e
                      type: INDIVIDUAL
                      partyDetails:
                        forenames: John Michael
                        surname: Smith
                        title: Mr
                        dateOfBirth: 1985-06-15
                        mobile: 7123456789
                        phone: 2079460000
                        email: john.michael@gmail.com
                      addresses:
                        - type: REGISTERED_ADDRESS
                          details:
                            flat: Flat 2
                            name: The Manor House
                            number: "123"
                            street: High Street
                            town: London
                            postcode: SW1A 1AA
                            locality: Kensington
                            county: Yorkshire
                  mortgagePrisoner: false
              updateInstructionRequestWithOutgoingLenderParty:
                summary: Update instruction with outgoing lender party details
                value:
                  loanAmount: 250000
                  property:
                    address:
                      flat: Flat 2
                      name: The Manor House
                      number: "123"
                      street: High Street
                      town: London
                      postcode: SW1A 1AA
                      locality: Kensington
                      county: Greater London
                    unencumbered: false
                    newBuild: false
                  parties:
                    - partyId: efa7f9c3-fb70-47d0-b59c-493c714de12f
                      type: ORGANISATION
                      partyDetails:
                        outgoingLenderAccountNumber: "87654321"
                  mortgagePrisoner: false
        required: true
      responses:
        "200":
          description: OK
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
        "400":
          description: BAD REQUEST
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - field: instructionsDetails.loanAmount
                    message: incorrect data type
        "401":
          description: UNAUTHORISED
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Unauthorised
        "403":
          description: FORBIDDEN
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: forbidden
        "404":
          description: NOT FOUND
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Not found
        "500":
          description: INTERNAL SERVER ERROR
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Internal Server Error
        "503":
          description: SERVICE UNAVAILABLE
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Service under maintenance
security:
  - oauth2:
      - x-api:edit:instructions
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://login.pexauk.co.uk/oauth/token
          scopes:
            x-api:create:instructions: Create instructions
            x-api:edit:instructions: Update instructions
            x-api:cancel:instructions: Cancel instructions
```
