---
title: "LineItemDto"
url: "https://developer.pexa.co.uk/apis/financials-v1-v1/versions/d3f169b2-8b77-47f6-8696-d6efa1bd09f2/schemas/LineItemDto"
---

> Full API specification: https://developer.pexa.co.uk/apis/financials-v1-v1/versions/d3f169b2-8b77-47f6-8696-d6efa1bd09f2.md

# LineItemDto

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Financial
  version: v1
servers:
  - url: https://api.pexa.co.uk
    description: API Gateway URL
components:
  schemas:
    LineItemDto:
      type: object
      properties:
        lineItemId:
          type: string
          description: UUID of the corresponding line item
          format: uuid
          example: c7c0ee40-25c1-11ec-9621-0242ac130002
        type:
          type: string
          pattern: ^(SOURCE|DESTINATION)$
          example: SOURCE
          description: |
            Allowed values:
             [`SOURCE`, `DESTINATION`]
        amount:
          type: number
          minimum: 1
          maximum: 999999999999.99
          description: Amount to be credited / debited
          example: 10
        authorised:
          type: boolean
          example: true
          nullable: true
          description: Authorisation status of the line item
        reference:
          type: string
          minLength: 1
          maxLength: 18
          pattern: ^[a-zA-Z0-9\/\-\\?:().,'#=!"%&*<>;@{+\s]*$
          example: Nation wide
        category:
          type: string
          description: |
            Allowed values for source line item:
             [`Mortgage Advance`]
            <br> Allowed values for destination line item:
             [`Redemption`, `Conveyancing Fees`, `Surplus`, `Onward Funds`]
        lineItemReference:
          type: string
          example: PEXA220000003D01
        bankAccount:
          type: object
          nullable: true
          description: This field is required and can be updated only for type DESTINATION.
          properties:
            accountName:
              type: string
              maxLength: 35
              minLength: 1
              pattern: ^[a-zA-Z0-9\/\-\\?:().,'#=!"%&*<>;@{+\s]*$
              example: Bob Smith
            accountNumber:
              type: string
              pattern: ^\d{8}$
              example: "12345678"
            bankCode:
              type: string
              pattern: ^\d{6}$
              example: "123456"
            accountType:
              type: string
              pattern: ^(BUSINESS|PERSONAL)$
              example: BUSINESS
              description: |
                Allowed Values: [`BUSINESS`, `PERSONAL`]
            displayName:
              type: string
              nullable: true
              maxLength: 35
              pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
              example: Mortgage account
          required:
            - accountName
            - accountNumber
            - bankCode
        verificationDetail:
          type: object
          nullable: true
          properties:
            status:
              type: string
              pattern: ^(MATCH|NAME_PARTIAL_MATCH|NAME_PARTIAL_MATCH_TYPE_NO_MATCH|NO_MATCH|UNABLE_TO_MATCH|ERROR|TIMEOUT|TYPE_NO_MATCH|ACCOUNT_VERIFICATION_NOT_RUN)$
              example: NAME_PARTIAL_MATCH
              description: >
                status of account verification Allowed Values: [ `MATCH`,
                `NAME_PARTIAL_MATCH`, `NAME_PARTIAL_MATCH_TYPE_NO_MATCH`,
                `NO_MATCH`, `UNABLE_TO_MATCH`, `ERROR`, `TIMEOUT`,
                `TYPE_NO_MATCH`, `ACCOUNT_VERIFICATION_NOT_RUN` ]
            partnerReasonCode:
              type: string
              nullable: true
              description: >
                Reason code sent from third party system for account
                verification.


                | Code |                Description                   |

                | -------|----------------------------------|

                | ANNM | Account Name does Not Match |

                | MBAM | There may be a match on the Account name |

                | BANM | Business account, name matches |

                | PANM | Personal account, name matches |

                | BAMM | Business account, name may be a match |

                | PAMM | Personal account, name may be a match |

                | AC01 | Incorrect Account Number |

                | IVCR | Invalid Customer Reference |

                | ACNS | Account type Not Supported for CoP |

                | OPTO | Opted out of CoP Scheme |

                | CASS | Account has been switched |

                | SCNS | Sort code not supported at endpoint |
            verified:
              type: boolean
              description: denotes in the account details are verified
            acceptedAt:
              type: string
              nullable: true
              format: date-time
              description: timestamp recorded when the consent was given for the account
            acceptedBy:
              type: string
              nullable: true
              description: id of the user who gave the consent for the account
            actualName:
              type: string
              nullable: true
              description: Actual name of given account received from CoP in case of partial
                match
            isManualOverrideAllowed:
              type: boolean
              description: Flag to indicate if manual override is allowed
        hasLinkedAccount:
          type: boolean
          nullable: true
          description: Flag to indicate whether account is a linked account
```
