swagger: '2.0'
info:
  title: LEAP API Reference
  version: v 1.1.4
  x-logo:
    url: >-
      https://s3-ap-southeast-2.amazonaws.com/leap.build/api-reference/Common/LEAP-api-logo.svg
    backgroundColor: '#FFFFFF'
    altText: LEAP Dev
  description: >+
    # Getting Started

    To start working on your LEAP Marketplace application, sign up for a <a href='https://console.leap.build/auth/register'>LEAP Developer Console</a> account.

      You will be prompted to enter some details about your organisation and complete tasks such as verifying your email.
  
    Our marketplace team will reach out to you shortly after receiving your application to assist you in moving forward to the pre-approval stage.

    # Overview

    Using the LEAP API, you can build applications that integrate directly with
    other LEAP products. 

      This guide explains how to get started with the TEST API, describes each of the available resources, and provides example code for same.

      Each resource type is accessible through a variety of HTTP (GET | POST | PUT | DELETE) operators.

    Within each resource type, endpoints fall into two categories:

     **{base url}/{resource type}:**      
    * Retrieves the complete data set for each resource of a specified type. 
    This data can be filtered with the addition of query parameters.

     
    **{base url}/{resource type}/{resourceid}:**      

    * Retrieves the data set for a single specific resource. 

     # Caching
    The LEAP API employs caching for certain endpoints to optimize data retrieval and processing efficiency. By allowing frequently requested information to be temporarily stored and quickly accessed, caching reduces the need for redundant calculations and network requests, ultimately enhancing overall performance and responsiveness of the platform. 
    

    <b>By default, caching is disabled for an endpoint unless specified otherwise.</b>

     # API Changelog

    All changes to the API services are loged and tracked via in internal
    service.

     This service is attached to a notification system, which will soon be available for registration. 

     # API Domains

      The LEAP API supports multiple regions and environments. Please ensure that you are using the correct domain for each request.

     | Region        | Environment   | Domain                              |
     | :------------:|:-------------:|:--------------------------|
     | AU            | Sandbox/Live          | au-api.leap.services    |
     |               | LiveB                 | au-liveb-api.leap.services    |
     | CA            | Sandbox/Live          | ca-api.leap.services    |
     | UK            | Sandbox/Live          | uk-api.leap.services    |
     | US            | Sandbox/Live          | us-api.leap.services    |



     # API Technical Specs

     API technical specs are available on the following swagger pages:  

     | Region        | Environment   | Domain                              |
     | :------------:|:-------------:|:--------------------------|
     | AU            | Sandbox/Live          | https://api-swagger-au-advanced.leap.services/#/    |
     |               | LiveB                 | https://api-swagger-au-liveb-advanced.leap.services/#/    |
     | CA            | Sandbox/Live          | https://api-swagger-ca-advanced.leap.services/#/    |
     | UK            | Sandbox/Live          | https://api-swagger-uk-advanced.leap.services/#/    |
     | US            | Sandbox/Live          | https://api-swagger-us-advanced.leap.services/#/    |



     # API Throttling

    To prevent malicious usage of our API, we limit the number of requests (per
    second), that can be made.


    You can avoid reaching this limit by implementing proper  caching strategies
    within your client applcation.


    Should the limit be reached, the API will generate and respond to any
    request with an HTTP error code of 429 (too many requests).  


    This limit is short lived and should be resolved by simply retrying within a
    second.

host: au-api.leap.services
basePath: /
tags:
  - name: LEAP Host SDK Authentication
    description: >-
      We now encourage vendors to use the LEAP Host SDK for authentication, as opposed to using MessageBus which is being deprecated.
      <p>
      <b>Using the SDK authentication method</b>
      </p>
      <p>
      The LEAP Host SDK is the preferred authentication for Visual Apps. A LEAP app often needs to call the LEAP API Gateway services. To do so, it needs to obtain a LEAP Auth token. LEAP Host SDK simplifies this process.
      </p>
        ```
        sdk.init('LEAP Auth client ID').then(() => {
          //client Id is not required if you have provided the token in the url
          //or you are developing a trusted app
          
          if (!!sdk.leapContext.authtoken) {
            //you can check if the SDK is ready by checking if the authtoken has value
            console.log(sdk.leapContext.authtoken);
          }
         });
        ```
      <p>
      <b>Sending a command to the LEAP client application</b>
      </p>
      <p>
      A LEAP client applications (LEAP Desktop / Web / Mobile) accepts certain messages from LEAP apps and act upon them. For example, they can open a document or show a message box.
      The LEAP Host SDK facilitates this process by exposing a set of semantic functions through which the LEAP app can invoke.
      </p>
      
        ```
        sdk.init('LEAP Auth client ID').then(() => {
          // open a message box in LEAP
          sdk.system.alert({ message: 'Hello, world' });
        
          // open a matter
          sdk.matter.openMatter(openMatterRequest);
        
          // close the app
          sdk.system.close();
        });
        ```
      
  - name: MessageBus
    description: >-
      <b>Note:</b> This service is being deprecated, in favor of the new LEAP
      Host SDK. Please use the above LEAP Host SDK Authentication section or head over to https://www.npmjs.com/package/@leapdev/leap-host for more information on the SDK.
  - name: Accounts
    description: The following feature set provides the capability to access LEAP Bank Accounts. These APIs are designed to facilitate the retrieval, addition, and modification of accounts within LEAP.
  - name: Calendars
    description: >-
      Outlook calendars can be linked to LEAP. These shared calendars can be retrieved but only if the Firm is a Superdiary Firm.
  - name: Card Documents
    description: >+
      Documents can be uploaded to LEAP and are linked to Cards. These documents can be added, updated or retrieved from a specific Card. Typically the returned Document ID is used to fetch the AWS S3 link to the binary file.
      
      
      Using the following APIs will allow you to do this.
  - name: Cards
    description: >+
      In LEAP, contacts are referred to as Cards. These Cards contain all the information relating to a person. Cards will often be used in tandem with Matters as these two entities can be linked. 
      
      
      Cards can be linked to multiple Matters, the various APIs below will allow you to find this information along with the ability to update those Cards.
  - name: CostRecovery
    description: >-
      Cost Recovery refers to the process of recuperating the costs incurred by a Lawyer or Firm. 
      
      
      These specific APIs are designed to facilitate the viewing, addition, and modification of Cost Recovery data for individual Matters within LEAP.
  - name: Definable Tables
    description: >-    
      The below functionality will allow you to add, update or delete Definable tables for matters.


      A Definable table, like a Card, is a collection of information pertaining to a matter. Their main difference is that a Card is generally 
      a person or address-based group of information, while a Definable table is not.
      There may be some exceptions where a Card contains an address, but under these circumstances, the addresses serve more as an "additional information" 
      rather than one of the focal points of the information collection.
      

      Third-party users of these endpoints may only update or retrieve Definable tables. There is a content team that handles the creation of Definable tables. 
      When you are adding a Definable table to a matter, you should be aware of the type of table you are adding.
      (ie: Definable Table 6 is for Property details, 9 is for Conveyancing details, 32 is for Shopping Centre details and so on)
  - name: Document Packet
    description: >-
      A Document Packet in LEAP is a way of grouping a set of documents for either a Card or a Matter. These Document Packets are utilised by Document Register where you can add a document to your Document Packet.
  - name: Document Register
    description: >-
      The Document Register is used to record documents that are held by a Firm. From within the creation of a Document Register you can also specify the Document Packet to link it to via <b>PacketId</b>.
      
      
      Create and fetch LEAP Document Register Types with the below service
      functionality.
  - name: Documents
    description: "Using signed URLs, the below functionality will allow you to fetch, update and create new LEAP Documents. \n\n <b>NOTE:</b> Creating / POSTing a new document is a 2 step process; \n\n\tStep 1: Make the POST request. \n\n\tStep 2: Use the resultant `signedURL` address to upload the documents binary (using a PUT)."
  - name: Emails
    description: >-
      LEAP Desktop is integrated with Outlook and can send emails using the below API. These emails can also be saved to a Matter if required.
  - name: Evaluate
    description: >-
      For the purpose of Evaluating multiple JS paths the endpoint can provide any data available in an XML file or JS Path as long as you have the path required.
  - name: Export
    description: >-
      For the purpose of Exporting accounting details relating to Journals and the accounting platform used by the Firm.
  - name: Fees
    description: >-
      Within LEAP Fees are used to help with calculating for invoicing. There are different types of Fees and their associated details required such as Tax, Rate Per Hour, etc.
  - name: Firms
    description: >-    
      Firms are used to group the organisations Users and Matters within LEAP. Through these APIs, you can access and modify the specific details of a firm, including updates to different branches, which represent various offices within the firm.
  - name: Investment Account
    description: >-    
      LEAP Account Records can contain Investment Accounts. These accounts can be added via the following API calls.
  - name: Investment Money
    description: >-    
      The below functionalities will allow you to get and manipulate LEAP Investment Money records
  - name: Lists
    description: >-
      The below functionality will allow you to view certain lists of LEAP
      data.  
  - name: Mailing
    description: >-
      The below functionality will allow you to use endpoints for Mailing
  - name: Matters
    description: >-
      The below services allow the consumer to manipulate LEAP matters.


      Note that each endpoint is access controlled and hence, any 401 or 403
      errors could be related to consumer permissions.

       Please ensure to double check the response message on any errors, for details. 
  - name: Notifications
    description: >-
      The ability to configure and send out notifications to LEAP Desktop for either an individual or firm wide.
      There are a few requirements in order to utilise this service, they are as below:
        For a genuine notification regarding a change to the matter.
        Not be used for marketing, spam or any other communication other than related to a direct feature/action the app performed. Holiday specials, discount codes, marketing new features etc are all off the table 
        Not be “chatty” and spam the notification stream of LEAP even with “legitimate” notifications.
        
      To be able to use this feature you must submit a request to LEAP Support in order to be authorised.
      
        
      This will be used to generate a Sender ID and Topic. Once you receive the Sender ID and Topic you can now use the API.
  - name: Office Invoice Adjust
    description: >-
      The below functionality will allow you to fetch, update and create new
      LEAP Invoices. 
  - name: Office Invoices
    description: >-
      The below functionality will allow you to fetch, update and create new
      LEAP Invoices. 
  - name: Office Journal
    description: >-
      The below functionality will allow you to fetch, update and create new
      LEAP Journals. 
  - name: Office Ledgers
    description: >-
      The below functionality will allow you to fetch Office Ledgers. 
  - name: Office Receipts
    description: >-
      The below functionality will allow you to fetch and create Office Receipts. 
  - name: Office Payments
    description: >-
      The below functionality will allow you to fetch and create Office Payments. 
  - name: Payment Types
    description: >-
      The below functionality will allow you to fetch payment types
      for a LEAP account.
  - name: Persons
    description: >-
      The below functionality will allow you to manipulate LEAP persons as per
      your requirements. 
  - name: PowerMoney
    description: >-
      The below functionality will allow you to create or get power money transactions.
  - name: Preferences
    description: >-
      The below functionality will allow you to fetch new LEAP Firm's accounting
      preferences. 
  - name: Purchase Orders
    description: >-
      The below functionality will allow you to retrieve & create purchase orders. 
  - name: Reporting
    description: >-
      The below functionality will allow you to fetch a LEAP Firm's reporting. 

      For endpoints where an ID is returned, utilise GET /api/v1/reporting/getasyncrequest/{requestid} to retrieve your request response. 

      ### <b>Caching</b>

      
      Response data for reporting endpoints is cached for 4 hours.
  - name: Schema
    description: >-
      The below functionality will allow you to fetch a LEAP Firm's Schema.
  - name: Semaphore
    description: >-
      The following endpoints provide the capability to control (by provisioning and revoking) access to accounting transactions. 
  - name: Tasks
    description: >-
      The below services allow the consumer to manipulate LEAP Tasks      
  - name: Task Codes
    description: |-
      The below functionality will allow you to manipulate LEAP Task Codes. 
  - name: Tax Codes
    description: |-
      The below functionality will allow you to manipulate LEAP Tax Codes. 
  - name: Trust
    description: |-
      The below functionality will allow you to manipulate trust payments. 
  - name: TrustReceipt
    description: |-
      The below functionality will allow you to manipulate Trust receipts. 
  - name: Timesheet
    description: |-
      The below functionality will allow you to retrieve timesheet data. 
  - name: Transit Register
    description: |-
      The below functionality will allow you to manipulate transit register transaction data. 
  - name: Trust Bank Rec
    description: |-
      The below functionality will allow you to retrieve trust bank reconciliation initialisation data. 
  - name: Trust Ledger
    description: |-
      The below functionality will allow you to retrieve trust ledger data. 
  - name: Users
    description: |-
      The below functionality will allow you to work with User endpoints. 
  - name: Common Responses
    description: |+
      Error response codes returned by the API include:

        | Error Code    | Description                              |
       | :------------:|:-----------------------------------------|
       | 301           | Moved Permanently    |
       | 400           | Bad Request    |
       | 401           | Unauthorized (bad/expired bearer token)     |
       | 403           | Forbidden (check your LEAP API Key) |
       | 404           | Not Found |
       | 429           | Too Many Requests (endpoint throttling enabled, retry request) |
       | 500           | Internal Server Error |
       | 502           | Internal error unrecognized by the Gateway |
       | 503           | Service Unavailable |
       | 504           | Gateway Timeout    

  - name: Notes
    description: >+
      Common notes and best practices:

        * Where possible; use the 'lastRowVer' parameter - this avoids re-downloading entire lists. This is typically found on GET methods where the result is a list of data.


      * Each endpoint is access controlled. Expect a 401 / 403 response when
      trying to access any endpoint(s) not requested and approved.



      * When accessing your LEAP Auth client provided in the Developer Console,
      ensure to provided the (list of) callback URL's to LEAP Developer support
      when ready. These are editable within the Dev Console.
       

paths:
  /api/v1/accounts:
    get:
      tags:
        - Accounts
      summary: Get bank account list/details
      produces: '-application/json'
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: Account Id
          in: query
          required: false
          type: string
          format: uuid
          description: LEAP Bank Account GUID
        - name: Deleted
          in: query
          required: false
          type: boolean
          description: Is this account deleted?
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/AccountsGetAccount'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET https://[API Domain]/api/v1/accounts  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/accounts"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

    post:
      tags:
        - Accounts
      summary: Add bank account
      produces: '-application/json'
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AccountsPostAccount
          description: Account Data
          required: true
          schema:
            $ref: '#/definitions/AccountsPostAccount'
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/AccountsPostAccount'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST https://[API Domain]/api/v1/accounts \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'content-type: application/json' \n -H 'x-api-key: [LEAP API Key]' \n -d '{ \n \t\"BankAccount\": { \n \t\t\"BankAccountId\": \"string\",\n \t\t\"AccountName\": \"string\",\n \t\t\"AccountNumber\": \"string\",\n \t\t\"AccountBSB\": \"string\",\n \t\t\"AccountUsage\": \"Office\",\n \t\t\"GLAccountCode\": \"string\",\n \t\t\"CountryCode\": \"string\",\n \t\t\"StateCode\": \"string\",\n \t\t\"ChequeLayoutID\": 0,\n \t\t\"ChequeMarginH\": 0,\n \t\t\"ChequeMarginV\": 0,\n \t\t\"ChequeSVGLayoutId\": \"string\",\n \t\t\"InvestMatterId\": \"string\",\n \t\t\"AccountClosed\": true,\n \t\t\"DateOpened\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"InstituteName\": \"string\",\n \t\t\"NameFileAs\": \"string\",\n \t\t\"ExternalCodeUniqie\": \"string\",\n \t\t\"ImportedFrom\": \"string\",\n \t\t\"Description\": \"string\",\n \t\t\"PMOpeningBalance\": 0,\n \t\t\"PMOpeningBalanceUnknown\": true,\n \t\t\"ExternalURL\": \"string\",\n \t\t\"ExternalJSON\": \"string\",\n \t\t\"IsMaqAccount\": 0,\n \t\t\"Drawer\": \"string\",\n \t\t\"ProductControlID\": 0,\n \t\t\"RPBankFeedsEnabled\": true,\n \t\t\"RPEnabled\": true,\n \t\t\"RPVerificationStatus\": \"Unverified\",\n \t\t\"AppId\": \"Cloud\"\n \t }, \n \t\"BankAccountSequences\": {, \n \t\t\"ChequeNumber\": 0,\n \t\t\"ReceiptNumber\": 0,\n \t\t\"BankDepositNumber\": 0,\n \t\t\"JournalNumber\": 0,\n \t\t\"ReceiptsReport\": 0,\n \t\t\"PaymentsReport\": 0,\n \t\t\"JournalsReport\": 0,\n \t\t\"BankRecCurrentStatementDate\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"BankRecStatementBalance\": 0,\n \t\t\"BankRecStatementDate\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"EFTNumber\": 0,\n \t\t\"LastEOM\": \"2021-11-29T05:03:28.118Z\"\n \t } \n } \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/accounts\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"BankAccount\": { \n \t\t\"BankAccountId\": \"string\",\n \t\t\"AccountName\": \"string\",\n \t\t\"AccountNumber\": \"string\",\n \t\t\"AccountBSB\": \"string\",\n \t\t\"AccountUsage\": \"Office\",\n \t\t\"GLAccountCode\": \"string\",\n \t\t\"CountryCode\": \"string\",\n \t\t\"StateCode\": \"string\",\n \t\t\"ChequeLayoutID\": 0,\n \t\t\"ChequeMarginH\": 0,\n \t\t\"ChequeMarginV\": 0,\n \t\t\"ChequeSVGLayoutId\": \"string\",\n \t\t\"InvestMatterId\": \"string\",\n \t\t\"AccountClosed\": true,\n \t\t\"DateOpened\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"InstituteName\": \"string\",\n \t\t\"NameFileAs\": \"string\",\n \t\t\"ExternalCodeUniqie\": \"string\",\n \t\t\"ImportedFrom\": \"string\",\n \t\t\"Description\": \"string\",\n \t\t\"PMOpeningBalance\": 0,\n \t\t\"PMOpeningBalanceUnknown\": true,\n \t\t\"ExternalURL\": \"string\",\n \t\t\"ExternalJSON\": \"string\",\n \t\t\"IsMaqAccount\": 0,\n \t\t\"Drawer\": \"string\",\n \t\t\"ProductControlID\": 0,\n \t\t\"RPBankFeedsEnabled\": true,\n \t\t\"RPEnabled\": true,\n \t\t\"RPVerificationStatus\": \"Unverified\",\n \t\t\"AppId\": \"Cloud\"\n \t }, \n \t\"BankAccountSequences\": {, \n \t\t\"ChequeNumber\": 0,\n \t\t\"ReceiptNumber\": 0,\n \t\t\"BankDepositNumber\": 0,\n \t\t\"JournalNumber\": 0,\n \t\t\"ReceiptsReport\": 0,\n \t\t\"PaymentsReport\": 0,\n \t\t\"JournalsReport\": 0,\n \t\t\"BankRecCurrentStatementDate\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"BankRecStatementBalance\": 0,\n \t\t\"BankRecStatementDate\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"EFTNumber\": 0,\n \t\t\"LastEOM\": \"2021-11-29T05:03:28.118Z\"\n \t } \n } \n"
    put:
      tags:
        - Accounts
      summary: Update bank account
      produces: '-application/json'
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AccountsUpdateAccount
          description: Account Data
          required: true
          schema:
            $ref: '#/definitions/AccountsUpdateAccount'
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/AccountsUpdateAccount'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X PUT https://[API Domain]/api/v1/accounts \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'content-type: application/json' \n -H 'x-api-key: [LEAP API Key]' \n -d '{ \n \t\"BankAccount\": { \n \t\t\"BankAccountId\": \"string\",\n \t\t\"AccountName\": \"string\",\n \t\t\"AccountNumber\": \"string\",\n \t\t\"AccountBSB\": \"string\",\n \t\t\"AccountUsage\": \"Office\",\n \t\t\"GLAccountCode\": \"string\",\n \t\t\"CountryCode\": \"string\",\n \t\t\"StateCode\": \"string\",\n \t\t\"ChequeLayoutID\": 0,\n \t\t\"ChequeMarginH\": 0,\n \t\t\"ChequeMarginV\": 0,\n \t\t\"ChequeSVGLayoutId\": true,\n \t\t\"Deleted\": \"string\",\n \t\t\"InvestMatterId\": \"string\",\n \t\t\"AccountClosed\": true,\n \t\t\"DateOpened\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"InstituteName\": \"string\",\n \t\t\"NameFileAs\": \"string\",\n \t\t\"ExternalCodeUniqie\": \"string\",\n \t\t\"Description\": \"string\",\n \t\t\"PMOpeningBalance\": 0,\n \t\t\"PMOpeningBalanceUnknown\": true,\n \t\t\"ExternalURL\": \"string\",\n \t\t\"ExternalJSON\": \"string\",\n \t\t\"IsMaqAccount\": 0,\n \t\t\"Drawer\": \"string\",\n \t\t\"ProductControlID\": 0,\n \t\t\"RPBankFeedsEnabled\": true,\n \t\t\"RPEnabled\": true,\n \t\t\"RPVerificationStatus\": \"Unverified\",\n \t\t\"AppId\": \"Cloud\"\n \t }, \n \t\"BankAccountSequences\": {, \n \t\t\"ChequeNumber\": 0,\n \t\t\"ReceiptNumber\": 0,\n \t\t\"BankDepositNumber\": 0,\n \t\t\"JournalNumber\": 0,\n \t\t\"ReceiptsReport\": 0,\n \t\t\"PaymentsReport\": 0,\n \t\t\"JournalsReport\": 0,\n \t\t\"BankRecCurrentStatementDate\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"BankRecStatementBalance\": 0,\n \t\t\"BankRecStatementDate\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"EFTNumber\": 0,\n \t\t\"RowVersion\": 0,\n \t\t\"LastEOM\": \"2021-11-29T05:03:28.118Z\"\n \t } \n } \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/accounts\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"BankAccount\": { \n \t\t\"BankAccountId\": \"string\",\n \t\t\"AccountName\": \"string\",\n \t\t\"AccountNumber\": \"string\",\n \t\t\"AccountBSB\": \"string\",\n \t\t\"AccountUsage\": \"Office\",\n \t\t\"GLAccountCode\": \"string\",\n \t\t\"CountryCode\": \"string\",\n \t\t\"StateCode\": \"string\",\n \t\t\"ChequeLayoutID\": 0,\n \t\t\"ChequeMarginH\": 0,\n \t\t\"ChequeMarginV\": 0,\n \t\t\"ChequeSVGLayoutId\": true,\n \t\t\"Deleted\": \"string\",\n \t\t\"InvestMatterId\": \"string\",\n \t\t\"AccountClosed\": true,\n \t\t\"DateOpened\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"InstituteName\": \"string\",\n \t\t\"NameFileAs\": \"string\",\n \t\t\"ExternalCodeUniqie\": \"string\",\n \t\t\"Description\": \"string\",\n \t\t\"PMOpeningBalance\": 0,\n \t\t\"PMOpeningBalanceUnknown\": true,\n \t\t\"ExternalURL\": \"string\",\n \t\t\"ExternalJSON\": \"string\",\n \t\t\"IsMaqAccount\": 0,\n \t\t\"Drawer\": \"string\",\n \t\t\"ProductControlID\": 0,\n \t\t\"RPBankFeedsEnabled\": true,\n \t\t\"RPEnabled\": true,\n \t\t\"RPVerificationStatus\": \"Unverified\",\n \t\t\"AppId\": \"Cloud\"\n \t }, \n \t\"BankAccountSequences\": {, \n \t\t\"ChequeNumber\": 0,\n \t\t\"ReceiptNumber\": 0,\n \t\t\"BankDepositNumber\": 0,\n \t\t\"JournalNumber\": 0,\n \t\t\"ReceiptsReport\": 0,\n \t\t\"PaymentsReport\": 0,\n \t\t\"JournalsReport\": 0,\n \t\t\"BankRecCurrentStatementDate\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"BankRecStatementBalance\": 0,\n \t\t\"BankRecStatementDate\": \"2021-11-29T05:03:28.118Z\",\n \t\t\"EFTNumber\": 0,\n \t\t\"RowVersion\": 0,\n \t\t\"LastEOM\": \"2021-11-29T05:03:28.118Z\"\n \t } \n } \n"  
          
  '/api/v1/calendars/sharedcalendars':
    get:
      tags:
        - Calendars
      summary: Get Calendars
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SharedCalendarsResponse200'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             'https://[API Domain]/api/v1/calendars/sharedcalendars' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/calendars/sharedcalendars"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);

  '/api/v1/cards/{cardId}/documents':
    get:
      tags:
        - Card Documents
      summary: Gets an array of Documents for a given CardId
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: cardId
          in: path
          description: Card ID
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ArrayOfReadCardDocuments'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             'https://[API Domain]/api/v1/cards/{cardId}/documents' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/cards/{cardId}/documents"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);
    post:
      tags:
        - Card Documents
      summary: Creates a Document for a given CardId and returns the signed URL
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: cardId
          in: path
          description: Card ID
          required: true
          type: string
        - in: body
          name: CreateCardDocument
          description: Card Document Data
          required: true
          schema:
            $ref: '#/definitions/CreateCardDocument'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CreateCardDocumentResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             'https://[API Domain]/api/v1/cards/{cardId}/documents' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
                    "documentName": "string",
                    "createdDate": "2023-02-22T04:31:00.635Z",
                    "addedDate": "2023-02-22T04:31:00.636Z",
                    "staffInitials": "string",
                    "deleteCode": 0,
                    "documentType": "string"
                  }'

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/cards/{cardId}/documents"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);
             request.AddParameter("application/json",
             "{
                "documentName": "string",
                "createdDate": "2023-02-22T04:31:00.635Z",
                "addedDate": "2023-02-22T04:31:00.636Z",
                "staffInitials": "string",
                "deleteCode": 0,
                "documentType": "string"
              }"
             , ParameterType.RequestBody);
             IRestResponse response = client.Execute(request); 
             
  '/api/v1/cards/{cardId}/documents/{documentid}':
    delete:
      tags:
        - Card Documents
      summary: Delete a card document
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: cardId
          in: path
          description: Card ID
          required: true
          type: string
        - name: documentid
          in: path
          description: Document ID
          required: true
          type: string
      responses:
        '200':
          description: OK
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X DELETE 
             'https://[API Domain]/api/v1/cards/{cardId}/documents/{documentid}' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/cards/{cardId}/documents/{documentid}"); 
             var request = new RestRequest(Method.DELETE); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);

  '/api/v1/cards/{cardId}/documents/{documentid}/metadata':             
    put:
      tags:
        - Card Documents
      summary: Updatess a Documents metadata for a given CardId
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: cardId
          in: path
          description: Card ID
          required: true
          type: string
        - name: documentid
          in: path
          description: Document ID
          required: true
          type: string
        - in: body
          name: UpdateCardDocumentMetadata
          description: Card Document Data
          required: true
          schema:
            $ref: '#/definitions/UpdateCardDocumentMetadata'
      responses:
        '200':
          description: OK
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT 
             'https://[API Domain]/api/v1/cards/{cardId}/documents/{documentid}/metadata' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
                    "documentId": "string",
                    "documentName": "string",
                    "createdDate": "2023-02-23T04:39:37.610Z",
                    "addedDate": "2023-02-23T04:39:37.610Z",
                    "staffInitials": "string",
                    "deleteCode": 0,
                    "documentType": "string"
                  }'

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/cards/{cardId}/documents/{documentid}/metadata"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);
             request.AddParameter("application/json",
             "{
                "documentId": "string",
                "documentName": "string",
                "createdDate": "2023-02-23T04:39:37.610Z",
                "addedDate": "2023-02-23T04:39:37.610Z",
                "staffInitials": "string",
                "deleteCode": 0,
                "documentType": "string"
              }"
             , ParameterType.RequestBody);
             IRestResponse response = client.Execute(request); 
             
  '/api/v1/cards/{cardId}/documents/{documentid}/{filetype}':
    get:
      tags:
        - Card Documents
      summary: Gets an array of Documents for a given CardId
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: cardId
          in: path
          description: Card ID
          required: true
          type: string
        - name: documentid
          in: path
          description: Document ID
          required: true
          type: string
        - name: filetype
          in: path
          description: File Type
          required: true
          type: string
      responses:
        '200':
          description: OK
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             'https://[API Domain]/api/v1/cards/{cardId}/documents/{documentid}/{filetype}' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/cards/{cardId}/documents/{documentid}/{filetype}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);
  /api/v2/cards:
    post:
      tags:
        - Cards
      summary: Create a new LEAP card
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CardsWriteCreateCard
          description: Card Data
          required: true
          schema:
            $ref: '#/definitions/CardsWriteCreateCard'
      responses:
        '201':
          description: Success
          schema:
            $ref: '#/definitions/PublicDocsCreateCardResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '403':
          description: Forbidden (check your LEAP API Key)
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '404':
          description: Not Found
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500': 
          description: Internal Server Error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST https://[API Domain]/api/v2/cards \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'content-type: application/json' \n -H 'x-api-key: [LEAP API Key]' \n -d '{ \n \t\"deleteCode\": 1, \n \t\"shortName\": \"Great Ocean Trading Name PLC\", \n \t\"fullName\": \"Great Ocean Trading Name PLC (Trading Name), Great Ocean Legal Owner Ltd\", \n \t\"type\": \"Company\", \n \t\"isSupplier\": false, \n \t\"titleType\": \"Default\", \n \t\"title\": \"Great Ocean Legal Owner Ltd\", \n \t\"salutationTitleType\": \"DefaultFriendly\", \n \t\"salutationTitle\": \"Sirs\", \n \t\"description\": \"Great Ocean Trading Name PLC (Trading Name), Great Ocean Legal Owner Ltd\", \n \t\"emailType1\": 3, \n \t\"comments\": \"Plain text comment\", \n \t\"addresses\": { \n \t\t\"type\": \"Street\", \n \t\t\"isDefault\": true, \n \t\t\"name\": \"Tower A\", \n \t\t\"level\": \"602\", \n \t\t\"street\": \"Donning Street\", \n \t\t\"number\": \"288\" \n \t\t\"suburb\": \"London\" \n \t\t\"state\": null \n \t\t\"county\": null \n \t\t\"postcode\": null \n \t\t\"country\": null \n \t\t\"instructions\": null \n \t\t\"poBoxType\": null \n \t}, \n \t\"futureAddresses\": { \n \t\t\"type\": \"Street\", \n \t\t\"isDefault\": true, \n \t\t\"name\": null, \n \t\t\"level\": null, \n \t\t\"street\": null, \n \t\t\"number\": null \n \t\t\"suburb\": null \n \t\t\"state\": null \n \t\t\"county\": null \n \t\t\"postcode\": null \n \t\t\"country\": null \n \t\t\"instructions\": null \n \t\t\"poBoxType\": null \n \t}, \n   \t\"webAddresses\": [ \n \t\t{ \n \t\t\t\"type\": \"Email\", \n \t\t\t\"value\": \"smith@yahoo.io\", \n \t\t}, \n \t\t{ \n \t\t\t\"type\": \"Web\", \n \t\t\t\"value\": \"http://www.greatocean.co.uk\", \n \t\t}, \n \t\t{ \n \t\t\t\"type\": \"Email2\", \n \t\t\t\"value\": \"johnw@yahoo.io\", \n \t\t} \n \t], \n \t\"phoneNumbers\": [ \n \t\t{ \n \t\t\t\"type\": \"Phone\", \n \t\t\t\"value\": \"016987452\", \n \t\t}, \n \t\t{ \n \t\t\t\"type\": \"Mobile\", \n \t\t\t\"value\": \"02987456123\", \n \t\t}, \n \t\t{ \n \t\t\t\"type\": \"Home\", \n \t\t\t\"value\": \"024569871\", \n \t\t} \n \t], \n \t\"persons\": [], \n \t\"fields\": [], \n \t\"bankAccount\": { \n \t\t\"bsb\": null, \n \t\t\"accountName\": null, \n \t\t\"accountNumber\": null \n \t}, \n \t\"futureAddressSettings\": { \n \t\t\"startDate\": null, \n \t\t\"endDate\": null \n \t}, \n   \t\"organisationDetails\": { \n \t\t\"businessType\": null, \n \t\t\"abn\": \"35698741\", \n \t\t\"companyName\": \"Great Ocean Legal Owner\", \n \t\t\"companyTitle\": \"Inc\", \n \t\t\"isSoleDirector\": false, \n \t\t\"tradingName\": \"Great Ocean Trading Name\", \n \t\t\"tradingTitle\": \"Pty\", \n \t\t\"isRegOfficeSameAsStreetAddress\": false, \n \t\t\"regOffice\": { \n \t\t\t\"name\": null, \n \t\t\t\"level\": null, \n \t\t\t\"street\": null, \n \t\t\t\"number\": null, \n \t\t\t\"suburb\": null, \n \t\t\t\"state\": null, \n \t\t\t\"county\": null, \n \t\t\t\"postcode\": null, \n \t\t\t\"country\": null, \n \t\t\t\"instructions\": null, \n \t\t\t\"poBoxType\": null \n \t}, \n  \t\"trustees\": [], \n \t}, \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/cards\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"deleteCode\": 1, \n \t\"shortName\": \"Great Ocean Trading Name PLC\", \n \t\"fullName\": \"Great Ocean Trading Name PLC (Trading Name), Great Ocean Legal Owner Ltd\", \n \t\"type\": \"Company\", \n \t\"isSupplier\": false, \n \t\"titleType\": \"Default\", \n \t\"title\": \"Great Ocean Legal Owner Ltd\", \n \t\"salutationTitleType\": \"DefaultFriendly\", \n \t\"salutationTitle\": \"Sirs\", \n \t\"description\": \"Great Ocean Trading Name PLC (Trading Name), Great Ocean Legal Owner Ltd\", \n \t\"emailType1\": 3, \n \t\"comments\": \"Plain text comment\", \n \t\"addresses\": { \n \t\t\"type\": \"Street\", \n \t\t\"isDefault\": true, \n \t\t\"name\": \"Tower A\", \n \t\t\"level\": \"602\", \n \t\t\"street\": \"Donning Street\", \n \t\t\"number\": \"288\" \n \t\t\"suburb\": \"London\" \n \t\t\"state\": null \n \t\t\"county\": null \n \t\t\"postcode\": null \n \t\t\"country\": null \n \t\t\"instructions\": null \n \t\t\"poBoxType\": null \n \t}, \n \t\"futureAddresses\": { \n \t\t\"type\": \"Street\", \n \t\t\"isDefault\": true, \n \t\t\"name\": null, \n \t\t\"level\": null, \n \t\t\"street\": null, \n \t\t\"number\": null \n \t\t\"suburb\": null \n \t\t\"state\": null \n \t\t\"county\": null \n \t\t\"postcode\": null \n \t\t\"country\": null \n \t\t\"instructions\": null \n \t\t\"poBoxType\": null \n \t}, \n   \t\"webAddresses\": [ \n \t\t{ \n \t\t\t\"type\": \"Email\", \n \t\t\t\"value\": \"smith@yahoo.io\", \n \t\t}, \n \t\t{ \n \t\t\t\"type\": \"Web\", \n \t\t\t\"value\": \"http://www.greatocean.co.uk\", \n \t\t}, \n \t\t{ \n \t\t\t\"type\": \"Email2\", \n \t\t\t\"value\": \"johnw@yahoo.io\", \n \t\t} \n \t], \n \t\"phoneNumbers\": [ \n \t\t{ \n \t\t\t\"type\": \"Phone\", \n \t\t\t\"value\": \"016987452\", \n \t\t}, \n \t\t{ \n \t\t\t\"type\": \"Mobile\", \n \t\t\t\"value\": \"02987456123\", \n \t\t}, \n \t\t{ \n \t\t\t\"type\": \"Home\", \n \t\t\t\"value\": \"024569871\", \n \t\t} \n \t], \n \t\"persons\": [], \n \t\"fields\": [], \n \t\"bankAccount\": { \n \t\t\"bsb\": null, \n \t\t\"accountName\": null, \n \t\t\"accountNumber\": null \n \t}, \n \t\"futureAddressSettings\": { \n \t\t\"startDate\": null, \n \t\t\"endDate\": null \n \t}, \n   \t\"organisationDetails\": { \n \t\t\"businessType\": null, \n \t\t\"abn\": \"35698741\", \n \t\t\"companyName\": \"Great Ocean Legal Owner\", \n \t\t\"companyTitle\": \"Inc\", \n \t\t\"isSoleDirector\": false, \n \t\t\"tradingName\": \"Great Ocean Trading Name\", \n \t\t\"tradingTitle\": \"Pty\", \n \t\t\"isRegOfficeSameAsStreetAddress\": false, \n \t\t\"regOffice\": { \n \t\t\t\"name\": null, \n \t\t\t\"level\": null, \n \t\t\t\"street\": null, \n \t\t\t\"number\": null, \n \t\t\t\"suburb\": null, \n \t\t\t\"state\": null, \n \t\t\t\"county\": null, \n \t\t\t\"postcode\": null, \n \t\t\t\"country\": null, \n \t\t\t\"instructions\": null, \n \t\t\t\"poBoxType\": null \n \t}, \n  \t\"trustees\": [], \n \t}, \n }\" \n , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"

    get:
      tags:
        - Cards
      summary: Returns a list of cards for a firm
      operationId: Card_GetCards
      produces:
        - application/json
      parameters:
        - name: rowVersion
          in: query
          description: >-
            The `rowVersion` field, is the database identity record of the item
            being requested.
            Provide this to get a DELTA of all cards that have been changed or
            created since the `rowVersion` provided.
          required: false
          type: string
        - name: maxItems
          in: query
          description: >-
            Maximum number of total returned records returned while paginating
            (max of 10000).
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/CardListJson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v2/cards  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API Domain]/api/v2/cards"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);
    
    put:
      tags:
        - Cards
      summary: Update a Card
      produces:
        - application/json
      parameters:
        - name: rowVersion
          in: query
          description: >-
            The `rowVersion` field, is the database identity record of the item
            being requested.
            Provide this to get a DELTA of all cards that have been changed or
            created since the `rowVersion` provided.
          required: false
          type: string
        - name: maxItems
          in: query
          description: >-
            Maximum number of total returned records returned while paginating
            (max of 10000).
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CardsWriteUpdateCard
          description: Card Data
          required: true
          schema:
            $ref: '#/definitions/CardsWriteUpdateCard'
      responses:
        '200':
          description: Successful response.
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT  
             https://[API Domain]/api/v2/cards  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
                  "cardId": "string",
                  "deleteCode": 0,
                  "shortName": "string",
                  "type": "people",
                  "isSupplier": true,
                  "titleType": "default",
                  "title": "string",
                  "salutationTitleType": "defaultFriendly",
                  "salutationTitle": "string",
                  "comments": "string",
                  "marketingConsent": true,
                  "emailType1": 0,
                  "emailType2": 0,
                  "phoneType1": 0,
                  "phoneType2": 0,
                  "phoneType3": 0,
                  "addresses": [
                    {
                      "isDefault": true,
                      "type": "street",
                      "name": "string",
                      "level": "string",
                      "street": "string",
                      "number": "string",
                      "suburb": "string",
                      "state": "string",
                      "county": "string",
                      "district": "string",
                      "postcode": "string",
                      "country": "string",
                      "instructions": "string",
                      "poBoxType": "string",
                      "municipality": "string",
                      "stationInfo": "string"
                    }
                  ],
                  "futureAddresses": [
                    {
                      "isDefault": true,
                      "type": "street",
                      "name": "string",
                      "level": "string",
                      "street": "string",
                      "number": "string",
                      "suburb": "string",
                      "state": "string",
                      "county": "string",
                      "district": "string",
                      "postcode": "string",
                      "country": "string",
                      "instructions": "string",
                      "poBoxType": "string",
                      "municipality": "string",
                      "stationInfo": "string"
                    }
                  ],
                  "webAddresses": [
                    {
                      "type": "email",
                      "value": "string"
                    }
                  ],
                  "phoneNumbers": [
                    {
                      "type": "phone",
                      "value": "string"
                    }
                  ],
                  "persons": [
                    {
                      "recordId": "string"
                    }
                  ],
                  "fields": [
                    {
                      "fieldId": "string",
                      "value": "string"
                    }
                  ],
                  "bankAccount": {
                    "bsb": "string",
                    "accountName": "string",
                    "accountNumber": "string"
                  },
                  "futureAddressSettings": {
                    "startDate": "2022-11-23T23:06:30.353Z",
                    "endDate": "2022-11-23T23:06:30.353Z"
                  },
                  "organisationDetails": {
                    "businessType": "string",
                    "companyName": "string",
                    "companyTitle": "string",
                    "tradingName": "string",
                    "tradingTitle": "string",
                    "isSoleDirector": true,
                    "departmentName": "string",
                    "trustName": "string",
                    "abn": "string",
                    "isRegOfficeSameAsStreetAddress": true,
                    "regOffice": {
                      "name": "string",
                      "level": "string",
                      "street": "string",
                      "number": "string",
                      "suburb": "string",
                      "state": "string",
                      "county": "string",
                      "district": "string",
                      "postcode": "string",
                      "country": "string",
                      "instructions": "string",
                      "poBoxType": "string",
                      "municipality": "string",
                      "stationInfo": "string"
                    },
                    "trustees": [
                      {
                        "name": "string",
                        "company": "company",
                        "abn": "string",
                        "acn": "string"
                      }
                    ],
                    "trustStatus": "string",
                    "trustDate": "2022-11-23T23:06:30.353Z",
                    "acn": "string",
                    "acnType": "string"
                  }
                }'

        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API Domain]/api/v2/cards"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddParameter("application/json", 
             "{
                "cardId": "string",
                "deleteCode": 0,
                "shortName": "string",
                "type": "people",
                "isSupplier": true,
                "titleType": "default",
                "title": "string",
                "salutationTitleType": "defaultFriendly",
                "salutationTitle": "string",
                "comments": "string",
                "marketingConsent": true,
                "emailType1": 0,
                "emailType2": 0,
                "phoneType1": 0,
                "phoneType2": 0,
                "phoneType3": 0,
                "addresses": [
                {
                  "isDefault": true,
                  "type": "street",
                  "name": "string",
                  "level": "string",
                  "street": "string",
                  "number": "string",
                  "suburb": "string",
                  "state": "string",
                  "county": "string",
                  "district": "string",
                  "postcode": "string",
                  "country": "string",
                  "instructions": "string",
                  "poBoxType": "string",
                  "municipality": "string",
                  "stationInfo": "string"
                }
                ],
                "futureAddresses": [
                {
                  "isDefault": true,
                  "type": "street",
                  "name": "string",
                  "level": "string",
                  "street": "string",
                  "number": "string",
                  "suburb": "string",
                  "state": "string",
                  "county": "string",
                  "district": "string",
                  "postcode": "string",
                  "country": "string",
                  "instructions": "string",
                  "poBoxType": "string",
                  "municipality": "string",
                  "stationInfo": "string"
                }
                ],
                "webAddresses": [
                {
                  "type": "email",
                  "value": "string"
                }
                ],
                "phoneNumbers": [
                {
                  "type": "phone",
                  "value": "string"
                }
                ],
                "persons": [
                {
                  "recordId": "string"
                }
                ],
                "fields": [
                {
                  "fieldId": "string",
                  "value": "string"
                }
                ],
                "bankAccount": {
                "bsb": "string",
                "accountName": "string",
                "accountNumber": "string"
                },
                "futureAddressSettings": {
                "startDate": "2022-11-23T23:06:30.353Z",
                "endDate": "2022-11-23T23:06:30.353Z"
                },
                "organisationDetails": {
                "businessType": "string",
                "companyName": "string",
                "companyTitle": "string",
                "tradingName": "string",
                "tradingTitle": "string",
                "isSoleDirector": true,
                "departmentName": "string",
                "trustName": "string",
                "abn": "string",
                "isRegOfficeSameAsStreetAddress": true,
                "regOffice": {
                  "name": "string",
                  "level": "string",
                  "street": "string",
                  "number": "string",
                  "suburb": "string",
                  "state": "string",
                  "county": "string",
                  "district": "string",
                  "postcode": "string",
                  "country": "string",
                  "instructions": "string",
                  "poBoxType": "string",
                  "municipality": "string",
                  "stationInfo": "string"
                },
                "trustees": [
                  {
                    "name": "string",
                    "company": "company",
                    "abn": "string",
                    "acn": "string"
                  }
                ],
                "trustStatus": "string",
                "trustDate": "2022-11-23T23:06:30.353Z",
                "acn": "string",
                "acnType": "string"
                }
             }" 
             , ParameterType.RequestBody);
             IRestResponse response = client.Execute(request);             
  '/api/v1/cards/packages/{cardId}':
    get:
      tags:
        - Cards
      summary: Returns a single card with persons included.
      produces:
        - application/json
      parameters:
        - name: Card Id
          in: query
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/CardGetPackage'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
            Content-Type:
              type: string
              description: ''
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Card does not exist.
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/cards/packages/{cardId} 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/cards/packages/{cardId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

  '/api/v2/cards/{cardid}':
    get:
      tags:
        - Cards
      summary: Returns a single card for a firm.
      operationId: Card_GetCards_Single
      produces:
        - application/json
      parameters:
        - name: Card Id
          in: path
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/CardJson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v2/cards/{cardid} 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/cards/{cardid}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/cards/search:
    get:
      tags:
        - Cards
      summary: Performs a quick card search
      produces:
        - application/json
      parameters:
        - name: query
          in: query
          description: >-
            Search all cards for this string.


            Fields being searched are: `shortname`, `fullname`, `address`,
            `emailaddress`, `contactnumbers`, `cardtype`, `cardroles`
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CloudSearchCardDetails'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             'https://[API Domain]/api/v1/cards/search?query=%22ABC%20Trading%20Corporation%22' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/cards/search?query=%22ABC%20Trading%20Corporation%22"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request); 

    post:
      tags:
        - Cards
      summary: Advanced card search
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AdvancedCardSearchQuery
          description: Card Data
          required: true
          schema:
            $ref: '#/definitions/AdvancedCardSearchQuery'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CloudSearchCardDetails'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST 'https://[API Domain]/api/v1/cards/search' \n --header 'x-api-key: [LEAP API Key]' \n --header 'Content-Type: application/json' \n --header 'Authorization: [Bearer Token]' \n --data-raw '{ \n \t\"SearchTerms\": [ \n \t\t{ \n \t\t\t\"TermOption\": \"AllowWildcard\", \n \t\t\t\"TermValue\": \"Smith\", \n \t\t\t\"TermName\": \"FullName\" \n \t\t}, \n \t\t{ \n \t\t\t\"TermOption\": \"ExactMatch\", \n \t\t\t\"TermValue\": \"0\", \n \t\t\t\"TermName\": \"deletecode\" \n \t\t} \n \t] \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/cards/search\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"SearchTerms\": [ \n \t{ \n \t\t\"TermOption\": \"AllowWildcard\", \n \t\t\"TermValue\": \"Sunberg\", \n \t\t\"TermName\": \"FullName\" \n \t}, \n \t{ \n \t\t\"TermOption\": \"ExactMatch\", \n \t\t\"TermValue\": \"0\", \n \t\t\"TermName\": \"deletecode\" \n \t} \n ] \n }\" \n , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
  /api/v1/matters/{matterid}/cards:
    get:
      tags:
        - Cards
      summary: Gets a list of cards for a matter
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CardListMatterJson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             'https://[API Domain]/api/v1/matters/{matterid}/cards' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/cards"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);
    post:
      tags:
        - Cards
      summary: Adds new cards to a matter
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: ArrayOfMattersCreateCard
          description: Card Data
          required: true
          schema:
            $ref: '#/definitions/ArrayOfMattersCreateCard'
      responses:
        '200':
          description: Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             'https://[API Domain]/api/v1/matters/{matterid}/cards' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -d '[
                  {
                    "recordId": "string",
                    "tableId": "string",
                    "table": {
                      "tableId": "string",
                      "fields": [
                        {
                          "fieldId": "string",
                          "value": "string"
                        }
                      ]
                    },
                    "personIds": [
                      "string"
                    ],
                    "reference": "string"
                  }
                ]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/cards"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "[
                {
                  "recordId": "string",
                  "tableId": "string",
                  "table": {
                    "tableId": "string",
                    "fields": [
                      {
                        "fieldId": "string",
                        "value": "string"
                      }
                    ]
                  },
                  "personIds": [
                    "string"
                  ],
                  "reference": "string"
                }
              ]"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);

    put:
      tags:
        - Cards
      summary: Updates a matter's cards
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: ArrayOfMattersUpdateCard
          description: Card Data
          required: true
          schema:
            $ref: '#/definitions/ArrayOfMattersCreateCard'
      responses:
        '200':
          description: Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT 
             'https://[API Domain]/api/v1/matters/{matterid}/cards' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -d '[
                  {
                    "recordId": "string",
                    "tableId": "string",
                    "table": {
                      "tableId": "string",
                      "fields": [
                        {
                          "fieldId": "string",
                          "value": "string"
                        }
                      ]
                    },
                    "personIds": [
                      "string"
                    ],
                    "reference": "string"
                  }
                ]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/cards"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "[
                {
                  "recordId": "string",
                  "tableId": "string",
                  "table": {
                    "tableId": "string",
                    "fields": [
                      {
                        "fieldId": "string",
                        "value": "string"
                      }
                    ]
                  },
                  "personIds": [
                    "string"
                  ],
                  "reference": "string"
                }
              ]"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);

  '/api/v1/standard/cards/{cardid}':
    get:
      tags:
        - Cards
      summary: Gets a Non PII card
      produces:
        - application/json
      parameters:
        - name: cardId
          in: path
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/CardJsonNonPII'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/standard/cards/{cardid} 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/standard/cards/{cardid}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);  

  '/api/v1/standard/cards':  
    post:
      tags:
        - Cards
      summary: Creates a Non PII card
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CardModelNonPiiDPVWCC
          description: CardModelNonPiiDPVWCC
          required: true
          schema:
            $ref: '#/definitions/CardsWriteCreateCardNonPII'
      responses:
        '200':
          description: Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             'https://[API Domain]/api/v1/standard/cards' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -d '[
                    {
                    "deleteCode": 0,
                    "shortName": "string",
                    "type": "people",
                    "isSupplier": true,
                    "titleType": "default",
                    "title": "string",
                    "salutationTitleType": "defaultFriendly",
                    "salutationTitle": "string",
                    "comments": "string",
                    "marketingConsent": true,
                    "emailType1": 0,
                    "emailType2": 0,
                    "phoneType1": 0,
                    "phoneType2": 0,
                    "phoneType3": 0,
                    "irdNumber": "string",
                    "taxCountry": "string",
                    "addresses": [
                        {
                            "isDefault": true,
                            "type": "street",
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        }
                    ],
                    "futureAddresses": [
                        {
                            "isDefault": true,
                            "type": "street",
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        }
                    ],
                    "webAddresses": [
                        {
                            "type": "email",
                            "value": "string"
                        }
                    ],
                    "phoneNumbers": [
                        {
                            "type": "phone",
                            "value": "string"
                        }
                    ],
                    "persons": [
                        {
                            "recordId": "string"
                        }
                    ],
                    "fields": [
                        {
                            "fieldId": "string",
                            "value": "string"
                        }
                    ],
                    "futureAddressSettings": {
                        "startDate": "2023-02-07T23:10:20.310Z",
                        "endDate": "2023-02-07T23:10:20.310Z"
                    },
                    "organisationDetails": {
                        "businessType": "string",
                        "companyName": "string",
                        "companyTitle": "string",
                        "tradingName": "string",
                        "tradingTitle": "string",
                        "isSoleDirector": true,
                        "departmentName": "string",
                        "trustName": "string",
                        "abn": "string",
                        "isRegOfficeSameAsStreetAddress": true,
                        "regOffice": {
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        },
                        "trustees": [
                            {
                                "name": "string",
                                "company": "company",
                                "abn": "string",
                                "acn": "string"
                            }
                        ],
                        "trustStatus": "string",
                        "trustDate": "2023-02-07T23:10:20.310Z",
                        "acn": "string",
                        "acnType": "string"
                    },
                    "trust": {
                        "trustPurpose": "string",
                        "settlorName": "string"
                    }
                }
              ]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/standard/cards"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "[
                {
                    "deleteCode": 0,
                    "shortName": "string",
                    "type": "people",
                    "isSupplier": true,
                    "titleType": "default",
                    "title": "string",
                    "salutationTitleType": "defaultFriendly",
                    "salutationTitle": "string",
                    "comments": "string",
                    "marketingConsent": true,
                    "emailType1": 0,
                    "emailType2": 0,
                    "phoneType1": 0,
                    "phoneType2": 0,
                    "phoneType3": 0,
                    "irdNumber": "string",
                    "taxCountry": "string",
                    "addresses": [
                        {
                            "isDefault": true,
                            "type": "street",
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        }
                    ],
                    "futureAddresses": [
                        {
                            "isDefault": true,
                            "type": "street",
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        }
                    ],
                    "webAddresses": [
                        {
                            "type": "email",
                            "value": "string"
                        }
                    ],
                    "phoneNumbers": [
                        {
                            "type": "phone",
                            "value": "string"
                        }
                    ],
                    "persons": [
                        {
                            "recordId": "string"
                        }
                    ],
                    "fields": [
                        {
                            "fieldId": "string",
                            "value": "string"
                        }
                    ],
                    "futureAddressSettings": {
                        "startDate": "2023-02-07T23:10:20.310Z",
                        "endDate": "2023-02-07T23:10:20.310Z"
                    },
                    "organisationDetails": {
                        "businessType": "string",
                        "companyName": "string",
                        "companyTitle": "string",
                        "tradingName": "string",
                        "tradingTitle": "string",
                        "isSoleDirector": true,
                        "departmentName": "string",
                        "trustName": "string",
                        "abn": "string",
                        "isRegOfficeSameAsStreetAddress": true,
                        "regOffice": {
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        },
                        "trustees": [
                            {
                                "name": "string",
                                "company": "company",
                                "abn": "string",
                                "acn": "string"
                            }
                        ],
                        "trustStatus": "string",
                        "trustDate": "2023-02-07T23:10:20.310Z",
                        "acn": "string",
                        "acnType": "string"
                    },
                    "trust": {
                        "trustPurpose": "string",
                        "settlorName": "string"
                    }
                }
              ]"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);  
    put:
      tags:
        - Cards
      summary: Updates a Non PII card
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CardModelNonPiiDPVWCC
          description: CardModelNonPiiDPVWCC
          required: true
          schema:
            $ref: '#/definitions/CardsWriteCreateCardNonPII'
      responses:
        '200':
          description: Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X PUT 
             'https://[API Domain]/api/v1/standard/cards' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -d '[
                    {
                    "deleteCode": 0,
                    "shortName": "string",
                    "type": "people",
                    "isSupplier": true,
                    "titleType": "default",
                    "title": "string",
                    "salutationTitleType": "defaultFriendly",
                    "salutationTitle": "string",
                    "comments": "string",
                    "marketingConsent": true,
                    "emailType1": 0,
                    "emailType2": 0,
                    "phoneType1": 0,
                    "phoneType2": 0,
                    "phoneType3": 0,
                    "irdNumber": "string",
                    "taxCountry": "string",
                    "addresses": [
                        {
                            "isDefault": true,
                            "type": "street",
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        }
                    ],
                    "futureAddresses": [
                        {
                            "isDefault": true,
                            "type": "street",
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        }
                    ],
                    "webAddresses": [
                        {
                            "type": "email",
                            "value": "string"
                        }
                    ],
                    "phoneNumbers": [
                        {
                            "type": "phone",
                            "value": "string"
                        }
                    ],
                    "persons": [
                        {
                            "recordId": "string"
                        }
                    ],
                    "fields": [
                        {
                            "fieldId": "string",
                            "value": "string"
                        }
                    ],
                    "futureAddressSettings": {
                        "startDate": "2023-02-07T23:10:20.310Z",
                        "endDate": "2023-02-07T23:10:20.310Z"
                    },
                    "organisationDetails": {
                        "businessType": "string",
                        "companyName": "string",
                        "companyTitle": "string",
                        "tradingName": "string",
                        "tradingTitle": "string",
                        "isSoleDirector": true,
                        "departmentName": "string",
                        "trustName": "string",
                        "abn": "string",
                        "isRegOfficeSameAsStreetAddress": true,
                        "regOffice": {
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        },
                        "trustees": [
                            {
                                "name": "string",
                                "company": "company",
                                "abn": "string",
                                "acn": "string"
                            }
                        ],
                        "trustStatus": "string",
                        "trustDate": "2023-02-07T23:10:20.310Z",
                        "acn": "string",
                        "acnType": "string"
                    },
                    "trust": {
                        "trustPurpose": "string",
                        "settlorName": "string"
                    }
                }
              ]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/standard/cards"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "[
                {
                    "deleteCode": 0,
                    "shortName": "string",
                    "type": "people",
                    "isSupplier": true,
                    "titleType": "default",
                    "title": "string",
                    "salutationTitleType": "defaultFriendly",
                    "salutationTitle": "string",
                    "comments": "string",
                    "marketingConsent": true,
                    "emailType1": 0,
                    "emailType2": 0,
                    "phoneType1": 0,
                    "phoneType2": 0,
                    "phoneType3": 0,
                    "irdNumber": "string",
                    "taxCountry": "string",
                    "addresses": [
                        {
                            "isDefault": true,
                            "type": "street",
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        }
                    ],
                    "futureAddresses": [
                        {
                            "isDefault": true,
                            "type": "street",
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        }
                    ],
                    "webAddresses": [
                        {
                            "type": "email",
                            "value": "string"
                        }
                    ],
                    "phoneNumbers": [
                        {
                            "type": "phone",
                            "value": "string"
                        }
                    ],
                    "persons": [
                        {
                            "recordId": "string"
                        }
                    ],
                    "fields": [
                        {
                            "fieldId": "string",
                            "value": "string"
                        }
                    ],
                    "futureAddressSettings": {
                        "startDate": "2023-02-07T23:10:20.310Z",
                        "endDate": "2023-02-07T23:10:20.310Z"
                    },
                    "organisationDetails": {
                        "businessType": "string",
                        "companyName": "string",
                        "companyTitle": "string",
                        "tradingName": "string",
                        "tradingTitle": "string",
                        "isSoleDirector": true,
                        "departmentName": "string",
                        "trustName": "string",
                        "abn": "string",
                        "isRegOfficeSameAsStreetAddress": true,
                        "regOffice": {
                            "name": "string",
                            "level": "string",
                            "street": "string",
                            "number": "string",
                            "suburb": "string",
                            "state": "string",
                            "county": "string",
                            "district": "string",
                            "postcode": "string",
                            "country": "string",
                            "instructions": "string",
                            "poBoxType": "string",
                            "municipality": "string",
                            "stationInfo": "string"
                        },
                        "trustees": [
                            {
                                "name": "string",
                                "company": "company",
                                "abn": "string",
                                "acn": "string"
                            }
                        ],
                        "trustStatus": "string",
                        "trustDate": "2023-02-07T23:10:20.310Z",
                        "acn": "string",
                        "acnType": "string"
                    },
                    "trust": {
                        "trustPurpose": "string",
                        "settlorName": "string"
                    }
                }
              ]"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);  

  '/api/v1/standard/cards/packages/{cardId}':
    get:
      tags:
        - Cards
      summary: Gets a Non PII card including persons.
      produces:
        - application/json
      parameters:
        - name: cardId
          in: query
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/CardGetPackageNonPII'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
            Content-Type:
              type: string
              description: ''
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Card does not exist.
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/standard/cards/packages/{cardId} 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/standard/cards/packages/{cardId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

  '/api/v1/standard/matters/{matterId}/cards':
    get:
      tags:
        - Cards
      summary: Gets all Non PII matter's cards.
      produces:
        - application/json
      parameters:
        - name: matterId
          in: path
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/CardJsonNonPII'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
            Content-Type:
              type: string
              description: ''
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Card does not exist.
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/standard/matters/{matterId}/cards 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/standard/matters/{matterId}/cards"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);             
  
  /api/v1/costrecovery:
    post:
      tags:
        - CostRecovery
      summary: Creates an individual cost recovery.
      description: |
        This endpoint is used to create a cost recovery record. 

        Prerequisite endpoints:
        - GET /api/v2/taxcodes
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CostRecoveryCreateModel
          description: Cost recovery
          required: true
          schema:
            $ref: '#/definitions/CostRecoveryCreateModel'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
        '400':
          description: Bad Request
          examples:
            application/json:
              Code: -302
              PropertyName: null
              Message: Unable to save transaction. Can't find matter on server.
              MessageHeader: null
              LineItemNumber: null
          schema:
            $ref: '#/definitions/ErrorResp'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X PUT https://[API Domain]/api/v1/costrecovery
            -H 'accept: application/json' 
            -H 'authorization: [Bearer Token]' 
            -H 'cache-control: no-cache' 
            -H 'content-type: application/json' 
            -H 'x-api-key: [LEAP API Key]' 
            -d '{ 
                      "PurchaseMode": 0,
                      "TransactionDate": "2019-08-24T14:15:22Z",
                      "Quantity": 0,
                      "AmountEach": 0,
                      "TotalIncTax": 0,
                      "TotalExTax": 0,
                      "TotalTax": 0,
                      "BillingDescription": "string",
                      "BillingMode": 0,
                      "IncTax": true,
                      "ExternalURL": "string",
                      "ExternalJSON": "string",
                      "FunctionGroupId": "546f71c1-8463-496b-93ee-6c24583e971b",
                      "InterestCalculcationDate": "2019-08-24T14:15:22Z",
                      "CostRecoveryId": "b2e7fc60-5d7e-457a-b65e-2cb8a14a30a5",
                      "MatterId": "dc1f3d43-db6e-4169-9269-628131fcaef6",
                      "TaxCodeId": "0be9efd9-bd24-46d7-95f6-80d65420a88e",
                      "TaskCodeId": "a0145c95-35d6-4c5c-b3d1-86a7498bc524",
                      "PurchaseSupplierCardId": "d9965882-a1f4-40b3-a8f3-e2b13b683f98"
            }'
        - lang: 'C#'
          source: |
            var client = new RestClient("https://[API Domain]/api/v1/costrecovery"); 
              var request = new RestRequest(Method.POST); 
              request.AddHeader("cache-control", "no-cache"); 
              request.AddHeader("content-type", "application/json"); 
              request.AddHeader("x-api-key", "[LEAP API Key]"); 
              request.AddHeader("authorization", "[Bearer Token]"); 
              request.AddHeader("accept", "application/json"); 
              request.AddParameter("application/json", 
              "{ 
                "PurchaseMode": 0,
                "TransactionDate": "2019-08-24T14:15:22Z",
                "Quantity": 0,
                "AmountEach": 0,
                "TotalIncTax": 0,
                "TotalExTax": 0,
                "TotalTax": 0,
                "BillingDescription": "string",
                "BillingMode": 0,
                "IncTax": true,
                "ExternalURL": "string",
                "ExternalJSON": "string",
                "FunctionGroupId": "546f71c1-8463-496b-93ee-6c24583e971b",
                "InterestCalculcationDate": "2019-08-24T14:15:22Z",
                "CostRecoveryId": "b2e7fc60-5d7e-457a-b65e-2cb8a14a30a5",
                "MatterId": "dc1f3d43-db6e-4169-9269-628131fcaef6",
                "TaxCodeId": "0be9efd9-bd24-46d7-95f6-80d65420a88e",
                "TaskCodeId": "a0145c95-35d6-4c5c-b3d1-86a7498bc524",
                "PurchaseSupplierCardId": "d9965882-a1f4-40b3-a8f3-e2b13b683f98"
              }'
    put:
      tags:
        - CostRecovery
      summary: Updates a single cost recovery.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: costrecoveryid
          in: path
          description: Cost Recovery Id
          required: true
          type: string
        - in: body
          name: CostRecoveryUpdateModel
          description: Cost recovery
          required: true
          schema:
            $ref: '#/definitions/CostRecoveryUpdateModel'
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '404':
          description: Not Found
          examples:
            application/json:
              Code: 0
              PropertyName: null
              Message: This record does not exist.
              MessageHeader: null
              LineItemNumber: null
          schema:
            $ref: '#/definitions/ErrorResp'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X PUT https://[API Domain]/api/v1/costrecovery/867f389f-3826-413c-b27b-abae6b7e9e29 \n -H 'accept: application/json' \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'content-type: application/json' \n -H 'x-api-key: [LEAP API Key]' \n -d '{ \n \t\"CostRecoveryId\": \"867f389f-3826-413c-b27b-abae6b7e9e29\", \n \t\"MatterId\": \"6a33b27c-0f75-4adc-815e-ab1b7d402f03\", \n \t\"TaxCodeId\": \"30b45b5d-8383-4708-8dd9-2be7b90b6599\", \n \t\"TaskCodeId\": \"ccc39e96-0b87-4b51-97a8-7ba70b2d861c\", \n \t\"PurchaseSupplierCardId\": null, \n \t\"PurchaseMode\": 0, \n \t\"TransactionDate\": \"2018-11-11T22:36:27.196Z\", \n \t\"Quantity\": 2026, \n \t\"AmountEach\": 0.19, \n \t\"TotalIncTax\": 24.71, \n \t\"TotalExTax\": 405.2, \n \t\"TotalTax\": 0, \n \t\"BillingDescription\": \"printing\", \n \t\"BillingMode\": 0, \n \t\"RowVersion\": 0, \n \t\"IncTax\": true, \n \t\"ExternalURL\": \"string\", \n \t\"ExternalJSON\": \"string\" \n }'\n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/costrecovery/867f389f-3826-413c-b27b-abae6b7e9e29\"); \n var request = new RestRequest(Method.PUT); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"CostRecoveryId\": \"867f389f-3826-413c-b27b-abae6b7e9e29\", \n \t\"MatterId\": \"6a33b27c-0f75-4adc-815e-ab1b7d402f03\", \n \t\"TaxCodeId\": \"30b45b5d-8383-4708-8dd9-2be7b90b6599\", \n \t\"TaskCodeId\": \"ccc39e96-0b87-4b51-97a8-7ba70b2d861c\", \n \t\"PurchaseSupplierCardId\": null, \n \t\"PurchaseMode\": 0, \n \t\"TransactionDate\": \"2018-11-11T22:36:27.196Z\", \n \t\"Quantity\": 2026, \n \t\"AmountEach\": 0.19, \n \t\"TotalIncTax\": 24.71, \n \t\"TotalExTax\": 405.2, \n \t\"TotalTax\": 0, \n \t\"BillingDescription\": \"printing\", \n \t\"BillingMode\": 0, \n \t\"RowVersion\": 0, \n \t\"IncTax\": true, \n \t\"ExternalURL\": \"string\", \n \t\"ExternalJSON\": \"string\" \n \t\n}\", ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n"
  '/api/v2/costrecovery/{costrecoveryid}':
    get:
      tags:
        - CostRecovery
      summary: Returns a single cost recovery.
      produces:
        - application/json
      parameters:
        - name: taxCodeDeleted
          in: query
          description: Tax code deleted (true / false)
          required: false
          type: bool
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: costrecoveryid
          in: path
          description: Cost Recovery Id
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CostRecoveryInitialisationDataUpdate'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v2/costrecovery/ccc39e96-0b87-4b51-97a8-7ba70b2d861c 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/costrecovery/ccc39e96-0b87-4b51-97a8-7ba70b2d861c"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/matters/{matterId}/definabletables:
    put:
      tags:
        - Definable Tables
      #Updates a matter's definable tables. Locates the definable table by definableTableId and displaySequence.
      summary: Update definable table by sequence number
      produces:
        - application/json
      parameters:
        #- name: query
        #  in: query
        #  description: >-
        #    Updates a matter's definable tables. Locates the definable table by definableTableId and displaySequence.
        #    [TODO: update later]
        #  required: true
        #  type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string        
        - name: MatterId
          in: path
          description: Matter ID
          required: true
          type: string
        - in: body
          name: DefinableTablePutV1Body
          description: Definable Table
          required: true
          schema:
            $ref: '#/definitions/DefinableTablePutV1Body'          
      responses:
        '200':
          description: OK
          schema:
            #$ref: '#/definitions/CloudSearchCardDetails'
            $ref: '#/definitions/DefinableTablePostResponse200'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Definable Table dummy_non_existing_table does not exist.
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X PUT  
            'https://[API Domain]/api/v1/matters/{matterId}/definabletables' 
            -H 'authorization: [Bearer Token]' 
            -H 'cache-control: no-cache'
            -H 'x-api-key: [LEAP API Key]'             
            -H 'accept: application/json'
            -H 'content-type: application/json'
            --d '{
                "definableTableId": "6", 
                "displaySequence: 2, 
                "fields": [
                   {
                     "fieldId": "294001",
                     "value": "COMMERCIAL PROPERTY"
                   },
                   {
                     "fieldId": "269001",
                     "value": "300"
                   },
                   {
                     "fieldId": "270001",
                     "Value": "35A Kendall Street"
                   }, 
                   {
                     "fieldId": "271001",
                     "Value": "Barangaroo"
                   }, 
                   {
                     "fieldId": "6234001",
                     "Value": "Epping"
                   }, 
                   {
                     "fieldId": "272001",
                     "Value": "2121"
                   }
                ]
              }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/" + {matterId} +  "/definabletables"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json");             

             request.AddParameter("application/json", 
             "{ 
                "displayDequence": 2,
                "definableTableId": "0", 
                "fields": [
                  {
                     "fieldId": "294001", 
                     "value": "COMMERCIAL PROPERTY"
                  }, 
                  {
                     "fieldId": "269001", 
                     "value": "300"
                  }, 
                  {
                     "fieldId": "270001", 
                     "value": "35A Kendall Street"
                  }, 
                  {
                     "fieldId": "271001", 
                     "value": "Barangaroo"
                  }, 
                  {
                     "fieldId": "6234001", 
                     "value": "Epping"
                  }, 
                  {
                     "fieldId": "272001", 
                     "value": "2121"
                  }                   
                ]
              }");
              
             IRestResponse response = client.Execute(request);
    post:
      tags:
        - Definable Tables
      #Adds new definable tables to a matter.
      summary: Add definable table to matter   
      description: |+ 
        Definable Tables are tables that store the data for fields within the "Details" portion of a Matter. These tables are known as "definable" because they not automatically populated via the system but rather based off of the Client or Firm's specific details relating to the matter.

        Each LEAP Matter can store matter-specific data in one or more definable tables. A definable table can contain one or more fields.

        A LEAP Matter's matterTypeId determines the available definable tables and how each field in a definable table is displayed or laid out.

        The Content team designs definable tables and they are based on documents related to the matter (Examples: "Cheque details" or "Settlement details" related to a matter). Fields in the definable tables
        are part of these designs and are not static.    
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: MatterId
          in: path
          description: Matter ID
          required: true
          type: string 
        - in: body
          name: DefinableTablePostBody
          description: Definable Table
          required: true
          schema:
            $ref: '#/definitions/DefinableTablePostBody'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DefinableTablePostResponse200'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Definable Table dummy_non_existing_table does not exist.
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X POST 
            'https://[API Domain]/api/v1/matters/{matterId}/definabletables' 
            -H 'authorization: [Bearer Token]' 
            -H 'cache-control: no-cache'
            -H 'x-api-key: [LEAP API Key]'             
            -H 'accept: application/json'    
            -H 'content-type: application/json'
            --d '{
                "definableTableId": "6", 
                "fields": [
                   {
                     "fieldId": "294001",
                     "value": "COMMERCIAL PROPERTY"
                   },
                   {
                     "fieldId": "269001",
                     "value": "300"
                   }
                ]
              }'
        - lang: 'C#'
          source: >+            
            var client = new RestClient("https://[APIDomain]/api/v1/matters/" + {matterId} + "/definabletables"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json");             

             request.AddParameter("application/json", 
             "{ 
                "displayDequence": 2,
                "fields": [
                  {
                     "fieldId": "294001", 
                     "value": "NEW COMMERCIAL PROPERTY"
                  }, 
                  {
                     "fieldId": "269001", 
                     "value": "Unit 159"
                  }, 
                  {
                     "fieldId": "270001", 
                     "value": "21 Gallagher Alley"
                  }, 
                  {
                     "fieldId": "271001", 
                     "value": "Surrey Hills"
                  }, 
                  {
                     "fieldId": "6234001", 
                     "value": "DarlingHurst"
                  }, 
                  {
                     "fieldId": "272001", 
                     "value": "2000"
                  }                   
                ]
              }"); 

             IRestResponse response = client.Execute(request);

  /api/v2/matters/{matterId}/definabletables:
    put:
      tags:
        - Definable Tables
      #Updates a matter's definable tables. Locates the definable table by definableTableId and recordId.
      summary: Update definable table by Id.
      produces:
        - application/json
      parameters:
        #- name: query
        #  in: query
        #  description: >-
        #    Updates a matter's definable tables. Locates the definable table by definableTableId and recordId.
        #    [TODO: update later]
        #  required: true
        #  type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: MatterId
          in: path
          description: Matter ID
          required: true
          type: string 
        - in: body
          name: DefinableTablePutV2Body
          description: Definable Table
          required: true
          schema:
            $ref: '#/definitions/DefinableTablePutV2Body'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DefinableTablePostResponse200'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Definable table dummy_non_existing_table with recordId 5e89127d-fefb-4df2-9a16-681eba39fa44 does not exist on the matter.
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X PUT  
            'https://[API Domain]/api/v2/matters/{matterId}/definabletables' 
            -H 'authorization: [Bearer Token]' 
            -H 'cache-control: no-cache'
            -H 'x-api-key: [LEAP API Key]'             
            -H 'accept: application/json'
            -H 'content-type: application/json'
            --d '{
                "definableTableId": "6", 
                "recordId: "9e578c40-d02c-1b46-94d3-17e81fe02e27", 
                "fields": [
                   {
                     "fieldId": "294001",
                     "value": "COMMERCIAL PROPERTY"
                   },
                   {
                     "fieldId": "269001",
                     "value": "300"
                   },
                   {
                     "fieldId": "270001",
                     "Value": "35A Kendall Street"
                   }, 
                   {
                     "fieldId": "271001",
                     "Value": "Barangaroo"
                   }, 
                   {
                     "fieldId": "6234001",
                     "Value": "Epping"
                   }, 
                   {
                     "fieldId": "272001",
                     "Value": "2121"
                   }
                ]
              }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[APIDomain]/api/v2/matters/" + {matterId} + "/definabletables"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json");              

             request.AddParameter("application/json", 
             "{ 
                "displayDequence": 6,
                "recordId": "9e578c40-d02c-1b46-94d3-17e81fe02e27", 
                "fields": [
                  {
                     "fieldId": "294001", 
                     "value": "UPDATED COMMERCIAL PROPERTY"
                  }, 
                  {
                     "fieldId": "269001", 
                     "value": "Unit 200"
                  }, 
                  {
                     "fieldId": "270001", 
                     "value": "21 Gallagher Alley"
                  }, 
                  {
                     "fieldId": "271001", 
                     "value": "Surrey Hills"
                  }, 
                  {
                     "fieldId": "6234001", 
                     "value": "West Ryde"
                  }, 
                  {
                     "fieldId": "272001", 
                     "value": "2010"
                  }                   
                ]
              }"); 

             IRestResponse response = client.Execute(request);
             
  /api/v1/matters/{matterId}/definabletables/{recordId}:
    delete:
      tags:
        - Definable Tables
      #Deletes a matter's definable table. Locates the definable table by recordId.
      summary: Remove definable table from matter
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: MatterId
          in: path
          description: Matter ID
          required: true
          type: string
        - name: RecordId
          in: path
          description: Record ID
          required: true
          type: string
        - in: body
          name: DefinableTableDeleteBody
          description: Definable Table Delete Body
          required: true
          schema:
            $ref: '#/definitions/DefinableTableDeleteBody'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DefinableTableDeleteResponse200'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Definable table dummy_non_existing_table with recordId 5e89127d-fefb-4df2-9a16-681eba39fa44 does not exist on the matter.
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X DELETE              
             'https://[API Domain]/api/v1/matters/{matterId}}/definabletables/{recordId}'
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache'
             -H 'x-api-key: [LEAP API Key]'             
             -H 'accept: application/json'
             -H 'content-type: application/json'             
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/" + {matterId} + "/definabletables/" + {recordId}); 
             var request = new RestRequest(Method.DELETE); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);  
             request.AddHeader("accept: application/json"); 
             request.AddHeader("content-type: application/json");
             
  '/api/v1/documentpacket':
    get:
      tags:
        - Document Packet
      summary: Get document packets ledger
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter GUID
          type: string
        - name: packetNumber
          in: path
          description: Packet Number
          type: string
        - name: cardId
          in: path
          description: Card GUID
          type: string
        - name: includeDeleted
          in: path
          description: Include Deleted True or False
          required: true
          type: string
        - name: location
          in: path
          description: Location
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/DocumentPacketResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/documentpacket 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/documentpacket"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request);  
    post:
      tags:
        - Document Packet
      summary: Create document packet
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateDocumentPacket
          required: true
          schema:
            $ref: '#/definitions/CreateDocumentPacket'
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/OfficeJournalResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/documentpacket 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
             -d {
                  "PacketId": "string",
                  "CardId": "string",
                  "MatterId": "string",
                  "AutoNumber": true,
                  "PacketNumber": "string",
                  "PacketLocation": "string",
                  "Memo": "string",
                  "Deleted": true,
                  "LeadingZeros": 0
              }             
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/documentpacket"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "{
                  "PacketId": "string",
                  "CardId": "string",
                  "MatterId": "string",
                  "AutoNumber": true,
                  "PacketNumber": "string",
                  "PacketLocation": "string",
                  "Memo": "string",
                  "Deleted": true,
                  "LeadingZeros": 0
              }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);             
             
  '/api/v1/documentregister':
    post:
      tags:
        - Document Register
      summary: Create document register.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: CreateDocumentRegister
          in: body
          description: Create document register. 
          required: true
          schema:
            $ref: '#/definitions/CreateDocumentRegister'
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/OfficeJournalResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/documentregister 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
             -d {
                  "DocumentRegisterId": "string",
                  "PacketId": "string",
                  "PacketMode": 0,
                  "MatterId": "string",
                  "DocRegMatterId": "string",
                  "CardId": "string",
                  "PacketLocation": "string",
                  "DocumentTypeId": "string",
                  "DocumentTypeName": "string",
                  "DocumentNumber": "string",
                  "DocumentNumberAuto": 0,
                  "RemovedStatusId": 0,
                  "RemovedByStaffId": "string",
                  "RemovedDate": "2023-03-10T00:21:33.286Z",
                  "PacketLocation": "string",
                  "RemovedReason": "string",
                  "LeadingZeros": 0,
                  "DocumentDate": "2023-03-10T00:21:33.286Z"
                  "DocumentDescription": "string",
                  "DocumentStoredDate": "2023-03-10T00:21:33.286Z",
                  "Memo": "string",
                  "Comments": "string",
                  "FileDocumentId": "string",
                  "FileDocumentName": "string",
                  "FileDocumentStoredType": 0,
                  "FileExtension": "string"
              }
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/DocumentRegister"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "{
                  "DocumentRegisterId": "string",
                  "PacketId": "string",
                  "PacketMode": 0,
                  "MatterId": "string",
                  "DocRegMatterId": "string",
                  "CardId": "string",
                  "PacketLocation": "string",
                  "DocumentTypeId": "string",
                  "DocumentTypeName": "string",
                  "DocumentNumber": "string",
                  "DocumentNumberAuto": 0,
                  "RemovedStatusId": 0,
                  "RemovedByStaffId": "string",
                  "RemovedDate": "2023-03-10T00:21:33.286Z",
                  "PacketLocation": "string",
                  "RemovedReason": "string",
                  "LeadingZeros": 0,
                  "DocumentDate": "2023-03-10T00:21:33.286Z"
                  "DocumentDescription": "string",
                  "DocumentStoredDate": "2023-03-10T00:21:33.286Z",
                  "Memo": "string",
                  "Comments": "string",
                  "FileDocumentId": "string",
                  "FileDocumentName": "string",
                  "FileDocumentStoredType": 0,
                  "FileExtension": "string"
              }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);       
             
  '/api/v1/documentregister/type':
    post:
      tags:
        - Document Register
      summary: Create document register type.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: DocumentRegisterType
          in: body
          description: Document register type.
          required: true
          schema:
            $ref: '#/definitions/DocumentRegisterType'
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/OfficeJournalResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/documentregister/type 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
             -d '{
                  "Id": "string",
                  "Name": "string",
                  "Deleted": boolean
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/DocumentRegister/type"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "{
                  "Id": "string",
                  "Name": "string",
                  "Deleted": true
              }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);             

  '/api/v1/documentregister/type/{documentRegisterTypeId}':
    get:
      tags:
        - Document Register
      summary: Get document register by type.
      produces:
        - application/json
      parameters:
        - name: sequenceNumber
          in: query
          description: a string that would represent the order of the calls.
          required: false
          type: string 
        - name: status
          in: query
          description: status
          required: false
          type: string
        - name: documentRegisterTypeId
          in: path
          description: Create document register. 
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/DocumentRegisterLADSDI'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/documentregister/type/{documentRegisterTypeId} 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
             -d '{
                  "DocumentDescription": "string",
                  "DocumentNumber": "string",
                  "DocumentDate": "string",
                  "SequenceNumber": "integer",
                  "CardId": "string",
                  "IsDeleted": "boolean",
                  "DocumentTypeId": "string",
                  "RemovedStatus": "string",
                  "DocumentStoreDate": "string",
                  "DocumentRegisterId": "string",
                  "RemovedId": "integer",
                  "RemovedStaffId": "string",
                  "MatterId": "string",
                  "RowVersion": "integer"
                 }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]//api/v1/documentregister/type/{documentRegisterTypeId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "{
                  "DocumentDescription": "string",
                  "DocumentNumber": "string",
                  "DocumentDate": "string",
                  "SequenceNumber": "integer",
                  "CardId": "string",
                  "IsDeleted": "boolean",
                  "DocumentTypeId": "string",
                  "RemovedStatus": "string",
                  "DocumentStoreDate": "string",
                  "DocumentRegisterId": "string",
                  "RemovedId": "integer",
                  "RemovedStaffId": "string",
                  "MatterId": "string",
                  "RowVersion": "integer"
              }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);

  '/api/v1/documentregister/types':
    get:
      tags:
        - Document Register
      summary: Get document register types.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/DocumentRegisterType'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/documentregister/types/ 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]//api/v1/documentregister/types/"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
             

  '/api/v1/documentregister/{documentRegisterId}/view':
    get:
      tags:
        - Document Register
      summary: View for document register.
      produces:
        - application/json
      parameters:
        - name: documentRegisterId
          in: path
          description: documentRegisterID of Document Type.
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/DocumentRegisterViewLADSDV'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X get 
             https://[API Domain]/api/v1/documentregister/{documentRegisterId}/view
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/documentregister/{documentRegisterId}/view"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json"); 
             IRestResponse response = client.Execute(request);

  '/api/v1/searchdocumentregister':
    get:
      tags:
        - Document Register
      summary: Get document register ledger.
      produces:
        - application/json
      parameters:
        - name: matterId
          in: query
          description: MatterId
          required: false
          type: string
        - name: status
          in: query
          description: Status
          required: false
          type: string
        - name: cardId
          in: query
          description: CardId
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/SearchDocumentRegistersLADS'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/searchdocumentregister 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
             -d '{
                    "matterId": "string",
                    "status": "string",
                    "cardId": "string",
                    "searchString": "string"
                 }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]//api/v1/documentregister/type/{documentRegisterTypeId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "{
                    "matterId": "string",
                    "status": "string",
                    "cardId": "string",
                    "searchString": "string"
              }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);
  '/api/v1/documents/files/{documentid}':
    get:
      tags:
        - Documents
      summary: 'Returns an S3 signed URL, used for fetching a document binary file.'
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: documentid
          in: path
          description: Document Id
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/documents/files/179e8d8a-0ff8-456a-9cd9-d9322d01891c 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/documents/files/179e8d8a-0ff8-456a-9cd9-d9322d01891c"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  '/api/v1/documents/records/{documentid}':
    get:
      tags:
        - Documents
      summary: Returns the details of a particular document (document XML).
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: documentid
          in: path
          description: Document Id
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DocumentRecordJson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/documents/records/179e8d8a-0ff8-456a-9cd9-d9322d01891c 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/documents/records/179e8d8a-0ff8-456a-9cd9-d9322d01891c"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/documents:
    post:
      tags:
        - Documents
      summary: 'Returns an S3 signed URL, used for creating new documents.'
      consumes:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DocumentCreate
          required: true
          schema:
            $ref: '#/definitions/DocumentCreate'
      responses:
        '200':
          description: OK
          examples:
            application/json:
              documentId: 946c3319-7f09-4c2b-ad6c-43760cc79b80
              signedUrl: string
              latestVersionId: 98f83cc4-e8a8-40e8-bfea-9f1e4ab33b59
              attachments: []
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST \n https://[API Domain]/api/v1/documents \n -H 'accept: application/json' \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'content-type: application/json' \n -H 'x-api-key: [LEAP API Key]' \n -d '{  \n \t\"matterId\": \"47acd50a-4051-44d7-96ef-76cfd2c1feb3\", \n \t\"docName\": \"exampleDocument\", \n \t\"fileType\": \"docx\", \n \t\"staffInitials\": \"SM\", \n \t\"docTypeId\": \"document\", \n \t\"deleteCode\": 0,  \n \t\"createdDate\": \"2018-11-12T00:37:14.771Z\" \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/documents\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\",  \n \"{  \n \t\"matterId\": \"47acd50a-4051-44d7-96ef-76cfd2c1feb3\",  \n \t\"docName\": \"exampleDocument\",  \n \t\"fileType\": \"docx\",  \n \t\"staffInitials\": \"SM\",  \n \t\"docTypeId\": \"document\",  \n \t\"deleteCode\": 0,  \n \t\"createdDate\": \"2018-11-12T00:37:14.771Z\"}\" \n , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n"
  '/api/v1/documents/{documentid}':
    put:
      tags:
        - Documents
      summary: 'Returns an S3 signed URL, used for updating an existing document.'
      consumes:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: documentid
          in: path
          description: Document Id
          required: true
          type: string
        - in: body
          name: DocumentUpdate
          required: true
          schema:
            $ref: '#/definitions/DocumentUpdate'
      responses:
        '200':
          description: OK
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X PUT \n https://[API Domain]/api/v1/documents/162a3a15-66cf-440a-b54f-8b3105ab08bd \n -H 'accept: application/json' \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'content-type: application/json' \n -H 'x-api-key: [LEAP API Key]' \n -d '{  \n \t\"documentId\": \"162a3a15-66cf-440a-b54f-8b3105ab08bd\",  \n \t\"matterId\": \"47acd50a-4051-44d7-96ef-76cfd2c1feb3\", \n \t\"docName\": \"exampleDocument\", \n \t\"fileType\": \"docx\", \n \t\"staffInitials\": \"SM\", \n \t\"docTypeId\": \"document\", \n \t\"deleteCode\": 0,  \n \t\"createdDate\": \"2018-11-12T00:37:14.771Z\" \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/documents/162a3a15-66cf-440a-b54f-8b3105ab08bd\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\",  \n \"{  \n \t\"documentId\": \"162a3a15-66cf-440a-b54f-8b3105ab08bd\",  \n \t\"matterId\": \"47acd50a-4051-44d7-96ef-76cfd2c1feb3\",  \n \t\"docName\": \"exampleDocument\",  \n \t\"fileType\": \"docx\",  \n \t\"staffInitials\": \"SM\",  \n \t\"docTypeId\": \"document\",  \n \t\"deleteCode\": 0,  \n \t\"createdDate\": \"2018-11-12T00:37:14.771Z\"}\" \n , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n"
          
  '/api/v1/documents/contentsearch':
    get:
      tags:
        - Documents
      summary: 'Returns the Document (Correspondence) Search query terms either in the document name or content of the document.'
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: maxItems
          in: query
          description: Maximum number of total returned records while paginating.
          required: false
          type: string
        - name: searchQuery
          in: query
          description: Accepted values for searchQuery = anything. It will search for the term either in the document name or content of the document
          required: false
          type: string
        - name: searchType
          in: query
          required: False
          description: Accepted values for “searchTypes” are “AllowWildCard” (default) and “ExactMatch”
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DocumentContentSearchResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/documents/contentsearch 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/documents/contentsearch"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request);  

  '/api/emails/send': 
    post:
      tags:
        - Emails
      summary: Create and send an email
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: Request Body
          required: true
          schema:
            $ref: '#/definitions/PostEmailsSend_RequestBody'
      responses:
        '200':
          description: OK Response. Returns the ID of the sent email
          schema:            
            $ref: '#/definitions/PostEmailsSend_Response200'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X POST  
            'https://[API Domain]/api/emails/send' 
            -H 'authorization: [bearer-token]' 
            -H 'cache-control: no-cache'
            -H 'x-api-key: [api-key]'             
            -H 'accept: application/json'
            -H 'content-type: application/json' 
            -H '
              {
                "matterId": "string",
                "userId": "string",
                "staffId": "string",
                "matterNo": "string",
                "folderId": "string",
                "sender": {
                  "address": "string",
                  "name": "string"
                },
                "to": [
                  {
                    "address": "string",
                    "name": "string"
                  }
                ],
                "cc": [
                  {
                    "address": "string",
                    "name": "string"
                  }
                ],
                "bcc": [
                  {
                    "address": "string",
                    "name": "string"
                  }
                ],
                "attachments": [
                  {
                    "id": "string",
                    "name": "string",
                    "type": 0,
                    "format": 0,
                    "fileUrl": "string",
                    "token": "string",
                    "outlookAttachmentId": "string"
                  }
                ],
                "body": "string",
                "subject": "string",
                "importance": 0,
                "staffInitials": "string",
                "categories": [
                  "string"
                ],
                "saveToMatter": true,
                "clientSystemId": "string",
                "firmId": "string",
                "useFallbackOnSendError": true
              }
            ' 
        - lang: 'C#'  
          source: >+
            var client = new RestClient("https://[APIDomain]/api/emails/send"; 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("authorization", "[bearer-token]"); IRestResponse response = client.Execute(request); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[api-key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json");                          

             request.AddParameter("application/json", 
              "{
                  "matterId": "string",
                  "userId": "string",
                  "staffId": "string",
                  "matterNo": "string",
                  "folderId": "string",
                  "sender": {
                    "address": "string",
                    "name": "string"
                  },
                  "to": [
                    {
                      "address": "string",
                      "name": "string"
                    }
                  ],
                  "cc": [
                    {
                      "address": "string",
                      "name": "string"
                    }
                  ],
                  "bcc": [
                    {
                      "address": "string",
                      "name": "string"
                    }
                  ],
                  "attachments": [
                    {
                      "id": "string",
                      "name": "string",
                      "type": 0,
                      "format": 0,
                      "fileUrl": "string",
                      "token": "string",
                      "outlookAttachmentId": "string"
                    }
                  ],
                  "body": "string",
                  "subject": "string",
                  "importance": 0,
                  "staffInitials": "string",
                  "categories": [
                    "string"
                  ],
                  "saveToMatter": true,
                  "clientSystemId": "string",
                  "firmId": "string",
                  "useFallbackOnSendError": true
                }"
              ,ParameterType.RequestBody); 

             IRestResponse response = client.Execute(request);  

  '/api/v2/evaluate/paths':
    post:
      tags:
        - Evaluate
      summary: Evaluate multiple JS paths
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
        - name: EvaluatePathsV3
          in: body
          description: Evaluate paths data
          required: true
          schema:
            $ref: '#/definitions/EvaluatePathsV3'
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/EvaluatePathV3Response'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v2/evaluate/paths 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
             -d '{
                  "executionContext": {
                    "firmGUID": "7fda4c9d-da43-4fda-b5ed-8fb61dec35d7",
                    "matterGUID": "5bd5e1dc-a31e-4ff1-9f8a-f1f1795c70b8"
                    
                  },
                  "paths": [
                        "firmDetails.currentUser.__id",
                        "firmDetails.staffList[0].{__id, userId, email, firstName, lastName, middleName, initials, rate1, rate2, rate3, rate4, rate5, rate6, status, phone, mobile}",
                        "matter.matterType",
                        "matter.fileNumber",
                        "matter.state",
                        "matter.firstDescription",
                        "matter.clientList.{__id,__className,__fileOrder,__displayOrder,cardType,description,tradingNameTrustName,reference,abn,acn,fullName,passEmail,faxNumber,phoneNumber,acnOrAbn,personList,phoneNumberList,webAddressList,addressStreet,person}",
                        "matter.personResponsible.{__id,__className,userId,branch,firstName,lastName,initials,fullName,legalFullName,email,firmReference,phone,fax,mobile}",
                        "matter.personActing.{__id,__className,userId,branch,firstName,lastName,initials,fullName,legalFullName,email,firmReference,phone,fax,mobile}",
                        "matter.{__firmId,fileNumber,reLine1,type,matterTypeId,costAgreementDate,costRecoveriesBalance}",
                        "matter.currentStaff.{__id,userName}",
                        "matter.currentStaff.branch.{firmName,city}",
                        "matter.purchaser.{__id,__classes,description,addressList,isSupplier}", 
                        "card.version",
                        "card.fullName",
                        "card.personList[0].{dateOfBirth, gender, surname, firstNames, lastName}",
                        "card.originalAddressList.{number, street, suburb, state, across}",
                        "card.webAddressList.{__className, type, address, tableId, addressType, pageLocation, pageType, url}"
                  ]
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/evaluate/paths"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "{
                "executionContext": {
                  "firmGUID": "7fda4c9d-da43-4fda-b5ed-8fb61dec35d7",
                  "matterGUID": "5bd5e1dc-a31e-4ff1-9f8a-f1f1795c70b8"
                },
                "paths": [
                      "firmDetails.currentUser.__id",
                      "firmDetails.staffList[0].{__id, userId, email, firstName, lastName, middleName, initials, rate1, rate2, rate3, rate4, rate5, rate6, status, phone, mobile}",
                      "matter.matterType",
                      "matter.fileNumber",
                      "matter.state",
                      "matter.firstDescription",
                      "matter.clientList.{__id,__className,__fileOrder,__displayOrder,cardType,description,tradingNameTrustName,reference,abn,acn,fullName,passEmail,faxNumber,phoneNumber,acnOrAbn,personList,phoneNumberList,webAddressList,addressStreet,person}",
                      "matter.personResponsible.{__id,__className,userId,branch,firstName,lastName,initials,fullName,legalFullName,email,firmReference,phone,fax,mobile}",
                      "matter.personActing.{__id,__className,userId,branch,firstName,lastName,initials,fullName,legalFullName,email,firmReference,phone,fax,mobile}", 
                      "matter.{__firmId,fileNumber,reLine1,type,matterTypeId,costAgreementDate,costRecoveriesBalance}",
                      "matter.currentStaff.{__id,userName}",
                      "matter.currentStaff.branch.{firmName,city}",
                      "matter.purchaser.{__id,__classes,description,addressList,isSupplier}", 
                      "card.version",
                      "card.fullName",
                      "card.personList[0].{dateOfBirth, gender, surname, firstNames, lastName}",
                      "card.originalAddressList.{number, street, suburb, state, across}",
                      "card.webAddressList.{__className, type, address, tableId, addressType, pageLocation, pageType, url}"
                ]
              }"
            , ParameterType.RequestBody); 
            IRestResponse response = client.Execute(request); 
             
  '/api/v1/export':
    post:
      tags:
        - Export
      summary: Export all unexported journals using whichever accounting platform is configured for the firm
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/OfficeJournalResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v2/evaluate/paths 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -H 'content-type: application/json'
             -d '{
                  "executionContext": {
                    "firmGUID": "string",
                    "firmJSON": {},
                    "matterGUID": "string",
                    "matterJSON": {},
                    "cardGUID": "string",
                    "cardJSON": {},
                    "documentGUID": "string",
                    "documentJSON": "string",
                    "defaultFileId": "string",
                    "sessionId": "string"
                  },
                  "paths": [
                    "string"
                  ],
                  "objectId": "string",
                  "includeDefaults": true,
                  "params": {}
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/evaluate/paths"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
             "{
                "executionContext": {
                  "firmGUID": "string",
                  "firmJSON": {},
                  "matterGUID": "string",
                  "matterJSON": {},
                  "cardGUID": "string",
                  "cardJSON": {},
                  "documentGUID": "string",
                  "documentJSON": "string",
                  "defaultFileId": "string",
                  "sessionId": "string"
                },
                "paths": [
                  "string"
                ],
                "objectId": "string",
                "includeDefaults": true,
                "params": {}
              }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request); 
             
  '/api/v1/export/checkconnect':
    get:
      tags:
        - Export
      summary: Get the accounting platform used by the firm
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ExportCheckConnectResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/export/checkconnect
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/export/checkconnect"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request);   
             
  '/api/v1/export/platform':
    get:
      tags:
        - Export
      summary: Get the accounting platform used by the firm
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ExportCheckConnectResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/export/platform
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/export/platform"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request);   
             
  /api/v1/fee/initialisationdata:
    get:
      tags:
        - Fees
      summary: Returns initialisation data for fees
      description: This endpoint returns all required information to create a fee for the provided matter.
      produces:
        - application/json
      parameters:
        - name: matterId
          in: query
          description: Matter Id
          required: false
          type: string
        - name: matterBillingMode
          in: query
          description: Matter billing mode
          required: false
          type: string
        - name: taxCodeDeleted
          in: query
          description: Is the Tax Code deleted
          required: false
          type: boolean
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeeInitialisationDataCreateModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/fee/initialisationdata?matterId=11b3a90e-c0c7-46bb-afa5-13a173444588 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/fee/initialisationdata?matterId=11b3a90e-c0c7-46bb-afa5-13a173444588"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
  /api/v1/fee/multiple:
      post:
        tags:
          - Fees
        summary: Create multiple fees (limited to 250 entries per request)
        consumes:
          - application/json
        produces:
          - application/json
        parameters:
          - name: Authorization
            in: header
            description: LEAP Auth Token
            required: true
            type: string
          - name: x-api-key
            in: header
            description: LEAP API Key
            required: true
            type: string
          - in: body
            name: MultiFeeCreateModel
            description: Fee details
            required: true
            schema:
              $ref: '#/definitions/MultiFeeCreateModel'
        responses:
          '201':
            description: Created
            schema:
              $ref: '#/definitions/MultiFeeResponseModel'
            headers:
              Access-Control-Allow-Origin:
                type: string
                description: Allows CORS sharing
          '301':
            $ref: '#/definitions/301'                
          '400':
            description: Bad Request
        security:
          - Bearer:
              - Authorization
            APIKey:
              - x-api-key
        x-code-samples:
          - lang: curl
            source: |+
              curl -X POST 
              https://[API Domain]/api/v1/fee/multiple 
              -H 'accept: application/json' 
              -H 'authorization: [Bearer Token]' 
              -H 'cache-control: no-cache' 
              -H 'x-api-key: [LEAP API Key]'
              -H 'content-type: application/json'
              -d {
                  "TransactionDate": "2019-08-24T14:15:22Z",
                  "RateId": 0,
                  "RatePerHour": 0,
                  "SecondsElapsed": 0,
                  "SecondsPerUnit": 0,
                  "FeeUnits": 0,
                  "FeeHoursQuantity": 0,
                  "Timed": true,
                  "CalculationMode": 0,
                  "IncTax": true,
                  "TotalIncTax": 0,
                  "TotalExTax": 0,
                  "TotalTax": 0,
                  "BillingDescription": "string",
                  "Memo": "string",
                  "BillingMode": 0,
                  "ExternalURL": "string",
                  "ExternalJSON": "string",
                  "FeeId": "a6345278-007f-43c1-85d6-d38a5ed110d0",
                  "MatterId": "dc1f3d43-db6e-4169-9269-628131fcaef6",
                  "TaxCodeId": "0be9efd9-bd24-46d7-95f6-80d65420a88e",
                  "TaskCodeId": "a0145c95-35d6-4c5c-b3d1-86a7498bc524",
                  "WorkDoneByStaffId": "28011784-7666-4082-892d-cbdc407dcdcc",
                  "AttributeFeesToStaffId": "a3de6edd-5002-40d4-a59a-b8ed76de718d"
                  }
                } 
          - lang: 'C#'
            source: >+
              var client = new RestClient("https://[API
              Domain]/api/v1/fee/multiple"); 
                var request = new RestRequest(Method.POST); 
                request.AddHeader("cache-control", "no-cache"); 
                request.AddHeader("x-api-key", "[LEAP API Key]"); 
                request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);
                request.AddParameter("application/json",
                  "{
                    "TransactionDate": "2023-03-16T03:15:46.147Z",
                    "RateId": 0,
                    "RatePerHour": 0,
                    "SecondsElapsed": 0,
                    "SecondsPerUnit": 0,
                    "FeeUnits": 0,
                    "FeeHoursQuantity": 0,
                    "Timed": true,
                    "CalculationMode": 0,
                    "IncTax": true,
                    "TotalIncTax": 0,
                    "TotalExTax": 0,
                    "TotalTax": 0,
                    "BillingDescription": "string",
                    "Deleted": true,
                    "Memo": "string",
                    "BillingMode": 0,
                    "ExternalURL": "string",
                    "ExternalJSON": "string",
                    "FunctionGroupId": "string",
                    "FeeId": "a6345278-007f-43c1-85d6-d38a5ed110d0",
                    "MatterId": "dc1f3d43-db6e-4169-9269-628131fcaef6",
                    "TaxCodeId": "0be9efd9-bd24-46d7-95f6-80d65420a88e",
                    "TaskCodeId": "a0145c95-35d6-4c5c-b3d1-86a7498bc524",
                    "WorkDoneByStaffId": "28011784-7666-4082-892d-cbdc407dcdcc",
                    "AttributeFeesToStaffId": "a3de6edd-5002-40d4-a59a-b8ed76de718d"
                }",
              , ParameterType.RequestBody);
              IRestResponse response = client.Execute(request); 

  /api/v1/fee:
    put:
      tags:
        - Fees
      summary: Updates multiple fees
      consumes:
        - application/json
      produces: 
        - application/json
      parameters:
        - name: FeeUpdateMultipleModel
          in: body
          description: Fees
          required: true
          schema: 
            $ref: '#/definitions/FeeUpdateMultipleModel'
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X PUT https://[API Domain]/api/v1/fee 
              -H 'accept: application/json' 
              -H 'authorization: [Bearer Token]' 
              -H 'cache-control: no-cache' 
              -H 'content-type: application/json' 
              -H 'x-api-key: [LEAP API Key]' 
              -d '{
                    "FeeList": [
                      {
                        "FeeGUID": "82091095-5d37-45da-887e-292111a8d1a1",
                        "RowVersion": 0
                      }
                      ],
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "TaskCodeGUID": "f75d6e8e-9cc9-4b76-8baf-a6d3ba664713",
                    "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                    "Deleted": true,
                    "DeletedDate": "2019-08-24T14:15:22Z",
                    "BillingMode": 0,
                    "WorkDoneByStaffGUID": "b878b569-8b1d-435e-8c16-ef5ea602e6e0",
                    "MatterSourceList": [
                      {
                        "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c"
                      }
                      ],
                    "WarningAcknowledgments": [
                    0
                    ]
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/fee/multiple"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);
             request.AddParameter("application/json",
             "{
                 "FeeList": [
                  {
                    "FeeGUID": "82091095-5d37-45da-887e-292111a8d1a1",
                    "RowVersion": 0
                  }
                  ],
                "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                "TaskCodeGUID": "f75d6e8e-9cc9-4b76-8baf-a6d3ba664713",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "Deleted": true,
                "DeletedDate": "2019-08-24T14:15:22Z",
                "BillingMode": 0,
                "WorkDoneByStaffGUID": "b878b569-8b1d-435e-8c16-ef5ea602e6e0",
                "MatterSourceList": [
                  {
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c"
                  }
                  ],
                "WarningAcknowledgments": [
                0
                ]
              }"
             , ParameterType.RequestBody);
             IRestResponse response = client.Execute(request); 
  /api/v2/fees:
    get:
      tags:
        - Fees
      summary: Returns a list of fees
      produces:
        - application/json
      parameters:
        - name: feeType
          in: query
          description: "Fee type\n\nExamples: \n\n\tnull(all) \n\n\t0(fees) \n\n\t1(timed entries)"
          required: false
          type: string
        - name: matterId
          in: query
          description: Matter Id
          required: true
          type: string
        - name: staffId
          in: query
          description: Staff Id
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: dateTo
          in: query
          description: 'To date: any valid date string'
          required: false
          type: string
        - name: dateFrom
          in: query
          description: 'From date: any valid date string'
          required: false
          type: string
        - name: feeStatus
          in: query
          description: "Fee status\n\nExamples: \n\n\tnull \n\n\t5 (All) \n\n\t10 (Billable All) \n\n\t20 (Billable - Next Invoice) \n\n\t30 (Billable - Later Invoice) \n\n\t40 (Not Billable / Written off) \n\n\t50 (Billed) \n\n\t70 (Deleted)"
          required: false
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              - TransactionDate: '2018-11-12T00:00:00'
                BillingDescription: Printing collation fee
                FeeHoursQuantity: 7
                FeeId: 070ae01d-bd99-4d95-b39b-70a46f7bf3f6
                BillingMode: -1
                InvoiceItemId: null
                TransactionNumber: null
                TotalIncTax: 164.5
                TotalExTax: 164.5
                Deleted: false
                RowVers: 14658814
                WorkDoneByStaffId: f5f06e2a-1bfe-41e3-82ae-a1c520dae662
                Timed: false
                DeletedDate: null
                TaskCodeId: c410a45d-aad5-46b7-abb9-12735750a8b9
                FileNumberString: SM-116
                MatterId: 47acd50a-4051-44d7-96ef-76cfd2c1feb3
                Count: 1
                TotalTax: 0
                InclusiveTax: true
                TaxCodeId: 2beb5b9e-c721-4e15-a812-f0499d298d0f
                Memo: Reminder to bill client
                CalculationMode: 0
                FeesCreatedByStaffId: f5f06e2a-1bfe-41e3-82ae-a1c520dae662
                AttributeFeesToStaffId: null
                ExternalURL: null
                ExternalJSON: null
          schema:
            $ref: '#/definitions/ArrayOfFeeItem'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v2/fees?matterId=47acd50a-4051-44d7-96ef-76cfd2c1feb3 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/fees?matterId=47acd50a-4051-44d7-96ef-76cfd2c1feb3"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

    post:
      tags:
        - Fees
      summary: Creates a single fee.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: FeeCreateModel
          description: Fee object
          required: true
          schema:
            $ref: '#/definitions/FeeCreateModel'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST https://[API Domain]/api/v2/fees 
            -H 'accept: application/json' 
            -H 'authorization: [Bearer Token]' 
            -H 'cache-control: no-cache' 
            -H 'content-type: application/json' 
            -H 'x-api-key: [LEAP API Key]' 
            -d '{
              "TransactionDate": "2023-03-16T03:15:46.147Z",
              "RateId": 0,
              "RatePerHour": 0,
              "SecondsElapsed": 0,
              "SecondsPerUnit": 0,
              "FeeUnits": 0,
              "FeeHoursQuantity": 0,
              "Timed": true,
              "CalculationMode": 0,
              "IncTax": true,
              "TotalIncTax": 0,
              "TotalExTax": 0,
              "TotalTax": 0,
              "BillingDescription": "string",
              "Deleted": true,
              "Memo": "string",
              "BillingMode": 0,
              "ExternalURL": "string",
              "ExternalJSON": "string",
              "FunctionGroupId": "string",
              "FeeId": "a6345278-007f-43c1-85d6-d38a5ed110d0",
              "MatterId": "dc1f3d43-db6e-4169-9269-628131fcaef6",
              "TaxCodeId": "0be9efd9-bd24-46d7-95f6-80d65420a88e",
              "TaskCodeId": "a0145c95-35d6-4c5c-b3d1-86a7498bc524",
              "WorkDoneByStaffId": "28011784-7666-4082-892d-cbdc407dcdcc",
              "AttributeFeesToStaffId": "a3de6edd-5002-40d4-a59a-b8ed76de718d"
            }
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/fees\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\",  \n \"{ \n \t\"FeeId\": \"b6d616f6-d722-4fbc-a2b6-810e2cb212f4\", \n \t\"MatterId\": \"47acd50a-4051-44d7-96ef-76cfd2c1feb3\", \n \t\"TaxCodeId\": \"9f6162b5-9b0d-4f70-b32a-79d9a239e523\", \n \t\"TransactionDate\": \"2017-11-03T15:16:32\", \n \t\"RateId\": \"0\", \n \t\"RatePerHour\": 0.00, \n \t\"SecondsElapsed\": 9, \n \t\"SecondsPerUnit\": 360, \n \t\"FeeUnits\": 1, \n \t\"FeeHoursQuantity\": 0.10, \n \t\"Timed\": true, \n \t\"CalculationMode\": 0, \n \t\"IncTax\": false, \n \t\"TotalIncTax\": 0.00, \n \t\"TotalExTax\": 0.00, \n \t\"TotalTax\": 0.00, \n \t\"BillingDescription\": \"Phone call - To: 0434443590 on 10/25/2017 at 12:12 pm for 9 seconds. \", \n \t\"Memo\": \"This is personal fee.\", \n \t\"BillingMode\": 0, \n \t\"WorkDoneByStaffId\": \"1b1205d8-3a55-47bd-8cf2-bf8eb8738888\", \n \t\"WarningAcknowledgments\": [1002] //Only add Warning Acknowledgments if needed. \n}\" , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n"
  '/api/v2/fees/{feeid}':
    get:
      tags:
        - Fees
      summary: Returns a single fee
      produces:
        - application/json
      parameters:
        - name: feeid
          in: path
          description: Fee Id
          required: true
          type: string
        - name: taxCodeDeleted
          in: query
          description: Include deleted tax code (true/false)
          required: false
          type: bool
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeeInitialisationDataUpdateModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v2/fees/070ae01d-bd99-4d95-b39b-70a46f7bf3f6 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/fees/070ae01d-bd99-4d95-b39b-70a46f7bf3f6"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
    put:
      tags:
        - Fees
      summary: Updates a single fee
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: feeid
          in: path
          description: Fee Id
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: FeeUpdateModel
          description: Fee object
          required: true
          schema:
            $ref: '#/definitions/FeeUpdateModel'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X PUT \n https://[API Domain]/api/v2/fees/070ae01d-bd99-4d95-b39b-70a46f7bf3f6 \n -H 'accept: application/json' \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'content-type: application/json' \n -H 'x-api-key: [LEAP API Key]' \n -d '{ \n \t\"TransactionDate\": \"2018-11-12T04:17:44.848Z\", \n \t\"Deleted\": true, \n \t\"DeletedDate\": \"2018-11-12T04:17:44.848Z\", \n \t\"RateId\": 0, \n \t\"RatePerHour\": 0, \n \t\"SecondsElapsed\": 9, \n \t\"SecondsPerUnit\": 360, \n \t\"FeeUnits\": 2, \n \t\"FeeHoursQuantity\": 0.15, \n \t\"Timed\": true, \n \t\"CalculationMode\": 0, \n \t\"IncTax\": true, \n \t\"TotalIncTax\": 0, \n \t\"TotalExTax\": 0, \n \t\"TotalTax\": 0, \n \t\"BillingDescription\": \"Phone call - To: 0434443590 on 10/25/2017 at 12:12 pm for 12 seconds.\", \n \t\"Memo\": \"This is personal fee.\", \n \t\"BillingMode\": 0, \n \t\"RowVersion\": 0, \n \t\"ExternalURL\": null, \n \t\"ExternalJSON\": null, \n \t\"FeeId\": \"070ae01d-bd99-4d95-b39b-70a46f7bf3f6\", \n \t\"MatterId\": \"47acd50a-4051-44d7-96ef-76cfd2c1feb3\", \n \t\"TaxCodeId\": \"9f6162b5-9b0d-4f70-b32a-79d9a239e523\", \n \t\"TaskCodeId\": \"4b797a07-752a-4c16-83a5-583bc264f044\", \n \t\"WorkDoneByStaffId\": \"1b1205d8-3a55-47bd-8cf2-bf8eb8738888\", \n \t\"AttributeFeesToStaffId\": \"214e1f4d-04e6-43ce-8675-80eced26ef98\" \n }' \n\n"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/fees/070ae01d-bd99-4d95-b39b-70a46f7bf3f6"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("content-type: application/json"); 
             request.AddParameter("application/json", 
              "{
                TransactionDate = "2018-11-12T04:17:44.848Z",
                Deleted = true,
                DeletedDate = "2018-11-12T04:17:44.848Z",
                RateId = 0,
                RatePerHour = 0,
                SecondsElapsed = 9,
                SecondsPerUnit = 360,
                FeeUnits = 2,
                FeeHoursQuantity = 0.15,
                Timed = true,
                CalculationMode = 0,
                IncTax = true,
                TotalIncTax = 0,
                TotalExTax = 0,
                TotalTax = 0,
                BillingDescription = "Phone call - To: 0434443590 on 10/25/2017 at 12:12 pm for 12 seconds.",
                Memo = "This is personal fee.",
                BillingMode = 0,
                RowVersion = 0,
                ExternalURL = (string)null,
                ExternalJSON = (string)null,
                FeeId = "070ae01d-bd99-4d95-b39b-70a46f7bf3f6",
                MatterId = "47acd50a-4051-44d7-96ef-76cfd2c1feb3",
                TaxCodeId = "9f6162b5-9b0d-4f70-b32a-79d9a239e523",
                TaskCodeId = "4b797a07-752a-4c16-83a5-583bc264f044",
                WorkDoneByStaffId = "1b1205d8-3a55-47bd-8cf2-bf8eb8738888",
                AttributeFeesToStaffId = "214e1f4d-04e6-43ce-8675-80eced26ef98"
               }"); 
             IRestResponse response = client.Execute(request);          

  /api/v1/firms/{firmid}: 
    get:
      tags:
        - Firms      
      summary: Gets the firm details. Valid values for currency codes AUD, USD, EUR, GBP
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string        
        - name: firmId
          in: path
          description: Firm ID
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:            
            $ref: '#/definitions/GetFirmByFirmID_Response200_New'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
        '400':
          description: Firm ID mismatch.
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Firm ID mismatch.
        '401':
          description: If the auth token is missing or invalid.
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Auth token is missing or invalid.        
        '500':
          description: If encountered errors while processing the request.        
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server error. 
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X GET  
            'https://[API Domain]/api/v1/firms/[firm-id]' 
            -H 'authorization: [bearer-token]' 
            -H 'cache-control: no-cache'
            -H 'x-api-key: [api-key]'             
            -H 'accept: application/json'
            -H 'content-type: application/json'           
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[APIDomain]/api/v1/firms/" + {sample-firm-id}); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("authorization", "[bearer-token]"); IRestResponse response = client.Execute(request); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[api-key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json");                          

             request.AddParameter("application/json", 
             "{ 
                "firmID": "{sample-firm-id}"
              }"); 

             IRestResponse response = client.Execute(request);

  /api/v1/firms/{firmid}/branches/{branchid}: 
    patch:
      tags:
        - Firms      
      summary: Updates Branch
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string        
        - name: firmId
          in: path
          description: Firm ID
          required: true
          type: string
        - name: branchId
          in: path
          description: Branch ID
          required: true
          type: string
        - name: fieldsToUpdate
          in: body
          description: Fields to Update
          required: true
          type: string
      responses:
        '200':
          description: OK                      
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: If input list is empty or JSName is invalid.
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Input list is empty or JSName is invalid
        '401':
          description: If the JWT is invalid.
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: JWT is invalid.        
        '404':
          description: If the branch id is not found.
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Branch ID {branch-id} does not exist.        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X PATCH  
            'https://[API-Domain]/api/v1/firms/[firm-id]/branches/[branch-id]' 
            -H 'authorization: [bearer-token]' 
            -H 'cache-control: no-cache'
            -H 'x-api-key: [api-key]'             
            -H 'accept: application/json'
            -H 'content-type: application/json'           
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]/api/v1/firms/" + {firm-id} + "/branches/" + {branch-id}); 
             var request = new RestRequest(Method.PATCH); 
             request.AddHeader("authorization", "[bearer-token]"); IRestResponse response = client.Execute(request); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[api-key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json");                          

             request.AddParameter("application/json", 
             "{ 
                "firmID": "{firm-id}", 
                "branchID": "{branch-id}}"
              }"); 

             IRestResponse response = client.Execute(request);             

  /api/v1/investmentaccount: 
    post:
      tags:
        - Investment Account      
      summary: Create investment account
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string        
        - in: body
          name: InvestmentAccountGetBody
          description: Investment Account main body
          required: true
          schema:
            $ref: '#/definitions/Definition_Body_InvestmentAccount'            
      responses:
        '201':
          description: OK
          schema:
            type: object
            properties:
              Code:
                type: integer
                format: int32
              RowVersion:
                type: integer
                format: int32
              Message:
                type: string
              TransactionNumber:
                type: string
          examples:
            application/json:
              Code: 0
              RowVersion: 0
              Message: "string"
              TransactionNumber: "string"
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ErrorMessage429'
          examples:
            application/json:
              Message: Conflict
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X POST 
            'https://au-api.leap.services/api/v1/investmentaccount' 
            -H "accept: application/json" 
            -H "Authorization: [bearer-token]" 
            -H "content-type: application/json"             
            --d '{
                "BankAccountGUID": "{bank-account-id}", 
                "MatterGUID": "{matter-id}", 
                "DateOpened": "2023-03-20T16:25:40.328Z", 
                "DateReceived": "2023-03-20T16:25:40.328Z", 
                "AccountUsage": 0, 
                "BSB": "010-111", 
                "StateCode":  "7000", 
                "InstituteName": "string",
                "AccountNumber": "string",
                "AccountName": "string",
                "InvestmentTransaction": 
                {
                  "InvestTransGUID": "string",
                  "Amount": 0,
                  "Payee": "string",
                  "Reason": "string",
                  "PaymentTypeName": "string",
                  "PaymentTypeGUID": "string",
                  "PaymentTypeID": 0,
                  "ExternalJSON": "string",
                  "ExternalURL": "string",
                  "RapidpayCreatedByStaffId": "string",
                  "RapidpayAuthorizedByStaffId": "string",
                  "FunctionGroupId": "string"
                }, 
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-03-20T16:25:40.328Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string"
                },
                "Beneficiary1GUID": "string",
                "Beneficiary2GUID": "string",
                "ExternalURL": "string",
                "ExternalJSON": "string",
                "WarningAcknowledgments": [
                  0
                ],
                "FunctionGroupId": "string"
              }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]/api/v1/investmentaccount/"; 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("authorization", "[bearer-token]"); IRestResponse response = client.Execute(request); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[api-key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json"); 

            request.AddParameter("application/json", 
             "{ 
                "BankAccountGUID": "{bank-account-id}", 
                "MatterGUID": "{matter-id}", 
                "DateOpened": "2023-03-20T16:25:40.328Z", 
                "DateReceived": "2023-03-20T16:25:40.328Z", 
                "AccountUsage": 0, 
                "BSB": "010-111", 
                "StateCode":  "7000", 
                "InstituteName": "string",
                "AccountNumber": "string",
                "AccountName": "string",
                "InvestmentTransaction": 
                {
                  "InvestTransGUID": "string",
                  "Amount": 0,
                  "Payee": "string",
                  "Reason": "string",
                  "PaymentTypeName": "string",
                  "PaymentTypeGUID": "string",
                  "PaymentTypeID": 0,
                  "ExternalJSON": "string",
                  "ExternalURL": "string",
                  "RapidpayCreatedByStaffId": "string",
                  "RapidpayAuthorizedByStaffId": "string",
                  "FunctionGroupId": "string"
                }, 
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-03-20T16:25:40.328Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string"
                },
                "Beneficiary1GUID": "string",
                "Beneficiary2GUID": "string",
                "ExternalURL": "string",
                "ExternalJSON": "string",
                "WarningAcknowledgments": [
                  0
                ],
                "FunctionGroupId": "string"
              }"); 

             IRestResponse response = client.Execute(request);

  /api/v1/investmentaccount/investmenttransaction: 
    post:
      tags:
        - Investment Account      
      summary: Create investment transaction
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string        
        - in: body
          name: InvestmentTransactionBody
          description: Investment Transaction main body
          required: true
          schema:
            $ref: '#/definitions/Definition_Body_InvestmentTransaction'
      responses:
        '201':
          description: OK
          schema:
            type: object
            properties:
              Code:
                type: integer
                format: int32
              RowVersion:
                type: integer
                format: int32
              Message:
                type: string
              TransactionNumber:
                type: string
          examples:
            application/json:
              Code: 0
              RowVersion: 0
              Message: "string"
              TransactionNumber: "string"
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized        
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ErrorMessage429'
          examples:
            application/json:
              Message: Conflict
        '449':
          description: Warning/Retry With
          schema:
            $ref: '#/definitions/ErrorMessage429'
          examples:
            application/json:
              Message: Warning/Retry With
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X POST 
            'https://au-api.leap.services/api/v1/investmentaccount' 
            -H "accept: application/json" 
            -H "Authorization: [bearer-roken]" 
            -H "content-type: application/json"             
            --d '{                
                "MatterGUID": "{matter-id}", 
                "InvestTransGUID": "string", 
                "BankAccountGUID": "string", 
                "EntryDate": "2023-03-20T16:25:40.328Z", 
                "TransactionDate": "2023-03-20T16:25:40.328Z", 
                "TransactionNumber": "string", 
                "TransactionNumberAuto": int, 
                "Amount":  int, 
                "Payee": "string",
                "Reason": "string",
                "PaymentTypeID": int,
                "Reconciled": int, 
                "StaffAuthorisedByGUID": "string", 
                "CreatedByStaffGUID": "string", 
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-03-20T16:25:40.328Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string"
                },
                "ExternalURL": "string",
                "ExternalJSON": "string",
                "WarningAcknowledgments": [
                  0
                ],
                "FunctionGroupId": "string"
              }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]/api/v1/investmentaccount/"; 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("authorization", "[bearer-token]"); IRestResponse response = client.Execute(request); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[api-key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json");
            
            request.AddParameter("application/json", 
             "{ 
                "MatterGUID": "{matter-id}", 
                "InvestTransGUID": "string", 
                "BankAccountGUID": "string", 
                "EntryDate": "2023-03-20T16:25:40.328Z", 
                "TransactionDate": "2023-03-20T16:25:40.328Z", 
                "TransactionNumber": "string", 
                "TransactionNumberAuto": int, 
                "Amount":  int, 
                "Payee": "string",
                "Reason": "string",
                "PaymentTypeID": int,
                "Reconciled": int, 
                "StaffAuthorisedByGUID": "string", 
                "CreatedByStaffGUID": "string",                 
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-03-20T16:25:40.328Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string"
                },
                "ExternalURL": "string",
                "ExternalJSON": "string",
                "WarningAcknowledgments": [
                  0
                ],
                "FunctionGroupId": "string"
              }"); 

             IRestResponse response = client.Execute(request);

  /api/v1/investmentaccount/{bankAccountId}/initialisationdata/{matterId}: 
    get:
      tags:
        - Investment Account      
      summary: View an investment account
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter ID
          required: true
          type: string
        - name: bankAccountId
          in: path
          description: Bank Account ID
          required: true
          type: string        
      responses:
        '200':
          description: OK          
          schema:
            type: object 
            $ref: '#/definitions/Definition_Body_InvestmentAccount_InitialisationData'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized        
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X GET  
            'https://au-api.leap.services/api/v1/investmentaccount' 
            -H "accept: application/json" 
            -H "Authorization: [bearer-token]" 
            -H "content-type: application/json"             
            --d '{curl -X GET "https://au-api.leap.services/api/v1/investmentaccount/{bank-account-Id}/initialisationdata/{matter-Id}" -H "accept: application/json" -H "Authorization: [bearer-token]"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[APIDomain]/api/v1/investmentaccount/{bank-account-Id}/initialisationdata/{matter-Id}"; 
            var request = new RestRequest(Method.GET); 
            request.AddHeader("authorization", "[bearer-token]"); IRestResponse response = client.Execute(request); 
            request.AddHeader("cache-control", "no-cache"); 
            request.AddHeader("x-api-key", "[api-key]"); 
            request.AddHeader("accept: application/json");
            request.AddHeader("content-type: application/json"); 

            request.AddParameter("bank-account-Id", "[parameter-value]", "ParameterType.UrlSegment"); 
            request.AddParameter("matter-Id", "[parameter-value]", "ParameterType.UrlSegment");       

            IRestResponse response = client.Execute(request);

  /api/v1/investmenttransaction/{investmentTransactionId}/initialisationdata/{transactionMode}: 
    get:
      tags:
        - Investment Money      
      summary: View an investment transaction
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: investmentTransactionId
          in: path
          description: Investment Transaction ID
          required: true
          type: string
        - name: transactionMode
          in: path
          description: TransactionMode
          required: true
          type: string
        - name: payTypeDeleted
          in: query
          description: Pay Type Deleted
          required: false
          type: boolean
      responses:
        '200':
          description: OK          
          schema:
            type: object 
            $ref: '#/definitions/Definition_Body_InvestmentMoney_SAMPLE_A'            
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized       
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X GET 
            'https://au-api.leap.services/api/v1/investmenttransaction/[investment-transaction-Id]/initialisationdata/[transaction-Mode]?payTypeDeleted=[pay-Type-Deleted]'
            -H "accept: application/json" 
            -H "Authorization: [bearer-token]"
            -H "content-type: application/json"
            
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[APIDomain]//api/v1/investmenttransaction/" + {investment-transaction-Id} + "/initialisationdata/"+ {transaction-Mode} + "?payTypeDeleted=" + {pay-type-Deleted-Query}; 
            var request = new RestRequest(Method.POST); 
            request.AddHeader("authorization", "[bearer-token]"); 
            request.AddHeader("cache-control", "no-cache"); 
            request.AddHeader("x-api-key", "[api-key]"); 
            request.AddHeader("accept: application/json");
            request.AddHeader("content-type: application/json"); 

            request.AddParameter("investment-Transaction-Id", "[parameter-value]", "ParameterType.UrlSegment"); 
            request.AddParameter("transaction-Mode", "[parameter-value]", "ParameterType.UrlSegment");
            request.AddParameter("pay-type-Deleted-Query", "[parameter-value]", "ParameterType.UrlSegment");

            IRestResponse response = client.Execute(request);

  /api/v1/costrecovery/initialisationdata: 
    get:
      tags:
        - CostRecovery
      summary: Get cost recovery initialisation data for a cost recovery
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: taxCodeDeleted
          in: query
          description: Tax Code Deleted
          required: false
          type: boolean
        - name: matterId
          in: query
          description: Matter ID
          required: false
          type: string
      responses:
        '200':
          description: OK          
          schema:
            type: object
            $ref: '#/definitions/Definition_200Response_CostRecovery_InitialisationData_New'            
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized         
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X GET 
            'https://au-api.leap.services/api/v1/costrecovery/initialisationdata?taxCodeDeleted={tax-code-deleted}&matterId={matter-id}'
            -H "accept: application/json" 
            -H "Authorization: [bearer-token]"
            -H "content-type: application/json"
        - lang: 'C#'       
          source: >+
            var client = new RestClient("https://[API-
            Domain]/api/v1//costrecovery/initialisationdata?taxCodeDeleted={tax-code-deleted}&matterId={matter-id}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[api-key]"); 
             request.AddHeader("accept: application/json");
             request.AddHeader("content-type: application/json");             
             request.AddHeader("authorization", "[bearer-token]"); 
             
             request.AddParameter("taxCodeDeleted", "[parameter-value]", "ParameterType.UrlSegment");
             request.AddParameter("matterId", "[parameter-value]", "ParameterType.UrlSegment");

             IRestResponse response = client.Execute(request);

  /api/v1/costrecovery/multiple: 
    post:
      tags:
        - CostRecovery
      summary: Create multiple cost recoveries (limited to 250 entries per request). Returns list of unsuccessful cost recoveries
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: ArrayOfCostRecoveryCreateModel
          in: body
          description: Cost Recoveries
          required: true          
          schema:                        
            $ref: '#/definitions/ArrayOfCostRecoveryCreateModel'
        - name: estimateNotification
          in: query
          description: Send a notification for matter estimate messages
          type: boolean          
      responses:
        '200':
          description: OK          
          schema:
            $ref: '#/definitions/Definition_200Response_CostRecovery_Multiple'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ErrorMessage403'
          examples:
            application/json:
              Message: Conflict        
        '449':
          description: Warning/Retry With
          schema:
            $ref: '#/definitions/ErrorMessage429'
          examples:
            application/json:
              Message: Warning/Retry With
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Server Error        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X GET 
            'https://au-api.leap.services/api/v1/costrecovery/multiple'
            -H "accept: application/json" 
            -H "Authorization: [bearer-token]"
            -H "content-type: application/json"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[APIDomain]/api/v1/costrecovery/multiple; 
            var request = new RestRequest(Method.GET); 
            request.AddHeader("authorization", "[bearer-token]"); 
            request.AddHeader("cache-control", "no-cache"); 
            request.AddHeader("x-api-key", "[api-key]"); 
            request.AddHeader("accept: application/json");
            request.AddHeader("content-type: application/json");             
            
            request.AddParameter("costRecoveries", "[parameter-value]", "ParameterType.UrlSegment");            

            IRestResponse response = client.Execute(request);


  /api/v1/mailing/invoices: 
    post:
      tags:
        - Mailing
      summary: Get invoices for mailing
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: batchId
          in: query
          description: Batch Id
          required: false
          type: string
        - name: fullyReceiptedOnly
          in: query
          description: Fully receipted only
          required: false
          type: string
        - name: dateFrom
          in: query
          description: Date From
          required: false
          type: string
        - name: dateTo
          in: query
          description: Date To
          required: false
          type: string
      responses:
        '200':
          description: OK          
          schema:
            $ref: '#/definitions/Definition_200Response_Mailing'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Definition_Error_Generic'
          examples:
            application/json:
              Message: Bad request
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Definition_Error_Generic'
          examples:
            application/json:
              Message: Unauthorized        
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/De finition_Error_Generic'
          examples:
            application/json:
              Message: Server Error        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+ 
            curl -X GET 
            'https://au-api.leap.services/api/v1/mailing/invoices?fullyReceiptedOnly=fullyReceiptedOnly&dateFrom=01-12-2015&batchId=102030&dateTo=31-12-2015'
            -H "accept: application/json" 
            -H "Authorization: [bearer-token]"
            -H "content-type: application/json"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[APIDomain]/api/v1/mailing/invoices?fullyReceiptedOnly=" + {fullyReceiptedOnly}
              + "&dateFrom=" + {dateFrom}
              + "&batchId=" + {batchId}
              + "&dateTo=" + {dateTo}; 
            var request = new RestRequest(Method.GET); 
            request.AddHeader("authorization", "[bearer-token]"); 
            request.AddHeader("cache-control", "no-cache"); 
            request.AddHeader("x-api-key", "[LEAP_API_Key]"); 
            request.AddHeader("accept: application/json");
            request.AddHeader("content-type: application/json");             
            
            request.AddParameter("fullyReceiptedOnly", "[parameter-value]", "ParameterType.UrlSegment");
            request.AddParameter("dateFrom", "[parameter-value]", "ParameterType.UrlSegment");
            request.AddParameter("batchId", "[parameter-value]", "ParameterType.UrlSegment");
            request.AddParameter("dateTo", "[parameter-value]", "ParameterType.UrlSegment");

            IRestResponse response = client.Execute(request);

  /api/v1/lists/staff:
    get:
      tags:
        - Lists
      summary: Returns a list of staff for a firm.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/StaffListJson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/lists/staff 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/lists/staff"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/preferences/firmpreferences:
    get:
      tags:
        - Preferences
      summary: Returns a firms accounting preferences.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              OfficeBankAccountGUID: 12e69eb5-364c-420a-805a-2222b160e83d
              TrustBankAccountGUID: 12335eab-5401-2221-89db-69ac9b4dd304
              GSTTaxCodeGUID: 12e2ee75-33c9-460b-a679-1480a05fafcc
              NTTaxCodeGUID: 542c1f1b-2184-4e69-4431-1a9038ab18cc
              StatDepMatterGUID: 1212567b-7d51-4cfc-4311-1c1e6caf43f3
              InvoiceLayoutGUID: cc4d3898-2215-4ab3-ecf8-1d626dbf87bc
              GLAccountCodePaymentItems: 5-1000
              GLAccountCodeTimeFees: 4-1000
              GLAccountCodeCostRecoveries: 4-2000
              GLAccountCodePaymentItemsRec: 4-3000
              GLAccountCodeUndepFunds: 1-1185
              GLAccountCodePaymentItemsWO: 6-1340
              GLAccountCodeDebtors: null
              GLAccountCodeDebtorsDisc: 6-1320
              GLAccountCodeDebtorsWO: 6-1330
              GLAccountCodeCredits: 4-4000
              GSTAccountingBasis: 0
              RowVersions: 131511
              FeeSecondsPerUnit: 360
              GLLockPeriodDate: '2017-10-10T00:00:00'
              GLFinYearStartDate: '2017-10-10T00:00:00'
              InvoiceApplyGSTCostRec: true
              InvoiceApplyGSTPay: true
              InvoiceApplyGSTDosbJourn: true
              InvoiceApplyGSTAD: true
              EFTNumberPrefix: E
              ModifiedDTS: '2019-10-10T23:51:29'
              ModifiedByStaffGUID: ssq4731c-6e5a-11ae-2421-169301ef293f
              LDMCostRecTaskCodeGUID: d10a94bc-4431-4e97-aabe-807dc43a2263
              LDMCostRecSplit: true
              FRETaxCodeGUID: g3b7c206-83ee-474d-94a1-211cf8396d05
              GLAccountCodeDebtorsAdjust: 1-1250
              InvestAccountType: 0
              HeaderContactDetailsUseCustom: false
              HeaderContactDetailsCustom: null
              ClientCreditsTaxCodeGUID: 44d2ee75-06c9-120b-a679-4180a05fafcc
              EstimateWarnPercentage: null
              EstimateWarnValue: null
              RPUseRapidPayOffice: 1
              RPOfficeFooterInvoices: 1
              RPOfficeFooterStatements: 1
              RPUseRapidPayTrust: 1
              RPTrustFooterStatements: 1
              InvoiceTerm: 30
              RPUseRapidPayCM: 0
              LNTTAxCodeGUID: null
              ExternalAccountingPlatform: 2
              GSTXeroTaxCodeExpenseGUID: f428da77-0efe-4312-b20a-45dc332ef50b
              GLAccountCodeLNTXero: null
              FirmDefaultCFInterestRate: null
              CFInterestMatterGUID: null
              LateFeesInterestRatePercent: 10
              RPBillerCodeGUID: c2c9b12d-eeeb-223f-9f5e-2166dd8d46c9
              RPOfficeFooterDisplayCC: true
              RPTrustFooterDisplayCC: true
              LAAFirmJSON: null
              RPRapidAccount: false
              RPSettleToTrust: false
              RPReceiptedByName: null
              RPReceiptedByTypeID: 1
              RPPaymentNotificationEmails: null
              TrustBankRecMode: null
              RoundingTypeId: null
              RapidPaySendByEmail: null
              RPPaymentReminders: true
          schema:
            $ref: '#/definitions/FirmPreferences'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/preferences/firmpreferences 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/preferences/firmpreferences"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
  /api/v1/preferences/accountingpreferences:
    put:
      tags:
        - Preferences
      summary: Update accounting preferences.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: UpdatePreferenceModel
          description: Preference Model
          required: True
          in: body
          schema:
            $ref: '#/definitions/UpdatePreferenceModel'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X PUT 
             https://[API Domain]/api/v1/preferences/accountingpreferences 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -d '{
                  "StatutoryDepositMatterFileNumber": "f8f20a2e-c65f-44e9-bdb4-29a87859e5c3",
                  "UndepositedFunds": "string",
                  "DebtorsAdjustment": "string",
                  "Debtors": "string",
                  "ClientFees": "string",
                  "CostRecoveries": "string",
                  "PaymentsReceived": "string",
                  "ClientCredits": "string",
                  "OfficePayment": "string",
                  "DiscountsGiven": "string",
                  "DebtorWriteOffs": "string",
                  "PaymentWriteOffs": "string",
                  "AccountingBasis": "string",
                  "XeroTaxAccountCode": "string"
               }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/preferences/accountingpreferences"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
              "{
              "StatutoryDepositMatterFileNumber": "f8f20a2e-c65f-44e9-bdb4-29a87859e5c3",
              "UndepositedFunds": "string",
              "DebtorsAdjustment": "string",
              "Debtors": "string",
              "ClientFees": "string",
              "CostRecoveries": "string",
              "PaymentsReceived": "string",
              "ClientCredits": "string",
              "OfficePayment": "string",
              "DiscountsGiven": "string",
              "DebtorWriteOffs": "string",
              "PaymentWriteOffs": "string",
              "AccountingBasis": "string",
              "XeroTaxAccountCode": "string"
                }",
            , ParameterType.RequestBody);

             IRestResponse response = client.Execute(request); 
  /api/v1/purchaseorders:
    post:
      tags:
        - Purchase Orders
      summary: Create a purchase order
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: PurchaseOrderCreate
          description: Purchase Order Model
          required: True
          in: body
          schema:
            $ref: '#/definitions/PurchaseOrderCreate'
      responses:
        '201':
          description: Success
          examples:
            application/json:
              Code: 0
              RowVersion: 123456789
              Message: Success
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/purchaseorders 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -d '{
                  "PurchaseOrderGUID": "b67b3dc4-7a47-4a5d-9c3f-3f6ac421d553",
                  "ReferenceNo": "string",
                  "TransactionDate": "2019-08-24T14:15:22Z",
                  "DeliveryDate": "2019-08-24T14:15:22Z",
                  "SupplierCardGUID": "2b688de4-ba8a-41c0-8e23-7acfc9a5be65",
                  "CostRecoveryGUID": "21ec3e9b-32b5-40ee-bee5-af51da88c045",
                  "IncTax": true,
                  "PurchaseOrderItems": [
                    {
                    "PurchaseOrderItemGUID": "8102ed1c-2f0c-4a74-9f15-ac3491459273",
                    "Quantity": 0,
                    "AmountEach": 0,
                    "TotalIncTax": 0,
                    "TotalExTax": 0,
                    "TotalTax": 0,
                    "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                    "Description": "string",
                    "ItemName": "string",
                    "CustomerId": "string",
                    "PurchaseOrderItemsTaxSplits": [
                      {
                      "TaxCode": "string",
                      "AmountTax": 0,
                      "TaxCodeGuid": "string"
                      }
                      ]
                    }
                    ]
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/purchaseorders"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json",
              "{
                "PurchaseOrderGUID": "b67b3dc4-7a47-4a5d-9c3f-3f6ac421d553",
                "ReferenceNo": "string",
                "TransactionDate": "2019-08-24T14:15:22Z",
                "DeliveryDate": "2019-08-24T14:15:22Z",
                "SupplierCardGUID": "2b688de4-ba8a-41c0-8e23-7acfc9a5be65",
                "CostRecoveryGUID": "21ec3e9b-32b5-40ee-bee5-af51da88c045",
                "IncTax": true,
                "PurchaseOrderItems": [
                  {
                  "PurchaseOrderItemGUID": "8102ed1c-2f0c-4a74-9f15-ac3491459273",
                  "Quantity": 0,
                  "AmountEach": 0,
                  "TotalIncTax": 0,
                  "TotalExTax": 0,
                  "TotalTax": 0,
                  "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                  "Description": "string",
                  "ItemName": "string",
                  "CustomerId": "string",
                  "PurchaseOrderItemsTaxSplits": [
                    {
                    "TaxCode": "string",
                    "AmountTax": 0,
                    "TaxCodeGuid": "string"
                    }
                    ]
                  }
                  ]
                }",
            , ParameterType.RequestBody);
             IRestResponse response = client.Execute(request); 
  /api/v1/purchaseorders/initialisationdata:
    get:
      tags:
        - Purchase Orders
      summary: Get initialisation data.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: taxCodeDeleted
          required: false
          in: query
        - name: costRecoveryId
          in: query
          required: false
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PurchaseOrderInitialisationData'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/purchaseorders/initialisationdata 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/purchaseorders"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  /api/v2/persons:
    get:
      tags:
        - Persons
      summary: Gets a list of persons based off filter options
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: maxItems
          in: query
          description: Maximum number of total returned records while paginating.
          required: false
          type: string
        - name: rowVersion
          in: query
          description: >-
            The `rowVersion` field, is the database identity record of the item
            being requested.


            Provide this to get a DELTA of all persons that have been changed or
            created since the `rowVersion` provided.
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/PersonsListJson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '403':
          description: Forbidden (check your LEAP API Key)
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '502':
          description: Internal error unrecognized by the Gateway
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v2/persons  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API Domain]/api/v2/persons"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

    post:
      tags:
        - Persons
      summary: Create a person
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: PersonsCreatePerson
          description: Person details
          required: true
          schema:
            $ref: '#/definitions/PersonsCreatePerson'
      responses:
        '201':
          description: Success
          schema:
            $ref: '#/definitions/PublicDocsPersonResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST https://[API Domain]/api/v2/persons  \n -H 'accept: application/json'  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '{ \n \t\"lastName\": \"Smith\", \n \t\"firstName\": \"David\", \n \t\"birthDate\": \"08-17-1980\", \n \t\"birthPlace\": \"Sydney\", \n \t\"countryOfBirth\": \"Australia\", \n \t\"deathPlace\": null, \n \t\"deathDate\": null, \n \t\"occupation\": \"lawyer\", \n \t\"passportNumber\": \"G123456\", \n \t\"passportName\": null, \n \t\"maidenName\": null, \n \t\"previousName\": null, \n \t\"language\": \"english\", \n \t\"specialNeeds\": null, \n \t\"maritalStatus\": null, \n \t\"custom1\": \"custom field 1 provided\", \n \t\"custom2\": null, \n \t\"custom3\": null, \n \t\"custom4\": null, \n \t\"custom5\": null, \n \t\"custom6\": null, \n \t\"custom7\": null, \n \t\"custom8\": null, \n \t\"custom9\": null, \n \t\"custom10\": null, \n \t\"custom11\": null, \n \t\"custom12\": null, \n \t\"comments\": null, \n \t\"salutation\": \"Mr\", \n \t\"gender\": \"male\", \n \t\"nationality\": \"Australian\", \n \t\"webAddresses\": [ \n \t\t{ \n \t\t\"type\": \"Email\", \n \t\t\"value\": \"dsmith@yahoo.com\" \n \t}, \n \t{ \n \t\t\"type\": \"Web\", \n \t\t\"value\": \"www.davidsmith&co.com\" \n \t} \n \t], \n \t\"phoneNumbers\": [ \n \t{ \n \t\t\"type\": \"Phone\", \n \t\t\"value\": \"0423559744\" \n \t} \n \t], \n \t\"deleted\": false, \n \t\"emailType1\": 3, \n \t\"emailType2\": 4, \n \t\"phoneType1\": 1, \n \t\"phoneType2\": 2, \n \t\"phoneType3\": 7 \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/persons\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"lastName\": \"Smith\", \n \t\"firstName\": \"David\", \n \t\"birthDate\": \"08-17-1980\", \n \t\"birthPlace\": \"Sydney\", \n \t\"countryOfBirth\": \"Australia\", \n \t\"deathPlace\": null, \n \t\"deathDate\": null, \n \t\"occupation\": \"lawyer\", \n \t\"passportNumber\": \"G123456\", \n \t\"passportName\": null, \n \t\"maidenName\": null, \n \t\"previousName\": null, \n \t\"language\": \"english\", \n \t\"specialNeeds\": null, \n \t\"maritalStatus\": null, \n \t\"custom1\": \"custom field 1 provided\", \n \t\"custom2\": null, \n \t\"custom3\": null, \n \t\"custom4\": null, \n \t\"custom5\": null, \n \t\"custom6\": null, \n \t\"custom7\": null, \n \t\"custom8\": null, \n \t\"custom9\": null, \n \t\"custom10\": null, \n \t\"custom11\": null, \n \t\"custom12\": null, \n \t\"comments\": null, \n \t\"salutation\": \"Mr\", \n \t\"gender\": \"male\", \n \t\"nationality\": \"Australian\", \n \t\"webAddresses\": [ \n \t\t{ \n \t\t\"type\": \"Email\", \n \t\t\"value\": \"dsmith@yahoo.com\" \n \t}, \n \t{ \n \t\t\"type\": \"Web\", \n \t\t\"value\": \"www.davidsmith&co.com\" \n \t} \n \t], \n \t\"phoneNumbers\": [ \n \t{ \n \t\t\"type\": \"Phone\", \n \t\t\"value\": \"0423559744\" \n \t} \n \t], \n \t\"deleted\": false, \n \t\"emailType1\": 3, \n \t\"emailType2\": 4, \n \t\"phoneType1\": 1, \n \t\"phoneType2\": 2, \n \t\"phoneType3\": 7 \n } \", \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
    put:
      tags:
        - Persons
      summary: Update a person.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: PersonsUpdatePerson
          description: |-
            Person details

            <b>NOTE:</b> Body must include `firstName` and/or `lastName`.
          required: true
          type: object
          schema:
            $ref: '#/definitions/PersonsUpdatePerson'
      responses:
        '200':
          description: Successful response
          schema: null
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X PUT https://[API Domain]/api/v2/persons  \n -H 'accept: application/json'  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '{ \n \t\"personId\": \"string[guid]\", \n \t\"emailType1\": 0, \n \t\"emailType2\": 0, \n \t\"phoneType1\": 0, \n \t\"phoneType2\": 0, \n \t\"phoneType3\": 0, \n \t\"lastName\": \"string\", \n \t\"firstName\": \"string\", \n \t\"birthDate\": \"2021-08-12T00:07:12.301Z\", \n \t\"birthPlace\": \"string\", \n \t\"countryOfBirth\": \"string\", \n \t\"deathPlace\": \"string\", \n \t\"deathDate\": \"2021-08-12T00:07:12.301Z\", \n \t\"occupation\": \"string\", \n \t\"passportNumber\": \"string\", \n \t\"passportName\": \"string\", \n \t\"maidenName\": \"string\", \n \t\"previousName\": \"string\", \n \t\"language\": \"string\", \n \t\"specialNeeds\": \"string\", \n \t\"maritalStatus\": \"string\", \n \t\"custom1\": \"string\", \n \t\"custom2\": \"string\", \n \t\"custom3\": \"string\", \n \t\"custom4\": \"string\", \n \t\"custom5\": \"string\", \n \t\"custom6\": \"string\", \n \t\"custom7\": \"string\", \n \t\"custom8\": \"string\", \n \t\"custom9\": \"string\", \n \t\"custom10\": \"string\", \n \t\"custom11\": \"string\", \n \t\"custom12\": \"string\", \n \t\"comments\": \"string\", \n \t\"salutation\": \"string\", \n \t\"gender\": \"string\", \n \t\"nationality\": \"string\", \n \t\"webAddresses\": [ \n \t\t{ \n \t\t\"type\": \"email\", \n \t\t\"value\": \"string\" \n \t} \n \t], \n \t\"phoneNumbers\": [ \n \t{ \n \t\t\"type\": \"phone\", \n \t\t\"value\": \"string\" \n \t} \n \t], \n \t\"deleted\": false, \n \t\"photoFileName\": \"string[guid]\" \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/persons\"); \n var request = new RestRequest(Method.PUT); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"personId\": \"string[guid]\", \n \t\"emailType1\": 0, \n \t\"emailType2\": 0, \n \t\"phoneType1\": 0, \n \t\"phoneType2\": 0, \n \t\"phoneType3\": 0, \n \t\"lastName\": \"string\", \n \t\"firstName\": \"string\", \n \t\"birthDate\": \"2021-08-12T00:07:12.301Z\", \n \t\"birthPlace\": \"string\", \n \t\"countryOfBirth\": \"string\", \n \t\"deathPlace\": \"string\", \n \t\"deathDate\": \"2021-08-12T00:07:12.301Z\", \n \t\"occupation\": \"string\", \n \t\"passportNumber\": \"string\", \n \t\"passportName\": \"string\", \n \t\"maidenName\": \"string\", \n \t\"previousName\": \"string\", \n \t\"language\": \"string\", \n \t\"specialNeeds\": \"string\", \n \t\"maritalStatus\": \"string\", \n \t\"custom1\": \"string\", \n \t\"custom2\": \"string\", \n \t\"custom3\": \"string\", \n \t\"custom4\": \"string\", \n \t\"custom5\": \"string\", \n \t\"custom6\": \"string\", \n \t\"custom7\": \"string\", \n \t\"custom8\": \"string\", \n \t\"custom9\": \"string\", \n \t\"custom10\": \"string\", \n \t\"custom11\": \"string\", \n \t\"custom12\": \"string\", \n \t\"comments\": \"string\", \n \t\"salutation\": \"string\", \n \t\"gender\": \"string\", \n \t\"nationality\": \"string\", \n \t\"webAddresses\": [ \n \t\t{ \n \t\t\"type\": \"email\", \n \t\t\"value\": \"string\" \n \t} \n \t], \n \t\"phoneNumbers\": [ \n \t{ \n \t\t\"type\": \"phone\", \n \t\t\"value\": \"string\" \n \t} \n \t], \n \t\"deleted\": false, \n \t\"photoFileName\": \"string[guid]\" } \", \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
  '/api/v2/persons/{personid}':
    get:
      tags:
        - Persons
      summary: Get a person.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Person Id
          in: query
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/PersonsReadPerson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v2/persons/{personid} 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/persons/{personid}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

  '/api/v2/persons/{personId}/photo':
    get:
      tags:
        - Persons
      summary: 'Get an S3 signed url, used for downloading a person photo file.'
      description: >-
        Using signed URL's, the below functionality will allow you to fetch,
        update and upload a peron's photo file.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Person Id
          in: query
          required: true
          type: string
          format: uuid
          description: LEAP Person GUID
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/PersonsGetPersonPhoto'
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v2/persons/{personId}/photo  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/persons/{personId}/photo"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

    post:
      tags:
        - Persons
      summary: 'Get an S3 signed url, used for uploading a person photo file.'
      description: "Creating / POSTing a photo file is a 2 step process; \n\n\tStep 1: Make the POST request. \n\n\tStep 2: Use the resultant `signedURL` address to upload the photo file binary (using a PUT)."
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Person Id
          in: query
          required: true
          type: string
          format: uuid
          description: LEAP Person GUID
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - null
        - in: body
          name: PersonsPostPhotoFile
          required: true
          schema:
            $ref: '#/definitions/PersonsPostPhotoFile'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/PersonsPostPhotoFileJson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST \n https://[API Domain]/api/v2/persons/{personId}/photo \n -H 'accept: application/json' \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'x-api-key: [LEAP API Key]' \n -H 'Content-Type: application/json' \n -d '{  \n \t\"photoFileName\": \"String[GUID]\" \n }'"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/persons/{personId}/photo\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\",\n \"{\n \t\"photoFileName\": \"String[GUID]\" \n }\"\n , ParameterType.RequestBody);\n );\n IRestResponse response = client.Execute(request); \n\n"

  '/api/v1/powermoney':
    post:
      tags:
        - PowerMoney
      summary: 'Create power money transaction.'
      description: >-
        Using signed URL's, the below functionality will allow you to create power money transactions.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: CreatePowerMoneyTransaction
          in: header
          description: Create Power Money Transaction
          required: true
          schema:
            $ref: '#/definitions/CreatePowerMoneyTransaction'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST  
             https://[API Domain]/api/v1/powermoney 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             -d '{
                    "TransactionId": "string",
                    "AccountId": "string",
                    "MatterId": "string",
                    "TransactionDate": "2023-03-15T07:30:58.564Z",
                    "EntryDate": "2023-03-15T07:30:58.564Z",
                    "TransactionType": 0,
                    "PayeePayor": "string",
                    "Amount": 0,
                    "Reason": "string",
                    "AuthorisedById": "string",
                    "PaymentTypeGuid": "string",
                    "PaymentTypeName": "string",
                    "PaymentTypeId": 0,
                    "PaymentTypeDetails": {
                      "PaymentTypeDetailsGUID": "string",
                      "Addressee": "string",
                      "BSB": "string",
                      "AccountNumber": "string",
                      "AccountName": "string",
                      "Drawer": "string",
                     "ChequeNumber": "string",
                      "AuthorisationNumber": "string",
                      "ExpiryDate": "2023-03-15T07:30:58.564Z",
                      "Notes": 0,
                      "Coins": 0,
                      "Memo": "string",
                      "BillerCode": "string",
                      "BillerReference": "string",
                      "RowVersion": 0
                    },
                    "WarningAcknowledgments": [
                     0
                    ]
                  }'

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/powermoney"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json",
             "{
                "TransactionId": "string",
                "AccountId": "string",
                "MatterId": "string",
                "TransactionDate": "2023-03-15T07:30:58.564Z",
                "EntryDate": "2023-03-15T07:30:58.564Z",
                "TransactionType": 0,
                "PayeePayor": "string",
                "Amount": 0,
                "Reason": "string",
                "AuthorisedById": "string",
                "PaymentTypeGuid": "string",
                "PaymentTypeName": "string",
                "PaymentTypeId": 0,
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-03-15T07:30:58.564Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string",
                  "RowVersion": 0
                },
                "WarningAcknowledgments": [
                  0
                ]
              }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);
             
  '/api/v1/powermoney/poweraccount':
    post:
      tags:
        - PowerMoney
      summary: 'Create power account.'
      description: >-
        Using signed URL's, the below functionality will allow you to create power account.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: CreatePowerAccount
          in: body
          description: Create power account
          required: true
          schema:
            $ref: '#/definitions/CreatePowerAccount'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST  
             https://[API Domain]/api/v1/powermoney/poweraccount 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             -d '{
                    "AccountId": "string",
                    "MatterId": "string",
                    "CodeUnique": "string",
                    "State": "string",
                    "Institution": "string",
                    "AccountBSB": "string",
                    "AccountNumber": "string",
                    "AccountName": "string",
                    "OpeningBalance": 0,
                    "DateOpened": "2023-03-16T04:36:30.941Z",
                    "OpeningBalanceUnknown": true,
                    "AuthorityDetails": "string",
                    "WarningAcknowledgments": [
                      0
                    ]
                  }'

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/powermoney/poweraccount"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json",
             "{
                    "AccountId": "string",
                    "MatterId": "string",
                    "CodeUnique": "string",
                    "State": "string",
                    "Institution": "string",
                    "AccountBSB": "string",
                    "AccountNumber": "string",
                    "AccountName": "string",
                    "OpeningBalance": 0,
                    "DateOpened": "2023-03-16T04:36:30.941Z",
                    "OpeningBalanceUnknown": true,
                    "AuthorityDetails": "string",
                    "WarningAcknowledgments": [
                      0
                    ]
                  }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);
 
  '/api/v1/powermoney/powerestatesregister':
    post:
      tags:
        - PowerMoney
      summary: 'Create power estates register transaction.'
      description: >-
        Using signed URL's, the below functionality will allow you to create power estate register transaction.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: PowerEstatesRegisterTransaction
          in: header
          description: Create Power Money Transaction
          required: true
          schema:
            $ref: '#/definitions/PowerEstatesRegisterTransaction'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST  
             https://[API Domain]/api/v1/powermoney/powerestatesregister
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             -d '{
                    "TransactionId": "string",
                    "MatterId": "string",
                    "DonorDeceasedAddress": "string",
                    "DateOfDeath": "2023-03-16T04:45:04.830Z",
                    "DateOfPowerDocument": "2023-03-16T04:45:04.830Z",
                   "DateOfCommencementPower": "2023-03-16T04:45:04.830Z",
                    "AssociateAssignedPowerId": "string",
                    "Memo": "string",
                    "DateOfCommencementPowerIsCurrent": true,
                    "DocumentRegisterId": "string"
                  }'

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/powermoney/powerestatesregister"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json",
             "{
                    "TransactionId": "string",
                    "MatterId": "string",
                    "DonorDeceasedAddress": "string",
                    "DateOfDeath": "2023-03-16T04:45:04.830Z",
                    "DateOfPowerDocument": "2023-03-16T04:45:04.830Z",
                   "DateOfCommencementPower": "2023-03-16T04:45:04.830Z",
                    "AssociateAssignedPowerId": "string",
                    "Memo": "string",
                    "DateOfCommencementPowerIsCurrent": true,
                    "DocumentRegisterId": "string"
                  }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);
 
  '/api/v1/powermoney/{powerMoneyId}/initialisationdata':
    get:
      tags:
        - PowerMoney
      summary: 'Get power money transaction view/update initialization data.'
      description: >-
        Using signed URL's, the below functionality will allow you to get power moeny transaction.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: powerMoneyId
          in: path
          description: powerMoneyId
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: transactionMode
          in: query
          description:  Transaction mode for the Office Invoice Adjustment
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/PowerMoneyTransactionLADSPV'
          examples:
            application/json:
              signedUrl: string
            $ref: '#/definitions/PowerMoneyTransactionLADSPV'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v1/powermoney/{powerMoneyId}/initialisationdata
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             -d '{
                    "transactionMode ": "string"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/powermoney/{powerMoneyId}/initialisationdata"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json",
             "{
                    "transactionMode ": "string"
                  }"
             , ParameterType.RequestBody); 
             IRestResponse response = client.Execute(request);

  /api/v1/standard/persons:
    get:
      tags:
        - Persons
      summary: Gets a Non PII list of persons based off filter options
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: maxItems
          in: query
          description: Maximum number of total returned records while paginating.
          required: false
          type: string
        - name: rowVersion
          in: query
          description: >-
            The `rowVersion` field, is the database identity record of the item
            being requested.


            Provide this to get a DELTA of all cards that have been changed or
            created since the `rowVersion` provided.
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/PersonsListJsonNonPII'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v1/standard/persons  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API Domain]/api/v1/standard/persons"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);    
    post:
      tags:
        - Persons
      summary: Creates a Non PII person
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: PersonModelNonPiiDPVWPC
          description: Person details
          required: true
          schema:
            $ref: '#/definitions/PersonsCreatePersonNonPII'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PublicDocsPersonResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST  
             https://[API Domain]/api/v1/standard/persons  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
                    "lastName": "string",
                    "firstName": "string",
                    "occupation": "string",
                    "previousName": "string",
                    "language": "string",
                    "salutation": "string",
                    "webAddresses": [
                      {
                        "type": "email",
                        "value": "string"
                      }
                    ],
                    "phoneNumbers": [
                      {
                        "type": "phone",
                        "value": "string"
                      }
                    ],
                    "deleted": true,
                    "photoFileName": "string",
                    "fields": [
                      {
                        "id": "string",
                        "value": "string"
                      }
                    ]
                  }'
        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API
            Domain]/api/v1/standard/persons"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "InvSemaphoreGUID": "1130c37f-cf7b-43a7-89c9-be9869f36eaa",
                    "LABillingStage": 0,
                    "MatterBillingMode": 0,
                    "InvLAStrObjBilling": "string",
                    "InvLAExceptional": 0,
                    "InvLACRMPSFFExceeded": 0,
                    "isDeveloperRequest": 0,
                    "ExTimeAndFees": true,
                    "ExCostRecoveries": true,
                    "ExDisbursementJournals": true,
                    "ExOfficePayments": true,
                    "ExAnticipatedPayments": true,
                    "BillAtDate": "2019-08-24T14:15:22Z",
                    "FixedFee": true,
                    "FixedFeeAmount": 0,
                    "QuickInvoiceFeeId": "07eadeb4-9de4-4e09-aa56-fb27d6ced1bd"
            }"); 
             IRestResponse response = client.Execute(request); 
    put:
      tags:
        - Persons
      summary: Updates a Non PII person
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: PersonModelNonPiiDPVWPU
          description: Person details
          required: true
          schema:
            $ref: '#/definitions/PersonsUpdatePersonNonPII'
      responses:
        '200':
          description: Created
          schema:
            $ref: '#/definitions/PersonModelNonPIIResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X PUT  
             https://[API Domain]/api/v1/standard/persons  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
                    "lastName": "string",
                    "firstName": "string",
                    "occupation": "string",
                    "previousName": "string",
                    "language": "string",
                    "salutation": "string",
                    "webAddresses": [
                      {
                        "type": "email",
                        "value": "string"
                      }
                    ],
                    "phoneNumbers": [
                      {
                        "type": "phone",
                        "value": "string"
                      }
                    ],
                    "deleted": true,
                    "photoFileName": "string",
                    "fields": [
                      {
                        "id": "string",
                        "value": "string"
                      }
                    ]
                  }'
        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API
            Domain]/api/v1/standard/persons"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "InvSemaphoreGUID": "1130c37f-cf7b-43a7-89c9-be9869f36eaa",
                    "LABillingStage": 0,
                    "MatterBillingMode": 0,
                    "InvLAStrObjBilling": "string",
                    "InvLAExceptional": 0,
                    "InvLACRMPSFFExceeded": 0,
                    "isDeveloperRequest": 0,
                    "ExTimeAndFees": true,
                    "ExCostRecoveries": true,
                    "ExDisbursementJournals": true,
                    "ExOfficePayments": true,
                    "ExAnticipatedPayments": true,
                    "BillAtDate": "2019-08-24T14:15:22Z",
                    "FixedFee": true,
                    "FixedFeeAmount": 0,
                    "QuickInvoiceFeeId": "07eadeb4-9de4-4e09-aa56-fb27d6ced1bd"
            }"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/standard/cards/{cardId}/persons:
    get:
      tags:
        - Persons
      summary: Gets all of the Non PII card's persons
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: cardId
          in: path
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            type: array
            items:
              $ref: '#/definitions/PersonsReadPersonNonPII'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v1/standard/cards/{cardId}/persons  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API Domain]/api/v1/standard/cards/{cardId}/persons"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);
 
  '/api/v1/persons/search':           
    post:
      tags:
        - Persons
      summary: Advanced Person Search
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: SearchTermListJsonLDJ
          description: Person Search Terms
          required: true
          schema:
            $ref: '#/definitions/SearchTermListJsonLDJ'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SearchTermListJsonLDJResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST  
             https://[API Domain]/api/v1/persons/search  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             --d '[
                    {
                      "personid": "string",
                      "firmid": "string",
                      "birthdate": "string",
                      "birthplace": "string",
                      "comments": "string",
                      "contactnumbers": [
                        "string"
                      ],
                      "countryofbirth": "string",
                      "custom1": "string",
                      "custom2": "string",
                      "custom3": "string",
                      "custom4": "string",
                      "custom5": "string",
                      "custom6": "string",
                      "custom7": "string",
                      "custom8": "string",
                      "custom9": "string",
                      "custom10": "string",
                      "custom11": "string",
                      "custom12": "string",
                      "deathdate": "string",
                      "deathplace": "string",
                      "deletecode": true,
                      "emails": [
                        "string"
                      ],
                      "firstname": "string",
                      "gender": "string",
                      "language": "string",
                      "lastname": "string",
                      "maidenname": "string",
                      "maritalstatus": "string",
                      "nationality": "string",
                      "occupation": "string",
                      "passportname": "string",
                      "passportnumber": "string",
                      "previousname": "string",
                      "salutation": "string",
                      "specialneeds": "string"
                    }
                  ]'
        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API
            Domain]/api/v1/persons/search"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "[
                {
                  "personid": "string",
                  "firmid": "string",
                  "birthdate": "string",
                  "birthplace": "string",
                  "comments": "string",
                  "contactnumbers": [
                    "string"
                  ],
                  "countryofbirth": "string",
                  "custom1": "string",
                  "custom2": "string",
                  "custom3": "string",
                  "custom4": "string",
                  "custom5": "string",
                  "custom6": "string",
                  "custom7": "string",
                  "custom8": "string",
                  "custom9": "string",
                  "custom10": "string",
                  "custom11": "string",
                  "custom12": "string",
                  "deathdate": "string",
                  "deathplace": "string",
                  "deletecode": true,
                  "emails": [
                    "string"
                  ],
                  "firstname": "string",
                  "gender": "string",
                  "language": "string",
                  "lastname": "string",
                  "maidenname": "string",
                  "maritalstatus": "string",
                  "nationality": "string",
                  "occupation": "string",
                  "passportname": "string",
                  "passportnumber": "string",
                  "previousname": "string",
                  "salutation": "string",
                  "specialneeds": "string"
                }
              ]"); 
             IRestResponse response = client.Execute(request);
  /api/v1/lists/invoices:
    get:
      tags:
        - Office Invoices
      summary: Returns a list of invoices.
      produces:
        - application/json
      parameters:
        - name: limit
          in: query
          description: >-
            This will determine the number of Invoices to return, ranging from
            (1 – 10000).


            If this ‘limit’ parameter is not included in the request, then the
            default of 2500 will be applied.
          required: false
          type: string
        - name: page
          in: query
          description: >-
            This will determine the page of data to return.


            If your limit is set to 5000 then page=1 will return Invoice 0-5000.
            Meaning page=2 would return Invoice 5000-10000 and so on.


            You can increment pages until you run out of data (nothing will be
            returned).
          required: false
          type: string
        - name: sequence
          in: query
          description: >-
            If this ‘sequenceNumber’ parameter is not included in the request,
            then all (max) invoices will be returned.


            If the parameter is included, then the returned list will contain
            the Invoices starting from the ‘sequenceNumber‘.
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              invoiceList:
                - seq: 2495 //Sequence number
                  id: f55691d2-a017-462c-b80a-2f37592a5034 //Transaction Id
                  mid: ff850e14-4d62-4993-8573-00ebc2acafed //Matter Id
                  stat: >-
                    3 //Status (0 = Draft (Unapproved) | 1 = Draft (Approved) |
                    3 = Final (Printed / Sent))
                  dt: 2016-07-11 //Date
                  'no': 1 //Transaction number
                  rev: 0 //Reversed (0 = False | 1 = True)
                  tot: 5000 //Total including TAX
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/lists/invoices 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/lists/invoices"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
  /api/v1/officeinvoice:
    post:
      tags:
        - Office Invoices
      summary: Create invoice
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateInvoice
          description: New Invoice
          required: true
          schema:
            $ref: '#/definitions/CreateInvoice'
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              Code:
                type: integer
                format: int32
              RowVersion:
                type: integer
                format: int32
              Message:
                type: string
              TransactionNumber:
                type: string
          examples:
            application/json:
              Code: 0
              RowVersion: 0
              Message: "string"
              TransactionNumber: "string"
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST \n https://[API Domain]/api/v1/officeinvoice \n -H 'accept: application/json' \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'x-api-key: [LEAP API Key]' \n -H 'Content-Type: application/json' \n \n -d '{ \n\t\"FileNumber\": \"string\", \n\t\"MatterGUID\": \"string\", \n\t\"DebtorCardGUID\": \"string\", \n\t\"BillToAddressee\": \"string\", \n\t\"Memo\": \"string\", \n\t\"RowVers\": 0, \n\t\"Status\": 0,\n\t\"StatusOld\": 0,\n\t\"DeletedOld\": 0,\n\t\"IncTax\": 0,\n\t\"TransactionNumber\": \"string\",\n\t\"InvoiceGUID\": \"string\",\n\t\"ReversedInvoiceGUID\": \"string\",\n\t\"AutoNumber\": 0,\n\t\"TransactionDate\": \"2022-09-27T04:16:42.561Z\",\n\t\"Deleted\": 0,\n\t\"DeletedDate\": \"2022-09-27T04:16:42.561Z\",\n\t\"ReversedOrReversal\": 0,\n\t\"InvoiceLayoutGUID\": \"string\",\n\t\"DateDue\": \"2022-09-27T04:16:42.561Z\",\n\t\"Fixed\": 0,\n\t\"FixedAmount\": 0,\n\t\"BatchNo\": 0,\n\t\"ParentInvGUID\": \"string\",\n\t\"LABillingJson\": \"string\", \n\t\"LABillingStage\": 0,\n\t\"MatterBillingMode\": 0,\n\t\"LAExceptional\": 0,\n\t\"LACRMPSFFExceeded\": 0,\n\t\"InvSemaphoreGUID\": \"string\",\n\t\"InvoiceXMLItems\": \n\t{ \n\t\t\"xmldisplayitems\": \"string\",\n\t\t\"xmlfeesumary\": \"string\"\n\t}, \n\t\"InvoiceJsonItems\": \n\t{ \n\t\t\"invoiceDisplayItems\": \n\t\t{ \n\t\t\t\"sections\": [ \n\t\t\t{ \n\t\t\t\t\"printColumns\": [ \n\t\t\t\t{ \n\t\t\t\t\t\"name\": \"string\", \n\t\t\t\t\t\"columnTitle\": \"string\", \n\t\t\t\t\t\"display\": true, \n\t\t\t\t\t\"columnOrder\": 0, \n\t\t\t\t\t\"listTitle\": \"string\", \n\t\t\t\t\t\"format\": \"string\", \n\t\t\t\t\t\"dataType\": \"string\", \n\t\t\t\t\t\"total\": true, \n\t\t\t\t\t\"average\": true \n\t\t\t\t} \n\t\t\t\t], \n\t\t\t\t\"groups\": [ \n\t\t\t\t{ \n\t\t\t\t\t\"Items\": [ \n\t\t\t\t\t{ \n\t\t\t\t\t\t\"lineNumber\": \"string\", \n\t\t\t\t\t\t\"date\": \"string\", \n\t\t\t\t\t\t\"transactionNumber\": \"string\", \n\t\t\t\t\t\t\"description\": \"string\", \n\t\t\t\t\t\t\"invoiceItemGUID\": \"string\", \n\t\t\t\t\t\t\"amountIncTax\": 0, \n\t\t\t\t\t\t\"amountExTax\": 0, \n\t\t\t\t\t\t\"amountTax\": 0, \n\t\t\t\t\t\t\"amountFeeIncTax\": 0, \n\t\t\t\t\t\t\"amountFeeExTax\": 0, \n\t\t\t\t\t\t\"amountDisbIncTax\": 0, \n\t\t\t\t\t\t\"amountDisbExTax\": 0, \n\t\t\t\t\t\t\"timeEntryGUID\": \"string\", \n\t\t\t\t\t\t\"costRecoveryGUID\": \"string\", \n\t\t\t\t\t\t\"paymentItemGUID\": \"string\", \n\t\t\t\t\t\t\"anticipatedDisbursementGUID\": \"string\", \n\t\t\t\t\t\t\"disbursementJournalGUID\": \"string\", \n\t\t\t\t\t\t\"payItemPayToAddressee\": \"string\", \n\t\t\t\t\t\t\"feeQuantity\": 0, \n\t\t\t\t\t\t\"feeAmountPerItem\": 0, \n\t\t\t\t\t\t\"teElapsedTime\": \"string\", \n\t\t\t\t\t\t\"teElapsedHours\": 0, \n\t\t\t\t\t\t\"teElapsedUnits\": 0, \n\t\t\t\t\t\t\"teMinutesPerUnit\": 0, \n\t\t\t\t\t\t\"teRatePerHourExTax\": 0, \n\t\t\t\t\t\t\"teFeeWorkDoneByStaffInitials\": \"string\", \n\t\t\t\t\t\t\"teFeeWorkDoneByStaffName\": \"string\", \n\t\t\t\t\t\t\"teFeeAttributeWorkToStaffInitials\": \"string\", \n\t\t\t\t\t\t\"teFeeAttributeWorkToStaffName\": \"string\", \n\t\t\t\t\t\t\"crQuantity\": 0, \n\t\t\t\t\t\t\"crAmountPerItem\": 0, \n\t\t\t\t\t\t\"payItemAdCrPayToSupplierName\": \"string\", \n\t\t\t\t\t\t\"originalAmountIncTax\": 0, \n\t\t\t\t\t\t\"originalAmountExTax\": 0, \n\t\t\t\t\t\t\"originalAmountTax\": 0, \n\t\t\t\t\t\t\"taxCode\": \n\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\"guid\": \"string\", \n\t\t\t\t\t\t\t\"value\": \"string\" \n\t\t\t\t\t\t}, \n\t\t\t\t\t\t\"absoluteSequenceNumber\": \"string\", \n\t\t\t\t\t\t\"itemSequenceNumber\": 0, \n\t\t\t\t\t\t\"taxSplits\": [ \n\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\"split\": \n\t\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\t\"splitGuid\": \"string\", \n\t\t\t\t\t\t\t\t\"splitRate\": 0, \n\t\t\t\t\t\t\t\t\"splitAmount\": 0 \n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t} \n\t\t\t\t\t\t] \n\t\t\t\t\t} \n\t\t\t\t\t], \n\t\t\t\t\t\"lineNumber\": \"string\", \n\t\t\t\t\t\"date\": \"string\", \n\t\t\t\t\t\"transactionNumber\": \"string\", \n\t\t\t\t\t\"description\": \"string\", \n\t\t\t\t\t\"invoiceItemGUID\": \"string\", \n\t\t\t\t\t\"expanded\": true, \n\t\t\t\t\t\"totalIncTax\": 0, \n\t\t\t\t\t\"totalExTax\": 0, \n\t\t\t\t\t\"totalTax\": 0, \n\t\t\t\t\t\"totalFeeIncTax\": 0, \n\t\t\t\t\t\"totalFeeExTax\": 0, \n\t\t\t\t\t\"totalDisbIncTax\": 0, \n\t\t\t\t\t\"totalDisbExTax\": 0 \n\t\t\t\t} \n\t\t\t\t], \n\t\t\t\t\"items\": [ \n\t\t\t\t{ \n\t\t\t\t\t\"lineNumber\": \"string\", \n\t\t\t\t\t\"date\": \"string\", \n\t\t\t\t\t\"transactionNumber\": \"string\", \n\t\t\t\t\t\"description\": \"string\", \n\t\t\t\t\t\"invoiceItemGUID\": \"string\", \n\t\t\t\t\t\"amountIncTax\": 0, \n\t\t\t\t\t\"amountExTax\": 0, \n\t\t\t\t\t\"amountTax\": 0, \n\t\t\t\t\t\"amountFeeIncTax\": 0, \n\t\t\t\t\t\"amountFeeExTax\": 0, \n\t\t\t\t\t\"amountDisbIncTax\": 0, \n\t\t\t\t\t\"amountDisbExTax\": 0, \n\t\t\t\t\t\"timeEntryGUID\": \"string\", \n\t\t\t\t\t\"costRecoveryGUID\": \"string\", \n\t\t\t\t\t\"paymentItemGUID\": \"string\", \n\t\t\t\t\t\"anticipatedDisbursementGUID\": \"string\", \n\t\t\t\t\t\"disbursementJournalGUID\": \"string\", \n\t\t\t\t\t\"payItemPayToAddressee\": \"string\", \n\t\t\t\t\t\"feeQuantity\": 0, \n\t\t\t\t\t\"feeAmountPerItem\": 0, \n\t\t\t\t\t\"teElapsedTime\": \"string\", \n\t\t\t\t\t\"teElapsedHours\": 0, \n\t\t\t\t\t\"teElapsedUnits\": 0, \n\t\t\t\t\t\"teMinutesPerUnit\": 0, \n\t\t\t\t\t\"teRatePerHourExTax\": 0, \n\t\t\t\t\t\"teFeeWorkDoneByStaffInitials\": \"string\", \n\t\t\t\t\t\"teFeeWorkDoneByStaffName\": \"string\", \n\t\t\t\t\t\"teFeeAttributeWorkToStaffInitials\": \"string\", \n\t\t\t\t\t\"teFeeAttributeWorkToStaffName\": \"string\", \n\t\t\t\t\t\"crQuantity\": 0, \n\t\t\t\t\t\"crAmountPerItem\": 0, \n\t\t\t\t\t\"payItemAdCrPayToSupplierName\": \"string\", \n\t\t\t\t\t\"originalAmountIncTax\": 0, \n\t\t\t\t\t\"originalAmountExTax\": 0, \n\t\t\t\t\t\"originalAmountTax\": 0, \n\t\t\t\t\t\"taxCode\": \n\t\t\t\t\t{ \n\t\t\t\t\t\t\"guid\": \"string\", \n\t\t\t\t\t\t\"value\": \"string\" \n\t\t\t\t\t}, \n\t\t\t\t\t\"absoluteSequenceNumber\": \"string\", \n\t\t\t\t\t\"itemSequenceNumber\": 0, \n\t\t\t\t\t\"taxSplits\": [ \n\t\t\t\t\t{ \n\t\t\t\t\t\t\"split\": { \n\t\t\t\t\t\t\t\"splitGuid\": \"string\", \n\t\t\t\t\t\t\t\"splitRate\": 0, \n\t\t\t\t\t\t\t\"splitAmount\": 0 \n\t\t\t\t\t\t} \n\t\t\t\t\t} \n\t\t\t\t\t] \n\t\t\t\t} \n\t\t\t\t], \n\t\t\t\t\"lineNumber\": \"string\", \n\t\t\t\t\"date\": \"string\", \n\t\t\t\t\"transactionNumber\": \"string\", \n\t\t\t\t\"description\": \"string\", \n\t\t\t\t\"invoiceItemGUID\": \"string\", \n\t\t\t\t\"expanded\": true, \n\t\t\t\t\"totalIncTax\": 0, \n\t\t\t\t\"totalExTax\": 0, \n\t\t\t\t\"totalTax\": 0, \n\t\t\t\t\"totalFeeIncTax\": 0, \n\t\t\t\t\"totalFeeExTax\": 0, \n\t\t\t\t\"totalDisbIncTax\": 0, \n\t\t\t\t\"totalDisbExTax\": 0 \n\t\t\t} \n\t\t\t] \n\t\t} \n\t}, \n\t\"OfficePaymentItems\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"OfficePaymentItemGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"OfficeDisbJournItems\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"OfficeDJItemGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"AnticipatedDisbursements\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"AnticipatedDisbursementGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"Fees\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"FeeGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"CostRecoveries\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"CostRecoveryGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"WarningAcknowledgments\": [ \n\t\t0 \n\t], \n\t\"ExternalURL\": \"string\", \n\t\"ExternalJSON\": \"string\", \n\t\"AppId\": \"Cloud\", \n\t\"FunctionGroupId\": \"string\", \n\t\"SplitCards\": [ \n\t{ \n\t\t\"CardId\": \"string\", \n\t\t\"InvoiceId\": \"string\", \n\t\t\"SplitAmount\": 0, \n\t\t\"SplitAmountExTax\": 0, \n\t\t\"SplitTax\": 0, \n\t\t\"BalanceDue\": 0, \n\t\t\"CardAddress\": \"string\", \n\t\t\"BTIRef\": \"string\", \n\t\t\"BTI_Ref\": 0 \n\t} \n\t], \n\t\"AssignedStaffId\": \"string\", \n\t\"AssignedStaffMemo\": \"string\" \n}'"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/notifications/broadcast\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n { \n\t\"FileNumber\": \"string\", \n\t\"MatterGUID\": \"string\", \n\t\"DebtorCardGUID\": \"string\", \n\t\"BillToAddressee\": \"string\", \n\t\"Memo\": \"string\", \n\t\"RowVers\": 0, \n\t\"Status\": 0,\n\t\"StatusOld\": 0,\n\t\"DeletedOld\": 0,\n\t\"IncTax\": 0,\n\t\"TransactionNumber\": \"string\",\n\t\"InvoiceGUID\": \"string\",\n\t\"ReversedInvoiceGUID\": \"string\",\n\t\"AutoNumber\": 0,\n\t\"TransactionDate\": \"2022-09-27T04:16:42.561Z\",\n\t\"Deleted\": 0,\n\t\"DeletedDate\": \"2022-09-27T04:16:42.561Z\",\n\t\"ReversedOrReversal\": 0,\n\t\"InvoiceLayoutGUID\": \"string\",\n\t\"DateDue\": \"2022-09-27T04:16:42.561Z\",\n\t\"Fixed\": 0,\n\t\"FixedAmount\": 0,\n\t\"BatchNo\": 0,\n\t\"ParentInvGUID\": \"string\",\n\t\"LABillingJson\": \"string\", \n\t\"LABillingStage\": 0,\n\t\"MatterBillingMode\": 0,\n\t\"LAExceptional\": 0,\n\t\"LACRMPSFFExceeded\": 0,\n\t\"InvSemaphoreGUID\": \"string\",\n\t\"InvoiceXMLItems\": \n\t{ \n\t\t\"xmldisplayitems\": \"string\",\n\t\t\"xmlfeesumary\": \"string\"\n\t}, \n\t\"InvoiceJsonItems\": \n\t{ \n\t\t\"invoiceDisplayItems\": \n\t\t{ \n\t\t\t\"sections\": [ \n\t\t\t{ \n\t\t\t\t\"printColumns\": [ \n\t\t\t\t{ \n\t\t\t\t\t\"name\": \"string\", \n\t\t\t\t\t\"columnTitle\": \"string\", \n\t\t\t\t\t\"display\": true, \n\t\t\t\t\t\"columnOrder\": 0, \n\t\t\t\t\t\"listTitle\": \"string\", \n\t\t\t\t\t\"format\": \"string\", \n\t\t\t\t\t\"dataType\": \"string\", \n\t\t\t\t\t\"total\": true, \n\t\t\t\t\t\"average\": true \n\t\t\t\t} \n\t\t\t\t], \n\t\t\t\t\"groups\": [ \n\t\t\t\t{ \n\t\t\t\t\t\"Items\": [ \n\t\t\t\t\t{ \n\t\t\t\t\t\t\"lineNumber\": \"string\", \n\t\t\t\t\t\t\"date\": \"string\", \n\t\t\t\t\t\t\"transactionNumber\": \"string\", \n\t\t\t\t\t\t\"description\": \"string\", \n\t\t\t\t\t\t\"invoiceItemGUID\": \"string\", \n\t\t\t\t\t\t\"amountIncTax\": 0, \n\t\t\t\t\t\t\"amountExTax\": 0, \n\t\t\t\t\t\t\"amountTax\": 0, \n\t\t\t\t\t\t\"amountFeeIncTax\": 0, \n\t\t\t\t\t\t\"amountFeeExTax\": 0, \n\t\t\t\t\t\t\"amountDisbIncTax\": 0, \n\t\t\t\t\t\t\"amountDisbExTax\": 0, \n\t\t\t\t\t\t\"timeEntryGUID\": \"string\", \n\t\t\t\t\t\t\"costRecoveryGUID\": \"string\", \n\t\t\t\t\t\t\"paymentItemGUID\": \"string\", \n\t\t\t\t\t\t\"anticipatedDisbursementGUID\": \"string\", \n\t\t\t\t\t\t\"disbursementJournalGUID\": \"string\", \n\t\t\t\t\t\t\"payItemPayToAddressee\": \"string\", \n\t\t\t\t\t\t\"feeQuantity\": 0, \n\t\t\t\t\t\t\"feeAmountPerItem\": 0, \n\t\t\t\t\t\t\"teElapsedTime\": \"string\", \n\t\t\t\t\t\t\"teElapsedHours\": 0, \n\t\t\t\t\t\t\"teElapsedUnits\": 0, \n\t\t\t\t\t\t\"teMinutesPerUnit\": 0, \n\t\t\t\t\t\t\"teRatePerHourExTax\": 0, \n\t\t\t\t\t\t\"teFeeWorkDoneByStaffInitials\": \"string\", \n\t\t\t\t\t\t\"teFeeWorkDoneByStaffName\": \"string\", \n\t\t\t\t\t\t\"teFeeAttributeWorkToStaffInitials\": \"string\", \n\t\t\t\t\t\t\"teFeeAttributeWorkToStaffName\": \"string\", \n\t\t\t\t\t\t\"crQuantity\": 0, \n\t\t\t\t\t\t\"crAmountPerItem\": 0, \n\t\t\t\t\t\t\"payItemAdCrPayToSupplierName\": \"string\", \n\t\t\t\t\t\t\"originalAmountIncTax\": 0, \n\t\t\t\t\t\t\"originalAmountExTax\": 0, \n\t\t\t\t\t\t\"originalAmountTax\": 0, \n\t\t\t\t\t\t\"taxCode\": \n\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\"guid\": \"string\", \n\t\t\t\t\t\t\t\"value\": \"string\" \n\t\t\t\t\t\t}, \n\t\t\t\t\t\t\"absoluteSequenceNumber\": \"string\", \n\t\t\t\t\t\t\"itemSequenceNumber\": 0, \n\t\t\t\t\t\t\"taxSplits\": [ \n\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\"split\": \n\t\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\t\"splitGuid\": \"string\", \n\t\t\t\t\t\t\t\t\"splitRate\": 0, \n\t\t\t\t\t\t\t\t\"splitAmount\": 0 \n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t} \n\t\t\t\t\t\t] \n\t\t\t\t\t} \n\t\t\t\t\t], \n\t\t\t\t\t\"lineNumber\": \"string\", \n\t\t\t\t\t\"date\": \"string\", \n\t\t\t\t\t\"transactionNumber\": \"string\", \n\t\t\t\t\t\"description\": \"string\", \n\t\t\t\t\t\"invoiceItemGUID\": \"string\", \n\t\t\t\t\t\"expanded\": true, \n\t\t\t\t\t\"totalIncTax\": 0, \n\t\t\t\t\t\"totalExTax\": 0, \n\t\t\t\t\t\"totalTax\": 0, \n\t\t\t\t\t\"totalFeeIncTax\": 0, \n\t\t\t\t\t\"totalFeeExTax\": 0, \n\t\t\t\t\t\"totalDisbIncTax\": 0, \n\t\t\t\t\t\"totalDisbExTax\": 0 \n\t\t\t\t} \n\t\t\t\t], \n\t\t\t\t\"items\": [ \n\t\t\t\t{ \n\t\t\t\t\t\"lineNumber\": \"string\", \n\t\t\t\t\t\"date\": \"string\", \n\t\t\t\t\t\"transactionNumber\": \"string\", \n\t\t\t\t\t\"description\": \"string\", \n\t\t\t\t\t\"invoiceItemGUID\": \"string\", \n\t\t\t\t\t\"amountIncTax\": 0, \n\t\t\t\t\t\"amountExTax\": 0, \n\t\t\t\t\t\"amountTax\": 0, \n\t\t\t\t\t\"amountFeeIncTax\": 0, \n\t\t\t\t\t\"amountFeeExTax\": 0, \n\t\t\t\t\t\"amountDisbIncTax\": 0, \n\t\t\t\t\t\"amountDisbExTax\": 0, \n\t\t\t\t\t\"timeEntryGUID\": \"string\", \n\t\t\t\t\t\"costRecoveryGUID\": \"string\", \n\t\t\t\t\t\"paymentItemGUID\": \"string\", \n\t\t\t\t\t\"anticipatedDisbursementGUID\": \"string\", \n\t\t\t\t\t\"disbursementJournalGUID\": \"string\", \n\t\t\t\t\t\"payItemPayToAddressee\": \"string\", \n\t\t\t\t\t\"feeQuantity\": 0, \n\t\t\t\t\t\"feeAmountPerItem\": 0, \n\t\t\t\t\t\"teElapsedTime\": \"string\", \n\t\t\t\t\t\"teElapsedHours\": 0, \n\t\t\t\t\t\"teElapsedUnits\": 0, \n\t\t\t\t\t\"teMinutesPerUnit\": 0, \n\t\t\t\t\t\"teRatePerHourExTax\": 0, \n\t\t\t\t\t\"teFeeWorkDoneByStaffInitials\": \"string\", \n\t\t\t\t\t\"teFeeWorkDoneByStaffName\": \"string\", \n\t\t\t\t\t\"teFeeAttributeWorkToStaffInitials\": \"string\", \n\t\t\t\t\t\"teFeeAttributeWorkToStaffName\": \"string\", \n\t\t\t\t\t\"crQuantity\": 0, \n\t\t\t\t\t\"crAmountPerItem\": 0, \n\t\t\t\t\t\"payItemAdCrPayToSupplierName\": \"string\", \n\t\t\t\t\t\"originalAmountIncTax\": 0, \n\t\t\t\t\t\"originalAmountExTax\": 0, \n\t\t\t\t\t\"originalAmountTax\": 0, \n\t\t\t\t\t\"taxCode\": \n\t\t\t\t\t{ \n\t\t\t\t\t\t\"guid\": \"string\", \n\t\t\t\t\t\t\"value\": \"string\" \n\t\t\t\t\t}, \n\t\t\t\t\t\"absoluteSequenceNumber\": \"string\", \n\t\t\t\t\t\"itemSequenceNumber\": 0, \n\t\t\t\t\t\"taxSplits\": [ \n\t\t\t\t\t{ \n\t\t\t\t\t\t\"split\": { \n\t\t\t\t\t\t\t\"splitGuid\": \"string\", \n\t\t\t\t\t\t\t\"splitRate\": 0, \n\t\t\t\t\t\t\t\"splitAmount\": 0 \n\t\t\t\t\t\t} \n\t\t\t\t\t} \n\t\t\t\t\t] \n\t\t\t\t} \n\t\t\t\t], \n\t\t\t\t\"lineNumber\": \"string\", \n\t\t\t\t\"date\": \"string\", \n\t\t\t\t\"transactionNumber\": \"string\", \n\t\t\t\t\"description\": \"string\", \n\t\t\t\t\"invoiceItemGUID\": \"string\", \n\t\t\t\t\"expanded\": true, \n\t\t\t\t\"totalIncTax\": 0, \n\t\t\t\t\"totalExTax\": 0, \n\t\t\t\t\"totalTax\": 0, \n\t\t\t\t\"totalFeeIncTax\": 0, \n\t\t\t\t\"totalFeeExTax\": 0, \n\t\t\t\t\"totalDisbIncTax\": 0, \n\t\t\t\t\"totalDisbExTax\": 0 \n\t\t\t} \n\t\t\t] \n\t\t} \n\t}, \n\t\"OfficePaymentItems\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"OfficePaymentItemGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"OfficeDisbJournItems\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"OfficeDJItemGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"AnticipatedDisbursements\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"AnticipatedDisbursementGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"Fees\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"FeeGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"CostRecoveries\": [ \n\t{ \n\t\t\"InvoiceItemGUID\": \"string\", \n\t\t\"CostRecoveryGUID\": \"string\", \n\t\t\"TaxCodeGUID\": \"string\", \n\t\t\"AmountExTax\": 0, \n\t\t\"AmountIncTax\": 0, \n\t\t\"AmountTax\": 0, \n\t\t\"RowVers\": 0, \n\t\t\"StaffGUID\": \"string\", \n\t\t\"TaxSplits\": [ \n\t\t{ \n\t\t\t\"TaxCodeGuid\": \"string\", \n\t\t\t\"AmountTax\": 0, \n\t\t\t\"TaxRatePercent\": 0 \n\t\t} \n\t\t] \n\t} \n\t], \n\t\"WarningAcknowledgments\": [ \n\t\t0 \n\t], \n\t\"ExternalURL\": \"string\", \n\t\"ExternalJSON\": \"string\", \n\t\"AppId\": \"Cloud\", \n\t\"FunctionGroupId\": \"string\", \n\t\"SplitCards\": [ \n\t{ \n\t\t\"CardId\": \"string\", \n\t\t\"InvoiceId\": \"string\", \n\t\t\"SplitAmount\": 0, \n\t\t\"SplitAmountExTax\": 0, \n\t\t\"SplitTax\": 0, \n\t\t\"BalanceDue\": 0, \n\t\t\"CardAddress\": \"string\", \n\t\t\"BTIRef\": \"string\", \n\t\t\"BTI_Ref\": 0 \n\t} \n\t], \n\t\"AssignedStaffId\": \"string\", \n\t\"AssignedStaffMemo\": \"string\" \n} , \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
  /api/v1/officeinvoice/changeinvoicestatus:
    put:
      tags:
        - Office Invoices
      summary: Change invoice status
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateInvoice
          description: New Invoice
          required: true
          schema:
            $ref: '#/definitions/ChangeInvoiceStatus'
      responses:
        '200':
          description: OK
          #headers:
           # Access-Control-Allow-Origin:
            #  type: string
             # description: Allows CORS sharing
          schema:
            $ref: '#/definitions/ChangeInvoiceStatus200'
          #examples:
            #application/json:
            #  BatchNo: 0
             # BatchId: "string"
              #Invoices:
               # - InvoiceGUID: "string"
                #  InvoiceNumber: "string"
                 # MatterGUID: "string"
                  #MatterNumber: "string"
                  #Code: 0
                  #ErrorReason: "string"
                  #RowVersion: 0
                  #StatusId: 0
                  #Status: "string"
                  #LayoutGUID: "string"
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X PUT https://[API Domain]/api/v2/persons  \n -H 'accept: application/json'  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '{\n\t\"StatusID\": 0,\n\t\"BatchMemo\": \"string\",\n\t\"Invoices\": [\n\t{\n\t\t\"InvoiceGUID\": \"string\",\n\t\t\"InvoiceRowVers\": 0\n\t}\n\t]\n }' \n" 
        - lang: 'C#'
          source: " var client = new RestClient(\"https://[API Domain]/api/v2/fees/070ae01d-bd99-4d95-b39b-70a46f7bf3f6\");\n var request = new RestRequest(Method.PUT); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\",  \n \"{\n\t\"StatusID\": 0,\n\t\"BatchMemo\": \"string\",\n\t\"Invoices\": [\n\t{\n\t\t\"InvoiceGUID\": \"string\",\n\t\t\"InvoiceRowVers\": 0\n\t}\n\t]\n }\" \n , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n" 
  '/api/v1/officeinvoice/invoicelayouts':
    get:
      tags:
        - Office Invoices
      summary: Get invoice layouts
      produces:
        - application/json
      description: >-
        Returns an Invoice Layout ID to determine which layouts are available when creating an invoice.
      consumes:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/InvoiceLayouts'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v1/officeinvoice/invoicelayouts  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officeinvoice/invoicelayouts"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);
  '/api/v1/officeinvoice/invoices':
    get:
      tags:
        - Office Invoices
      summary: Get invoices
      description: >-
        Returns an array of Invoices for the given query parameters.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterBillingMode
          in: query
          description: LegalAid billing mode. 0 = Private, 1 = Legal Aid
          type: string
        - name: startDate
          in: query
          description: Start date of the invoice query yyyy-mm-dd.
          required: true
          type: string
          format: date-time
        - name: endDate
          in: query
          description: End date of the invoice query yyyy-mm-dd.
          required: true
          type: string
          format: date-time
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/InvoicesResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v1/officeinvoice/invoicelayouts  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officeinvoice/invoicelayouts"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);             
  /api/v1/officeinvoice/newinvoiceinit:
    post:
      tags:
        - Office Invoices
      summary: Initialise new invoice
      description: >-
        Before creating new invoices via POST /api/v1/officeinvoice, call this API endpoint first to initialise the invoice that will be posted
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: InitialisationInvoiceInitRequest
          description: Init Request
          required: true
          schema:
            $ref: '#/definitions/InitialisationInvoiceInitRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OfficeInvoiceInit'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST  
             https://[API Domain]/api/v1/officeinvoice/invoicelayouts  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "InvSemaphoreGUID": "1130c37f-cf7b-43a7-89c9-be9869f36eaa",
                    "LABillingStage": 0,
                    "MatterBillingMode": 0,
                    "InvLAStrObjBilling": "string",
                    "InvLAExceptional": 0,
                    "InvLACRMPSFFExceeded": 0,
                    "isDeveloperRequest": 0,
                    "ExTimeAndFees": true,
                    "ExCostRecoveries": true,
                    "ExDisbursementJournals": true,
                    "ExOfficePayments": true,
                    "ExAnticipatedPayments": true,
                    "BillAtDate": "2019-08-24T14:15:22Z",
                    "FixedFee": true,
                    "FixedFeeAmount": 0,
                    "QuickInvoiceFeeId": "07eadeb4-9de4-4e09-aa56-fb27d6ced1bd"
            }' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officeinvoice/invoicelayouts"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "InvSemaphoreGUID": "1130c37f-cf7b-43a7-89c9-be9869f36eaa",
                    "LABillingStage": 0,
                    "MatterBillingMode": 0,
                    "InvLAStrObjBilling": "string",
                    "InvLAExceptional": 0,
                    "InvLACRMPSFFExceeded": 0,
                    "isDeveloperRequest": 0,
                    "ExTimeAndFees": true,
                    "ExCostRecoveries": true,
                    "ExDisbursementJournals": true,
                    "ExOfficePayments": true,
                    "ExAnticipatedPayments": true,
                    "BillAtDate": "2019-08-24T14:15:22Z",
                    "FixedFee": true,
                    "FixedFeeAmount": 0,
                    "QuickInvoiceFeeId": "07eadeb4-9de4-4e09-aa56-fb27d6ced1bd"
            }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/officeinvoice/reversal:
    post:
      tags:
        - Office Invoices
      summary: Reverse invoice
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: OfficeInvoiceReverseInvoice
          description: Init Request
          required: true
          schema:
            $ref: '#/definitions/OfficeInvoiceReverseInvoice'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ReverseInvoiceResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST  
             https://[API Domain]/api/v1/officeinvoice/invoicelayouts  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
             "InvoiceGUID": "8c9b126e-d1da-4c93-ab2f-c2e3e051b2e6",
             "ReversedInvoiceGUID": "3855605b-9977-4056-abd9-c7006773d414",
             "TransactionNumber": "string",
             "AutoNumber": 0,
             "TransactionDate": "2019-08-24T14:15:22Z",
             "IncTax": 0,
             "FileNumber": "string",
             "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
             "Deleted": 0,
             "ReversedOrReversal": 0,
             "Status": 0,
             "DebtorCardGUID": "e0b98cbf-b1d1-4cee-ae94-cb38ad98f62a",
             "BillToAddressee": "string",
             "Memo": "string",
             "RowVers": 0,
             "InvoiceLayoutGUID": "de446aec-2011-48c0-8f50-242d584bdf7f",
             "StatusOld": 0,
             "DeletedOld": 0,
             "FixedFee": 0,
             "FixedFeeAmount": 0,
             "BatchNo": "string",
             "DateDue": "2019-08-24T14:15:22Z",
             "ParentInvGUID": "924ca1ba-fec9-4c97-b7c3-3937961cc7b6",
             "LABillingJson": "string",
             "LABillingStage": 0,
             "MatterBillingMode": 0,
             "LAExceptional": 0,
             "LACRMPSFFExceeded": 0,
             "InvSemaphoreGUID": "1130c37f-cf7b-43a7-89c9-be9869f36eaa",
             "InvoiceXMLItems": 
             {
                "xmldisplayitems": "string",
                "xmlfeesumary": "string"
             },
             "InvoiceJsonItems": 
             {
                "invoiceDisplayItems": 
                {
                    "sections": [
                    {
                        "printColumns": [
                        {
                            "name": "string",
                            "columnTitle": "string",
                            "display": true,
                            "columnOrder": 0,
                            "listTitle": "string",
                            "format": "string",
                            "dataType": "string",
                            "total": true,
                            "average": true
                        }],
                        "groups": [
                        {
                            "Items": [
                            {
                                "lineNumber": "string",
                                "date": "string",
                                "transactionNumber": "string",
                                "description": "string",
                                "invoiceItemGUID": "9b390e3f-ccf5-41bc-9d51-9f95a480153f",
                                "amountIncTax": 0,
                                "amountExTax": 0,
                                "amountTax": 0,
                                "amountFeeIncTax": 0,
                                "amountFeeExTax": 0,
                                "amountDisbIncTax": 0,
                                "amountDisbExTax": 0,
                                "timeEntryGUID": "2bf56057-f817-4e92-abe8-1ec2859f735c",
                                "costRecoveryGUID": "b031cbbb-3c02-4a97-beab-f68964acf842",
                                "paymentItemGUID": "e3752397-aafc-4b69-a719-a206717486cc",
                                "anticipatedDisbursementGUID": "9a36f0f8-432a-416d-917f-725cb1e6ff1d",
                                "disbursementJournalGUID": "42072064-86bf-4f4a-a826-fb0eb324674c",
                                "payItemPayToAddressee": "string",
                                "feeQuantity": 0,
                                "feeAmountPerItem": 0,
                                "teElapsedTime": "string",
                                "teElapsedHours": 0,
                                "teElapsedUnits": 0,
                                "teMinutesPerUnit": 0,
                                "teRatePerHourExTax": 0,
                                "teFeeWorkDoneByStaffInitials": "string",
                                "teFeeWorkDoneByStaffName": "string",
                                "teFeeAttributeWorkToStaffInitials": "string",
                                "teFeeAttributeWorkToStaffName": "string",
                                "crQuantity": 0,
                                "crAmountPerItem": 0,
                                "payItemAdCrPayToSupplierName": "string",
                                "originalAmountIncTax": 0,
                                "originalAmountExTax": 0,
                                "originalAmountTax": 0,
                                "taxCode": 
                                {
                                },
                                "absoluteSequenceNumber": "string",
                                "itemSequenceNumber": 0,
                                "taxSplits": [
                                {
                                }]
                            }],
                            "lineNumber": "string",
                            "date": "string",
                            "transactionNumber": "string",
                            "description": "string",
                            "invoiceItemGUID": "9b390e3f-ccf5-41bc-9d51-9f95a480153f",
                            "expanded": true,
                            "totalIncTax": 0,
                            "totalExTax": 0,
                            "totalTax": 0,
                            "totalFeeIncTax": 0,
                            "totalFeeExTax": 0,
                            "totalDisbIncTax": 0,
                            "totalDisbExTax": 0
                        }],
                        "items": [
                        {
                            "lineNumber": "string",
                            "date": "string",
                            "transactionNumber": "string",
                            "description": "string",
                            "invoiceItemGUID": "9b390e3f-ccf5-41bc-9d51-9f95a480153f",
                            "amountIncTax": 0,
                            "amountExTax": 0,
                            "amountTax": 0,
                            "amountFeeIncTax": 0,
                            "amountFeeExTax": 0,
                            "amountDisbIncTax": 0,
                            "amountDisbExTax": 0,
                            "timeEntryGUID": "2bf56057-f817-4e92-abe8-1ec2859f735c",
                            "costRecoveryGUID": "b031cbbb-3c02-4a97-beab-f68964acf842",
                            "paymentItemGUID": "e3752397-aafc-4b69-a719-a206717486cc",
                            "anticipatedDisbursementGUID": "9a36f0f8-432a-416d-917f-725cb1e6ff1d",
                            "disbursementJournalGUID": "42072064-86bf-4f4a-a826-fb0eb324674c",
                            "payItemPayToAddressee": "string",
                            "feeQuantity": 0,
                            "feeAmountPerItem": 0,
                            "teElapsedTime": "string",
                            "teElapsedHours": 0,
                            "teElapsedUnits": 0,
                            "teMinutesPerUnit": 0,
                            "teRatePerHourExTax": 0,
                            "teFeeWorkDoneByStaffInitials": "string",
                            "teFeeWorkDoneByStaffName": "string",
                            "teFeeAttributeWorkToStaffInitials": "string",
                            "teFeeAttributeWorkToStaffName": "string",
                            "crQuantity": 0,
                            "crAmountPerItem": 0,
                            "payItemAdCrPayToSupplierName": "string",
                            "originalAmountIncTax": 0,
                            "originalAmountExTax": 0,
                            "originalAmountTax": 0,
                            "taxCode": 
                            {
                                "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
                                "value": "string"
                            },
                            "absoluteSequenceNumber": "string",
                            "itemSequenceNumber": 0,
                            "taxSplits": [
                            {
                                "split": {
                                }
                            }]
                        }],
                        "lineNumber": "string",
                        "date": "string",
                        "transactionNumber": "string",
                        "description": "string",
                        "invoiceItemGUID": "9b390e3f-ccf5-41bc-9d51-9f95a480153f",
                        "expanded": true,
                        "totalIncTax": 0,
                        "totalExTax": 0,
                        "totalTax": 0,
                        "totalFeeIncTax": 0,
                        "totalFeeExTax": 0,
                        "totalDisbIncTax": 0,
                        "totalDisbExTax": 0
                    }]
                }
            },
            "OfficePaymentItems": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "OfficePaymentItemGUID": "beca7c59-e8d2-4b8c-b662-4a00687df299",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "OfficeDisbJournItems": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "OfficeDJItemGUID": "df435499-1b46-476a-b2f9-832a0e25a6bc",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "AnticipatedDisbursements": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "AnticipatedDisbursementGUID": "4725b2f5-1410-46ba-afaf-a0564123e448",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "Fees": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "FeeGUID": "82091095-5d37-45da-887e-292111a8d1a1",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "CostRecoveries": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "CostRecoveryGUID": "21ec3e9b-32b5-40ee-bee5-af51da88c045",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "WarningAcknowledgments": [
                0
            ],
            "ExternalURL": "string",
            "ExternalJSON": "string",
            "DeletePTF": true,
            "FunctionGroupId": "546f71c1-8463-496b-93ee-6c24583e971b",
            "SplitCards": [
            {
                "CardId": "c408b746-c5ed-4ec3-87af-78b6f79daddc",
                "InvoiceId": "731ff088-7090-433d-aa9a-910acc349bc0",
                "SplitAmount": 0,
                "SplitAmountExTax": 0,
                "SplitTax": 0,
                "BalanceDue": 0,
                "CardAddress": "string",
                "BTIRef": "string",
                "BTI_Ref": 0
            }]
            }' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officeinvoice/invoicelayouts"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
             "InvoiceGUID": "8c9b126e-d1da-4c93-ab2f-c2e3e051b2e6",
             "ReversedInvoiceGUID": "3855605b-9977-4056-abd9-c7006773d414",
             "TransactionNumber": "string",
             "AutoNumber": 0,
             "TransactionDate": "2019-08-24T14:15:22Z",
             "IncTax": 0,
             "FileNumber": "string",
             "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
             "Deleted": 0,
             "ReversedOrReversal": 0,
             "Status": 0,
             "DebtorCardGUID": "e0b98cbf-b1d1-4cee-ae94-cb38ad98f62a",
             "BillToAddressee": "string",
             "Memo": "string",
             "RowVers": 0,
             "InvoiceLayoutGUID": "de446aec-2011-48c0-8f50-242d584bdf7f",
             "StatusOld": 0,
             "DeletedOld": 0,
             "FixedFee": 0,
             "FixedFeeAmount": 0,
             "BatchNo": "string",
             "DateDue": "2019-08-24T14:15:22Z",
             "ParentInvGUID": "924ca1ba-fec9-4c97-b7c3-3937961cc7b6",
             "LABillingJson": "string",
             "LABillingStage": 0,
             "MatterBillingMode": 0,
             "LAExceptional": 0,
             "LACRMPSFFExceeded": 0,
             "InvSemaphoreGUID": "1130c37f-cf7b-43a7-89c9-be9869f36eaa",
             "InvoiceXMLItems": 
             {
                "xmldisplayitems": "string",
                "xmlfeesumary": "string"
             },
             "InvoiceJsonItems": 
             {
                "invoiceDisplayItems": 
                {
                    "sections": [
                    {
                        "printColumns": [
                        {
                            "name": "string",
                            "columnTitle": "string",
                            "display": true,
                            "columnOrder": 0,
                            "listTitle": "string",
                            "format": "string",
                            "dataType": "string",
                            "total": true,
                            "average": true
                        }],
                        "groups": [
                        {
                            "Items": [
                            {
                                "lineNumber": "string",
                                "date": "string",
                                "transactionNumber": "string",
                                "description": "string",
                                "invoiceItemGUID": "9b390e3f-ccf5-41bc-9d51-9f95a480153f",
                                "amountIncTax": 0,
                                "amountExTax": 0,
                                "amountTax": 0,
                                "amountFeeIncTax": 0,
                                "amountFeeExTax": 0,
                                "amountDisbIncTax": 0,
                                "amountDisbExTax": 0,
                                "timeEntryGUID": "2bf56057-f817-4e92-abe8-1ec2859f735c",
                                "costRecoveryGUID": "b031cbbb-3c02-4a97-beab-f68964acf842",
                                "paymentItemGUID": "e3752397-aafc-4b69-a719-a206717486cc",
                                "anticipatedDisbursementGUID": "9a36f0f8-432a-416d-917f-725cb1e6ff1d",
                                "disbursementJournalGUID": "42072064-86bf-4f4a-a826-fb0eb324674c",
                                "payItemPayToAddressee": "string",
                                "feeQuantity": 0,
                                "feeAmountPerItem": 0,
                                "teElapsedTime": "string",
                                "teElapsedHours": 0,
                                "teElapsedUnits": 0,
                                "teMinutesPerUnit": 0,
                                "teRatePerHourExTax": 0,
                                "teFeeWorkDoneByStaffInitials": "string",
                                "teFeeWorkDoneByStaffName": "string",
                                "teFeeAttributeWorkToStaffInitials": "string",
                                "teFeeAttributeWorkToStaffName": "string",
                                "crQuantity": 0,
                                "crAmountPerItem": 0,
                                "payItemAdCrPayToSupplierName": "string",
                                "originalAmountIncTax": 0,
                                "originalAmountExTax": 0,
                                "originalAmountTax": 0,
                                "taxCode": 
                                {
                                },
                                "absoluteSequenceNumber": "string",
                                "itemSequenceNumber": 0,
                                "taxSplits": [
                                {
                                }]
                            }],
                            "lineNumber": "string",
                            "date": "string",
                            "transactionNumber": "string",
                            "description": "string",
                            "invoiceItemGUID": "9b390e3f-ccf5-41bc-9d51-9f95a480153f",
                            "expanded": true,
                            "totalIncTax": 0,
                            "totalExTax": 0,
                            "totalTax": 0,
                            "totalFeeIncTax": 0,
                            "totalFeeExTax": 0,
                            "totalDisbIncTax": 0,
                            "totalDisbExTax": 0
                        }],
                        "items": [
                        {
                            "lineNumber": "string",
                            "date": "string",
                            "transactionNumber": "string",
                            "description": "string",
                            "invoiceItemGUID": "9b390e3f-ccf5-41bc-9d51-9f95a480153f",
                            "amountIncTax": 0,
                            "amountExTax": 0,
                            "amountTax": 0,
                            "amountFeeIncTax": 0,
                            "amountFeeExTax": 0,
                            "amountDisbIncTax": 0,
                            "amountDisbExTax": 0,
                            "timeEntryGUID": "2bf56057-f817-4e92-abe8-1ec2859f735c",
                            "costRecoveryGUID": "b031cbbb-3c02-4a97-beab-f68964acf842",
                            "paymentItemGUID": "e3752397-aafc-4b69-a719-a206717486cc",
                            "anticipatedDisbursementGUID": "9a36f0f8-432a-416d-917f-725cb1e6ff1d",
                            "disbursementJournalGUID": "42072064-86bf-4f4a-a826-fb0eb324674c",
                            "payItemPayToAddressee": "string",
                            "feeQuantity": 0,
                            "feeAmountPerItem": 0,
                            "teElapsedTime": "string",
                            "teElapsedHours": 0,
                            "teElapsedUnits": 0,
                            "teMinutesPerUnit": 0,
                            "teRatePerHourExTax": 0,
                            "teFeeWorkDoneByStaffInitials": "string",
                            "teFeeWorkDoneByStaffName": "string",
                            "teFeeAttributeWorkToStaffInitials": "string",
                            "teFeeAttributeWorkToStaffName": "string",
                            "crQuantity": 0,
                            "crAmountPerItem": 0,
                            "payItemAdCrPayToSupplierName": "string",
                            "originalAmountIncTax": 0,
                            "originalAmountExTax": 0,
                            "originalAmountTax": 0,
                            "taxCode": 
                            {
                                "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
                                "value": "string"
                            },
                            "absoluteSequenceNumber": "string",
                            "itemSequenceNumber": 0,
                            "taxSplits": [
                            {
                                "split": {
                                }
                            }]
                        }],
                        "lineNumber": "string",
                        "date": "string",
                        "transactionNumber": "string",
                        "description": "string",
                        "invoiceItemGUID": "9b390e3f-ccf5-41bc-9d51-9f95a480153f",
                        "expanded": true,
                        "totalIncTax": 0,
                        "totalExTax": 0,
                        "totalTax": 0,
                        "totalFeeIncTax": 0,
                        "totalFeeExTax": 0,
                        "totalDisbIncTax": 0,
                        "totalDisbExTax": 0
                    }]
                }
            },
            "OfficePaymentItems": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "OfficePaymentItemGUID": "beca7c59-e8d2-4b8c-b662-4a00687df299",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "OfficeDisbJournItems": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "OfficeDJItemGUID": "df435499-1b46-476a-b2f9-832a0e25a6bc",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "AnticipatedDisbursements": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "AnticipatedDisbursementGUID": "4725b2f5-1410-46ba-afaf-a0564123e448",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "Fees": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "FeeGUID": "82091095-5d37-45da-887e-292111a8d1a1",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "CostRecoveries": [
            {
                "InvoiceItemGUID": "09f56e71-1d48-45f4-a876-0f7470379be7",
                "CostRecoveryGUID": "21ec3e9b-32b5-40ee-bee5-af51da88c045",
                "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                "AmountExTax": 0,
                "AmountIncTax": 0,
                "AmountTax": 0,
                "RowVers": 0,
                "StaffGUID": "76a230d1-5ec4-4f14-81ed-312517b32d11",
                "taxSplits": [
                {
                    "split": 
                    {
                        "splitGuid": "0aa31e34-4f7f-4786-b095-df0cb1689016",
                        "splitRate": 0,
                        "splitAmount": 0
                    }
                }]
            }],
            "WarningAcknowledgments": [
                0
            ],
            "ExternalURL": "string",
            "ExternalJSON": "string",
            "DeletePTF": true,
            "FunctionGroupId": "546f71c1-8463-496b-93ee-6c24583e971b",
            "SplitCards": [
            {
                "CardId": "c408b746-c5ed-4ec3-87af-78b6f79daddc",
                "InvoiceId": "731ff088-7090-433d-aa9a-910acc349bc0",
                "SplitAmount": 0,
                "SplitAmountExTax": 0,
                "SplitTax": 0,
                "BalanceDue": 0,
                "CardAddress": "string",
                "BTIRef": "string",
                "BTI_Ref": 0
            }]
            }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/officeinvoice/simpleinvoice:
    post:
      tags:
        - Office Invoices
      summary: Create simple invoice
      produces:
        - application/json
      description: >-
        Bills all billable transactions.
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateSimplifiedInvoice
          description: Init Request
          required: true
          schema:
            $ref: '#/definitions/CreateSimplifiedInvoice'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SimplifiedInvoiceSuccessResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST  
             https://[API Domain]/api/v1/officeinvoice/invoicelayouts  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "InvoiceLayoutId": "57d8e44f-5b0f-47bd-9240-ba652160023d",
                    "DebtorAdd": "string",
                    "Memo": "string",
                    "UnbilledAtDate": "string",
                    "Status": 0,
                    "MarkInvoiceFinal": 0,
                    "DueDate": "string",
                    "ExTimeAndFees": true,
                    "ExCostRecoveries": true,
                    "ExDisbursementJournals": true,
                    "ExOfficePayments": true,
                    "ExAnticipatedPayments": true,
                    "AssisgnedStaffId": "7fbf2aad-1ae5-445b-99f3-021299382606",
                    "AssisgnedStaffMemo": "string"
            }' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officeinvoice/invoicelayouts"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "InvoiceLayoutId": "57d8e44f-5b0f-47bd-9240-ba652160023d",
                    "DebtorAdd": "string",
                    "Memo": "string",
                    "UnbilledAtDate": "string",
                    "Status": 0,
                    "MarkInvoiceFinal": 0,
                    "DueDate": "string",
                    "ExTimeAndFees": true,
                    "ExCostRecoveries": true,
                    "ExDisbursementJournals": true,
                    "ExOfficePayments": true,
                    "ExAnticipatedPayments": true,
                    "AssisgnedStaffId": "7fbf2aad-1ae5-445b-99f3-021299382606",
                    "AssisgnedStaffMemo": "string"
            }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/officeinvoice/updateinvoice:
    put:
      tags:
        - Office Invoices
      summary: Update invoice
      description: >-
        Invoice can only be updated if it is a draft.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateSimplifiedInvoice
          description: Init Request
          required: true
          schema:
            $ref: '#/definitions/OfficeInvoiceUpdateInvoice'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SimplifiedInvoiceSuccessResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT  
             https://[API Domain]/api/v1/officeinvoice/invoicelayouts  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
             --d '{
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "InvoiceLayoutId": "57d8e44f-5b0f-47bd-9240-ba652160023d",
                    "DebtorAdd": "string",
                    "Memo": "string",
                    "UnbilledAtDate": "string",
                    "Status": 0,
                    "MarkInvoiceFinal": 0,
                    "DueDate": "string",
                    "ExTimeAndFees": true,
                    "ExCostRecoveries": true,
                    "ExDisbursementJournals": true,
                    "ExOfficePayments": true,
                    "ExAnticipatedPayments": true,
                    "AssisgnedStaffId": "7fbf2aad-1ae5-445b-99f3-021299382606",
                    "AssisgnedStaffMemo": "string"
            }' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officeinvoice/invoicelayouts"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "InvoiceLayoutId": "57d8e44f-5b0f-47bd-9240-ba652160023d",
                    "DebtorAdd": "string",
                    "Memo": "string",
                    "UnbilledAtDate": "string",
                    "Status": 0,
                    "MarkInvoiceFinal": 0,
                    "DueDate": "string",
                    "ExTimeAndFees": true,
                    "ExCostRecoveries": true,
                    "ExDisbursementJournals": true,
                    "ExOfficePayments": true,
                    "ExAnticipatedPayments": true,
                    "AssisgnedStaffId": "7fbf2aad-1ae5-445b-99f3-021299382606",
                    "AssisgnedStaffMemo": "string"
            }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/officeinvoice/{invoiceid}:
    get:
      tags:
        - Office Invoices
      summary: Initialise Invoice
      description: Returns invoice by invoiceID.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: invoiceid
          in: path
          description: LEAP invoice GUID
          required: true
          type: string
        - name: laBillingMode
          in: query
          description: LEAP Matter Billing Mode
          type: string
        - name: laBillingStage
          in: query
          description: LEAP Matter Billing Stage
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Invoice'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET  
             https://[API Domain]/api/v1/officeinvoice/{invoiceid}  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officeinvoice/{invoiceid}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);             
             
  '/api/v1/matters/{matterId}':
    get:
      tags:
        - Matters
      summary: Get a matter
      produces:
        - application/json
      parameters:
        - name: matterId
          in: path
          description: LEAP Matter GUID.
          required: true
          type: string
          format: uuid
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/MattersGetMatter'
          examples:
            application/json:
              matterId: string
              definableTables:
                - definableTableId: string
                  order: 0
                  displaySequence: 0
                  fields:
                    - fieldId: string
                      value: string
                  description: string
                  recordId: string
              cards:
                - tableId: string
                  recordId: string
                  order: 0
                  displaySequence: 0
                  table:
                    tableId: string
                    layoutId: string
                    title: string
                    fields:
                      - fieldId: string
                        value: string
                  personIds:
                    - string
                  reference: string
              description:
                first: string
                firstLong: string
                second: string
              matterTypeId: string
              deleted: true
              noFileCreated: true
              financial:
                estimateWarning: true
                costsEstimate: 0
                costsEstimateGST: 0
                disbursementsEstimate: 0
                disbursementsEstimateGST: 0
                costAgreement:
                  required: true
                  received: '2021-12-01T07:34:58.959Z'
                glReportingGroupBranchId: string
              state: string
              title:
                client: string
                other: string
                clientDefault: true
                clientPrefix: true
                clientSuffix: true
                otherDefault: true
                otherPrefix: true
                otherSuffix: true
              substitution:
                client: string
                otherSide: string
                otherSideSolicitor: string
                otherSideInsurer: string
              customDescription: string
              criticalDates:
                - criticalDateId: string
                  value: '2021-12-01T07:34:58.959Z'
                  confirmed: true
              file:
                number: string
                otherRefs: string
                location: string
              staff:
                credit:
                  staffId: string
                  access: true
                responsible:
                  staffId: string
                  access: true
                acting:
                  staffId: string
                  access: true
                assisting:
                  staffId: string
                  access: true
              invoiceFixed: true
              invoiceFixedAmount: 0
              referrerCard:
                cardId: string
                personId: string
              taxFree: true
              acl:
                enabled: true
                staffIds:
                  - string
              archive:
                isArchived: true
                archiveNumber: string
                archiveDate: '2021-12-01T07:34:58.959Z'
                boxNumber: string
                archivedBy: string
                dateOfDestruction: '2021-12-01T07:34:58.959Z'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET https://[API Domain]/api/v1/matters/{matterId}  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 
    put:  
      tags:
        - Matters
      summary: Update Matter
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: LEAP Matter GUID
          required: true
          type: string
          format: uuid
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: PostMatterJson
          description: Post Matter JSON
          required: true
          schema:
            $ref: '#/definitions/PostMatterJson'
      responses:
        '200':
          description: Successful Response
          type: object
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT 
             https://[API Domain]/api/v1/matters/{matterId}
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "matter": {
                      "__firmId": "string",
                      "type": "string",
                      "typeAlias": "string",
                      "matterTypeId": "string",
                      "fileNumber": "string",
                      "credit": "string",
                      "personResponsible": "string",
                      "personActing": "string",
                      "personAssisting": "string",
                      "staffInitials": "string",
                      "title": "string",
                      "acl": {
                        "enabled": true,
                        "staffList": [
                          {
                            "id": "string",
                            "role": 0
                          }
                        ]
                      },
                      "criticalDates": {
                        "additionalProp1": {
                          "id": "string",
                          "name": "string",
                          "date": "string",
                          "confirmed": true,
                          "confirmStatus": "string",
                          "order": 0,
                          "status": "string",
                          "isConfirmable": true,
                          "displayName": "string",
                          "calculationFieldId": "string",
                          "calculationTableId": "string",
                          "autoCalc": true
                        },
                        "additionalProp2": {
                          "id": "string",
                          "name": "string",
                          "date": "string",
                          "confirmed": true,
                          "confirmStatus": "string",
                          "order": 0,
                          "status": "string",
                          "isConfirmable": true,
                          "displayName": "string",
                          "calculationFieldId": "string",
                          "calculationTableId": "string",
                          "autoCalc": true
                        },
                        "additionalProp3": {
                          "id": "string",
                          "name": "string",
                          "date": "string",
                          "confirmed": true,
                          "confirmStatus": "string",
                          "order": 0,
                          "status": "string",
                          "isConfirmable": true,
                          "displayName": "string",
                          "calculationFieldId": "string",
                          "calculationTableId": "string",
                          "autoCalc": true
                        }
                      },
                      "referrerCardId": "string",
                      "referrerPersonId": "string",
                      "deleteCode": 0,
                      "accounting": {
                        "feeEstimate": 0,
                        "feeEstimateGST": 0,
                        "disbursementsEstimate": 0,
                        "disbursementsEstimateGST": 0,
                        "showEstimateWarning": true,
                        "minimumCreditBalance": 0,
                        "creditBalanceWarning": true,
                        "omitFromOverdueInvoices": true,
                        "invoiceSettings": {
                          "fixed": true,
                          "fixedAmount": 0
                        },
                        "costAgreement": {
                          "required": true,
                          "receivedDate": "string"
                        },
                        "taxFree": true,
                        "debtorNote": "string",
                        "billingMode": 0,
                        "legalAid": {},
                        "staffFeeAllocations": {
                          "allocations": [
                            {
                              "staffGUID": "string",
                              "percent": 0
                            }
                          ]
                        },
                        "autoAllocateFees": true,
                        "timeRecordedMatter": true
                      },
                      "archive": {
                        "archiveNumber": "string",
                        "isArchived": true,
                        "archiveDate": "string",
                        "boxNumber": "string",
                        "archivedBy": "string",
                        "dateOfDestruction": "string",
                        "comments": "string"
                      },
                      "msTeams": {
                        "tenantId": "string",
                        "groupId": "string",
                        "teamId": "string",
                        "generalChannelId": "string"
                      },
                      "fileLocation": "string",
                      "definableTableList": [
                        "string"
                      ],
                      "cardList": [
                        "string"
                      ],
                      "state": "string",
                      "recordVersion": 0,
                      "baseRecurringMatter": "string",
                      "workObtained": "string",
                      "titleClient": "string",
                      "clientPrefix": "string",
                      "clientSuffix": "string",
                      "otherPrefix": "string",
                      "otherSuffix": "string",
                      "clientDefault": "string",
                      "otherDefault": "string",
                      "notificationStatus": "string",
                      "onlyAllowPersonResponsible": "string",
                      "onlyAllowPersonActing": "string",
                      "onlyAllowPersonAssisting": "string",
                      "percentageComplete": "string",
                      "billingMethod": "string",
                      "autoCustomDescription": true,
                      "__className": "string",
                      "__id": "string",
                      "__substitution": {
                        "client": "string",
                        "otherSide": "string",
                        "otherSideSolicitor": "string",
                        "otherSideInsurer": "string"
                      }
                    },
                    "matterCards": [
                      {
                        "__id": "string",
                        "__firmId": "string",
                        "__matterId": "string",
                        "__inherited": "string",
                        "__className": "string",
                        "__fileOrder": 0,
                        "reference": "string",
                        "__tableId": "string",
                        "__classes": [
                          "string"
                        ],
                        "__displayOrder": 0,
                        "default": true,
                        "cardPersonList": [
                          "string"
                        ],
                        "__description": "string",
                        "__matterCardId": "string",
                        "__relatedTables": [
                          "string"
                        ]
                      }
                    ],
                    "definableTables": [
                      {
                        "recordId": "string",
                        "__id": "string",
                        "__tableId": "string",
                        "__firmId": "string",
                        "__matterId": "string",
                        "__description": "string",
                        "__displayOrder": 0,
                        "__name": "string",
                        "__fileOrder": 0,
                        "__className": "string",
                        "__relatedTables": [
                          "string"
                        ],
                        "contentAppId": "string",
                        "matterDescriptions": {
                          "firstDescription": "string",
                          "secondDescription": "string"
                        }
                      }
                    ],
                    "relations": [
                      {
                        "parentTableId": "string",
                        "childTableId": "string",
                        "order": 0,
                        "singleton": true
                      }
                    ],
                    "extra": {
                      "firstDescription": "string",
                      "secondDescription": "string"
                    }
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterId}"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "matter": {
                  "__firmId": "string",
                  "type": "string",
                  "typeAlias": "string",
                  "matterTypeId": "string",
                  "fileNumber": "string",
                  "credit": "string",
                  "personResponsible": "string",
                  "personActing": "string",
                  "personAssisting": "string",
                  "staffInitials": "string",
                  "title": "string",
                  "acl": {
                    "enabled": true,
                    "staffList": [
                      {
                        "id": "string",
                        "role": 0
                      }
                    ]
                  },
                  "criticalDates": {
                    "additionalProp1": {
                      "id": "string",
                      "name": "string",
                      "date": "string",
                      "confirmed": true,
                      "confirmStatus": "string",
                      "order": 0,
                      "status": "string",
                      "isConfirmable": true,
                      "displayName": "string",
                      "calculationFieldId": "string",
                      "calculationTableId": "string",
                      "autoCalc": true
                    },
                    "additionalProp2": {
                      "id": "string",
                      "name": "string",
                      "date": "string",
                      "confirmed": true,
                      "confirmStatus": "string",
                      "order": 0,
                      "status": "string",
                      "isConfirmable": true,
                      "displayName": "string",
                      "calculationFieldId": "string",
                      "calculationTableId": "string",
                      "autoCalc": true
                    },
                    "additionalProp3": {
                      "id": "string",
                      "name": "string",
                      "date": "string",
                      "confirmed": true,
                      "confirmStatus": "string",
                      "order": 0,
                      "status": "string",
                      "isConfirmable": true,
                      "displayName": "string",
                      "calculationFieldId": "string",
                      "calculationTableId": "string",
                      "autoCalc": true
                    }
                  },
                  "referrerCardId": "string",
                  "referrerPersonId": "string",
                  "deleteCode": 0,
                  "accounting": {
                    "feeEstimate": 0,
                    "feeEstimateGST": 0,
                    "disbursementsEstimate": 0,
                    "disbursementsEstimateGST": 0,
                    "showEstimateWarning": true,
                    "minimumCreditBalance": 0,
                    "creditBalanceWarning": true,
                    "omitFromOverdueInvoices": true,
                    "invoiceSettings": {
                      "fixed": true,
                      "fixedAmount": 0
                    },
                    "costAgreement": {
                      "required": true,
                      "receivedDate": "string"
                    },
                    "taxFree": true,
                    "debtorNote": "string",
                    "billingMode": 0,
                    "legalAid": {},
                    "staffFeeAllocations": {
                      "allocations": [
                        {
                          "staffGUID": "string",
                          "percent": 0
                        }
                      ]
                    },
                    "autoAllocateFees": true,
                    "timeRecordedMatter": true
                  },
                  "archive": {
                    "archiveNumber": "string",
                    "isArchived": true,
                    "archiveDate": "string",
                    "boxNumber": "string",
                    "archivedBy": "string",
                    "dateOfDestruction": "string",
                    "comments": "string"
                  },
                  "msTeams": {
                    "tenantId": "string",
                    "groupId": "string",
                    "teamId": "string",
                    "generalChannelId": "string"
                  },
                  "fileLocation": "string",
                  "definableTableList": [
                    "string"
                  ],
                  "cardList": [
                    "string"
                  ],
                  "state": "string",
                  "recordVersion": 0,
                  "baseRecurringMatter": "string",
                  "workObtained": "string",
                  "titleClient": "string",
                  "clientPrefix": "string",
                  "clientSuffix": "string",
                  "otherPrefix": "string",
                  "otherSuffix": "string",
                  "clientDefault": "string",
                  "otherDefault": "string",
                  "notificationStatus": "string",
                  "onlyAllowPersonResponsible": "string",
                  "onlyAllowPersonActing": "string",
                  "onlyAllowPersonAssisting": "string",
                  "percentageComplete": "string",
                  "billingMethod": "string",
                  "autoCustomDescription": true,
                  "__className": "string",
                  "__id": "string",
                  "__substitution": {
                    "client": "string",
                    "otherSide": "string",
                    "otherSideSolicitor": "string",
                    "otherSideInsurer": "string"
                  }
                },
                "matterCards": [
                  {
                    "__id": "string",
                    "__firmId": "string",
                    "__matterId": "string",
                    "__inherited": "string",
                    "__className": "string",
                    "__fileOrder": 0,
                    "reference": "string",
                    "__tableId": "string",
                    "__classes": [
                      "string"
                    ],
                    "__displayOrder": 0,
                    "default": true,
                    "cardPersonList": [
                      "string"
                    ],
                    "__description": "string",
                    "__matterCardId": "string",
                    "__relatedTables": [
                      "string"
                    ]
                  }
                ],
                "definableTables": [
                  {
                    "recordId": "string",
                    "__id": "string",
                    "__tableId": "string",
                    "__firmId": "string",
                    "__matterId": "string",
                    "__description": "string",
                    "__displayOrder": 0,
                    "__name": "string",
                    "__fileOrder": 0,
                    "__className": "string",
                    "__relatedTables": [
                      "string"
                    ],
                    "contentAppId": "string",
                    "matterDescriptions": {
                      "firstDescription": "string",
                      "secondDescription": "string"
                    }
                  }
                ],
                "relations": [
                  {
                    "parentTableId": "string",
                    "childTableId": "string",
                    "order": 0,
                    "singleton": true
                  }
                ],
                "extra": {
                  "firstDescription": "string",
                  "secondDescription": "string"
                }
              }"); 
             IRestResponse response = client.Execute(request);
    delete:  
      tags:
        - Matters
      summary: Delete Matter
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: LEAP Matter GUID
          required: true
          type: string
          format: uuid
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful Response
          type: object
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X DELETE 
             https://[API Domain]/api/v1/matters/{matterId}
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterId}"); 
             var request = new RestRequest(Method.DELETE); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);

  '/api/v1/matters/{matterid}/cardroles':
    put:
      tags:
        - Matters
      summary: Adds or update a cardrole to the matter.
      description: Matches on tableId and __displayOrder.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter ID
          required: true
          type: string
        - in: body
          name: Request Body
          schema:
            $ref: '#/definitions/PutMatters_CardRoles_RequestBody'
      responses:
        '200':
          description: OK Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '301':
          $ref: '#/definitions/301'              
        '401':
          description: If the JWT is invalid
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X PUT 
             https://[API Domain]/api/v1/matters/{matterid}/cardroles 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP-API-Key]'
             -H 'accept: application/json'
             -H 'content-type: application/json' 
             -H '
                {
                  "tableId": "string",
                  "cardId": "string",
                  "__displayOrder": 0,
                  "__fileOrder": 0,
                  "__relatedTables": [
                    "string"
                  ],
                  "__relatedParentTableId": "string",
                  "__matterCardId": "string",
                  "reference": "string",
                  "cardPersonList": [
                    "string"
                  ],
                  "relatedTable": {
                    "__name": "string",
                    "layoutId": "string",
                    "tableId": "string",
                    "desc": "string"
                  },
                  "matterDescriptions": {
                    "firstDescription": "string",
                    "secondDescription": "string"
                  }
                }
             '
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/cardroles"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 

             request.AddParameter("application/json", 
              "
                {
                  "tableId": "string",
                  "cardId": "string",
                  "__displayOrder": 0,
                  "__fileOrder": 0,
                  "__relatedTables": [
                    "string"
                  ],
                  "__relatedParentTableId": "string",
                  "__matterCardId": "string",
                  "reference": "string",
                  "cardPersonList": [
                    "string"
                  ],
                  "relatedTable": {
                    "__name": "string",
                    "layoutId": "string",
                    "tableId": "string",
                    "desc": "string"
                  },
                  "matterDescriptions": {
                    "firstDescription": "string",
                    "secondDescription": "string"
                  }
                }
              "
              ,ParameterType.RequestBody); 

             IRestResponse response = client.Execute(request);

  '/api/v1/matters/{matterid}/cardroles/{tableId}':
    delete:
      tags:
        - Matters
      summary: Deletes a cardrole to the matter. 
      description: Matches on tableId. 
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter ID
          required: true
          type: string
        - name: tableId
          in: path
          description: Table ID
          required: true
          type: string
        - name: cardId
          in: query
          description: Card Id          
          type: string
        - name: order
          in: query
          description: Order          
          type: integer    
        - name: firstDesc
          in: query
          description: First Description          
          type: string
        - name: secondDesc
          in: query
          description: Second Description
          type: string        
      responses:
        '200':
          description: OK Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Cardrole not found or cardid/order is null
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '401':
          description: If the JWT is invalid
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X DELETE 
             https://[API Domain]/api/v1/matters/{matterid}/cardroles/{tableId}
             -H 'accept: application/json' 
             -H 'authorization: [Bearer token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP-API-Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/cardroles/{tableId}"); 
             var request = new RestRequest(Method.DELETE); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 

             request.AddParameter("matterId", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("tableId", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("cardId", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("order", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("firstDesc", "[parameter-value]");
             request.AddParameter("secondDesc", "[parameter-value]");

             IRestResponse response = client.Execute(request);

  '/api/v1/matters/{matterid}/description':
    put:
      tags:
        - Matters
      summary: Updates the first and second description of the matter
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter ID
          required: true
          type: string
        - name: matterDescription
          in: body
          description: Matter Description
          required: true
          schema:
            $ref: '#/definitions/PutMatter_MatterIdDesc_RequestBody'
      responses:
        '200':
          description: OK Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: If firm allocation not found
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '401':
          description: If the JWT is invalid
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '500':
          description: If the API encounters an error while processing the request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X PUT 
             https://[API Domain]/api/v1/matters/{matterid}/description 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP-API-Key]' 
             -H '
                {
                  "firstDescription": "string",
                  "secondDescription": "string"
                }
             '
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/description"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 

             request.AddParameter("matterId", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("application/json",
             "  
              {
                "firstDescription": "string",
                "secondDescription": "string"
              }
             "
             ,ParameterType.RequestBody);

             IRestResponse response = client.Execute(request);

  '/api/v1/matters/{matterid}/emails':
    get:
      tags:
        - Matters
      summary: Gets all email addresses of persons on the matter.      
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter ID
          required: true
          type: string
      responses:
        '200':
          description: OK Response
          # headers:
          #   Access-Control-Allow-Origin:
          #     type: string
          #     description: ''
          schema:
            $ref: '#/definitions/GetMatterEmails_ByMatterID_Response200'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: If firm allocation is not found
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '401':
          description: If the JWT is invalid
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '500':
          description: Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/matters/{matterid}/emails 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP-API-Key]'
             -H 'accept: application/json'
             -H 'content-type: application/json'              
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/emails"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 

             request.AddParameter("matterId", "[parameter-value]", ParameterType.UrlSegment);              

             IRestResponse response = client.Execute(request);

  '/api/v1/matters/{matterid}/financialsummary/{date}':
    get:
      tags:
        - Matters
      summary: Get the matter financial summary.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter ID
          required: true
          type: string
        - name: date
          in: path
          description: As at date
          required: true
          type: string        
      responses:
        '200':
          description: OK Response
          schema:
            $ref: '#/definitions/GetMatter_FinancialSummaryDate_Response200'
          # headers:
          #   Access-Control-Allow-Origin:
          #     type: string
          #     description: ''
        '301':
          $ref: '#/definitions/301'          
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '500':
          description: Internal Server Error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET
             https://[API Domain]/api/v1/matters/{matterid}/financialsummary/{date}
             -H 'accept: application/json' 
             -H 'authorization: [Bearer token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP-API-Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/financialsummary/{date}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json");

             request.AddParameter("matterId", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("date", "[parameter-value]", ParameterType.UrlSegment);

             IRestResponse response = client.Execute(request);
             
  '/api/v1/matters/{matterid}/appointments':
    get:
      tags:
        - Matters
      summary: Get Appointments
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterid
          in: path
          description: Matter ID
          required: true
          type: string
      responses:
        '200':
          description: Successful Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/matters/{matterid}/appointments 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/{matterid}/appointments"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request);                                    

  '/api/v1/matters/packages/{matterId}':
    get:
      tags:
        - Matters
      summary: Get a matter package including cards and persons
      produces:
        - application/json
      parameters:
        - name: matterId
          in: query
          description: LEAP Matter GUID.
          required: true
          type: string
          format: uuid
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/MattersGetPackage'
          examples:
            application/json:
              matter:
                matterId: string
                definableTables:
                  - definableTableId: string
                    order: 0
                    displaySequence: 0
                    fields:
                      - fieldId: string
                        value: string
                    description: string
                    recordId: string
                cards:
                  - tableId: string
                    recordId: string
                    order: 0
                    displaySequence: 0
                    table:
                      tableId: string
                      layoutId: string
                      title: string
                      fields:
                        - fieldId: string
                          value: string
                    personIds:
                      - string
                    reference: string
                description:
                  first: string
                  firstLong: string
                  second: string
                matterTypeId: string
                deleted: true
                noFileCreated: true
                financial:
                  estimateWarning: true
                  costsEstimate: 0
                  costsEstimateGST: 0
                  disbursementsEstimate: 0
                  disbursementsEstimateGST: 0
                  costAgreement:
                    required: true
                    received: '2021-12-01T05:37:44.583Z'
                  glReportingGroupBranchId: string
                state: string
                title:
                  client: string
                  other: string
                  clientDefault: true
                  clientPrefix: true
                  clientSuffix: true
                  otherDefault: true
                  otherPrefix: true
                  otherSuffix: true
                substitution:
                  client: string
                  otherSide: string
                  otherSideSolicitor: string
                  otherSideInsurer: string
                customDescription: string
                criticalDates:
                  - criticalDateId: string
                    value: '2021-12-01T05:37:44.583Z'
                    confirmed: true
                file:
                  number: string
                  otherRefs: string
                  location: string
                staff:
                  credit:
                    staffId: string
                    access: true
                  responsible:
                    staffId: string
                    access: true
                  acting:
                    staffId: string
                    access: true
                  assisting:
                    staffId: string
                    access: true
                invoiceFixed: true
                invoiceFixedAmount: 0
                referrerCard:
                  cardId: string
                  personId: string
                taxFree: true
                acl:
                  enabled: true
                  staffIds:
                    - string
                archive:
                  isArchived: true
                  archiveNumber: string
                  archiveDate: '2021-12-01T05:37:44.583Z'
                  boxNumber: string
                  archivedBy: string
                  dateOfDestruction: '2021-12-01T05:37:44.583Z'
              cards:
                - cardId: string
                  modifiedUserId: string
                  deleteCode: 0
                  shortName: string
                  fullName: string
                  type: people
                  isSupplier: true
                  titleType: default
                  title: string
                  salutationTitleType: defaultFriendly
                  salutationTitle: string
                  description: string
                  emailType1: 0
                  emailType2: 0
                  phoneType1: 0
                  phoneType2: 0
                  phoneType3: 0
                  comments: string
                  marketingConsent: true
                  addresses:
                    - type: street
                      isDefault: true
                      name: string
                      level: string
                      street: string
                      number: string
                      suburb: string
                      state: string
                      county: string
                      district: string
                      postcode: string
                      country: string
                      instructions: string
                      poBoxType: string
                      municipality: string
                      stationInfo: string
                  futureAddresses:
                    - type: street
                      isDefault: true
                      name: string
                      level: string
                      street: string
                      number: string
                      suburb: string
                      state: string
                      county: string
                      district: string
                      postcode: string
                      country: string
                      instructions: string
                      poBoxType: string
                      municipality: string
                      stationInfo: string
                  webAddresses:
                    - type: email
                      value: string
                  phoneNumbers:
                    - type: phone
                      value: string
                  persons:
                    - recordId: string
                  fields:
                    - fieldId: string
                      value: string
                  bankAccount:
                    bsb: string
                    accountName: string
                    accountNumber: string
                  futureAddressSettings:
                    startDate: '2021-12-01T05:37:44.583Z'
                    endDate: '2021-12-01T05:37:44.583Z'
                  organisationDetails:
                    businessType: string
                    abn: string
                    companyName: string
                    companyTitle: string
                    isSoleDirector: true
                    tradingName: string
                    tradingTitle: string
                    isRegOfficeSameAsStreetAddress: true
                    regOffice:
                      name: string
                      level: string
                      street: string
                      number: string
                      suburb: string
                      state: string
                      county: string
                      district: string
                      postcode: string
                      country: string
                      instructions: string
                      poBoxType: string
                      municipality: string
                      stationInfo: string
                    trustees:
                      - name: string
                        company: company
                        abn: string
                        acn: string
                    departmentName: string
                    trustName: string
                    trustStatus: string
                    trustDate: '2021-12-01T05:37:44.583Z'
                    acn: string
                    acnType: string
              persons:
                - lastName: string
                  firstName: string
                  birthDate: '2021-12-01T05:37:44.583Z'
                  birthPlace: string
                  countryOfBirth: string
                  deathPlace: string
                  deathDate: '2021-12-01T05:37:44.583Z'
                  occupation: string
                  passportNumber: string
                  passportName: string
                  maidenName: string
                  previousName: string
                  language: string
                  specialNeeds: string
                  maritalStatus: string
                  custom1: string
                  custom2: string
                  custom3: string
                  custom4: string
                  custom5: string
                  custom6: string
                  custom7: string
                  custom8: string
                  custom9: string
                  custom10: string
                  custom11: string
                  custom12: string
                  comments: string
                  salutation: string
                  gender: male
                  nationality: string
                  webAddresses:
                    - type: email
                      value: string
                  phoneNumbers:
                    - type: phone
                      value: string
                  photoFileName: string
                  deleted: true
                  personId: string
                  emailType1: 0
                  emailType2: 0
                  phoneType1: 0
                  phoneType2: 0
                  phoneType3: 0
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET https://[API
            Domain]/api/v1/matters/packages/{matterId}  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/packages/{matterId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/matters/recurringmatters:
    get:
      tags:
        - Matters
      summary: Get a list of recurring matters
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful Response
          schema:
            $ref: '#/definitions/MatterGetRecurringMatterList'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
            Content-Type:
              type: string
              description: ''
          examples:
            application/json:
              recurringMatterId: string
              name: string
              deleted: 'true'
              matterTypeId: string
              state: string
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Matter does not exist.
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/matters/recurringmatters 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/recurringmatters"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  '/api/v1/matters/recurringmatters/{recurringmatterid}':
    get:
      tags:
        - Matters
      summary: Get a recurring matter
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: recurringmatterid
          in: query
          description: Recurring Matter ID
          required: true
          type: string
      responses:
        '200':
          description: Successful Response
          schema:
            $ref: '#/definitions/RecurringMatterRecurringMatter'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
            Content-Type:
              type: string
              description: ''
          examples:
            application/json:
              name: string
              deleted: true
              recurringMatter:
                name: string
                matter:
                  definableTables:
                    - definableTableId: string
                      order: 0
                      default: true
                      displaySequence: 0
                      description: string
                      fields:
                        - fieldId: string
                          value: string
                      recordId: string
                  comments: string
                  file:
                    number: string
                    otherRefs: string
                  matterTypeMatterTypeId: string
                  deleteCode: 0
                  noFileCreated: true
                  financial:
                    estimateWarning: true
                    costsEstimate: 0
                    costsEstimateGST: 0
                    disbursementsEstimate: 0
                    disbursementsEstimateGST: 0
                    costAgreement:
                      required: true
                      received: '2022-01-24T02:44:10.295Z'
                    estimateWarningAction: string
                  dataVersion: string
                  staff:
                    initialsCredit: string
                    responsible: string
                    acting: string
                    assisting: string
                    credit: string
                    initials: string
                  type: string
                  state: string
                  title:
                    client: string
                    other: string
                    clientDefault: true
                    clientPrefix: true
                    clientSuffix: true
                    otherDefault: true
                    otherPrefix: true
                    otherSuffix: true
                  substitution:
                    client: string
                    otherSide: string
                    otherSideSolicitor: string
                    otherSideInsurer: string
                  customDescription: string
                  autoCustomDescription: true
                  criticalDates:
                    - criticalDateId: string
                      name: string
                      displayName: string
                      valueFieldId: string
                      confirmedField: string
                      isConfirmable: true
                      status: string
                      confirmStatus: string
                      compPercent: 0
                      order: 0
                      jsName: string
                      value: '2022-01-24T02:44:10.296Z'
                      confirmed: true
                  status: string
                  description:
                    first: string
                    second: string
                    firstLong:
                      canTrust: true
                      value: string
                  debtorCard: string
                  pendingPrecedents:
                    - recordId: string
                      precedentId: string
                      precedentName: string
                      entity: string
                      tableId: string
                      tableOrder: 0
                      instance: 0
                      userId: string
                      created: '2022-01-24T02:44:10.296Z'
                      deleteCode: 0
                      precedentType: string
                  percentageComplete: 0
                  referrer: string
                  workObtained: string
                  invoiceFixed: true
                  invoiceFixedAmount: 0
                  filemanStatus: string
                  referrerCard:
                    cardGUID: string
                    personGUID: string
                  debtorNote: string
                  taxFree: true
                  acl:
                    enabled: true
                  customFields:
                    - fieldId: string
                      value: string
                      userValue: string
                      displaySequence: 0
                  calculations:
                    - fieldId: string
                      result: string
                cards:
                  - tableTableId: string
                    order: 0
                    default: true
                    recordId: string
                    displaySequence: 0
                    table:
                      title: string
                      layoutId: string
                      tableId: string
                      description: string
                      fields:
                        - fieldId: string
                          value: string
                    reference: string
                documentRecords:
                  - version:
                      baseVersion: 0
                      recordId: string
                      userId: string
                      firmId: string
                      lastUpdate: '2022-01-24T02:44:10.296Z'
                      status: string
                      instanceGuid: string
                      modifiedUserId: string
                    documentId: string
                    name: string
                    deleteCode: 0
                    toFrom: string
                    type: string
                    matterId: string
                    staffInitials: string
                    created: '2022-01-24T02:44:10.296Z'
                    transferMode: string
                    number: string
                    precedentPrecedentId: string
                    documentVersions:
                      latestDocumentVersionId: string
                      documentVersion:
                        documentVersionId: string
                        date: '2022-01-24T02:44:10.296Z'
                        userId: string
                        type: string
                        template: string
                        templateId: string
                    template: string
                    templateId: string
                    documentTypeId: string
                    source: string
                documents:
                  - recordId: string
                    deleteCode: 0
                    name: string
                    toFrom: string
                    type: string
                    trnasferMode: string
                    created: '2022-01-24T02:44:10.296Z'
                    staffInitials: string
                    baseVersion: 0
                    documentTypeId: string
                createDate: '2022-01-24T02:44:10.296Z'
                fees:
                  - feeGuid: string
                    matterGuid: string
                    taxCodeGuid: string
                    taskCodeGuid: string
                    transactionDate: '2022-01-24T02:44:10.296Z'
                    rateId: 0
                    ratePerHour: 0
                    secondsElapsed: 0
                    secondsPerUnit: 0
                    feeUnits: 0
                    feeHoursQuantity: 0
                    timed: 0
                    calculationMode: 0
                    incTax: 0
                    totalIncTax: 0
                    totalExTax: 0
                    totalTax: 0
                    billingDescription: string
                    memo: string
                    billingMode: 0
                    workDoneByStaffGuid: string
                    attributeFeesToStaffGuid: string
                    laActivityTypeCode: string
                    laActivityTypeDescription: string
                    laBillingStage: 0
                    matterBillingMode: 0
                    laAdjFeePercent: 0
                    laCourtType: string
                    laMedSessionAmt: 0
                    laMedTime: 0
                    laHearingType: string
                    laPersonAttending: string
                    laCCCaseNo: string
                    laCCOffenceClass: string
                    laCCTrialTypeId: string
                    laCCTrialLenInDays: string
                    laCCPpe: string
                    laCCNumberOfDefendants: string
                    laCCCommitalForTrial: string
                    laCCTrialStartDate: '2022-01-24T02:44:10.296Z'
                    laCCTrialEndDate: '2022-01-24T02:44:10.296Z'
                    externalUrl: string
                    externalJson: string
                    warningAcknowledgements:
                      - 0
                    appId: 0
                costRecoveries:
                  - costRecoveryGuid: string
                    matterGuid: string
                    taxCodeGuid: string
                    taskCodeGuid: string
                    purchaseSupplierCardGUID: string
                    purchaseMode: 0
                    transactionDate: '2022-01-24T02:44:10.296Z'
                    quantity: 0
                    amountEach: 0
                    totalIncTax: 0
                    totalExTax: 0
                    totalTax: 0
                    laActivityTypeCode: string
                    laBillingStage: 0
                    matterBillingMode: 0
                    billingDescription: string
                    billingMode: 0
                    incTax: 0
                    laActivityDescription: string
                    laADisplayDescription: string
                    warningAcknowledgments:
                      - 0
                    externalURL: string
                    externalJson: string
                    appId: 0
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/ErrorMessage404'
          examples:
            application/json:
              Message: Matter does not exist.
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/matters/recurringmatters/{recurringmatterid} 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/recurringmatters/{recurringmatterid}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  '/api/v1/matters/recurringmatters/{recurringmatterid}/creatematter':
    post:
      tags:
        - Matters
      summary: Create a new matter from a recurring matter
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: MattersWriteCreateMatter
          description: New Matter
          required: true
          schema:
            $ref: '#/definitions/MattersWriteCreateMatter'
      responses:
        '201':
          description: Success
          schema:
            $ref: '#/definitions/PublicDocsCreateMatterResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST https://[API Domain]/api/v1/matters/recurringmatters/{recurringmatterid}/creatematter  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '{ \n \t\"definableTables\": [ \n \t\t{ \n \t\t\"order\": 0, \n \t\t\"displaysequence\": 0, \n \t\t\"definableTableId\": \"string\", \n \t\t\"fields\": [ \n \t\t\t { \n     \t\t\t\"fieldId\": 0, \n \t\t\t\"value\": 0 \n \t\t\t } \n \t\t ] \n \t\t} \n \t ], \n \t\"cards\": [ \n \t\t{ \n  \t\t\"recordId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\"order\": 1001000, \n \t\t\"displaySequence\": 1, \n \t\t\"table\": { \n \t\t\t\"tableId\": 231, \n \t\t\t\"fields\": [ \n \t\t\t\t\t { \n \t\t\t\t\t\"fieldId\": 1, \n \t\t\t\t\t\"value\": \"string\", \n \t\t\t\t\t } \n \t\t\t ] \n \t\t}, \n \t\t\t\"personIds\": \"string\", \n \t\t\t\"reference\": \"string\" \n \t\t}, \n \t], \n \t\"matterTypeId\": \"1\", \n \t\"deleted\": false, \n \t\"noFileCreated\": false, \n \t\"financial\": { \n \t\t\"estimateWarning\": false, \n \t\t\"costsEstimate\": 0.0, \n \t\t\"costsEstimateGST\": 0.0, \n \t\t\"disbursementsEstimate\": 0.0, \n \t\t\"disbursementsEstimateGST\": 0.0, \n \t\t\"costAgreement\": { \n \t\t\t\"required\": false, \n \t\t\t\"received\": null \n \t\t} \n \t}, \n \t\"state\": \"NSW\", \n \t\"title\": { \n \t\t\"client\": null, \n \t\t\"other\": null, \n \t\t\"clientDefault\": true, \n \t\t\"clientPrefix\": false, \n \t\t\"clientSuffix\": true, \n \t\t\"otherDefault\": true, \n \t\t\"otherPrefix\": true, \n \t\t\"otherSuffix\": true \n \t}, \n \t\"substitution\": { \n \t\t\"client\": \"231\", \n \t\t\"otherSide\": \"233\", \n \t\t\"otherSideSolicitor\": \"239\", \n \t\t\"otherSideInsurer\": \"0\" \n \t}, \n \t\"customDescription\": \"Sale\", \n \t\"criticalDates\": [  \n \t\t{ \n \t\t\t\"criticalDateId\": \"2\", \n \t\t\t\"value\": \"2020-07-17T06:00:00\", \n \t\t\t\"confirmed\": false \n \t\t}, \n \t\t{ \n \t\t\t\"criticalDateId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"value\": null, \n \t\t\t\"confirmed\": false \n \t\t} \n \t], \n \t\"file\": { \n \t\t\"number\": \"2020-0040\", \n \t\t\"otherRefs\": \"\", \n \t\t\"location\": null \n \t}, \n \t\"staff\": { \n \t\t\"credit\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"responsible\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"acting\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"assisting\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t} \n \t}, \n \t\"invoiceFixed\": false, \n \t\"invoiceFixedAmount\": 0.0, \n \t\"referrerCard\": { \n \t\t\"cardId\": null, \n \t\t\"personId\": null \n \t}, \n \t\"taxFree\": false, \n \t\"acl\": { \n \t\t\"enabled\": false, \n \t\t\"staffIds\": [] \n \t}, \n \t\"archive\": { \n \t\t\"isArchived\": false, \n \t\t\"archiveNumber\": null, \n \t\t\"archiveDate\": null, \n \t\t\"boxNumber\": null, \n \t\t\"archivedBy\": null, \n \t\t\"dateOfDestruction\": null \n \t} \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"/api/v1/matters/recurringmatters/{recurringmatterid}/creatematter\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"definableTables\": [ \n \t\t{ \n \t\t\"order\": 0, \n \t\t\"displaysequence\": 0, \n \t\t\"definableTableId\": \"string\", \n \t\t\"fields\": [ \n \t\t\t { \n     \t\t\t\"fieldId\": 0, \n \t\t\t\"value\": 0 \n \t\t\t } \n \t\t ] \n \t\t} \n \t ], \n \t\"cards\": [ \n \t\t{ \n  \t\t\"recordId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\"order\": 1001000, \n \t\t\"displaySequence\": 1, \n \t\t\"table\": { \n \t\t\t\"tableId\": 231, \n \t\t\t\"fields\": [ \n \t\t\t\t\t { \n \t\t\t\t\t\"fieldId\": 1, \n \t\t\t\t\t\"value\": \"string\", \n \t\t\t\t\t } \n \t\t\t ] \n \t\t}, \n \t\t\t\"personIds\": \"string\", \n \t\t\t\"reference\": \"string\" \n \t\t}, \n \t], \n \t\"matterTypeId\": \"1\", \n \t\"deleted\": false, \n \t\"noFileCreated\": false, \n \t\"financial\": { \n \t\t\"estimateWarning\": false, \n \t\t\"costsEstimate\": 0.0, \n \t\t\"costsEstimateGST\": 0.0, \n \t\t\"disbursementsEstimate\": 0.0, \n \t\t\"disbursementsEstimateGST\": 0.0, \n \t\t\"costAgreement\": { \n \t\t\t\"required\": false, \n \t\t\t\"received\": null \n \t\t} \n \t}, \n \t\"state\": \"NSW\", \n \t\"title\": { \n \t\t\"client\": null, \n \t\t\"other\": null, \n \t\t\"clientDefault\": true, \n \t\t\"clientPrefix\": false, \n \t\t\"clientSuffix\": true, \n \t\t\"otherDefault\": true, \n \t\t\"otherPrefix\": true, \n \t\t\"otherSuffix\": true \n \t}, \n \t\"substitution\": { \n \t\t\"client\": \"231\", \n \t\t\"otherSide\": \"233\", \n \t\t\"otherSideSolicitor\": \"239\", \n \t\t\"otherSideInsurer\": \"0\" \n \t}, \n \t\"customDescription\": \"Sale\", \n \t\"criticalDates\": [  \n \t\t{ \n \t\t\t\"criticalDateId\": \"2\", \n \t\t\t\"value\": \"2020-07-17T06:00:00\", \n \t\t\t\"confirmed\": false \n \t\t}, \n \t\t{ \n \t\t\t\"criticalDateId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"value\": null, \n \t\t\t\"confirmed\": false \n \t\t} \n \t], \n \t\"file\": { \n \t\t\"number\": \"2020-0040\", \n \t\t\"otherRefs\": \"\", \n \t\t\"location\": null \n \t}, \n \t\"staff\": { \n \t\t\"credit\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"responsible\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"acting\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"assisting\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t} \n \t}, \n \t\"invoiceFixed\": false, \n \t\"invoiceFixedAmount\": 0.0, \n \t\"referrerCard\": { \n \t\t\"cardId\": null, \n \t\t\"personId\": null \n \t}, \n \t\"taxFree\": false, \n \t\"acl\": { \n \t\t\"enabled\": false, \n \t\t\"staffIds\": [] \n \t}, \n \t\"archive\": { \n \t\t\"isArchived\": false, \n \t\t\"archiveNumber\": null, \n \t\t\"archiveDate\": null, \n \t\t\"boxNumber\": null, \n \t\t\"archivedBy\": null, \n \t\t\"dateOfDestruction\": null \n \t} \n } \", \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
  /api/v1/matters/search:
    get:
      tags:
        - Matters
      summary: Simple Matter search
      parameters:
        - name: archivedOnly
          in: query
          description: Search LEAP matters that are archived (true or false).
          required: false
          type: string
        - name: query
          in: query
          description: 'Example: ?query={query}&archivedonly=true.'
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              matterId: 1s116fee-85ba-114f-9955-267bb3503d14
              firmid: 1s116fee-85ba-114f-9955-267bb3503d14
              actinguserid: 1s116fee-85ba-114f-9955-267bb3503d14
              assistinguserid: 1s116fee-85ba-114f-9955-267bb3503d14
              credituserid: 1s116fee-85ba-114f-9955-267bb3503d14
              responsibleuserid: 1s116fee-85ba-114f-9955-267bb3503d14
              filenumber: 2019-31
              customdesc: Sale
              firstdesc: Sale of
              firstdesclong: Mr Smith
              seconddesc: John
              instructiondate: '2019-08-22T20:00:00Z'
              iscurrent: true
              isarchived: false
              matterstatus: unexchanged
              staffinitials: SM
              state: NSW
              mattertype: sale
              deletecode: 0
              accessible: true
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/matters/search?query=2019-0031 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/search?query=2019-0031"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

    post:
      tags:
        - Matters
      summary: Advanced Matter search
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: ArrayOfMatterSearchTerm
          description: Search term(s)
          required: true
          schema:
            $ref: '#/definitions/ArrayOfMatterSearchTerm'
      responses:
        '201':
          description: Created
          examples:
            application/json:
              - matterId: 111e19c7-f211-4940-a123-20a16ce314da
                firmid: 111e19c7-f211-4940-a123-20a16ce314da
                actinguserid: ccb4731c-6e5a-41ae-9016-169301ef293f
                assistinguserid: ccb4731c-6e5a-41ae-9016-169301ef293f
                credituserid: ccb4731c-6e5a-41ae-9016-169301ef293f
                responsibleuserid: ccb4731c-6e5a-41ae-9016-169301ef293f
                filenumber: 61FS
                customdesc: Purchase
                firstdesc: Tran
                firstdesclong: Mr Tran
                seconddesc: Open to Display Purchase Reconciliation
                instructiondate: '2018-12-06T19:00:00Z'
                iscurrent: true
                isarchived: false
                matterstatus: in progress
                staffinitials: SM
                state: VIC
                mattertype: purchase
                deletecode: 0
                accessible: true
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             https://[API Domain]/api/v1/matters/search 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -d '{
                    "SearchTerms": [
                    {
                        "termName": "string",
                        "termValue": "string",
                        "termOption": "AllowWildcard"
                    }
                  ]
                }'
        - lang: 'C#'
          source:  >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/search"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             request.AddParameter("application/json", 
             "{
                "SearchTerms": [
                {
                    "termName": "string",
                    "termValue": "string",
                    "termOption": "AllowWildcard"
                }
              ]
             }");
             IRestResponse response = client.Execute(request);
             
  '/api/v1/standard/matters/packages/{matterId}':
    get:
      tags:
        - Matters
      summary: Gets a Non PII matter including cards and persons
      produces:
        - application/json
      parameters:
        - name: matterId
          in: path
          description: LEAP Matter GUID.
          required: true
          type: string
          format: uuid
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/MattersGetPackageNonPII'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET https://[API
            Domain]/api/v1/standard/matters/packages/{matterId}  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/standard/matters/packages/{matterId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request);              
             
  '/api/v1/matters/{matterid}/costrecovery':
    get:
      tags:
        - CostRecovery      
      summary: >-
        Get cost recovery ledger for a matter.
      description: |
        Call the Cost Recovery initialization endpoint (GET /api/v1/costrecovery/initializationdata) first before you use this endpoint.
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: Matter Id
          required: true
          type: string
        - name: rowVersion
          in: query
          description: >-
            The `rowVersion` field, is the database identity record of the item
            being requested.


            Provide this to get a DELTA of all cards that have been changed or
            created since the `rowVersion` provided.
          required: false
          type: string
        - name: crStatus
          in: query
          description: |-
            Cost recovery status (to filter by status).

             `5 = All` | `10 = Billable All` | `20 = Billable - Next Invoice` | `30 = Billable - Later Invoice` | `40 = Not Billable / Written off` | `50 = Billed` | `70 = Deleted`
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MatterItemModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/costrecovery 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/costrecovery"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  '/api/v1/matters/{matterid}/folders':
    get:
      tags:
        - Matters
      summary: Get matter document and folder list
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: Matter Id
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MatterDocFoldersJson'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddParameter("application/json"); 
             IRestResponse response = client.Execute(request); 
    post:
      tags:
        - Matters
      summary: Creates a matter doc folder for a matter
      description: |- 
        Creates a folder for correspondences in the matter 

        NOTE: This does not add documents or subfolders to the folder
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: Matter Id
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: ArrayOfMatterDocFolders
          in: body
          description: Array of Matter Doc Folders.
          required: true
          type: Array
          schema:
            $ref: '#/definitions/MatterDocFoldersJson'
      responses:
        '200':
          description: OK
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -d '[
                  {
                    "parentId": "string",
                    "folderName": "string",
                    "folderId": "string",
                    "documents": [
                      "string"
                    ],
                    "folders": [
                      null
                    ]
                  }
                ]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddParameter("application/json", 
             "[
             {
               "parentId": "string",
               "folderName": "string",
               "folderId": "string",
               "documents": [
                 "string"
               ],
               "folders": [
                 null
               ]
               }]"); 
             IRestResponse response = client.Execute(request); 
    put:
      tags:
        - Matters
      summary: Move documents between folders.
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: Matter Id
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: MoveDocumentsRequest
          in: body
          description: Represents the request for moving documents to an existing folder.
          required: true
          type: array
          schema:
            $ref: '#/definitions/MoveDocumentsRequest'
      responses:
        '200':
          description: OK
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT 
             https://[API Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]'
             -d '{
                    "fromFolderId": "string",
                    "toFolderId": "string",
                    "docs": [
                              "string"
                            ]
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
             "{
                 "fromFolderId": "string",
                 "toFolderId": "string",
                 "docs": [
                 "string"
                 ]"); 
             IRestResponse response = client.Execute(request); 
  '/api/v1/matters/{matterid}/folders/{sourceid}':
    post:
      tags:
        - Matters
      summary: Adds documents to an existing folder.
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: Matter Id
          required: true
          type: string
        - name: sourceid
          in: path
          description: Source Ids
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: AddDocumentsRequest
          in: body
          description: Represents the request for adding documents to an existing folder.
          type: array
          schema:
            $ref: '#/definitions/AddDocumentsRequest'
      responses:
        '200':
          description: OK
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders/9233f73bc-4051-8f31-96ef-76cfd2c1feb3 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -d '{
                    "folderId": "string",
                    "docs": [
                      "string"
                    ]
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders/9233f73bc-4051-8f31-96ef-76cfd2c1feb3"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddParameter("application/json", 
             "{
                    "folderId": "string",
                    "docs": [
                      "string"
                    ]
                }}"); 
             IRestResponse response = client.Execute(request); 
    put:
      tags:
        - Matters
      summary: Moves one folder to the other.
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: Matter Id
          required: true
          type: string
        - name: parentid
          description: ID of the folder to which the source folder moves
          required: false
          type: string
        - name: sourceid
          in: path
          description: Source ID
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT 
             https://[API Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders/9233f73bc-4051-8f31-96ef-76cfd2c1feb3 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders/9233f73bc-4051-8f31-96ef-76cfd2c1feb3"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddParameter("application/json"); 
             IRestResponse response = client.Execute(request); 
    delete:
      tags:
        - Matters
      summary: Delete a folder.
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: Matter Id
          required: true
          type: string
        - name: sourceid
          in: path
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              signedUrl: string
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders/9233f73bc-4051-8f31-96ef-76cfd2c1feb3
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/47acd50a-4051-44d7-96ef-76cfd2c1feb3/folders/9233f73bc-4051-8f31-96ef-76cfd2c1feb3"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddParameter("application/json"); 
             IRestResponse response = client.Execute(request); 
  /api/v2/matters:
    post:
      tags:
        - Matters
      summary: Creates a new LEAP matter
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: MattersWriteCreateMatter
          description: New Matter
          required: true
          schema:
            $ref: '#/definitions/MattersWriteCreateMatter'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PublicDocsCreateMatterResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST https://[API Domain]/api/v2/matters  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '{ \n \t\"definableTables\": []\", \n \t\"cards\": [ \n \t\t{ \n \t\t\t\"tableId\": \"3\", \n \t\t\t\"recordId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"order\": 1001000, \n \t\t\t\"displaySequence\": 1, \n \t\t\t\"table\": { \n \t\t\t\t\"tableId\": \"231\", \n \t\t\t\t\"layoutId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\t\"title\": \"Name on title\", \n \t\t\t\t\"fields\": [] \n \t\t}, \n \t\t\t\"personIds\": [], \n \t\t\t\"reference\": null \n \t\t}, \n \t\t{ \n \t\t\t\"tableId\": \"991\", \n \t\t\t\"recordId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"order\": 25001000, \n \t\t\t\"displaySequence\": 1, \n \t\t\t\"table\": null, \n \t\t\t\"personIds\": [], \n \t\t\t\"reference\": null \n \t\t} \n \t], \n \t\"matterTypeId\": \"1\", \n \t\"deleted\": false, \n \t\"noFileCreated\": false, \n \t\"financial\": { \n \t\t\"estimateWarning\": false, \n \t\t\"costsEstimate\": 0.0, \n \t\t\"costsEstimateGST\": 0.0, \n \t\t\"disbursementsEstimate\": 0.0, \n \t\t\"disbursementsEstimateGST\": 0.0, \n \t\t\"costAgreement\": { \n \t\t\t\"required\": false, \n \t\t\t\"received\": null \n \t\t} \n \t}, \n \t\"state\": \"NSW\", \n \t\"title\": { \n \t\t\"client\": null, \n \t\t\"other\": null, \n \t\t\"clientDefault\": true, \n \t\t\"clientPrefix\": false, \n \t\t\"clientSuffix\": true, \n \t\t\"otherDefault\": true, \n \t\t\"otherPrefix\": true, \n \t\t\"otherSuffix\": true \n \t}, \n \t\"substitution\": { \n \t\t\"client\": \"231\", \n \t\t\"otherSide\": \"233\", \n \t\t\"otherSideSolicitor\": \"239\", \n \t\t\"otherSideInsurer\": \"0\" \n \t}, \n \t\"customDescription\": \"Sale\", \n \t\"criticalDates\": [  \n \t\t{ \n \t\t\t\"criticalDateId\": \"2\", \n \t\t\t\"value\": \"2020-07-17T06:00:00\", \n \t\t\t\"confirmed\": false \n \t\t}, \n \t\t{ \n \t\t\t\"criticalDateId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"value\": null, \n \t\t\t\"confirmed\": false \n \t\t} \n \t], \n \t\"file\": { \n \t\t\"number\": \"2020-0040\", \n \t\t\"otherRefs\": \"\", \n \t\t\"location\": null \n \t}, \n \t\"staff\": { \n \t\t\"credit\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"responsible\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"acting\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"assisting\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t} \n \t}, \n \t\"invoiceFixed\": false, \n \t\"invoiceFixedAmount\": 0.0, \n \t\"referrerCard\": { \n \t\t\"cardId\": null, \n \t\t\"personId\": null \n \t}, \n \t\"taxFree\": false, \n \t\"acl\": { \n \t\t\"enabled\": false, \n \t\t\"staffIds\": [] \n \t}, \n \t\"archive\": { \n \t\t\"isArchived\": false, \n \t\t\"archiveNumber\": null, \n \t\t\"archiveDate\": null, \n \t\t\"boxNumber\": null, \n \t\t\"archivedBy\": null, \n \t\t\"dateOfDestruction\": null \n \t} \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/matters\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"definableTables\": []\", \n \t\"cards\": [ \n \t\t{ \n \t\t\t\"tableId\": \"3\", \n \t\t\t\"recordId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"order\": 1001000, \n \t\t\t\"displaySequence\": 1, \n \t\t\t\"table\": { \n \t\t\t\t\"tableId\": \"231\", \n \t\t\t\t\"layoutId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\t\"title\": \"Name on title\", \n \t\t\t\t\"fields\": [] \n \t\t}, \n \t\t\t\"personIds\": [], \n \t\t\t\"reference\": null \n \t\t}, \n \t\t{ \n \t\t\t\"tableId\": \"991\", \n \t\t\t\"recordId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"order\": 25001000, \n \t\t\t\"displaySequence\": 1, \n \t\t\t\"table\": null, \n \t\t\t\"personIds\": [], \n \t\t\t\"reference\": null \n \t\t} \n \t], \n \t\"matterTypeId\": \"1\", \n \t\"deleted\": false, \n \t\"noFileCreated\": false, \n \t\"financial\": { \n \t\t\"estimateWarning\": false, \n \t\t\"costsEstimate\": 0.0, \n \t\t\"costsEstimateGST\": 0.0, \n \t\t\"disbursementsEstimate\": 0.0, \n \t\t\"disbursementsEstimateGST\": 0.0, \n \t\t\"costAgreement\": { \n \t\t\t\"required\": false, \n \t\t\t\"received\": null \n \t\t} \n \t}, \n \t\"state\": \"NSW\", \n \t\"title\": { \n \t\t\"client\": null, \n \t\t\"other\": null, \n \t\t\"clientDefault\": true, \n \t\t\"clientPrefix\": false, \n \t\t\"clientSuffix\": true, \n \t\t\"otherDefault\": true, \n \t\t\"otherPrefix\": true, \n \t\t\"otherSuffix\": true \n \t}, \n \t\"substitution\": { \n \t\t\"client\": \"231\", \n \t\t\"otherSide\": \"233\", \n \t\t\"otherSideSolicitor\": \"239\", \n \t\t\"otherSideInsurer\": \"0\" \n \t}, \n \t\"customDescription\": \"Sale\", \n \t\"criticalDates\": [  \n \t\t{ \n \t\t\t\"criticalDateId\": \"2\", \n \t\t\t\"value\": \"2020-07-17T06:00:00\", \n \t\t\t\"confirmed\": false \n \t\t}, \n \t\t{ \n \t\t\t\"criticalDateId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"value\": null, \n \t\t\t\"confirmed\": false \n \t\t} \n \t], \n \t\"file\": { \n \t\t\"number\": \"2020-0040\", \n \t\t\"otherRefs\": \"\", \n \t\t\"location\": null \n \t}, \n \t\"staff\": { \n \t\t\"credit\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"responsible\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"acting\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t}, \n \t\t\"assisting\": { \n \t\t\t\"staffId\": \"111ac0cb-6c1e-49ef-9125-abcdaf95cf04\", \n \t\t\t\"access\": false \n \t\t} \n \t}, \n \t\"invoiceFixed\": false, \n \t\"invoiceFixedAmount\": 0.0, \n \t\"referrerCard\": { \n \t\t\"cardId\": null, \n \t\t\"personId\": null \n \t}, \n \t\"taxFree\": false, \n \t\"acl\": { \n \t\t\"enabled\": false, \n \t\t\"staffIds\": [] \n \t}, \n \t\"archive\": { \n \t\t\"isArchived\": false, \n \t\t\"archiveNumber\": null, \n \t\t\"archiveDate\": null, \n \t\t\"boxNumber\": null, \n \t\t\"archivedBy\": null, \n \t\t\"dateOfDestruction\": null \n \t} \n } \", \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
    get:
      tags:
        - Matters
      summary: Returns a list of matters
      produces:
        - application/json
      parameters:
        - name: rowVersion
          in: query
          description: >-
            The `rowVersion` field, is the database identity record of the item
            being requested.


            Provide this to get a DELTA of all cards that have been changed or
            created since the `rowVersion` provided.
          required: false
          type: string
        - name: isArchived
          in: query
          description: Filter value for isArchived property (default is no filter)
          required: false
          type: string
        - name: maxItems
          in: query
          description: >-
            Maximum number of total returned records while paginating (max of
            10000).
          required: false
          type: string
        - name: isCurrent
          in: query
          description: Filter value for isCurrent property (default is no filter)
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              matterList:
                - rowVersion: 919262
                  matterId: 26dd2167-9c24-4611-a97f-ec6370d5a3cd
                  fileNumber: 12-S.2015
                  firstDescription: Litang
                  secondDescription: null
                  customDescription: Purchase
                  matterTypeName: Purchase
                  matterTypeId: '263'
                  matterStatus: Unexchanged
                  isCurrent: true
                  state: ACT
                  responsibleStaffId: c1c2223a-b23a-4735-b86a-11232424bcd1
                  creditStaffId: c1c2223a-b23a-4735-b86a-08855424bcd1
                  actingStaffId: c1c2223a-b23a-4735-b86a-08855424bcd1
                  assistingStaffId: c1c2223a-b23a-4735-b86a-08855424bcd1
                  isArchived: false
                  deleted: false
                  version: 3
                  instructionDate: '2018-12-22T06:00:00'
                  billingMode: null
                  archiveDate: null
          schema:
            $ref: '#/definitions/MatterListResponseNew'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v3/matters 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API Domain]/api/v3/matters"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  '/api/v1/matters/{matterid}/correspondences':
    get:
      tags:
        - Matters
      summary: Returns correspondence for a matter
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          description: Matter Id
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Matter-Correspondences-200'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/matters/37f57c39-a184-43f4-9f50-4019546430b7/correspondences 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/37f57c39-a184-43f4-9f50-4019546430b7/correspondences"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
  '/api/v1/matters/{matterid}/criticaldates':
    get:
      tags:
        - Matters
      summary: Get critical dates
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterid
          in: path
          required: True
          type: string
      responses:
        '200':
          description: Response
          schema:
            $ref: '#/definitions/CriticalDateGetResponse'
        '301':
          $ref: '#/definitions/301'            
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/matters/1s116fee-85ba-114f-9955-267bb3503d14/criticaldates 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API Domain]/api/v1/matters/{matterid}/criticaldates"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
  '/api/v1/matters/{matterid}/criticaldates/{criticaldateId}':
    put:
      tags:
        - Matters
      summary: Update a critical date
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterid
          in: path
          required: True
          type: string
        - name: criticaldateid
          in: path
          required: True
          type: string
        - name: CriticalDate
          in: body
          description: CriticalDate model
          required: True
          schema:
            $ref: '#/definitions/CriticalDatePutModel'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X PUT https://[API Domain]/api/v1/matters/{matterid}/criticaldates/{criticaldateid} 
              -H 'accept: application/json' 
              -H 'authorization: [Bearer Token]' 
              -H 'cache-control: no-cache' 
              -H 'content-type: application/json' 
              -H 'x-api-key: [LEAP API Key]' 
              -d '{
                    "id": "string",
                    "name": "string",
                    "date": "string",
                    "confirmed": true,
                    "confirmStatus": "string",
                    "order": 0,
                    "status": "string",
                    "isConfirmable": true,
                    "displayName": "string",
                    "calculationFieldId": "string",
                    "calculationTableId": "string",
                    "autoCalc": "string"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1//matters/{matterid}/criticaldates/{criticaldateId}"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); IRestResponse response = client.Execute(request);
             request.AddParameter("application/json",
             "{
                    "id": "string",
                    "name": "string",
                    "date": "string",
                    "confirmed": true,
                    "confirmStatus": "string",
                    "order": 0,
                    "status": "string",
                    "isConfirmable": true,
                    "displayName": "string",
                    "calculationFieldId": "string",
                    "calculationTableId": "string",
                    "autoCalc": "string"
                  }"
             , ParameterType.RequestBody);
             IRestResponse response = client.Execute(request);
  '/api/v2/matters/{matterid}/definabletables':
    post:
      tags:
        - Matters
      summary: Add new definable tables to a matter
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DefinableTables
          required: true
          schema:
            $ref: '#/definitions/MattersPostDefinableTablesArray'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MattersPostDefinableTableResponseArray'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/ErrorWithMessage'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST https://[API Domain]/api/v2/matters/{matterid}/definabletables  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '[{ \n \t\"displaySequence\": \"1\", \n \t\"definableTableId\": \"6\", \n \t\"fields\": [ \n \t\t{ \n \t\t\t\"fieldId\": \"1\", \n \t\t\t\"value\": \"string\" \n \t\t} \n \t] \n }]' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/matters/{matterid}/definabletables\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"[{ \n \t\"displaySequence\": \"1\", \n \t\"definableTableId\": \"6\", \n \t\"fields\": [ \n \t\t{ \n \t\t\t\"fieldId\": \"1\", \n \t\t\t\"value\": \"string\", \n \t\t} \n \t] \n }]\" \n , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
    put:
      tags:
        - Matters
      summary: Update matter definable tables
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DefinableTables
          required: true
          schema:
            $ref: '#/definitions/MattersPostDefinableTablesArray'
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/ErrorWithMessage'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X PUT https://[API Domain]/api/v2/matters/{matterid}/definabletables  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '[{ \n \t\"displaySequence\": \"1\", \n \t\"definableTableId\": \"6\", \n \t\"fields\": [ \n \t\t{ \n \t\t\t\"fieldId\": \"1\", \n \t\t\t\"value\": \"string\", \n \t\t} \n \t] \n }]' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/matters/{matterid}/definabletables\"); \n var request = new RestRequest(Method.PUT); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"[{ \n \t\"displaySequence\": \"1\", \n \t\"definableTableId\": \"6\", \n \t\"fields\": [ \n \t\t{ \n \t\t\t\"fieldId\": \"1\", \n \t\t\t\"value\": \"string\", \n \t\t} \n \t] \n }]\" \n , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
  /api/v2/matters/matterxpathparser:
    post:
      tags:
        - Matters
      summary: >-
        Retrieve matter information from the matter.xml file via an xPath request. 
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
        
        <b>Note: the v1 version of this endpoint is in the process of being deprecated. This v2 endpoint functions the same as the v1 version.</b>

        This endpoint allows you to fetch properties from the matter.xml using the xPath expression for a given list of Matter GUIDs.
        
        ### Cache
        
        No caching is set unless specified for an endpoint.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: EvaluatePaths
          required: true
          schema:
            $ref: '#/definitions/MatterxPathParser'
      responses:
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/AsyncRequestResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/Error'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST  https://[API Domain]/api/v1/matters/matterxpathparser  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '{ \n \t\"IdsListing\": [ \n \t\t\"9054aa5c-7474-48cd-8e7d-3dacf77db0ec\" \n \t], \n \t\"XPathExpression\": \"/Matter/Version\" \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/matters/matterxpathparser\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"IdsListing\": [ \n \t\t\"9054aa5c-7474-48cd-8e7d-3dacf77db0ec\" \n \t], \n \t\"XPathExpression\": \"/Matter/Version\", \n }\" \n , ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
    get:
      tags:
        - Matters
      summary: 'Get result from parsing xPath expression, for given AsyncRequestId'
      description: |+
        Retrieve the asynchronous response from POST /api/v2/matters/matterxpathparser.

        <b>Note: This endpoint is in the process of being deprecated. [GET /api/v1/reporting/getasyncrequest/{requestId}](http://localhost/leap.integrations.build_develop/index.html#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) should be used to retrieve asynchronous results from POST /api/v2/matters/matterxpathparser.</b>                
      produces:
        - application/json
      parameters:
        - name: asyncRequestId
          in: query
          description: >-
            This is derived from the response body on `POST /api/v1/matters/matterxpathparser`
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/MattersPathParserResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/ErrorForAysncRequestId'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/matters/matterxpathparser?asyncRequestId={asyncRequestId} 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/matterxpathparser?asyncRequestId={asyncRequestId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/matters/{matterid}/staff:
    put:
      tags:
        - Matters
      summary: "Updates a matter staff"
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter Id
          required: true
          type: string
        - name: MattersWriteStaff
          in: body
          description: Matters Write Staff body 
          required: true
          schema: 
            $ref: '#/definitions/Definition_Body_UpdateMatterStaff'
      responses:
        '200':
          description: OK
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Bad request        
        '500':
          description: Server error
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Server error
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT  
             https://[API Domain]/api/v1/matters/{matter-id-value}/staff 
             -H 'accept: application/json'
             -H 'authorization: [bearer-token]'
             -H "content-type: application/json"

             -d "{ 
                    "credit": 
                            { 
                              "staffId": "staff-id-value"
                              ,"access": "access-value" 
                            }, 
                    "responsible": 
                            { 
                              "staffId": "staff-id-value"
                              ,"access": "access-value" 
                            }, 
                    "acting": 
                            { 
                              "staffId": "staff-id-value"
                              ,"access": "access-value" 
                            },
                    "assisting": 
                            { 
                              "staffId": "staff-id-value"
                              ,"access": "access-value" 
                            }
                  }"

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]/api/v1/matters/{matter-id-param}/matters"); 
             
            var request = new RestRequest(Method.PUT); 
            request.AddHeader("accept", "application/json"); 
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("content-type", "application/json");
            request.AddHeader("authorization", "[bearer-token]"); 
            request.AddHeader("x-api-key", "[api-key]"); 

            request.AddParameter("{matter-id-param}", "[parameter-value]", ParameterType.UrlSegment);
            request.AddParameter("application/json"
                ,"
                  { 
                    "credit": 
                            { 
                              "staffId": "staff-id-value"
                              ,"access": "access-value" 
                            }, 
                    "responsible": 
                            { 
                              "staffId": "staff-id-value"
                              ,"access": "access-value" 
                            }, 
                    "acting": 
                            { 
                              "staffId": "staff-id-value"
                              ,"access": "access-value" 
                            },
                    "assisting": 
                            { 
                              "staffId": "staff-id-value"
                              ,"access": "access-value" 
                            }
                  }               
                "
                ,ParameterType.RequestBody);

            IRestResponse response = client.Execute(request);
  /api/v1/tasks: 
    get:
      tags:
        - Tasks
      summary: 'Returns a list of superdiary tasks for a matter'
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: query
          description: LEAP ID of the matter 
          required: true
        - name: staffId
          in: query
          description: LEAP GUID of the staff member the task is allocated to
          required: false
        - name: start
          in: query
          description: Start date (yyyy-MM-dd)
          type: string
        - name: end
          in: query
          description: End date (yyyy-MM-dd)
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/200Response_Get_Tasks'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '401':
          description: Unauthorized
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json: |-
                "error": [
                  "Firm is not a superdiary firm."
                ],
                "code": null,
                stackTrace: "null"
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET
            https://[API Domain]/api/v1/tasks
            -H 'accept: application/json'
            -H 'authorization: [Bearer token]'
            -H 'cache-control: no-cache'
            -H 'x-api-key: [API Key]'
        - lang: 'C#'
          source: |+
            var client = new RestClient("https://[API Domain]/api/v1/tasks"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
    post:
      tags:
        - Tasks
      summary: Create Outlook tasks
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: DiaryTaskRequest 
          required: true
          in: body
          schema:
            $ref: '#/definitions/DiaryTaskRequest'
      responses:
        '200':
          description: Successful Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/TodoResultResponse'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/tasks
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "assignees": [
                      {
                        "address": "string",
                        "name": "string",
                        "staffId": "string",
                        "userId": "string"
                      }
                    ],
                    "attachments": [
                      {
                        "id": "string",
                        "name": "string",
                        "type": 0,
                        "format": 0,
                        "fileUrl": "string",
                        "token": "string",
                        "outlookAttachmentId": "string"
                      }
                    ],
                    "body": "string",
                    "matterId": "string",
                    "owner": {
                      "address": "string",
                      "name": "string",
                      "staffId": "string",
                      "userId": "string"
                    },
                    "start": "2019-08-24T14:15:22Z",
                    "due": "2019-08-24T14:15:22Z",
                    "completed": "2019-08-24T14:15:22Z",
                    "status": "string",
                    "importance": 0,
                    "subject": "string",
                    "matterNo": "string",
                    "criticalDate": {
                      "id": "string",
                      "offset": 0,
                      "offsetUnit": 0
                    },
                    "timezone": "string",
                    "reminderDateTime": "2019-08-24T14:15:22Z",
                    "isBillable": true,
                    "clientId": "string",
                    "document": {
                      "id": "string",
                      "precedentId": "string",
                      "name": "string",
                      "ext": "string"
                    }
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/tasks"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "assignees": [
                  {
                    "address": "string",
                    "name": "string",
                    "staffId": "string",
                    "userId": "string"
                  }
                ],
                "attachments": [
                  {
                    "id": "string",
                    "name": "string",
                    "type": 0,
                    "format": 0,
                    "fileUrl": "string",
                    "token": "string",
                    "outlookAttachmentId": "string"
                  }
                ],
                "body": "string",
                "matterId": "string",
                "owner": {
                  "address": "string",
                  "name": "string",
                  "staffId": "string",
                  "userId": "string"
                },
                "start": "2019-08-24T14:15:22Z",
                "due": "2019-08-24T14:15:22Z",
                "completed": "2019-08-24T14:15:22Z",
                "status": "string",
                "importance": 0,
                "subject": "string",
                "matterNo": "string",
                "criticalDate": {
                  "id": "string",
                  "offset": 0,
                  "offsetUnit": 0
                },
                "timezone": "string",
                "reminderDateTime": "2019-08-24T14:15:22Z",
                "isBillable": true,
                "clientId": "string",
                "document": {
                  "id": "string",
                  "precedentId": "string",
                  "name": "string",
                  "ext": "string"
                }
              }"); 
             IRestResponse response = client.Execute(request);        
    put:
      tags:
        - Tasks
      summary: Update Outlook tasks
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: DiaryTaskRequest 
          required: true
          in: body
          schema:
            $ref: '#/definitions/DiaryTaskRequest'
      responses:
        '200':
          description: Successful Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/TodoResultResponse'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT 
             https://[API Domain]/api/v1/tasks
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "assignees": [
                      {
                        "address": "string",
                        "name": "string",
                        "staffId": "string",
                        "userId": "string"
                      }
                    ],
                    "attachments": [
                      {
                        "id": "string",
                        "name": "string",
                        "type": 0,
                        "format": 0,
                        "fileUrl": "string",
                        "token": "string",
                        "outlookAttachmentId": "string"
                      }
                    ],
                    "body": "string",
                    "matterId": "string",
                    "owner": {
                      "address": "string",
                      "name": "string",
                      "staffId": "string",
                      "userId": "string"
                    },
                    "start": "2019-08-24T14:15:22Z",
                    "due": "2019-08-24T14:15:22Z",
                    "completed": "2019-08-24T14:15:22Z",
                    "status": "string",
                    "importance": 0,
                    "subject": "string",
                    "matterNo": "string",
                    "criticalDate": {
                      "id": "string",
                      "offset": 0,
                      "offsetUnit": 0
                    },
                    "timezone": "string",
                    "reminderDateTime": "2019-08-24T14:15:22Z",
                    "isBillable": true,
                    "clientId": "string",
                    "document": {
                      "id": "string",
                      "precedentId": "string",
                      "name": "string",
                      "ext": "string"
                    }
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/tasks"); 
             var request = new RestRequest(Method.PUT); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "assignees": [
                  {
                    "address": "string",
                    "name": "string",
                    "staffId": "string",
                    "userId": "string"
                  }
                ],
                "attachments": [
                  {
                    "id": "string",
                    "name": "string",
                    "type": 0,
                    "format": 0,
                    "fileUrl": "string",
                    "token": "string",
                    "outlookAttachmentId": "string"
                  }
                ],
                "body": "string",
                "matterId": "string",
                "owner": {
                  "address": "string",
                  "name": "string",
                  "staffId": "string",
                  "userId": "string"
                },
                "start": "2019-08-24T14:15:22Z",
                "due": "2019-08-24T14:15:22Z",
                "completed": "2019-08-24T14:15:22Z",
                "status": "string",
                "importance": 0,
                "subject": "string",
                "matterNo": "string",
                "criticalDate": {
                  "id": "string",
                  "offset": 0,
                  "offsetUnit": 0
                },
                "timezone": "string",
                "reminderDateTime": "2019-08-24T14:15:22Z",
                "isBillable": true,
                "clientId": "string",
                "document": {
                  "id": "string",
                  "precedentId": "string",
                  "name": "string",
                  "ext": "string"
                }
              }"); 
             IRestResponse response = client.Execute(request);     
  /api/v1/tasks/{id}:
    delete:
      tags: 
        - Tasks
      summary: Delete Outlook tasks
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: path
          name: id
          description: LEAP task ID
          required: true
          type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/DeleteTask200Response' 
          Message: "OK"
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing               
        '404':
          description: Not found
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Not found
        '500':
          description: Server error
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Server error
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X DELETE  
             https://[API-Domain]/api/v1/tasks/{id}
             -H 'accept: application/json'
             -H 'authorization: [bearer-token]'   
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]/api/v1/tasks/{id}
             var request = new RestRequest(Method.DELETE); 
             request.AddHeader("accept", "application/json");              
             request.AddHeader("authorization", "[bearer-token]");              
             request.AddParameter("id", "[parameter-value]", ParameterType.UrlSegment);             
             IRestResponse response = client.Execute(request); 
  
  /api/v1/timesheet/staffperformance: 
    get:
      tags:
        - Timesheet
      summary: 'Returns timesheet staff performance.'
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: staffId
          in: query
          description: LEAP GUID of the staff member 
          required: False
      responses:
        '201':
          description: Successful response.
          schema:
            $ref: '#/definitions/Timesheet_Staff_Performance_201'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: The request is invalid.   
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/timesheet/staffperformance
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/timesheet/staffperformance"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);  

  /api/v1/transitregister: 
    post:
      tags:
        - Transit Register
      summary: 'Create a transit register transaction.'
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: TransitRegisterTransactionCreate
          in: body
          required: true
          schema:
            $ref: '#/definitions/TransitRegisterTransactionCreate'
      responses:
        '200':
          description: Successful response.
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Success.
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Bad request.
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/transitregister 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             --d '{           
                  "TransactionId": "583420ca-a0e3-4e68-b193-c10a8ceb04cc",
                  "MatterId": "dc1f3d43-db6e-4169-9269-628131fcaef6",
                  "ReceivedFrom": "string",
                  "PaymentTypeName": "string",
                  "PaymentTypeGuid": "e8654f00-2a06-4f2d-bd3b-316e20edb859",
                  "PaymentTypeId": 0,
                  "Amount": 0,
                  "Reason": "string",
                  "Paid": true,
                  "PaidTo": "string",
                  "TransactionNumber": "string",
                  "ReceivedDate": "2019-08-24T14:15:22Z",
                  "PaidToDate": "2019-08-24T14:15:22Z",
                  "EntryDate": "2019-08-24T14:15:22Z",
                  "PaymentTypeDetail": {
                    "PaymentTypeDetailsGUID": "8e41085d-ecb7-4daa-9952-9c005fe83a91",
                    "Addressee": "string",
                    "BSB": "string",
                    "AccountNumber": "string",
                    "AccountName": "string",
                    "Drawer": "string",
                    "ChequeNumber": "string",
                    "AuthorisationNumber": "string",
                    "ExpiryDate": "2019-08-24T14:15:22Z",
                    "Notes": 0,
                    "Coins": 0,
                    "Memo": "string",
                    "BillerCode": "string",
                    "BillerReference": "string",
                    "RowVersion": 0
                  },
                  "WarningAcknowledgments": [
                    0
                  ]
                }'

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/transitregister"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{           
                "TransactionId": "583420ca-a0e3-4e68-b193-c10a8ceb04cc",
                "MatterId": "dc1f3d43-db6e-4169-9269-628131fcaef6",
                "ReceivedFrom": "string",
                "PaymentTypeName": "string",
                "PaymentTypeGuid": "e8654f00-2a06-4f2d-bd3b-316e20edb859",
                "PaymentTypeId": 0,
                "Amount": 0,
                "Reason": "string",
                "Paid": true,
                "PaidTo": "string",
                "TransactionNumber": "string",
                "ReceivedDate": "2019-08-24T14:15:22Z",
                "PaidToDate": "2019-08-24T14:15:22Z",
                "EntryDate": "2019-08-24T14:15:22Z",
                "PaymentTypeDetail": {
                  "PaymentTypeDetailsGUID": "8e41085d-ecb7-4daa-9952-9c005fe83a91",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2019-08-24T14:15:22Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string",
                  "RowVersion": 0
                },
                "WarningAcknowledgments": [
                  0
                ]
              }"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/trusttooffice:
    post:
      tags:
        - Trust
      summary: 'Create a trust to office transaction'
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: TrustToOfficeLADSTC 
          in: body
          required: true
          schema:
            $ref: '#/definitions/TrustToOfficeLADSTC'
      responses:
        '200':
          description: Successful response.
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Success.
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Bad request.
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/trusttooffice
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "PaidToOrReceiveFrom": "string",
                    "Reason": "string",
                    "TransactionDate": "2019-08-24T14:15:22Z",
                    "EntryDate": "2019-08-24T14:15:22Z",
                    "SemaphoreId": "a60fd2a4-0c24-4150-ab7d-15c24fb56bf2",
                    "PaymentTypeId": 0,
                    "TrustPayment": {
                      "TrustPaymentId": "2065614b-e7da-4596-a1e3-80af9bc65cdd",
                      "BankAccountId": "3e901286-4428-449c-a61a-ba4e59453b33",
                      "AutoNumber": 0,
                      "TransactionNumber": "string",
                      "PaymentTypeGUID": "fc00c0d7-3938-4f70-9040-07a45c096f64",
                      "PayToName": "string"
                    },
                    "OfficeReceipt": {
                      "OfficeReceiptId": "db842074-bab0-4f83-8180-e886f1739550",
                      "BankAccountId": "3e901286-4428-449c-a61a-ba4e59453b33",
                      "AutoNumber": 0,
                      "TransactionNumber": "string",
                      "NeedsBanking": true
                    },
                    "PaymentTypeName": "string",
                    "PaymentTypeDetails": {
                      "PaymentTypeDetailsGUID": "8e41085d-ecb7-4daa-9952-9c005fe83a91",
                      "Addressee": "string",
                      "BSB": "string",
                      "AccountNumber": "string",
                      "AccountName": "string",
                      "Drawer": "string",
                      "ChequeNumber": "string",
                      "AuthorisationNumber": "string",
                      "ExpiryDate": "2019-08-24T14:15:22Z",
                      "Notes": 0,
                      "Coins": 0,
                      "Memo": "string",
                      "BillerCode": "string",
                      "BillerReference": "string",
                      "RowVersion": 0,
                      "CountryOfOrigin": "string",
                      "DestinationCountry": "string",
                      "InstitutionName": "string",
                      "SwiftCode": "string",
                      "ForeignValue": 0,
                      "ExchangeRate": 0,
                      "CurrencyType": "string"
                    },
                    "InvoicesApply": [
                      {
                        "InvoiceId": "string",
                        "SplitCardGUID": "string",
                        "MatterId": "string",
                        "RowVersion": 0,
                        "ProtectedTrustFundId": "string",
                        "InvoiceApply": 0
                      }
                    ],
                    "WarningAcknowledgements": [
                      null
                    ]
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trusttooffice"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "PaidToOrReceiveFrom": "string",
                    "Reason": "string",
                    "TransactionDate": "2019-08-24T14:15:22Z",
                    "EntryDate": "2019-08-24T14:15:22Z",
                    "SemaphoreId": "a60fd2a4-0c24-4150-ab7d-15c24fb56bf2",
                    "PaymentTypeId": 0,
                    "TrustPayment": {
                      "TrustPaymentId": "2065614b-e7da-4596-a1e3-80af9bc65cdd",
                      "BankAccountId": "3e901286-4428-449c-a61a-ba4e59453b33",
                      "AutoNumber": 0,
                      "TransactionNumber": "string",
                      "PaymentTypeGUID": "fc00c0d7-3938-4f70-9040-07a45c096f64",
                      "PayToName": "string"
                    },
                    "OfficeReceipt": {
                      "OfficeReceiptId": "db842074-bab0-4f83-8180-e886f1739550",
                      "BankAccountId": "3e901286-4428-449c-a61a-ba4e59453b33",
                      "AutoNumber": 0,
                      "TransactionNumber": "string",
                      "NeedsBanking": true
                    },
                    "PaymentTypeName": "string",
                    "PaymentTypeDetails": {
                      "PaymentTypeDetailsGUID": "8e41085d-ecb7-4daa-9952-9c005fe83a91",
                      "Addressee": "string",
                      "BSB": "string",
                      "AccountNumber": "string",
                      "AccountName": "string",
                      "Drawer": "string",
                      "ChequeNumber": "string",
                      "AuthorisationNumber": "string",
                      "ExpiryDate": "2019-08-24T14:15:22Z",
                      "Notes": 0,
                      "Coins": 0,
                      "Memo": "string",
                      "BillerCode": "string",
                      "BillerReference": "string",
                      "RowVersion": 0,
                      "CountryOfOrigin": "string",
                      "DestinationCountry": "string",
                      "InstitutionName": "string",
                      "SwiftCode": "string",
                      "ForeignValue": 0,
                      "ExchangeRate": 0,
                      "CurrencyType": "string"
                    },
                    "InvoicesApply": [
                      {
                        "InvoiceId": "string",
                        "SplitCardGUID": "string",
                        "MatterId": "string",
                        "RowVersion": 0,
                        "ProtectedTrustFundId": "string",
                        "InvoiceApply": 0
                      }
                    ],
                    "WarningAcknowledgements": [
                      null
                    ]
                  }"); 
             IRestResponse response = client.Execute(request);  
  /api/v1/trustbankrec/accountinit:
    get:
      tags:
        - Trust Bank Rec
      summary: Retrieve trust bank reconciliation initialisation data
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: statementDate
          description: Date that you want to retrieve initialisation data for in *ISO 8601* format
          required: true
          in: query
          format: date-time
        - name: bankAccountId
          description: LEAP ID of the specified bank account (if applicable)
          in: query
      responses:
        '200':
          description: Successful Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/TrustBankRecInitialisationDataLADSTI'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: The request is invalid.
              ModelState: {
                statementDate: [
                  The value '20-06-2023' is not valid for DateTime
                ]
              }
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
  /api/v1/trustbankrec/createtrustaddition:
    post:
      tags:
        - Trust Bank Rec
      summary: Create a trust bank account addition
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: ArrayOfBankAccountAddition 
          description: Bank Account Addition array 
          required: true
          in: body
          schema:
            $ref: '#/definitions/ArrayOfBankAccountAddition'
      responses:
        '200':
          description: Successful Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/TrustBankRec_CreateTrustAddition_SuccessResponseModel'
        '301':
          $ref: '#/definitions/301'            
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/trustbankrec/createtrustaddition
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '[
                    {
                      "AdditionGUID": "556e4a67-e476-45eb-8aae-67c31cd397d8",
                      "BankAccountGUID": "61631ad7-1f47-473e-b6a6-6261d0b3dd73",
                      "AdditionDate": "2019-08-24T14:15:22Z",
                      "Amount": 0,
                      "Reason": "string",
                      "ImportedFrom": "string"
                    }
                  ]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trustbankrec/createtrustaddition"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "[
                {
                  "AdditionGUID": "556e4a67-e476-45eb-8aae-67c31cd397d8",
                  "BankAccountGUID": "61631ad7-1f47-473e-b6a6-6261d0b3dd73",
                  "AdditionDate": "2019-08-24T14:15:22Z",
                  "Amount": 0,
                  "Reason": "string",
                  "ImportedFrom": "string"
                }
              ]"); 
             IRestResponse response = client.Execute(request);  

  /api/v1/trustbankrec/init:
    get:
      tags:
        - Trust Bank Rec
      summary: Retrieve initialisation data
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/TrustBankRecInitLADSTI'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
  /api/v1/matters/{matterId}/tasks: 
    get:
      tags:
        - Tasks
      summary: 'Returns a list of tasks created on a matter'
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter Id
          required: true 
          type: string 
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/Definition_200Response_Get_MatterIdTasks'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: No allocation found for Firm ID
          Message: "{ 'message': 'No allocation found for Firm ID'}"
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing          
        '401':
          description: JWT is invalid
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: JWT is invalid

  /api/v2/cards/{cardid}/matters: 
    get:
      tags:
        - Matters
      summary: 'Gets a list of matters that contain the card'
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: cardId
          in: path
          description: Card Id
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/Definition_200Response_Cards_CardId_Matters'                        
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Bad request.        
        '500':
          description: Server error
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Server error
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API-Domain]/api/v2/cards/[cardIdValue]/matters 
             -H 'accept: application/json'
             -H 'authorization: [bearer-token]'                           
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]/api/v2/cards/{cardIdParam}/matters"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("accept", "application/json");              
             request.AddHeader("authorization", "[bearer-token]"); 

             request.AddParameter("cardIdParam", "[parameter-value]", ParameterType.UrlSegment);

             IRestResponse response = client.Execute(request);

  /api/v3/matters/{matterId}/definableTables/{recordId}:
    delete: 
      tags: 
        - Matters
      summary: Deletes a matter's definable table. Locates the definable table by recordId
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter ID
          required: true
          type: string
        - name: recordId
          in: path
          description: Record ID
          required: true
          type: string
      responses:
        '200':
          description: Success
          Message: "OK"
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing                
          examples:
            application/json:
              Message: Success
        '404':
          description: Not found
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Not found
        '500':
          description: Server error
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Server error
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X DELETE  
             https://[API-Domain]/api/v2/matters/{matterIdValue}/definabletables/{recordIdValue}
             -H 'accept: application/json'
             -H 'authorization: [bearer-token]'   
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]/api/v2/matters/{matterId}/definabletables/{recordId}
            
             var request = new RestRequest(Method.DELETE); 

             request.AddHeader("accept", "application/json");              
             request.AddHeader("authorization", "[bearer-token]"); 
             
             request.AddParameter("matterId", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("recordId", "[parameter-value]", ParameterType.UrlSegment);
             
             IRestResponse response = client.Execute(request); 

  /api/v3/matters: 
    get:
      tags:
        - Matters
      summary: 'Gets a list of matters'
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: rowVersion
          in: query
          description: Database row Id that references this item
          required: false 
          type: string
        - name: isArchived
          in: query
          description: Filter value for isArchived property (default is no filter)
          required: false 
          type: string
        - name: maxItems
          in: query
          description: Amount of matters to return (max of 10000)
          required: false 
          type: string
        - name: isCurrent
          in: query
          description: Filter value for isCurrent property (default is no filter)
          required: false 
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/Definition_200Response_Get_v3_Matters'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          Message: "{ 'message': 'string'}"
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing          
        '401':
          description: Unauthorized
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: 401 response
        '403':
          description: Forbidden (check your LEAP API Key)
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: 403 response
        '404':
          description: Not found
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Not found
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: 429 response
        '500':
          description: Internal Server Error
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Server error
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API-Domain]/api/v3/matters?rowVersion={row-version-value}&isArchived={isArchivedValue}&maxItems={maxItemsValue}&isCurrent={isCurrentValue}
             -H 'accept: application/json'
             -H 'authorization: [bearer-token]'                 
             
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]api/v3/matters?rowVersion={rowVersionValue}"
            + "&isArchived={isArchivedValue}"
            + "&maxItems={maxItemsValue}"
            + "&isCurrent={isCurrentValue}"); 

             var request = new RestRequest(Method.GET); 

             request.AddHeader("accept", "application/json");              
             request.AddHeader("authorization", "[bearer-token]"); 
             
             request.AddParameter("rowVersionValue", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("isArchivedValue", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("maxItemsValue", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("isCurrentValue", "[parameter-value]", ParameterType.UrlSegment);

             IRestResponse response = client.Execute(request);   

  /api/v3/matters/{matterId}/definabletables: 
    put: 
      tags: 
        - Matters 
      summary: Updates a matter's definable tables. Locates the definable table by definableTableId and recordId
      produces:
        - application/json
      parameters:        
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: path
          description: Matter Id
          required: true 
          type: string
        - name: ArrayOfDefinableTableV2LDPVWMDU 
          in: body
          description: Body
          required: true
          schema: 
            $ref: '#/definitions/Definition_Put_MatterId_DefinableTables_ArrayOfDefinableTableV2LDPVWMDU'
      responses:
        '200':
          description: Success
          Message: "OK"
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Unauthorized
          Message: "Unauthorized"
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing          
        '403':
          description: 403 response
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: 403 response
        '404':
          description: Not found
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: Not found
        '429':
          description: 429 response
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: 429 response
        '500':
          description: Server error
          headers: 
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          examples:
            application/json:
              Message: 500 response
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X PUT 
             https://[API-Domain]/api/v3/matters/{matterID}/definabletables
             -H 'accept: application/json'
             -H 'authorization: [bearer-token]'   

             -H "content-type: application/json" 
             -d "[ 
                    { 
                      "recordId": "record-id-value", 
                      "definableTableId": "definable-table-ID", 
                      "fields": 
                      [ 
                          { 
                              "fieldId": "name", 
                              "value": "name-value" 
                          }
                          ,{ 
                              "fieldId": "date-of-birth", 
                              "value": "DOB-value" 
                            } 
                      ] 
                    }
                  ]" 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API-Domain]/api/v3/matters/{matterID}/definabletables"
            
             var request = new RestRequest(Method.PUT); 

             request.AddHeader("accept", "application/json");              
             request.AddHeader("authorization", "[bearer-token]"); 
             
             request.AddParameter("matterID", "[parameter-value]", ParameterType.UrlSegment);
             
             request.AddParameter("application/json", 
             "[
                { 
                  "recordId": "record-id-value", 
                  "fields": [
                    {
                      "fieldId": "294001", 
                      "value": "UPDATED COMMERCIAL PROPERTY"
                    }, 
                    {
                      "fieldId": "269001", 
                      "value": "Unit 200"
                    }                   
                  ]
                }
              ]"); 

             IRestResponse response = client.Execute(request);          

  '/api/v1/matters/{matterId}/investmentaccountledger':
    get:
      tags:
        - Matters
      summary: Get Matter Investment Account Ledger
      produces:
        - application/json
      parameters:
        - name: matterId
          in: path
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/InvestmentAccountLedgerResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/matter/{matterId}/investmentaccountledger
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matter/{matterId}/investmentaccountledger"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  '/api/v1/matters/matterdata/debtordetails/{matterid}':
    get:
      tags:
        - Matters
      summary: Get Matter debtor
      produces:
        - application/json
      parameters:
        - name: matterid
          in: path
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/MatterInfoDebtorDetails'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/matters/matterdata/debtordetails/{matterid}
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/matterdata/debtordetails/{matterid}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
  '/api/v1/matters/mattertypesandstatuses':
    get:
      tags:
        - Matters
      summary: Retrieve Matter Types and Matter Statuses for a Firm
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Successful response.
          schema:
            $ref: '#/definitions/MatterTypesandStatusesResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/matters/mattertypesandstatuses
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/mattertypesandstatuses"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/matters/search/property:
    post:  
      tags:
        - Matters
      summary: Search for Matter by property details
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: ArrayOfMatterSearchTerm
          description: Array of Matter Search Term
          required: true
          schema:
            $ref: '#/definitions/ArrayOfMatterSearchTerm'
      responses:
        '200':
          description: Successful Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/matters/search/property
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "SearchTerms": [
                      {
                        "termName": "string",
                        "termValue": "string",
                        "termOption": "AllowWildcard"
                      }
                    ]
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/matters/search/property"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "SearchTerms": [
                  {
                    "termName": "string",
                    "termValue": "string",
                    "termOption": "AllowWildcard"
                  }
                ]
              }"); 
             IRestResponse response = client.Execute(request);  

  /api/v1/mattters/transitregister:
    post:  
      tags:
        - Matters
      summary: Create Transit Register
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateTransitRegisterTransaction
          description: Create Transit Register Transaction
          required: true
          schema:
            $ref: '#/definitions/CreateTransitRegisterTransaction'
      responses:
        '200':
          description: Successful Response
          schema:
            $ref: '#/definitions/OfficeJournalResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/mattters/transitregister
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "TransactionId": "string",
                    "MatterId": "string",
                    "ReceivedFrom": "string",
                    "PaymentTypeName": "string",
                    "PaymentTypeGuid": "string",
                    "PaymentTypeId": 0,
                    "Amount": 0,
                    "Reason": "string",
                    "Paid": true,
                    "Paid_To": "string",
                    "TransactionNumber": "string",
                    "ReceivedDate": "2023-03-24T00:39:26.434Z",
                    "PaidToDate": "2023-03-24T00:39:26.434Z",
                    "EntryDate": "2023-03-24T00:39:26.434Z",
                    "PaymentTypeDetail": {
                      "PaymentTypeDetailsGUID": "string",
                      "Addressee": "string",
                      "BSB": "string",
                      "AccountNumber": "string",
                      "AccountName": "string",
                      "Drawer": "string",
                      "ChequeNumber": "string",
                      "AuthorisationNumber": "string",
                      "ExpiryDate": "2023-03-24T00:39:26.434Z",
                      "Notes": 0,
                      "Coins": 0,
                      "Memo": "string",
                      "BillerCode": "string",
                      "BillerReference": "string",
                      "RowVersion": 0
                    },
                    "WarningAcknowledgments": [
                      0
                    ]
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/mattters/transitregister"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "TransactionId": "string",
                "MatterId": "string",
                "ReceivedFrom": "string",
                "PaymentTypeName": "string",
                "PaymentTypeGuid": "string",
                "PaymentTypeId": 0,
                "Amount": 0,
                "Reason": "string",
                "Paid": true,
                "Paid_To": "string",
                "TransactionNumber": "string",
                "ReceivedDate": "2023-03-24T00:39:26.434Z",
                "PaidToDate": "2023-03-24T00:39:26.434Z",
                "EntryDate": "2023-03-24T00:39:26.434Z",
                "PaymentTypeDetail": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-03-24T00:39:26.434Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string",
                  "RowVersion": 0
                },
                "WarningAcknowledgments": [
                  0
                ]
              }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/reporting/agedebtors:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's aged debtor details as at date
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
        Retrieve firm's aged debtor details as at date.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AtDateRequest
          required: true
          schema:
            $ref: '#/definitions/ReportingAtDate'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/agedwipbymatter
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "MatterBillingModes": [
                    0
                    ],
                    "AtDate": "2022-12-02T03:51:55.604Z"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/agedwipbymatters"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "MatterBillingModes": [
                    0
                    ],
                    "AtDate": "2022-12-02T03:51:55.604Z"
                  }"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/reporting/ageddisbursements:
    post:  
      tags:
        - Reporting
      summary: Retrieve aged disbursements as at date for a firm
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
        Retrieve aged disbursements as at date for a firm.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AtDateRequest
          description: The Date of the Request
          required: true
          schema:
            $ref: '#/definitions/ReportingAtDate'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/ageddisbursements
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "AtDate": "2019-08-24T14:15:22Z"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/ageddisbursements"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "AtDate": "2019-08-24T14:15:22Z"
            }"); 
             IRestResponse response = client.Execute(request);  
  /api/v1/reporting/agedwip:
    post:  
      tags:
        - Reporting
      summary: Retrieve WIP as at date
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
        Retrieve WIP as at date
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AtDateRequest
          description: The Date of the Request
          required: true
          schema:
            $ref: '#/definitions/ReportingAtDate'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/agedwip
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "AtDate": "2019-08-24T14:15:22Z"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/agedwip"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "AtDate": "2019-08-24T14:15:22Z"
            }"); 
             IRestResponse response = client.Execute(request);  

  /api/v1/reporting/agedwipbymatter:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's aged WIP as at date for given matter billing modes
      description: |
        *Utilise GET /api/v1/reporting/getasyncrequest/{requestid} to retrieve results.*
        Retrieve firm's aged WIP as at date for given matter billing modes 
      
      # *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      # Retrieve firm's aged WIP as at date for given matter billing modes 
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: Request Body
          description: The request body
          required: true
          schema:
            $ref: '#/definitions/GetAgedWIPByMatterRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request       
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '401':
          description: Unauthorized        
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '403':
          description: Forbidden         
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)          
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing        
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/agedwipbymatter
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "MatterBillingModes": [
                    0
                    ],
                    "AtDate": "2022-12-02T03:51:55.604Z"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/agedwipbymatter"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "MatterBillingModes": [
                    0
                    ],
                    "AtDate": "2022-12-02T03:51:55.604Z"
                  }"); 
             IRestResponse response = client.Execute(request);              
  /api/v1/reporting/controlledmoneylistofaccounts:
    post:  
      tags:
        - Reporting
      summary: Returns the Controlled Money List of Account Details.
      description: |-
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AtDateRequest
          required: true
          schema:
            $ref: '#/definitions/ReportingAtDate'
      responses:
        '200':
          description: Asynchronous response payload (retrieved from GET /api/v1/reporting/getasyncrequest/{requestId})
          schema:
            $ref: '#/definitions/ReportingControlledMoney'
        '202':
          description: Success
          schema:
            $ref: '#/definitions/AsyncResponse'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/controlledmoneylistofaccounts
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "AtDate": "2019-08-24T14:15:22Z"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/controlledmoneylistofaccounts"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "AtDate": "2019-08-24T14:15:22Z"
            }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/reporting/getasyncrequest/{requestid}:
    get:  
      tags:
        - Reporting
      summary: Get asynchronous result
      description: For APIs with asynchronous responses, please use this API endpoint and supply the request ID returned by the asynchronous API call to retrieve the actual payload.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: |+
            Example: asynchronous response payload for POST /api/v1/reporting/controlledmoneylistofaccounts
          schema:          
            $ref: '#/definitions/ReportingControlledMoney'          
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/reporting/getasyncrequest/{requestid}
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/getasyncrequest/{requestid}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
             
  /api/v1/reporting/matterretainers:
    post:  
      tags:
        - Reporting
      summary: Retrieve matter office and trust retainer balances
      description: |+
        **NOTE**: This Endpoint is for **US** and **Canada**
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/mattersopened
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/mattersopened"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
             
  /api/v1/reporting/mattersopened:
    post:  
      tags:
        - Reporting
      summary: Retrieve matters opened for given date range
      description: |+
        Caching: Results for this endpoint are cached for 4 hours.       
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range From and To
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/mattersopened
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/mattersopened"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/reporting/officeinvoices:
    post:  
      tags:
        - Reporting
      summary: Retrieve office invoices for given date range 
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: GetInvoiceFinancialsRequestLRCR
          description: Get Invoice Financials Request LRCR
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/officeinvoices
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/officeinvoices"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/reporting/officereceipts:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's office receipt details for given date range
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/officereceipts
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/officereceipts"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/reporting/staffbudgets:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's staff budgets for date range
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Success
          schema:
            $ref: '#/definitions/AsyncResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/staffbudgets
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/staffbudgets"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/reporting/staffinvoicedfunds:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's staff invoiced funds details for date range
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AsyncResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/staffinvoicedfunds
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/staffinvoicedfunds"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);             
  /api/v1/reporting/disbursementlisting:
    post:  
      tags:
        - Reporting
      summary: Retrieve disbursements for date range
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/disbursementlisting
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/disbursementlisting"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);           
  /api/v1/reporting/feecontributionandrecoveries:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's fee contribution and recovery details for given date range
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/feecontributionandrecoveries
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/feecontributionandrecoveries"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);   
  /api/v1/reporting/firmcustomfields:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's custom fields
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/firmcustomfields
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/firmcustomfields"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);   
  /api/v1/reporting/firmreportinggroups:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's reporting groups
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/firmreportinggroups
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/firmreportinggroups"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);   
  /api/v1/reporting/matterlist:
    get:  
      tags:
        - Reporting
      summary: Retrieves all non-archived matter list details for a firm
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/reporting/matterlist
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/matterlist"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request); 

  /api/v1/reporting/matterscriticaldates:
    post:  
      tags:
        - Reporting
      summary: Retrieve critical dates listing for given date range
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/matterscriticaldates
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/matterscriticaldates"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request); 

  /api/v1/reporting/mattersdueforsettlement:
    post:  
      tags:
        - Reporting
      summary: Retrieve matters due for settlement for given date range
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/mattersdueforsettlement
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/mattersdueforsettlement"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);

  /api/v1/reporting/staffreceiptedfunds:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's staff receipted details for a date range
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: Request Body
          in: body
          description: Request body containing date range of query
          required: true
          schema:
            $ref: '#/definitions/RequestBody_DateRange_MainObj'
      responses:
        '202':
          description: Successful response/Accepted
          schema:
            $ref: '#/definitions/200Response_Accepted_ID'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/reporting/staffreceiptedfunds
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             -H '{
                "dateRange": {
                  "from": "2023-07-12T23:18:14.224Z",
                  "to": "2023-07-12T23:18:14.224Z"
                }
             }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/staffreceiptedfunds"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");

             request.AddParameter("application/json",
             "
              {
                "dateRange": {
                  "from": "2023-07-12T23:18:14.224Z",
                  "to": "2023-07-12T23:18:14.224Z"
                }
              }
             ",ParameterType.RequestBody);

             IRestResponse response = client.Execute(request);

  /api/v1/reporting/stafftimeandfeeactivitysummary:
    post:  
      tags:
        - Reporting
      summary: Retrieve staff time and fee activity summary for given date range
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: Request Body
          in: body
          description: Request body containing date range of query
          required: true
          schema:
            $ref: '#/definitions/RequestBody_DateRange_MainObj'
      responses:
        '200':
          description: OK
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '202':
          description: Successful response/Accepted
          schema:
            $ref: '#/definitions/200Response_Accepted_ID'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/reporting/stafftimeandfeeactivitysummary
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             -H '{
                "dateRange": {
                  "from": "2023-07-12T23:18:14.224Z",
                  "to": "2023-07-12T23:18:14.224Z"
                }
             }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/stafftimeandfeeactivitysummary"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");

             request.AddParameter("application/json",
             "
              {
                "dateRange": {
                  "from": "2023-07-12T23:18:14.224Z",
                  "to": "2023-07-12T23:18:14.224Z"
                }
              }
             ",ParameterType.RequestBody);

             IRestResponse response = client.Execute(request);

  /api/v1/reporting/timeandfeelisting:
    post:  
      tags:
        - Reporting
      summary: Retrieve firm's time and fee listing for given date range
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: Request Body
          in: body
          description: Request body containing date range of query
          required: true
          schema:
            $ref: '#/definitions/RequestBody_DateRange_MainObj'
      responses:
        '202':
          description: Successful response/Accepted
          schema:
            $ref: '#/definitions/200Response_Accepted_ID'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/reporting/timeandfeelisting
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             -H '{
                "dateRange": {
                  "from": "2023-07-12T23:18:14.224Z",
                  "to": "2023-07-12T23:18:14.224Z"
                }
             }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/timeandfeelisting"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");

             request.AddParameter("application/json",
             "
              {
                "dateRange": {
                  "from": "2023-07-12T23:18:14.224Z",
                  "to": "2023-07-12T23:18:14.224Z"
                }
              }
             ",ParameterType.RequestBody);

             IRestResponse response = client.Execute(request);

  /api/v1/reporting/trustbankregister:
    post:  
      tags:
        - Reporting
      summary: Retrieves trust account bank register items within date range for a specific firm
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: BankAccDateRange
          in: body
          required: true
          schema:
            $ref: '#/definitions/GetTrustBankRegisterRequestLRCR'
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string          
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AsyncResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/reporting/trustbankregister
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                      "BankAccountId": "string",
                      "DateRange": {
                      "From": "2023-05-31T00:24:21.479Z",
                      "To": "2023-05-31T00:24:21.479Z" }
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/trustbankregister"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                      "BankAccountId": "string",
                      "DateRange": {
                      "From": "2023-05-31T00:24:21.479Z",
                      "To": "2023-05-31T00:24:21.479Z" }
            }"); 
             IRestResponse response = client.Execute(request);    

  /api/v1/reporting/userreports:
    post:  
      tags:
        - Reporting
      summary: Retrieve LEAP reports accessible by user, applying report security permissions
      description: Changes to report permissions take 5 minutes to refresh accessible reports listed here.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '202':
          description: 202 Response
          schema:
            $ref: '#/definitions/AsyncResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/reporting/userreports
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/userreports"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);  

  /api/v1/reporting/weeklytimeandfeerecordedbystaff:
    post:  
      tags:
        - Reporting
      summary: Retrieve time and fee hours recorded by staff for a week starting on a given date
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AtDateRequest
          required: true
          schema:
            $ref: '#/definitions/AtDateRequest'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AsyncResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             https://[API Domain]/api/v1/reporting/weeklytimeandfeerecordedbystaff
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                     "id": "string"
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/weeklytimeandfeerecordedbystaff"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                     "id": "string"
             }"); 
             IRestResponse response = client.Execute(request);

  /api/v1/weeklytimeandfeebystaff:         
    post:
      tags:
        - Reporting
      summary: Retrieve time and fees financials by staff for a week starting on a given date
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: GetTimeAndFeeByStaffRequestLRCR 
          in: body
          description: Time And Fee By Staff Request Model
          required: true
          schema:
            $ref: '#/definitions/WeeklyTimeAndFeeRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/WeeklyTimeAndFeeResponse'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             https://[API Domain]/api/v1/weeklytimeandfeebystaff
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "StartDate": "2019-08-24T14:15:22Z",
                    "StaffIds": "string",
                    "StaffType": "string"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/WeeklyTimeAndFeeRequest"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "StartDate": "2019-08-24T14:15:22Z",
                "StaffIds": "string",
                "StaffType": "string"
              }"); 
             IRestResponse response = client.Execute(request);

  /api/v1/schema/mattertypes:
    get:  
      tags:
        - Schema
      summary: Get a list of MatterTypes
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: state
          in: query
          description: State
          type: string
        - name: limit
          in: query
          description: Limit
          type: string
        - name: sort
          in: query
          description: Sort
          type: string
        - name: includeAncestors
          in: query
          description: Include Ancestors
          type: string
        - name: includedDeleted
          in: query
          description: Include Deleted
          type: string
        - name: reduce
          in: query
          description: Reduce
          type: string
        - name: filterName
          in: query
          description: Filter Name
          type: string
        - name: page
          in: query
          description: Page
          type: string
      responses:
        '200':
          description: Response
          schema:
            $ref: '#/definitions/SchemaMatterTypesResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/schema/mattertypes
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/schema/mattertypes"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
  /api/v1/schema/mattertypes/tree:
    get:  
      tags:
        - Schema
      summary: Get tree of MatterTypes
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: state
          in: query
          description: State
          type: string
        - name: includedDeleted
          in: query
          description: Include Deleted
          type: string
      responses:
        '200':
          description: Response
          schema:
            $ref: '#/definitions/SchemaMatterTypesTreeResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/schema/mattertypes/tree
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/schema/mattertypes/tree"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
  /api/v1/schema/mattertypes/{id}/criticaldatescheme:
    get:  
      tags:
        - Schema
      summary: Get a list of CriticalDateSchemes for a MatterType
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: id
          in: path
          description: ID
          type: string
          format: uuid
      responses:
        '200':
          description: Response
          schema:
            $ref: '#/definitions/SchemaMatterTypesCriticalDatesResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/schema/mattertypes/{id}/criticaldatescheme
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/schema/mattertypes/{id}/criticaldatescheme"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
  /api/v1/schema/tables:
    get:  
      tags:
        - Schema
      summary: Get a list of Tables
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: limit
          in: query
          description: Limit
          type: string
        - name: sort
          in: query
          description: Sort
          type: string
        - name: includeDeleted
          in: query
          description: Include Deleted
          type: string
        - name: reduce
          in: query
          description: Reduce
          type: string
        - name: region
          in: query
          description: Region
          type: string
        - name: page
          in: query
          description: page
          type: string
      responses:
        '200':
          description: Response
          schema:
            $ref: '#/definitions/SchemaMatterTypesTablesResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]api/api/v1/schema/tables
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/schema/tables"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
  /api/v1/schema/tables/{id}/fields:
    get:  
      tags:
        - Schema
      summary: Get a list of Fields for a Table
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: limit
          in: query
          description: Limit
          type: string
        - name: sort
          in: query
          description: Sort
          type: string
        - name: includeDeleted
          in: query
          description: Include Deleted
          type: string
        - name: reduce
          in: query
          description: Reduce
          type: string
        - name: includeCardFields
          in: query
          description: Include Card Fields
          type: string
        - name: page
          in: query
          description: page
          type: string
        - name: id
          in: path
          description: page
          required: true
          type: string
      responses:
        '200':
          description: Response
          schema:
            $ref: '#/definitions/SchemaMatterTypesFieldTablesResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             https://[API Domain]/api/v1/schema/tables/{id}/fields
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/schema/tables/{id}/fields"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
  /api/v2/schema/{countryCode}/mattertypes/query:
    get:
      tags:
        - Schema
      summary: (v2) Get a list of MatterTypes
      produces:
        - application/json
      parameters:
        - name: state
          in: query
          description: The state for which to filter MatterTypes.
          required: false
          type: string
        - name: countryCode
          in: path
          description: The country code for which to retrieve MatterTypes.
          required: true
          type: string
        - name: productVariant
          in: query
          description: The product variant for which to filter MatterTypes.
          required: false
          type: string
        - name: Authorization
          in: header
          description: Bearer token for authentication.
          required: false
          type: string
        - name: x-api-key
          in: header
          description: API key for accessing the endpoint.
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: "#/definitions/ContentOfIEnumerableOfMatterTypeData"
          headers:
            Access-Control-Allow-Origin:
              type: string
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '401':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '403':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'        
        '404':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)          
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET "https://[API Domain]/api/v2/schema/{countryCode}/mattertypes/query" \
              -H "accept: application/json" \
              -H "authorization: [Bearer Token]" \
              -H "x-api-key: [Your API Key]" \
              -H "cache-control: no-cache"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API Domain]/api/v2/schema/{countryCode}/mattertypes/query");
            var request = new RestRequest(Method.GET);
            request.AddHeader("accept", "application/json");
            request.AddHeader("authorization", "[Bearer Token]");
            request.AddHeader("x-api-key", "[Your API Key]");
            request.AddHeader("cache-control", "no-cache");
            IRestResponse response = client.Execute(request);
  /api/v2/schema/{countryCode}/mattertypes/{matterTypeId}/scheme:
    get:
      tags:
        - Schema
      summary: (v2) Get a MatterType
      produces:
        - application/json
      parameters:
        - name: includeAncestors
          in: query
          description: Specify whether to include ancestor MatterTypes.
          required: false
          type: string
        - name: countryCode
          in: path
          description: The country code for which to retrieve the MatterType.
          required: true
          type: string
        - name: matterTypeId
          in: path
          description: The ID of the MatterType to retrieve.
          required: true
          type: string
        - name: Authorization
          in: header
          description: Bearer token for authentication.
          required: false
          type: string
        - name: x-api-key
          in: header
          description: API key for accessing the endpoint.
          required: true
          type: string
      responses:
        '200':
          description: Respone
          headers:
            Access-Control-Allow-Origin:
              type: string
          schema: 
            $ref: '#/definitions/ContentOfMatterTypeScheme'
            description: Bad Request
            schema:
              $ref: '#/definitions/ProblemDetails'
        '401':
          description: Unauthorized 
          schema:
            $ref: '#/definitions/ProblemDetails'
        '403':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'        
        '404':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)          
          headers:
            Access-Control-Allow-Origin:
              type: string
            description: Allows CORS sharing
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET "https://[API Domain]/api/v2/schema/{countryCode}/mattertypes/{id}" \
              -H "accept: application/json" \
              -H "authorization: [Bearer Token]" \
              -H "x-api-key: [Your API Key]" \
              -H "cache-control: no-cache"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API Domain]/api/v2/schema/{countryCode}/mattertypes/{id}");
            var request = new RestRequest(Method.GET);
            request.AddHeader("accept", "application/json");
            request.AddHeader("authorization", "[Bearer Token]");
            request.AddHeader("x-api-key", "[Your API Key]");
            request.AddHeader("cache-control", "no-cache");
            IRestResponse response = client.Execute(request);
  /api/v2/schema/{countryCode}/mattertypes/{matterTypesId}/criticaldatescheme:
    get:
      tags:
        - Schema
      summary: (v2) Get Critical Date Schemes for a MatterType
      produces:
        - application/json
      parameters:
        - name: countryCode
          in: path
          required: true
          type: string
          description: The country code to filter by.
        - name: matterTypeId
          in: path
          required: True
          type: string
          description: The ID of the matter type. 
        - name: Authorization
          in: header
          required: true
          type: string
          description: Bearer token for authorization.
      responses:
        '200':
          description: Successful response with Critical Date Scheme data.
          schema:
            $ref: '#/definitions/CriticalDateSchemeResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '401':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '403':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'        
        '404':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)          
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: 'curl'
          source: >+
            curl -X GET "https://[API Domain]/api/v2/schema/{countryCode}/mattertypes/{id}/criticaldatescheme" \
            -H "accept: application/json" \
            -H "Authorization: Bearer [Your Token]" \
            -H "x-api-key: [Your API Key]" \
            -H "cache-control: no-cache"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API Domain]/api/v2/schema/{countryCode}/mattertypes/{id}/criticaldatescheme");
            var request = new RestRequest(Method.GET);
            request.AddHeader("accept", "application/json");
            request.AddHeader("authorization", "[Bearer Token]");
            request.AddHeader("x-api-key", "[Your API Key]");
            request.AddHeader("cache-control", "no-cache");
            IRestResponse response = client.Execute(request);
  /api/v2/schema/{countryCode}/tables/{tableId}/fields:
    get:
      tags:
        - Schema
      summary: (v2) Get list of Fields for a Table
      produces:
        - application/json
      parameters:
        - name: includeCardFields
          in: query
          required: false
          type: string
          description: Whether to include card fields in the response.
        - name: countryCode
          in: path
          required: true
          type: string
          description: The country code to filter by.
        - name: Authorization
          in: header
          required: false
          type: string
          description: Bearer token for authorization.
        - name: tableId
          in: path
          required: true
          type: string
          description: The ID of the table.
      responses:
        '200':
          description: Successful response with list of fields for the table.
          schema:
            $ref: '#/definitions/ContentOfIListOfFieldScheme'
          headers:
            Access-Control-Allow-Origin:
              type: string
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '401':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '403':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'        
        '404':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)          
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: 'curl'
          source: >+
            curl -X GET "https://[API Domain]/api/v2/schema/{countryCode}/tables/{id}/fields" \
            -H "accept: application/json" \
            -H "Authorization: Bearer [Your Token]" \
            -H "x-api-key: [Your API Key]" \
            -H "cache-control: no-cache"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API Domain]/api/v2/schema/{countryCode}/tables/{id}/fields");
            var request = new RestRequest(Method.GET);
            request.AddHeader("accept", "application/json");
            request.AddHeader("authorization", "[Bearer Token]");
            request.AddHeader("x-api-key", "[Your API Key]");
            request.AddHeader("cache-control", "no-cache");
            IRestResponse response = client.Execute(request);
  /api/v2/schema/{countryCode}/mattertypes/tree:
    get:
      tags:
        - Schema
      summary: (v2) Get tree of MatterTypes
      produces:
        - application/json
      parameters:
        - name: countryCode
          in: path
          required: true
          type: string
          description: The country code to filter by.
        - name: state
          in: query
          required: false
          type: string
          description: Optional state parameter to filter results.
        - name: Authorization
          in: header
          required: false
          type: string
          description: Bearer token for authorization.
      responses:
        '200':
          description: Successful response with MatterTypes tree data.
          schema:
            $ref: '#/definitions/ContentOfIEnumerableOfMatterTypeTreeDataV2' 
          headers:
            Access-Control-Allow-Origin:
              type: string
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '401':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '403':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'        
        '404':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)          
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: 'curl'
          source: >+
            curl -X GET "https://[API Domain]/api/v2/schema/{countryCode}/mattertypes/tree" \
            -H "accept: application/json" \
            -H "Authorization: Bearer [Your Token]" \
            -H "x-api-key: [Your API Key]" \
            -H "cache-control: no-cache"
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API Domain]/api/v2/schema/{countryCode}/mattertypes/tree");
            var request = new RestRequest(Method.GET);
            request.AddHeader("accept", "application/json");
            request.AddHeader("authorization", "[Bearer Token]");
            request.AddHeader("x-api-key", "[Your API Key]");
            request.AddHeader("cache-control", "no-cache");
            IRestResponse response = client.Execute(request);
  /api/v2/schema/{countryCode}/tables/query:
    post:
      tags:
        - Schema
      summary: (v2) Get Tables
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: countryCode
          in: path
          required: true
          type: string
          description: The country code to filter by.
        - name: Authorization
          in: header
          required: true
          type: string
          description: Bearer token for authorization.
        - in: body
          name: FilteredTablesGetRequest
          required: true
          schema:
            $ref: '#/definitions/FilteredTablesGetRequestv2'
      responses:
        '200':
          description: Successful response with list of tables.
          schema:
            $ref: '#/definitions/ContentOfIListOfTableListItemScheme'
          headers:
            Access-Control-Allow-Origin:
              type: string
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '401':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '403':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'        
        '404':
          description: Bad Request
          schema:
            $ref: '#/definitions/ProblemDetails'
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)          
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: 'curl'
          source: >+
            curl -X POST "https://[API Domain]/api/v2/schema/{countryCode}/tables" \
            -H "accept: application/json" \
            -H "Authorization: Bearer [Your Token]" \
            -H "x-api-key: [Your API Key]" \
            -H "cache-control: no-cache" \
            -d '{"yourRequestBody": "value"}'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API Domain]/api/v2/schema/{countryCode}/tables");
            var request = new RestRequest(Method.POST);
            request.AddHeader("accept", "application/json");
            request.AddHeader("authorization", "[Bearer Token]");
            request.AddHeader("x-api-key", "[Your API Key]");
            request.AddHeader("cache-control", "no-cache");
            request.AddJsonBody(new { yourRequestBody = "value" });
            IRestResponse response = client.Execute(request);

  /api/v2/taskcodes/costrecovery:
    get:
      tags:
        - Task Codes
      summary: Returns all cost recovery task codes.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              - TaskCodeId: 245e18f5-d3c2-4b43-a37b-6397d261ebf4
                PurchaseSupplierCardId: null
                TaxCodeId: d261aefc-2a43-4ac2-b914-e4a8613d9e35
                PurchaseMode: null
                Deleted: false
                NameFileAs: itsf
                BillingDescription: 'InfoTrack search fee '
                IncTax: true
                AmountEach: 0
                GroupOnInvoice: true
          schema:
            $ref: '#/definitions/ArrayOfTaskCodeCostRecovery'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v2/taskcodes/costrecovery 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/taskcodes/costrecovery"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

    post:
      tags:
        - Task Codes
      summary: Creates a new cost recovery task code.
      Description: |
        This endpoint is used to create new cost recovery task codes.

        Prerequisite endpoints:
        - GET /api/v2/taskcodes/costrecovery
        - GET /api/v2/taxcodes
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: isConversion
          in: query
          description: Is this a conversion firm (true/false)
          required: false
          type: bool
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CostRecoveryTaskCode
          description: CostRecovery TaskCode object
          required: true
          schema:
            $ref: '#/definitions/CostRecoveryTaskCode'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          examples:
            application/json:
              Code: -109
              PropertyName: null
              Message: Tax code Id does not exist.
              MessageHeader: null
              LineItemNumber: null
          schema:
            $ref: '#/definitions/ErrorResp'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST  https://[API Domain]/api/v1/costrecovery  \n -H 'accept: application/json' \n -H 'authorization: [Bearer Token]' \n -H 'cache-control: no-cache' \n -H 'content-type: application/json' \n -H 'x-api-key: [LEAP API Key]' \n -d '{ \n \t\"TaskCodeId\": \"fd867c2f-805b-4190-903d-c797e7b92b47\", \n \t\"TaxCodeId\": \"8940a09c-22b8-418c-83b4-761c0f14ef9b\", \n \t\"NameFileAs\": \"VAT\", \n \t\"BillingDescription\": \"Vat inclusive\", \n \t\"PurchaseSupplierCardId\": \"58737221-40c4-49cb-9c4f-4092a28fc390\", \n \t\"GroupOnInvoice\": true, \n \t\"AmountEach\": 15, \n \t\"InclusiveTax\": true, \n \t\"ImportedFrom\": \"string\", \n \t\"PurchaseMode\": 0 \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/costrecovery\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"TaskCodeId\": \"fd867c2f-805b-4190-903d-c797e7b92b47\", \n \t\"TaxCodeId\": \"8940a09c-22b8-418c-83b4-761c0f14ef9b\", \n \t\"NameFileAs\": \"VAT\", \n \t\"BillingDescription\": \"Vat inclusive\", \n \t\"PurchaseSupplierCardId\": \"58737221-40c4-49cb-9c4f-4092a28fc390\", \n \t\"GroupOnInvoice\": true, \n \t\"AmountEach\": 15, \n \t\"InclusiveTax\": true, \n \t\"ImportedFrom\": \"string\", \n \t\"PurchaseMode\": 0 \n } \", \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
    put:
      tags:
        - Task Codes
      summary: Updates an existing cost recovery task code.
      description: |
        This endpoint is used to update existing cost recovery task codes.

        Prerequisite endpoints:
        - GET /api/v2/taskcodes/costrecovery
        - GET /api/v2/taxcodes
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: AccTaskCodeCostRecovery
          description: CostRecovery TaskCode update object
          required: true
          schema:
            $ref: '#/definitions/AccTaskCodeCostRecovery'
      responses:
        '200':
          description: Created
          schema:
            $ref: '#/definitions/200SucessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '400':
          description: Bad Request
          examples:
            application/json:
              Code: -109
              PropertyName: null
              Message: Tax code Id does not exist.
              MessageHeader: null
              LineItemNumber: null
          schema:
            $ref: '#/definitions/ErrorResp'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X PUT  https://[API Domain]/api/v2/taskcodes/costrecovery
                  -H 'accept: application/json' 
                  -H 'authorization: [Bearer Token]' 
                  -H 'cache-control: no-cache' 
                  -H 'content-type: application/json' 
                  -H 'x-api-key: [LEAP API Key]' 
                  -d '{
                      "NameFileAs": "string",
                      "BillingDescription": "string",
                      "GroupOnInvoice": true,
                      "Deleted": true,
                      "AmountEach": 0,
                      "InclusiveTax": true,
                      "PurchaseMode": 0,
                      "RowVersion": 0,
                      "TaskCodeId": "a0145c95-35d6-4c5c-b3d1-86a7498bc524",
                      "TaxCodeId": "0be9efd9-bd24-46d7-95f6-80d65420a88e",
                      "PurchaseSupplierCardId": "d9965882-a1f4-40b3-a8f3-e2b13b683f98"
                      }
        - lang: 'C#'
          source: |
            var client = new RestClient("https://[API Domain]/api/v2/taskcodes/costrecovery"); 
            var request = new RestRequest(Method.PUT); 
            request.AddHeader("cache-control", "no-cache"); 
            request.AddHeader("content-type", "application/json"); 
            request.AddHeader("x-api-key", "[LEAP API Key]"); 
            request.AddHeader("authorization", "[Bearer Token]"); 
            request.AddHeader("accept", "application/json"); 
            request.AddParameter("application/json", 
              "{
              "NameFileAs": "string",
              "BillingDescription": "string",
              "GroupOnInvoice": true,
              "Deleted": true,
              "AmountEach": 0,
              "InclusiveTax": true,
              "PurchaseMode": 0,
              "RowVersion": 0,
              "TaskCodeId": "a0145c95-35d6-4c5c-b3d1-86a7498bc524",
              "TaxCodeId": "0be9efd9-bd24-46d7-95f6-80d65420a88e",
              "PurchaseSupplierCardId": "d9965882-a1f4-40b3-a8f3-e2b13b683f98"
              } ", 
            ParameterType.RequestBody); 
            IRestResponse response = client.Execute(request); 
  /api/v2/taskcodes/fees:
    get:
      tags:
        - Task Codes
      summary: Returns all fee task codes.
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              - TaskCodeId: 99d91cb4-38e3-4b2e-af47-650dd9eb6be5
                TaxCodeId: d261aefc-2a43-4ac2-b914-e4a8613d9e35
                NameFileAs: ata
                BillingDescription: 'Attending to opening file '
                GroupOnInvoice: false
                Deleted: false
                AmountRate: 0
                IncTax: false
                RateId: 1
                Timed: true
                CalculationMode: 0
                CalculationScript: null
                RowVersion: 12045143
                BillingMode: 0
          schema:
            $ref: '#/definitions/ArrayOfTaskCodeFee'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v2/taskcodes/fees 
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/taskcodes/fees"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 

    post:
      tags:
        - Task Codes
      summary: Creates a new fee task code.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: isConversion
          in: query
          description: Is this a conversion firm (true/false)
          required: false
          type: bool
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: FeeTaskCode
          description: Fee TaskCode object
          required: true
          schema:
            $ref: '#/definitions/FeeTaskCode'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request
          examples:
            application/json:
              Code: -111
              PropertyName: null
              Message: Tax code Id does not exist.
              MessageHeader: null
              LineItemNumber: null
          schema:
            $ref: '#/definitions/ErrorResp'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST  https://[API Domain]/api/v2/taskcodes/fees  \n -H 'accept: application/json'  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '{ \n \t\"TaskCodeId\": \"dd061910-b6f0-467d-b2e3-9a9a44b2b86d\", \n \t\"TaxCodeId\": \"66a4425c-e4ad-402e-9fc7-4df9e71f65ab\", \n \t\"NameFileAs\": \"Fee Ex\", \n \t\"BillingDescription\": \"Excluding\", \n \t\"GroupOnInvoice\": true, \n \t\"Deleted\": false, \n \t\"AmountRate\": 25, \n \t\"InclusiveTax\": true, \n \t\"RateId\": 0, \n \t\"Timed\": true, \n \t\"CalculationMode\": 0, \n \t\"CalculationScript\": \"string\", \n \t\"ImportedFrom\": \"string\", \n \t\"BillingMode\": 0 \n }' \n"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v2/taskcodes/fees\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{ \n \t\"TaskCodeId\": \"dd061910-b6f0-467d-b2e3-9a9a44b2b86d\", \n \t\"TaxCodeId\": \"66a4425c-e4ad-402e-9fc7-4df9e71f65ab\", \n \t\"NameFileAs\": \"Fee Ex\", \n \t\"BillingDescription\": \"Excluding\", \n \t\"GroupOnInvoice\": true, \n \t\"Deleted\": false, \n \t\"AmountRate\": 25, \n \t\"InclusiveTax\": true, \n \t\"RateId\": 0, \n \t\"Timed\": true, \n \t\"CalculationMode\": 0, \n \t\"CalculationScript\": \"string\", \n \t\"ImportedFrom\": \"string\", \n \t\"BillingMode\": 0 \n } \", \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"

  /api/v2/taxcodes:
    get:
      tags:
        - Tax Codes
      summary: Returns a list of all tax codes
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              - FirmId: 4fead794-16a6-4e70-bb0e-c0c6cf95ba2c
                RatePercent: 10
                TaxCodeId: d261aefc-2a43-4ac2-b914-e4a8613d9e35
                GLTaxCode: OUTPUT
                TaxCode: GST
                GLTaxCodeType: GST
                Deleted: false
                TaxCodeDescription: Goods & Services Tax
                RowVersion: 14530076
          schema:
            $ref: '#/definitions/ArrayOfTaxCode'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad Request     
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '401':
          description: Unauthorized         
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '403':
          description: Forbidden (check your LEAP API Key)
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '404':
          description: Not Found      
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '429':
          description: Too Many Requests (endpoint throttling enabled, retry request)          
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing 
        '500':
          description: Internal Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '504':
          description: Gateway Timeout
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v2/taxcodes 
             -H 'accept: application/json'  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v2/taxcodes"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
  /api/v1/trustbankdeposit:             
    post:
      tags:
        - Trust
      summary: Create a trust bank deposit
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateTrustBankDeposit
          description: Trust Bank Deposit Object
          required: true
          schema:
            $ref: '#/definitions/CreateTrustBankDeposit'
      responses:
        '201':
          description: Success
          examples:
            application/json:
              Code: 0
              RowVersion: 0
              Message: string
              TransactionNumber: string
          schema:
            $ref: '#/definitions/TrustJournalAdd'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/trustpayment
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "TrustBankDepositGuid": "5cc5bbe0-6346-44ec-b501-8c70eae3f4cf",
                    "TrustBankAccountGuid": "c15ce1db-c982-4177-bc10-0c9980b4ba35",
                    "TransactionNumber": "string",
                    "TransactionDate": "2019-08-24T14:15:22Z",
                    "EntryDate": "2019-08-24T14:15:22Z",
                    "AutoNumber": 0,
                    "Memo": "string",
                    "Reconciled": 0,
                    "TotalAmount": 0,
                    "SemaphoreGuid": "e119137b-a654-4d8a-b67d-1e68e321f3e2",
                    "WarningAcknowledgments": [
                      0
                    ],
                    "Receipts": [
                      {
                      "TrustreceiptGuid": "3735ccdb-d1a7-4db9-bb6e-ef147b4d87d4",
                      "RowVersion": 0,
                      "TransactionDate": "2019-08-24T14:15:22Z",
                      "EntryDate": "2019-08-24T14:15:22Z"
                      }
                    ]
                  }
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trustpayment"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "TrustBankDepositGuid": "5cc5bbe0-6346-44ec-b501-8c70eae3f4cf",
                "TrustBankAccountGuid": "c15ce1db-c982-4177-bc10-0c9980b4ba35",
                "TransactionNumber": "string",
                "TransactionDate": "2019-08-24T14:15:22Z",
                "EntryDate": "2019-08-24T14:15:22Z",
                "AutoNumber": 0,
                "Memo": "string",
                "Reconciled": 0,
                "TotalAmount": 0,
                "SemaphoreGuid": "e119137b-a654-4d8a-b67d-1e68e321f3e2",
                "WarningAcknowledgments": [
                  0
                ],
                "Receipts": [
                  {
                  "TrustreceiptGuid": "3735ccdb-d1a7-4db9-bb6e-ef147b4d87d4",
                  "RowVersion": 0,
                  "TransactionDate": "2019-08-24T14:15:22Z",
                  "EntryDate": "2019-08-24T14:15:22Z"
                  }
                ]
              }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/trustjournal:
    post:
      tags:
        - Trust
      summary: Create a trust journal
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: TrustJournalAdd
          description: Trust Journal Object
          required: true
          schema:
            $ref: '#/definitions/TrustJournalAdd'
      responses:
        '201':
          description: OK
          examples:
            application/json:
              Code: 0
              RowVersion: 0
              Message: string
              TransactionNumber: string
          schema:
            $ref: '#/definitions/TrustJournalAdd'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST  https://[API Domain]/api/v1/trustjournal  \n -H 'accept: application/json'  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'  \n -d '{\n \t\"TrustJournalGUID\": \"string\",  \n \t\"TrustJournalReverseGUID\": \"string\",  \n \t\"AccountGUID\": \"string\",  \n \t\"JournalNumber\": \"string\",  \n \t\"TransactionDate\": \"2021-11-30T07:18:25.957Z\",  \n \t\"EntryDate\": \"2021-11-30T07:18:25.957Z\",  \n \t\"AutoNumber\": 0,  \n \t\"ReversedOrReversal\": 0,  \n \t\"AuthorisedByGUID\": \"string\",  \n \t\"TrustJournalItems\": [  \n \t\t{  \n \t\t\t\"Description\": \"string\",  \n \t\t\t\"TrustJournalItemGUID\": \"string\",  \n \t\t\t\"MatterGUID\": \"string\",  \n \t\t\t\"Amount\": 0,  \n \t\t\t\"TrustJournalItemReverseGUID\": \"string\"  \n \t\t}  \n \t],  \n \t\"WarningAcknowledgments\": [  \n \t\t0  \n \t]  \n }' "
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/trustjournal\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n \"{\n \t\"TrustJournalGUID\": \"string\",  \n \t\"TrustJournalReverseGUID\": \"string\",  \n \t\"AccountGUID\": \"string\",  \n \t\"JournalNumber\": \"string\",  \n \t\"TransactionDate\": \"2021-11-30T07:18:25.957Z\",  \n \t\"EntryDate\": \"2021-11-30T07:18:25.957Z\",  \n \t\"AutoNumber\": 0,  \n \t\"ReversedOrReversal\": 0,  \n \t\"AuthorisedByGUID\": \"string\",  \n \t\"TrustJournalItems\": [  \n \t\t{  \n \t\t\t\"Description\": \"string\",  \n \t\t\t\"TrustJournalItemGUID\": \"string\",  \n \t\t\t\"MatterGUID\": \"string\",  \n \t\t\t\"Amount\": 0,  \n \t\t\t\"TrustJournalItemReverseGUID\": \"string\"  \n \t\t}  \n \t],  \n \t\"WarningAcknowledgments\": [  \n \t\t0  \n \t]  \n } \", \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
  /api/v1/trustpayment:  
    post:  
      tags:
        - Trust
      summary: Create a trust payment
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateTrustPayment
          description: Trust Payment Object
          required: true
          schema:
            $ref: '#/definitions/CreateTrustPayment'
      responses:
        '201':
          description: Success
          schema:
            $ref: '#/definitions/SuccessResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/trustpayment
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "TrustPaymentGUID": "efec7475-d636-4ce5-8706-90e20580c682",
                    "BankAccountGUID": "61631ad7-1f47-473e-b6a6-6261d0b3dd73",
                    "PaymentNumber": "string",
                    "TransactionDate": "2019-08-24T14:15:22Z",
                    "EntryDate": "2019-08-24T14:15:22Z",
                    "PayToAddressee": "string",
                    "PaymentTypeName": "string",
                    "PaymentTypeDetails": {
                    "PaymentTypeDetailsGUID": "8e41085d-ecb7-4daa-9952-9c005fe83a91",
                    "Addressee": "string",
                    "BSB": "string",
                    "AccountNumber": "string",
                    "AccountName": "string",
                    "Drawer": "string",
                    "ChequeNumber": "string",
                    "AuthorisationNumber": "string",
                    "ExpiryDate": "2019-08-24T14:15:22Z",
                    "Notes": 0,
                    "Coins": 0,
                    "Memo": "string",
                    "BillerCode": "string",
                    "BillerReference": "string",
                    "RowVersion": 0
                    },
                    "PaymentTypeId": 0,
                    "PaymentTypeGUID": "fc00c0d7-3938-4f70-9040-07a45c096f64",
                    "AutoNumber": 0,
                    "PaymentProcessed": 0,
                    "RowVersion": 0,
                    "Reconciled": 0,
                    "Void": true,
                    "OfficeReceiptGUID": "8dc703ba-1610-4118-ac82-8ef97bf74741",
                    "TrustPaymentItems": [
                    {
                    "TrustPaymentItemGUID": "5a5b4b02-0cf9-41f8-b175-e6b2fef0e9b3",
                    "Description": "string",
                    "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                    "RowVersion": 0,
                    "Amount": 0,
                    "ProtectedTrustFundGUID": "52bd3479-5054-4329-bb4c-ce7e372ac421",
                    "PRGUID": "3df96128-4b67-4ed4-b54a-a399c48d8488"
                    }
                    ],
                    "WarningAcknowledgments": [
                    0
                    ],
                    "SecurityOverride": {
                    "Username": "string",
                    "Password": "string"
                    },
                    "PayToName": "string"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trustpayment"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "TrustPaymentGUID": "efec7475-d636-4ce5-8706-90e20580c682",
                "BankAccountGUID": "61631ad7-1f47-473e-b6a6-6261d0b3dd73",
                "PaymentNumber": "string",
                "TransactionDate": "2019-08-24T14:15:22Z",
                "EntryDate": "2019-08-24T14:15:22Z",
                "PayToAddressee": "string",
                "PaymentTypeName": "string",
                "PaymentTypeDetails": {
                "PaymentTypeDetailsGUID": "8e41085d-ecb7-4daa-9952-9c005fe83a91",
                "Addressee": "string",
                "BSB": "string",
                "AccountNumber": "string",
                "AccountName": "string",
                "Drawer": "string",
                "ChequeNumber": "string",
                "AuthorisationNumber": "string",
                "ExpiryDate": "2019-08-24T14:15:22Z",
                "Notes": 0,
                "Coins": 0,
                "Memo": "string",
                "BillerCode": "string",
                "BillerReference": "string",
                "RowVersion": 0
                },
                "PaymentTypeId": 0,
                "PaymentTypeGUID": "fc00c0d7-3938-4f70-9040-07a45c096f64",
                "AutoNumber": 0,
                "PaymentProcessed": 0,
                "RowVersion": 0,
                "Reconciled": 0,
                "Void": true,
                "OfficeReceiptGUID": "8dc703ba-1610-4118-ac82-8ef97bf74741",
                "TrustPaymentItems": [
                {
                "TrustPaymentItemGUID": "5a5b4b02-0cf9-41f8-b175-e6b2fef0e9b3",
                "Description": "string",
                "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                "RowVersion": 0,
                "Amount": 0,
                "ProtectedTrustFundGUID": "52bd3479-5054-4329-bb4c-ce7e372ac421",
                "PRGUID": "3df96128-4b67-4ed4-b54a-a399c48d8488"
                }
                ],
                "WarningAcknowledgments": [
                0
                ],
                "SecurityOverride": {
                "Username": "string",
                "Password": "string"
                },
                "PayToName": "string"
              }"); 
             IRestResponse response = client.Execute(request);  
  /api/v1/trustpayment/{trustPaymentId}/InitialisationData:
    get:
      tags:
        - Trust
      summary: View a trust payment
      produces:
        - application/json
      parameters:
        - name: trustPaymentId
          in: query
          description: ID of the LEAP Matter in UUID format
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TrustPaymentInitialisationData'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/trustpayment/{trustPaymentId}/InitialisationData 
             -H 'accept: application/json'  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trustpayment/{trustPaymentId}/InitialisationData"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request);   
  '/api/v1/trustjournal/initialisationdata/{matterId}':
    get:
      tags:
        - Trust
      summary: Get trust journal initialisation data
      produces:
        - application/json
      parameters:
        - name: matterId
          in: query
          description: ID of the LEAP Matter in UUID format
          required: true
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          examples:
            application/json:
              Preference:
                TrustBankAccountGUID: string
                EFTNumberPrefix: string
              MatterSetting:
                DefaultTrustAccountGUID: string
              BankAccounts:
                - BankAccountGUID: string
                  AccountName: string
                  AccountNumber: string
                  BSB: string
                  NameFileAs: string
                  AccountUsage: 0
                  Deleted: true
                  RowVersion: 0
                  Drawer: string
                  ChequeSVGLayoutGUID: string
                  ChequeLayoutId: 0
                  ChequeMarginV: 0
                  ChequeMarginH: 0
                  ChequeNumber: 0
                  ReceiptNumber: 0
                  BankDepositNumber: 0
                  JournalNumber: 0
                  EFTNumber: 0
                  BankCurrentDate: '2021-11-30T01:55:32.431Z'
                  BankRecStatementDate: '2021-11-30T01:55:32.432Z'
                  BankRecStatementBalance: 0
          schema:
            $ref: '#/definitions/TrustInitData'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET 
             https://[API Domain]/api/v1/trustjournal/initialisationdata/{matterId} 
             -H 'accept: application/json'  
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]' 
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trustjournal/initialisationdata/{matterId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             request.AddHeader("accept", "application/json"); 
             IRestResponse response = client.Execute(request); 
  /api/v1/trustreceipt:         
    post:
      tags:
        - TrustReceipt
      summary: Create a Trust receipt
      description: |
        This endpoint is used to create a trust receipt.  

        Prerequisite endpoints:  
        - GET /api/v1/trustreceipt/initialisationdata
        - GET /api/v1/paymenttypes
        - GET /api/v1/firms/{firmId}
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: TrustReceiptCreateTrustReceipt
          description: The endpoint expects the TrustReceiptCreateTrustReceipt model in the POST request body.
          required: true
          schema:
            $ref: '#/definitions/TrustReceiptCreateTrustReceipt'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TrustReceiptResponseModel'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             https://[API Domain]/api/v1/trustreceipt
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "TrustReceiptGUID": "string",
                    "BankAccountGUID": "string",
                    "EntryDate": "2023-03-27T04:00:11.808Z",
                    "TransactionDate": "2023-03-27T04:00:11.808Z",
                    "TransactionNumber": "string",
                    "TransactionNumberAuto": true,
                    "ReceivedFrom": "string",
                    "PaymentTypeGUID": "string",
                    "PaymentTypeName": "string",
                    "PaymentTypeId": 0,
                    "ReversedOrReversal": true,
                    "ReceiptedByStaffGUID": "string",
                    "NeedsBanking": true,
                    "Reconciled": 0,
                    "ClearanceDays": 0,
                    "ClearedDate": "2023-03-27T04:00:11.808Z",
                    "BankDepositGUID": "string",
                    "AnticipatedDepositId": "string",
                    "IsRapidPay": 0,
                    "BTISettlementDate": "2023-03-27T04:00:11.808Z",
                    "ExtPayReceiptNo": "string",
                    "WarningAcknowledgments": [
                      0
                    ],
                    "TrustReceiptItems": [
                      {
                        "TrustReceiptItemGUID": "string",
                        "MatterGUID": "string",
                        "Amount": 0,
                        "Reason": "string",
                        "InterestCalculation": true,
                        "InterestCalculationDate": "2023-03-27T04:00:11.808Z"
                      }
                    ],
                    "PaymentTypeDetails": {
                      "PaymentTypeDetailsGUID": "string",
                      "Addressee": "string",
                      "BSB": "string",
                      "AccountNumber": "string",
                      "AccountName": "string",
                      "Drawer": "string",
                      "ChequeNumber": "string",
                      "AuthorisationNumber": "string",
                      "ExpiryDate": "2023-03-27T04:00:11.808Z",
                      "Notes": 0,
                      "Coins": 0,
                      "Memo": "string",
                      "BillerCode": "string",
                      "BillerReference": "string",
                      "RowVersion": 0
                    }
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trustreceipt"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "TrustReceiptGUID": "string",
                "BankAccountGUID": "string",
                "EntryDate": "2023-03-27T04:00:11.808Z",
                "TransactionDate": "2023-03-27T04:00:11.808Z",
                "TransactionNumber": "string",
                "TransactionNumberAuto": true,
                "ReceivedFrom": "string",
                "PaymentTypeGUID": "string",
                "PaymentTypeName": "string",
                "PaymentTypeId": 0,
                "ReversedOrReversal": true,
                "ReceiptedByStaffGUID": "string",
                "NeedsBanking": true,
                "Reconciled": 0,
                "ClearanceDays": 0,
                "ClearedDate": "2023-03-27T04:00:11.808Z",
                "BankDepositGUID": "string",
                "AnticipatedDepositId": "string",
                "IsRapidPay": 0,
                "BTISettlementDate": "2023-03-27T04:00:11.808Z",
                "ExtPayReceiptNo": "string",
                "WarningAcknowledgments": [
                  0
                ],
                "TrustReceiptItems": [
                  {
                    "TrustReceiptItemGUID": "string",
                    "MatterGUID": "string",
                    "Amount": 0,
                    "Reason": "string",
                    "InterestCalculation": true,
                    "InterestCalculationDate": "2023-03-27T04:00:11.808Z"
                  }
                ],
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-03-27T04:00:11.808Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string",
                  "RowVersion": 0
                }
              }"); 
             IRestResponse response = client.Execute(request);  
  '/api/v1/trustreceipt/initialisationdata':         
    get:
      tags:
        - TrustReceipt
      summary: Get initialisation data
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterid
          in: query
          type: string
          format: uuid
        - name: payTypeDeleted
          in: query
          type: string
        - name: accountDeleted
          in: query
          type: string
      responses:
        '200':
          description: Successful Response
          schema:
            $ref: '#/definitions/TrustReceiptInitData'
        '301':
          $ref: '#/definitions/301'            
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET 
             https://[API Domain]/api/v1/trustreceipt/initialisationdata
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trustreceipt/initialisationdata"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);     
  '/api/v1/trustreceipt/{trustReceiptId}/initialisationdata':         
    get:
      tags:
        - TrustReceipt
      summary: View a trust receipt
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: trustReceiptId
          in: path
          type: string
          format: string
          description: LEAP ID of the trust receipt 
        - name: transactionMode
          in: query
          type: string
          description: 1 = View, 2 = Reversal
          required: true
      responses:
        '200':
          description: Successful Response
          schema:
            $ref: '#/definitions/TrustReceiptInitDataResponse'
        '301':
          $ref: '#/definitions/301'            
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET 
             https://[API Domain]/api/v1/trustreceipt/{trustReceiptId}/initialisationdata
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/trustreceipt/{trustReceiptId}/initialisationdata"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
  /api/v1/notifications/{staffId}:         
    post:
      tags:
        - Notifications
      summary: Sends a LEAP Notification
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: staffId
          in: query
          description: UUID of the Staff member the request is for
          required: true
          type: string
          format: uuid
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: notificationsObject
          description: Notifications Object
          required: true
          type: string
          format: uuid
          schema:
            $ref: '#/definitions/NotificationsBody'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationsResponse200'
          #headers:
           # Access-Control-Allow-Origin:
            #  type: string
             # description: Allows CORS sharing
        '400':
          description: Bad Request
          examples:
            application/json:
              $ref: '#/definitions/NotificationsErrorResp400Result'
          schema:
            $ref: '#/definitions/NotificationsErrorResp400'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST  https://[API Domain]/api/v1/notifications/{staffId}' \n -H 'accept: application/json'  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]' \n -d '{ \n \t\"firmId\": \"557ed3af-b8fd-45d2-b690-dd508c6a3f32\", \n \t\"senderId\": \"c183284a-d250-47e3-97d8-fb49a22d547v\", \n \t\"topic\": \"Topic-2020-11-01T21:59:24\", \n \t\"staffId\": \"8d26a714-bf9b-4bf1-bedf-8ff8cb9dc78d\", \n \t\"visibleDate\": \"2022-06-15T01:47:11.864Z\", \n \t\"titleTemplate\": \"Title Template\", \n \t\"bodyTemplate\": \"Body Template\", \n \t\"appGroupId\": \"string\", \n \t\"functionGroupId\": \"string\", \n \t\"openUrl\": \"string\", \n \t\"notificationType\": \"Message\", \n \t\"context\": \n\t{ \n \t\t\"entity\": \n\t\t{ \n \t\t\t\"id\": \"708149fe-75f1-694c-b2fc-671c909ca282\", \n \t\t\t\"type\": \"Document\", \n \t\t\t\"relatedEntityId\": \"3e131c12-1a62-324b-8d5a-5a9518c660a2\", \n \t\t\t\"relatedEntityType\": \"Matter\" \n \t\t} \n \t} \n }'"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/notifications/{staffId}\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n { \n \t\"firmId\": \"dd061910-b6f0-467d-b2e3-9a9a44b2b86d\", \n \t\"senderId\": \"66a4425c-e4ad-402e-9fc7-4df9e71f65ab\", \n \t\"topic\": \"string\", \n \t\"staffId\": \"5eb948b0-6e3c-44ad-8484-899600499f5d\", \n \t\"visibleDate\": \"2019-08-24T14:15:22Z\", \n \t\"titleTemplate\": \"string\", \n \t\"bodyTemplate\": \"string\", \n \t\"appGroupId\": \"d4e9150d-a9da-454a-a559-ca4649c79db5\", \n \t\"functionGroupId\": \"e8724536-a595-46ba-b86c-d7e094f41859\", \n \t\"openUrl\": \"string\", \n \t\"notificationType\": \"string\", \n \t\"context\": \n \t{ \n \t\t\"entity\": \"708149fe-75f1-694c-b2fc-671c909ca282\", \n \t\t\"type\": \"Document\" \n \t\t\"relatedEntityId\": \"3e131c12-1a62-324b-8d5a-5a9518c660a2\" \n \t\t\"relatedEntityType\": \"Matter\" \n \t} \n } , \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"
  /api/v1/notifications/broadcast:         
    post:
      tags:
        - Notifications
      summary: Sends a firm wide broadcast Notification
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: notificationsObject
          description: Notifications Object
          required: true
          type: string
          format: uuid
          schema:
            $ref: '#/definitions/NotificationsFirmBody'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationsResponse200'
          #headers:
           # Access-Control-Allow-Origin:
            #  type: string
             # description: Allows CORS sharing
        '400':
          description: Bad Request
          examples:
            application/json:
              $ref: '#/definitions/NotificationsErrorResp400Result'
          schema:
            $ref: '#/definitions/NotificationsErrorResp400'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X POST  https://[API Domain]/api/v1/notifications/broadcast' \n -H 'accept: application/json'  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]' \n -d '{ \n \t\"firmId\": \"557ed3af-b8fd-45d2-b690-dd508c6a3f32\", \n \t\"senderId\": \"c183284a-d250-47e3-97d8-fb49a22d547v\", \n \t\"topic\": \"Topic-2020-11-01T21:59:24\", \n \t\"staffId\": \"8d26a714-bf9b-4bf1-bedf-8ff8cb9dc78d\", \n \t\"visibleDate\": \"2022-06-15T01:47:11.864Z\", \n \t\"titleTemplate\": \"Title Template\", \n \t\"bodyTemplate\": \"Body Template\", \n \t\"appGroupId\": \"string\", \n \t\"functionGroupId\": \"string\", \n \t\"openUrl\": \"string\", \n \t\"notificationType\": \"Message\", \n \t\"context\": \n\t{ \n \t\t\"entity\": \n\t\t{ \n \t\t\t\"id\": \"708149fe-75f1-694c-b2fc-671c909ca282\", \n \t\t\t\"type\": \"Document\", \n \t\t\t\"relatedEntityId\": \"3e131c12-1a62-324b-8d5a-5a9518c660a2\", \n \t\t\t\"relatedEntityType\": \"Matter\" \n \t\t} \n \t} \n }'"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/notifications/broadcast\"); \n var request = new RestRequest(Method.POST); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n request.AddHeader(\"accept\", \"application/json\"); \n request.AddParameter(\"application/json\", \n { \n \t\"firmId\": \"dd061910-b6f0-467d-b2e3-9a9a44b2b86d\", \n \t\"senderId\": \"66a4425c-e4ad-402e-9fc7-4df9e71f65ab\", \n \t\"topic\": \"string\", \n \t\"staffId\": \"5eb948b0-6e3c-44ad-8484-899600499f5d\", \n \t\"visibleDate\": \"2019-08-24T14:15:22Z\", \n \t\"titleTemplate\": \"string\", \n \t\"bodyTemplate\": \"string\", \n \t\"appGroupId\": \"d4e9150d-a9da-454a-a559-ca4649c79db5\", \n \t\"functionGroupId\": \"e8724536-a595-46ba-b86c-d7e094f41859\", \n \t\"openUrl\": \"string\", \n \t\"notificationType\": \"string\", \n \t\"context\": \n \t{ \n \t\t\"entity\": \"708149fe-75f1-694c-b2fc-671c909ca282\", \n \t\t\"type\": \"Document\" \n \t\t\"relatedEntityId\": \"3e131c12-1a62-324b-8d5a-5a9518c660a2\" \n \t\t\"relatedEntityType\": \"Matter\" \n \t} \n } , \n ParameterType.RequestBody); \n IRestResponse response = client.Execute(request); \n\n"

  /api/v1/officeinvoiceadjust/{invoiceAdjustmentId}:         
    get:
      tags:
        - Office Invoice Adjust
      summary: Invoice adjustment view data
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: invoiceAdjustmentId
          in: path
          description: Office Invoice Adjustment GUID
          required: true
          type: string
        - name: transactionMode
          in: query
          description: Transaction mode for the Office Invoice Adjustment
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OfficeInvoiceAdjustResponse200'
          #headers:
           # Access-Control-Allow-Origin:
            #  type: string
             # description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'             
        '400':
          description: Bad Request
          examples:
            application/json:
              $ref: '#/definitions/OfficeInvoiceAdjustErrorResp400Result'
          schema:
            $ref: '#/definitions/OfficeInvoiceAdjustErrorResp400'
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: "curl -X GET  https://[API Domain]/api/v1/officeinvoiceadjust/{invoiceAdjustmentId}?{transactionMode}' \n -H 'accept: application/json'  \n -H 'authorization: [Bearer Token]'  \n -H 'cache-control: no-cache'  \n -H 'content-type: application/json'  \n -H 'x-api-key: [LEAP API Key]'"
        - lang: 'C#'
          source: "var client = new RestClient(\"https://[API Domain]/api/v1/officeinvoiceadjust/{invoiceAdjustmentId}?{transactionMode}\"); \n var request = new RestRequest(Method.GET); \n request.AddHeader(\"cache-control\", \"no-cache\"); \n request.AddHeader(\"content-type\", \"application/json\"); \n request.AddHeader(\"x-api-key\", \"[LEAP API Key]\"); \n request.AddHeader(\"authorization\", \"[Bearer Token]\"); \n IRestResponse response = client.Execute(request); \n\n"
          
  /api/v1/officejournal:         
    post:
      tags:
        - Office Journal
      summary: Create Office Journal
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DisbursementJournalLADSOC
          description: Disbursement Journal
          required: true
          type: string
          format: uuid
          schema:
            $ref: '#/definitions/DisbursementJournalLADSOC'
      responses:
        '201':
          description: OK
          schema:
            $ref: '#/definitions/OfficeJournalResponse'
        '301':
          $ref: '#/definitions/301'            
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             https://[API Domain]/api/v1/officejournal
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "OfficeDJGUID": "a9befd49-eab5-4269-8234-322a048048e4",
                    "TransactionDate": "2019-08-24T14:15:22Z",
                    "TransactionNumber": 0,
                    "WriteOffMode": 0,
                    "DisbursementJournalItems": [
                    {
                      "OfficeDJItemGUID": "df435499-1b46-476a-b2f9-832a0e25a6bc",
                      "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                      "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                      "AmountIncTax": 0,
                      "AmountExTax": 0,
                      "AmountTax": 0,
                      "BillingDescription": "string",
                      "BillingMode": 0,
                      "WOPayItemGUID": "49445488-0e28-4dcf-8f8b-986a37a3c043",
                      "WOPayItemRowVersion": 0,
                      "DisbursementJournalItemTaxSplits": [
                        null
                      ]
                    }],
                    "WarningAcknowledgments": [
                      null
                    ]
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officejournal"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "OfficeDJGUID": "a9befd49-eab5-4269-8234-322a048048e4",
                "TransactionDate": "2019-08-24T14:15:22Z",
                "TransactionNumber": 0,
                "WriteOffMode": 0,
                "DisbursementJournalItems": [
                {
                  "OfficeDJItemGUID": "df435499-1b46-476a-b2f9-832a0e25a6bc",
                  "MatterGUID": "f69d50a2-89a9-4d46-8678-060a5e97c16c",
                  "TaxCodeGUID": "1b223609-07cd-4f18-8fca-825a2608934c",
                  "AmountIncTax": 0,
                  "AmountExTax": 0,
                  "AmountTax": 0,
                  "BillingDescription": "string",
                  "BillingMode": 0,
                  "WOPayItemGUID": "49445488-0e28-4dcf-8f8b-986a37a3c043",
                  "WOPayItemRowVersion": 0,
                  "DisbursementJournalItemTaxSplits": [
                    null
                  ]
                }],
                "WarningAcknowledgments": [
                  null
                ]
              }"); 
             IRestResponse response = client.Execute(request);
  /api/v1/officejournal/initialisationdata:         
    get:
      tags:
        - Office Journal
      summary: Get initialisation data for an office journal
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: writtenOff
          in: query
          type: string
        - name: paymentItemGUID
          in: query
          type: string
          format: uuid
      responses:
        '201':
          description: OK
          schema:
            $ref: '#/definitions/OfficeJournalInitialisationResponse'
        '301':
          $ref: '#/definitions/301'            
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET 
             https://[API Domain]/api/v1/officejournal/initialisationdata
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officejournal/initialisationdata"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
             
  /api/v1/officeledger/{matterid}:         
    get:
      tags:
        - Office Ledgers
      summary: Get Office Ledger
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterid
          in: path
          type: string
          required: true
      responses:
        '201':
          description: OK
          schema:
            $ref: '#/definitions/OfficeLedgerModel'
        '301':
          $ref: '#/definitions/301'            
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET 
             https://[API Domain]/api/v1/officeledger/{matterid}
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officeledger/{matterid}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);
  
  /api/v1/trustledger/{matterId}:
    get:
      tags:
        - Trust Ledger
      summary: Retrieve trust ledger data for a matter
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          description: LEAP GUID of the matter 
          required: true
          in: path
          type: string
          format: uuid
        - name: bankAccountGuid
          description: LEAP ID of the specified bank account (if applicable)
          in: query
          type: string
          format: uuid
        - name: date
          description: To get the trust ledger balance as of a particular date
          type: string
          format: date-time
      responses:
        '200':
          description: Successful Response
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
          schema:
            $ref: '#/definitions/TrustLedger'
        '301':
          $ref: '#/definitions/301'            

  /api/v1/officereceipt:         
    post:
      tags:
        - Office Receipts
      summary: Create office receipt
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: CreateOfficeReceipt 
          description: CreateOfficeReceipt body
          required: true
          schema:
            $ref: '#/definitions/CreateOfficeReceipt'
      responses:
        '201':
          description: OK
          schema:
            $ref: '#/definitions/SuccessResponseModel'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             https://[API Domain]/api/v1/officereceipt
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "OfficeReceiptGUID": "string",
                    "ReceivedFrom": "string",
                    "MailTo": "string",
                    "BankAccountGUID": "string",
                    "TransactionNumber": "string",
                    "AutoNumber": 0,
                    "TransactionDate": "2023-05-25T03:26:46.106Z",
                    "PaymentTypeName": "string",
                    "PaymentTypeId": 0,
                    "PaymentTypeGUID": "string",
                    "ReversedOrReversal": 0,
                    "Memo": "string",
                    "NeedsBanking": 0,
                    "Amount": 0,
                    "TrustToOfficeTrustpayGUID": "string",
                    "PaymentTypeDetails": {
                      "PaymentTypeDetailsGUID": "string",
                      "Addressee": "string",
                      "BSB": "string",
                      "AccountNumber": "string",
                      "AccountName": "string",
                      "Drawer": "string",
                      "ChequeNumber": "string",
                      "AuthorisationNumber": "string",
                      "ExpiryDate": "2023-05-25T03:26:46.106Z",
                      "Notes": 0,
                      "Coins": 0,
                      "Memo": "string",
                      "BillerCode": "string",
                      "BillerReference": "string",
                      "RowVersion": 0,
                      "CountryOfOrigin": "string",
                      "DestinationCountry": "string",
                      "InstitutionName": "string",
                      "SwiftCode": "string",
                      "ForeignValue": 0,
                      "ExchangeRate": 0,
                      "CurrencyType": "string"
                     },
                      "OfficeReceiptItem": [
                        {
                          "OfficeReceiptItemGUID": "string",
                          "InvoiceApply": 0,
                          "InvoiceGUID": "string",
                          "InvoiceRowVersion": 0,
                          "MatterGUID": "string",
                          "CreditMemo": "string",
                          "AnticipatedDepositId": "string",
                          "SplitCardGUID": "string"
                        }
                      ],
                      "WarningAcknowledgments": [
                        0
                      ]
                    }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officereceipt"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "OfficeReceiptGUID": "string",
                "ReceivedFrom": "string",
                "MailTo": "string",
                "BankAccountGUID": "string",
                "TransactionNumber": "string",
                "AutoNumber": 0,
                "TransactionDate": "2023-05-25T03:26:46.106Z",
                "PaymentTypeName": "string",
                "PaymentTypeId": 0,
                "PaymentTypeGUID": "string",
                "ReversedOrReversal": 0,
                "Memo": "string",
                "NeedsBanking": 0,
                "Amount": 0,
                "TrustToOfficeTrustpayGUID": "string",
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-05-25T03:26:46.106Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string",
                  "RowVersion": 0,
                  "CountryOfOrigin": "string",
                  "DestinationCountry": "string",
                  "InstitutionName": "string",
                  "SwiftCode": "string",
                  "ForeignValue": 0,
                  "ExchangeRate": 0,
                  "CurrencyType": "string"
                 },
                  "OfficeReceiptItem": [
                    {
                      "OfficeReceiptItemGUID": "string",
                      "InvoiceApply": 0,
                      "InvoiceGUID": "string",
                      "InvoiceRowVersion": 0,
                      "MatterGUID": "string",
                      "CreditMemo": "string",
                      "AnticipatedDepositId": "string",
                      "SplitCardGUID": "string"
                    }
                  ],
                  "WarningAcknowledgments": [
                    0
                  ]
                }"); 
             IRestResponse response = client.Execute(request);  

  /api/v1/officereceipt/initialisationdata:         
    get:
      tags:
        - Office Receipts
      summary: Get initialisation data
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OfficeReceiptCreateInitialisationData'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET 
             https://[API Domain]/api/v1/officereceipt/initialisationdata
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officereceipt/initialisationdata"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);    

  /api/v1/officereceipt/invoicedata:         
    get:
      tags:
        - Office Receipts
      summary: Get invoice data
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: selectionId
          in: query
          description: Selection ID
          required: true
          type: string
        - name: debtorGUID
          in: query
          description: Debtor Id
          required: false
          type: string
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterGUID
          in: query
          description: Matter ID
          required: false
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OfficeReceiptInvoices'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET 
             https://[API Domain]/api/v1/officereceipt/invoicedata
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officereceipt/invoicedata"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             IRestResponse response = client.Execute(request);    


  /api/v1/officereceipt/reversal:         
    post:
      tags:
        - Office Receipts
      summary: Reverse office receipt
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: ReverseOfficeReceipt  
          description: CreateOfficeReceipt body
          required: true
          schema:
            $ref: '#/definitions/ReverseOfficeReceipt'
      responses:
        '201':
          description: OK
          schema:
            $ref: '#/definitions/SuccessResponseModel'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             https://[API Domain]/api/v1/officereceipt/reversal
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "OfficeReceiptGUID": "string",
                    "RowVersion": 0,
                    "PaymentTypeDetails": {
                       "PaymentTypeDetailsGUID": "string",
                        "Addressee": "string",
                        "BSB": "string",
                        "AccountNumber": "string",
                        "AccountName": "string",
                        "Drawer": "string",
                        "ChequeNumber": "string",
                        "AuthorisationNumber": "string",
                            "ExpiryDate": "2023-05-25T04:17:51.597Z",
                        "Notes": 0,
                        "Coins": 0,
                        "Memo": "string",
                        "BillerCode": "string",
                        "BillerReference": "string",
                        "RowVersion": 0,
                        "CountryOfOrigin": "string",
                        "DestinationCountry": "string",
                        "InstitutionName": "string",
                        "SwiftCode": "string",
                        "ForeignValue": 0,
                        "ExchangeRate": 0,
                        "CurrencyType": "string"
                    },
                    "ReceivedFrom": "string",
                    "MailTo": "string",
                    "BankAccountGUID": "string",
                    "TransactionNumber": "string",
                    "AutoNumber": 0,
                    "TransactionDate": "2023-05-25T04:17:51.597Z",
                    "PaymentTypeName": "string",
                    "PaymentTypeId": 0,
                    "PaymentTypeGUID": "string",
                    "ReversedOrReversal": 0,
                    "Memo": "string",
                    "NeedsBanking": 0,
                    "ReverseeGUID": "string",
                    "Amount": 0,
                    "TrustToOfficeTrustpayGUID": "string",
                    "OfficeReceiptItem": [
                        {
                          "OfficeReceiptItemGUID": "string",
                          "InvoiceApply": 0,
                          "InvoiceGUID": "string",
                          "MatterGUID": "string",
                          "CreditMemo": "string",
                          "ReverseeGUID": "string",
                          "RowVersion": 0,
                          "InvoiceRowVersion": 0,
                          "SplitCardGUID": "string"
                        }
                   ],
                   "WarningAcknowledgments": [
                     0
                   ]
                 }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officereceipt/reversal"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "OfficeReceiptGUID": "string",
                    "RowVersion": 0,
                    "PaymentTypeDetails": {
                       "PaymentTypeDetailsGUID": "string",
                        "Addressee": "string",
                        "BSB": "string",
                        "AccountNumber": "string",
                        "AccountName": "string",
                        "Drawer": "string",
                        "ChequeNumber": "string",
                        "AuthorisationNumber": "string",
                            "ExpiryDate": "2023-05-25T04:17:51.597Z",
                        "Notes": 0,
                        "Coins": 0,
                        "Memo": "string",
                        "BillerCode": "string",
                        "BillerReference": "string",
                        "RowVersion": 0,
                        "CountryOfOrigin": "string",
                        "DestinationCountry": "string",
                        "InstitutionName": "string",
                        "SwiftCode": "string",
                        "ForeignValue": 0,
                        "ExchangeRate": 0,
                        "CurrencyType": "string"
                    },
                    "ReceivedFrom": "string",
                    "MailTo": "string",
                    "BankAccountGUID": "string",
                    "TransactionNumber": "string",
                    "AutoNumber": 0,
                    "TransactionDate": "2023-05-25T04:17:51.597Z",
                    "PaymentTypeName": "string",
                    "PaymentTypeId": 0,
                    "PaymentTypeGUID": "string",
                    "ReversedOrReversal": 0,
                    "Memo": "string",
                    "NeedsBanking": 0,
                    "ReverseeGUID": "string",
                    "Amount": 0,
                    "TrustToOfficeTrustpayGUID": "string",
                    "OfficeReceiptItem": [
                        {
                          "OfficeReceiptItemGUID": "string",
                          "InvoiceApply": 0,
                          "InvoiceGUID": "string",
                          "MatterGUID": "string",
                          "CreditMemo": "string",
                          "ReverseeGUID": "string",
                          "RowVersion": 0,
                          "InvoiceRowVersion": 0,
                          "SplitCardGUID": "string"
                        }
                   ],
                   "WarningAcknowledgments": [
                     0
                   ]
                 }"); 
             IRestResponse response = client.Execute(request);  

  /api/v1/officereceipt/{officereceiptid}/initialisationdata:         
    get:
      tags:
        - Office Receipts
      summary: Get office receipt
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: officereceiptid
          in: query
          description: Office receipt Id
          required: true
          type: string
        - name: transactionMode
          in: query
          description: Transaction mode (1 is View, 2 is Reversal)
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OfficeReceiptInvoices'
        '301':
          $ref: '#/definitions/301'            
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET 
             https://[API Domain]/api/v1/officereceipt/{officereceiptid}/initialisationdata
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                "OfficeReceipt": {
                "OfficeReceiptGUID": "string",
                "ReceivedFrom": "string",
                "MailTo": "string",
                "BankAccountGUID": "string",
                "TransactionNumber": "string",
                "AutoNumber": 0,
                "TransactionDate": "string",
                "CreatedDate": "2023-05-25T05:15:18.085Z",
                "PaymentTypeName": "string",
                "PaymentTypeGUID": "string",
                "PaymentTypeId": 0,
                "PaymentSubTypeId": 0,
                "PaymentTypeDetailsGUID": "string",
                "ReversedOrReversal": 0,
                "Memo": "string",
                "NeedsBanking": 0,
                "RowVersion": 0,
                "AccountFileAs": "string",
                "ReversalGUID": "string",
                "ReversalInfo": "string",
                "TrustToOfficeTrustpayGUID": "string",
                "BankDepositGUID": "string",
                "BankDepositAccountGUID": "string",
                "BankDepositAccountFileAs": "string",
                "CreatedByStaffId": "string",
                "LawConnectShared": true
              },
              "OfficeReceiptItems": [
                {
                  "OfficeReceiptItemGUID": "string",
                  "Amount": 0,
                  "InvoiceGUID": "string",
                  "MatterGUID": "string",
                  "MatterNo": "string",
                  "CreditMemo": "string",
                  "RowVersion": 0,
                  "InvoiceDate": "2023-05-25T05:15:18.085Z",
                  "InvoiceNumber": "string",
                  "InvoiceMemo": "string",
                  "InvoiceRowVersion": 0,
                  "ReversalGUID": "string",
                  "SplitCardGUID": "string"
                }
              ],
              "PaymentTypeDetails": {
                "PaymentTypeDetailsGUID": "string",
                "Addressee": "string",
                "BSB": "string",
                "AccountNumber": "string",
                "AccountName": "string",
                "Drawer": "string",
                "ChequeNumber": "string",
                "AuthorisationNumber": "string",
                "ExpiryDate": "2023-05-25T05:15:18.085Z",
                "Notes": 0,
                "Coins": 0,
                "Memo": "string",
                "BillerCode": "string",
                "BillerReference": "string",
                "RowVersion": 0,
                "CountryOfOrigin": "string",
                "DestinationCountry": "string",
                "InstitutionName": "string",
                "SwiftCode": "string",
                "ForeignValue": 0,
               "ExchangeRate": 0,
                "CurrencyType": "string"
              }
            }
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officereceipt/{officereceiptid}/initialisationdata"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                "OfficeReceipt": {
                "OfficeReceiptGUID": "string",
                "ReceivedFrom": "string",
                "MailTo": "string",
                "BankAccountGUID": "string",
                "TransactionNumber": "string",
                "AutoNumber": 0,
                "TransactionDate": "string",
                "CreatedDate": "2023-05-25T05:15:18.085Z",
                "PaymentTypeName": "string",
                "PaymentTypeGUID": "string",
                "PaymentTypeId": 0,
                "PaymentSubTypeId": 0,
                "PaymentTypeDetailsGUID": "string",
                "ReversedOrReversal": 0,
                "Memo": "string",
                "NeedsBanking": 0,
                "RowVersion": 0,
                "AccountFileAs": "string",
                "ReversalGUID": "string",
                "ReversalInfo": "string",
                "TrustToOfficeTrustpayGUID": "string",
                "BankDepositGUID": "string",
                "BankDepositAccountGUID": "string",
                "BankDepositAccountFileAs": "string",
                "CreatedByStaffId": "string",
                "LawConnectShared": true
              },
              "OfficeReceiptItems": [
                {
                  "OfficeReceiptItemGUID": "string",
                  "Amount": 0,
                  "InvoiceGUID": "string",
                  "MatterGUID": "string",
                  "MatterNo": "string",
                  "CreditMemo": "string",
                  "RowVersion": 0,
                  "InvoiceDate": "2023-05-25T05:15:18.085Z",
                  "InvoiceNumber": "string",
                  "InvoiceMemo": "string",
                  "InvoiceRowVersion": 0,
                  "ReversalGUID": "string",
                  "SplitCardGUID": "string"
                }
              ],
              "PaymentTypeDetails": {
                "PaymentTypeDetailsGUID": "string",
                "Addressee": "string",
                "BSB": "string",
                "AccountNumber": "string",
                "AccountName": "string",
                "Drawer": "string",
                "ChequeNumber": "string",
                "AuthorisationNumber": "string",
                "ExpiryDate": "2023-05-25T05:15:18.085Z",
                "Notes": 0,
                "Coins": 0,
                "Memo": "string",
                "BillerCode": "string",
                "BillerReference": "string",
                "RowVersion": 0,
                "CountryOfOrigin": "string",
                "DestinationCountry": "string",
                "InstitutionName": "string",
                "SwiftCode": "string",
                "ForeignValue": 0,
               "ExchangeRate": 0,
                "CurrencyType": "string"
              }"); 
             IRestResponse response = client.Execute(request);  

  '/api/v1/officepayments/initialisationdata':
    get:
      tags:
        - Office Payments
      summary: Get initialisation data for an office payment
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: matterId
          in: query
          description: Matter ID
          required: false
          type: string
        - name: accountDeleted
          in: query
          description: Flag if account is deleted or not
          required: false
          type: boolean
        - name: payAnticipated
          in: query
          description: Flag if account is pay is anticipated
          required: false
          type: boolean        
      responses:
        '200':
          description: OK          
          schema:            
            $ref: '#/definitions/OfficePayments_InitialisationData_200'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''        
        '500':
          description: Internal Server Error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             'https://[API Domain]/api/v1/officepayments/initialisationdata' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officepayments/initialisationdata"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 

             request.AddParameter("matterId", "[parameter-value]");
             request.AddParameter("accountDeleted", "[parameter-value]");
             request.AddParameter("payAnticipated", "[parameter-value]");
             
             IRestResponse response = client.Execute(request);

  '/api/v1/officepayments/{officePaymentId}':
    get:
      tags:
        - Office Payments
      summary: View an office payment
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: officePaymentId
          in: path
          description: Office Payment ID
          required: true
          type: string
        - name: transactionMode
          in: query
          description: Transaction mode (1 is View, 2 is Reversal)
          required: true
          type: integer        
      responses:
        '200':
          description: OK          
          schema:            
            $ref: '#/definitions/Response200_OfficePaymentInitialisationData_ByOfficePaymentID'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''        
        '500':
          description: Internal Server Error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             'https://[API Domain]/api/v1/officepayments/{officePaymentId}' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officepayments/{officePaymentId}"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 

             request.AddParameter("officePaymentId", "[parameter-value]", ParameterType.UrlSegment);
             request.AddParameter("transactionMode", "[parameter-value]");             
             
             IRestResponse response = client.Execute(request);

  '/api/v1/officepayments':
    post:
      tags:
        - Office Payments
      summary: Create office payment
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: officepayment
          in: body
          description:  Office payment body
          required: true          
          schema:
            $ref: '#/definitions/PostOfficePayment_RequestBody'
      responses:
        '200':
          description: OK
          examples:
            application/json:
              Code: 0
              RowVersion: 0
              Message: string
              TransactionNumber: string
          # schema:
            ##TODO: Change this
            # $ref: '#/definitions/ArrayOfReadCardDocuments'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '409':
          description: Conflict
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '449':
          description: Warning/Retry With
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '500':
          description: Internal Server Error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             'https://[API Domain]/api/v1/officepayments' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -H '
             {
                {
                  "OfficePaymentGUID": "string",
                  "BankAccountGUID": "string",
                  "TransactionDate": "2023-07-12T22:01:55.871Z",
                  "PaymentNumber": "string",
                  "PaymentTypeGUID": "string",
                  "PayToAddressee": "string",
                  "PaymentTypeName": "string",
                  "PaymentTypeId": 0,
                  "ReversedOrReversal": true,
                  "PaymentProcessed": true,
                  "RowVersion": 0,
                  "AutoNumber": true,
                  "ReversalGUID": "string",
                  "Void": true,
                  "PaymentTypeDetails": {
                    "PaymentTypeDetailsGUID": "string",
                    "Addressee": "string",
                    "BSB": "string",
                    "AccountNumber": "string",
                    "AccountName": "string",
                    "Drawer": "string",
                    "ChequeNumber": "string",
                    "AuthorisationNumber": "string",
                    "ExpiryDate": "2023-07-12T22:01:55.871Z",
                    "Notes": 0,
                    "Coins": 0,
                    "Memo": "string",
                    "BillerCode": "string",
                    "BillerReference": "string",
                    "RowVersion": 0,
                    "CountryOfOrigin": "string",
                    "DestinationCountry": "string",
                    "InstitutionName": "string",
                    "SwiftCode": "string",
                    "ForeignValue": 0,
                    "ExchangeRate": 0,
                    "CurrencyType": "string"
                  },
                  "OfficePaymentItems": [
                    {
                      "OfficePaymentItemGUID": "string",
                      "MatterGUID": "string",
                      "OfficePaymentAmountIncTax": 0,
                      "OfficePaymentAmountExTax": 0,
                      "OfficePaymentAmountTax": 0,
                      "BillingDescription": "string",
                      "BillingMode": 0,
                      "RowVers": 0,
                      "TaxCodeGUID": "string",
                      "PaymentRequestId": "string",
                      "CreatedByName": "string",
                      "NotifyStaffGUID": [
                        "string"
                      ],
                      "OfficePaymentItemTaxSplits": [
                        {
                          "TaxCodeId": "string",
                          "TaxAmount": 0
                        }
                      ]
                    }
                  ],
                  "WarningAcknowledgments": [
                    0
                  ],
                  "PayToName": "string"
                }
             }
             '
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officepayments"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             
             request.AddParameter("application/json", 
             "
              {
                "OfficePaymentGUID": "string",
                "BankAccountGUID": "string",
                "TransactionDate": "2023-07-12T22:01:55.871Z",
                "PaymentNumber": "string",
                "PaymentTypeGUID": "string",
                "PayToAddressee": "string",
                "PaymentTypeName": "string",
                "PaymentTypeId": 0,
                "ReversedOrReversal": true,
                "PaymentProcessed": true,
                "RowVersion": 0,
                "AutoNumber": true,
                "ReversalGUID": "string",
                "Void": true,
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-07-12T22:01:55.871Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string",
                  "RowVersion": 0,
                  "CountryOfOrigin": "string",
                  "DestinationCountry": "string",
                  "InstitutionName": "string",
                  "SwiftCode": "string",
                  "ForeignValue": 0,
                  "ExchangeRate": 0,
                  "CurrencyType": "string"
                },
                "OfficePaymentItems": [
                  {
                    "OfficePaymentItemGUID": "string",
                    "MatterGUID": "string",
                    "OfficePaymentAmountIncTax": 0,
                    "OfficePaymentAmountExTax": 0,
                    "OfficePaymentAmountTax": 0,
                    "BillingDescription": "string",
                    "BillingMode": 0,
                    "RowVers": 0,
                    "TaxCodeGUID": "string",
                    "PaymentRequestId": "string",
                    "CreatedByName": "string",
                    "NotifyStaffGUID": [
                      "string"
                    ],
                    "OfficePaymentItemTaxSplits": [
                      {
                        "TaxCodeId": "string",
                        "TaxAmount": 0
                      }
                    ]
                  }
                ],
                "WarningAcknowledgments": [
                  0
                ],
                "PayToName": "string"
              }
             "ParameterType.RequestBody); 
             
             IRestResponse response = client.Execute(request);

  '/api/v1/officepayments/reversal':
    post:
      tags:
        - Office Payments
      summary: Reverse office payment
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: OfficePaymentReverse
          in: body
          description:  Office payment reversal body
          required: true          
          schema:
            $ref: '#/definitions/PostOfficePayment_Reversal_RequestBody'
      responses:
        '200':
          description: OK                    
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '409':
          description: Conflict
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '449':
          description: Warning/Retry With
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '500':
          description: Internal Server Error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X POST 
             'https://[API Domain]/api/v1/officepayments/reversal' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 
             -H 
             '
              {
                "OfficePaymentGUID": "string",
                "BankAccountGUID": "string",
                "PaymentTypeGUID": "string",
                "TransactionDate": "2023-07-12T22:05:59.328Z",
                "PaymentNumber": "string",
                "PayToAddressee": "string",
                "PaymentTypeName": "string",
                "PaymentTypeId": 0,
                "ReversedOrReversal": true,
                "PaymentProcessed": true,
                "RowVersion": 0,
                "AutoNumber": true,
                "ReverseeGUID": "string",
                "Void": true,
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-07-12T22:05:59.328Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string",
                  "RowVersion": 0,
                  "CountryOfOrigin": "string",
                  "DestinationCountry": "string",
                  "InstitutionName": "string",
                  "SwiftCode": "string",
                  "ForeignValue": 0,
                  "ExchangeRate": 0,
                  "CurrencyType": "string"
                },
                "OfficePaymentItems": [
                  {
                    "OfficePaymentItemGUID": "string",
                    "MatterGUID": "string",
                    "OfficePaymentAmountIncTax": 0,
                    "OfficePaymentAmountExTax": 0,
                    "OfficePaymentAmountTax": 0,
                    "BillingDescription": "string",
                    "BillingMode": 0,
                    "RowVersion": 0,
                    "OfficePaymentItemReverseeGUID": "string",
                    "TaxCodeGUID": "string",
                    "AnticipatedPaymentId": "string",
                    "OfficePaymentItemTaxSplits": [
                      {
                        "TaxCodeId": "string",
                        "TaxAmount": 0
                      }
                    ]
                  }
                ],
                "WarningAcknowledgments": [
                  0
                ],
                "PayToName": "string",
                "RestorePaymentRequest": true
              }
             '

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/officepayments/reversal"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             
             request.AddParameters("application/json",
             "
              {
                "OfficePaymentGUID": "string",
                "BankAccountGUID": "string",
                "PaymentTypeGUID": "string",
                "TransactionDate": "2023-07-12T22:05:59.328Z",
                "PaymentNumber": "string",
                "PayToAddressee": "string",
                "PaymentTypeName": "string",
                "PaymentTypeId": 0,
                "ReversedOrReversal": true,
                "PaymentProcessed": true,
                "RowVersion": 0,
                "AutoNumber": true,
                "ReverseeGUID": "string",
                "Void": true,
                "PaymentTypeDetails": {
                  "PaymentTypeDetailsGUID": "string",
                  "Addressee": "string",
                  "BSB": "string",
                  "AccountNumber": "string",
                  "AccountName": "string",
                  "Drawer": "string",
                  "ChequeNumber": "string",
                  "AuthorisationNumber": "string",
                  "ExpiryDate": "2023-07-12T22:05:59.328Z",
                  "Notes": 0,
                  "Coins": 0,
                  "Memo": "string",
                  "BillerCode": "string",
                  "BillerReference": "string",
                  "RowVersion": 0,
                  "CountryOfOrigin": "string",
                  "DestinationCountry": "string",
                  "InstitutionName": "string",
                  "SwiftCode": "string",
                  "ForeignValue": 0,
                  "ExchangeRate": 0,
                  "CurrencyType": "string"
                },
                "OfficePaymentItems": [
                  {
                    "OfficePaymentItemGUID": "string",
                    "MatterGUID": "string",
                    "OfficePaymentAmountIncTax": 0,
                    "OfficePaymentAmountExTax": 0,
                    "OfficePaymentAmountTax": 0,
                    "BillingDescription": "string",
                    "BillingMode": 0,
                    "RowVersion": 0,
                    "OfficePaymentItemReverseeGUID": "string",
                    "TaxCodeGUID": "string",
                    "AnticipatedPaymentId": "string",
                    "OfficePaymentItemTaxSplits": [
                      {
                        "TaxCodeId": "string",
                        "TaxAmount": 0
                      }
                    ]
                  }
                ],
                "WarningAcknowledgments": [
                  0
                ],
                "PayToName": "string",
                "RestorePaymentRequest": true
              }
             ",ParameterType.RequestBody)

             IRestResponse response = client.Execute(request);

  '/api/v1/paymenttypes':
    get:
      tags:
        - Payment Types
      summary: Get payment types
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: deleted
          in: query
          description: Include deleted payment types.(False by default)
          required: false 
          type: boolean
      responses:
        '200':                    
          description: Successful response
          schema:
            $ref: '#/definitions/PaymentTypesResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
        '301':
          $ref: '#/definitions/301'              
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
        '500':
          description: Internal Server Error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: ''
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |+
            curl -X GET 
             'https://[API Domain]/api/v1/paymenttypes' 
             -H 'authorization: [Bearer Token]' 
             -H 'cache-control: no-cache' 
             -H 'x-api-key: [LEAP API Key]' 

        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/paymenttypes"); 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]"); 
             
             request.AddParameter("deleted", "[parameter-value]"); 

             IRestResponse response = client.Execute(request);

  /api/v1/semaphore:         
    post:
      tags:
        - Semaphore
      summary: Create semaphore ID
      description: A semaphore ID is required when sending accounting POST requests (e.g. [POST /api/v1/trustbankdeposit](https://leap.build/api-reference/#tag/Trust/paths/~1api~1v1~1trustbankdeposit/post)). The purpose of this endpoint is to generate a semaphore ID that will allow you process the required request. 
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: CreateSemaphore   
          in: body
          schema:
            $ref: '#/definitions/CreateSemaphore'   
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '201':
          description: OK
          schema:
            $ref: '#/definitions/SemaphoreResponseModel'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.     
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized  
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error      
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             https://[API Domain]/api/v1/semaphore
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             --d '{
                    "SemaphoreName": "string",
                    "InvoiceTransactionMode": 0
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/semaphore"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "SemaphoreName": "string",
                    "InvoiceTransactionMode": 0
                }"); 
             IRestResponse response = client.Execute(request);                  

  /api/v1/semaphore/clear:         
    post:
      tags:
        - Semaphore
      summary: Clear Semaphore lock
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: ClearSemaphore  
          in: body
          description: Clear Semaphore lock using SemaphoreID. SemaphoreID is generated from [POST /api/v1/semaphore]. 
          schema:
            $ref: '#/definitions/ClearSemaphore'
          required: true
          type: string     
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Object'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorMessage400'
          examples:
            application/json:
              Message: Bad request.    
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/ErrorMessage401'
          examples:
            application/json:
              Message: Unauthorized   
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorMessage500'
          examples:
            application/json:
              Message: Internal Server Error                       
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X POST 
             https://[API Domain]/api/v1/semaphore/clear
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                    "SemaphoreId": "string"
                  }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/semaphore/clear); 
             var request = new RestRequest(Method.POST
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                    "SemaphoreId": "string"
                  }");              
             IRestResponse response = client.Execute(request);    
             -H 'x-api-key: [LEAP API Key]'
 
  '/api/v1/users/{userId}/usertype':         
    get:
      tags:
        - Users
      summary: Get a user's user type.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - name: userId
          in: path
          type: string
          format: string        
      responses:
        '200':
          description: Successful Response
          schema:
            $ref: '#/definitions/200Response_Get_UserType_ByUserId'
        '301':
          $ref: '#/definitions/301'            
        '400':
          description: If firm allocation not found
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
        '401':
          description: If JWT token is missing or invalid
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
        '404':
          description: If staff Guid not found
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
        '500':
          description: Server error
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: '' 
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: >+
            curl -X GET 
             https://[API Domain]/api/v1/users/{userId}/usertype
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/users/{userId}/usertype; 
             var request = new RestRequest(Method.GET); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");

             request.AddParameter("userId", "[parameter-value]", "ParameterType.UrlSegment"); 

             IRestResponse response = client.Execute(request);
  /api/v1/reporting/feesbilledbymattertype:
    post:  
      tags:
        - Reporting
      summary: Retrieve staff time and fees billed, summarised by matter types for a given date range
      description: |
        *Utilise [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get) to retrieve results.*
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          description: LEAP Auth Token
          required: true
          type: string
        - name: x-api-key
          in: header
          description: LEAP API Key
          required: true
          type: string
        - in: body
          name: DateRangeRequest
          description: Date Range Request
          required: true
          schema:
            $ref: '#/definitions/GetInvoiceFinancialsRequestLRCR'
      responses:
        '202':
          description: Response
          schema:
            $ref: '#/definitions/AgedDebtorsResponse'
          headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
      security:
        - Bearer:
            - Authorization
          APIKey:
            - x-api-key
      x-code-samples:
        - lang: curl
          source: |
            curl -X POST 
             https://[API Domain]/api/v1/reporting/feesbilledbymattertype
             -H 'accept: application/json' 
             -H 'authorization: [Bearer Token]'  
             -H 'cache-control: no-cache'  
             -H 'x-api-key: [LEAP API Key]'
             --d '{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }'
        - lang: 'C#'
          source: >+
            var client = new RestClient("https://[API
            Domain]/api/v1/reporting/feesbilledbymattertype"); 
             var request = new RestRequest(Method.POST); 
             request.AddHeader("cache-control", "no-cache"); 
             request.AddHeader("x-api-key", "[LEAP API Key]"); 
             request.AddHeader("authorization", "[Bearer Token]");
             request.AddParameter("application/json", 
             "{
                  "DateRange": {
                    "From": "2022-12-05T23:57:18.628Z",
                    "To": "2022-12-05T23:57:18.628Z"
                  }
                }"); 
             IRestResponse response = client.Execute(request);   

definitions:
  DocumentCreate:
    type: object
    required:
      - deleteCode
      - docName
      - docTypeId
      - fileType
      - matterId
      - staffInitials
    properties:
      matterId:
        type: string
        description: Matter Id
        format: uuid
      docName:
        type: string
        description: Document name
      fileType:
        type: string
        description: 'Extension of file (docx, pdf etc.)'
      staffInitials:
        type: string
        description: >-
          Staff initials (no longer being used) - the property has been
          deprecated and will be removed
      docTypeId:
        type: string
        description: Type of file
        enum:
          - document
          - comment
          - voiceFile
      deleteCode:
        type: integer
        description: Mark document as deleted
        format: int32
      createdDate:
        type: string
        description: Created date (any valid datetime)
        format: date-time
      attachments:
        type: array
        description: Add any attachements to this array
        items:
          $ref: '#/definitions/DocumentAttachment'
  ErrorResp:
    type: object
    properties:
      Code:
        type: string
        description: Error code
        format: int32
      PropertyName:
        type: string
        description: Property name that has caused the error
      Message:
        type: string
        description: Error message
      MessageHeader:
        type: string
        description: 'Message header, if any'
      LineItemNumber:
        type: string
        description: Which line number this error occurred on
  MatterAccountingJson:
    type: object
    properties:
      feeEstimate:
        type: number
        description: Chargeable work-estimate
        format: double
      feeEstimateGST:
        type: number
        description: Tax value of the fee estimate
        format: double
      disbursementsEstimate:
        type: number
        description: Estimates on the total disbursement on the matter
        format: double
      disbursementsEstimateGST:
        type: number
        description: Tax value of the disbursements estimate
        format: double
      showEstimateWarning:
        type: boolean
        description: Flag to warn the Solicitor if they are nearing the fee estimate of the matter
      minimumCreditBalance:
        type: number
        description: (United States-only field); Allowable minimum credit balance for the matter (i.e. The retainer fee for the matter)
        format: double
      creditBalanceWarning:
        type: boolean
        description: (United States-only) Flag to warn the Lawyer if they are close to exhausting the credit balance of the matter
      omitFromOverdueInvoices:
        type: boolean
        description: Flag to exclude the particular matter from the creation of overdue invoices
      invoiceSettings:
        $ref: '#/definitions/InvoiceFixedJson'
      costAgreement:
        $ref: '#/definitions/CostAgreementJson'
      taxFree:
        type: boolean
        description: Flag to determine if matter is tax-free or not
      debtorNote:
        type: string
        description: Debtor comment from "Matter Details"
      billingMode:
        type: integer
        description: >-
          Indicates whether the matter is not billable or will be billed next or later invoice cycle

          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      legalAid:
        description: (United Kingdom-only) Flags whether the matter is a Legal Aid matter or not
        $ref: '#/definitions/Object'
      staffFeeAllocations:
        description: Allocation of fees (in percentage) for the staff who worked on the Matter
        $ref: '#/definitions/StaffFeeAllocations'
      autoAllocateFees:        
        type: boolean
        description: Flag to determine if the fees are auto-allocated to the staff or not
      timeRecordedMatter:
        type: boolean
        description: Flag to determine if the work-hours for the matter are being recorded or not
  StaffFeeAllocations:
    type: object
    description: Allocation of Fees (in percentage) for the Staff who worked on the Matter
    properties:
      allocations:
        type: array
        items:
          type: object
          properties:
            staffGUID:
              type: string
              description: GUID of the Staff who worked on the matter
              format: uuid
            percent:
              type: number
              description: Percent allocation of the Fee for the Staff
              format: double    
  TrustReceiptInitMatterSetting:
    type: object
    properties:
      DefaultTrustAccountGUID:
        type: string
        format: uuid
  EvaluatePaths:
    type: object
    required:
      - firmId
      - matterId
      - paths
      - region
    properties:
      region:
        type: string
        description: 'Region [uk | us | au]'
      firmId:
        type: string
        description: Firm GUID
      matterId:
        type: string
        description: Matter GUID
      paths:
        type: array
        description: Array of JS paths to evaluate
        items:
          type: string
      objectId:
        type: string
        description: Object GUID to start evaluation from
      defaultFileId:
        type: string
        description: Object GUID of the matter card to set as default file
      params:
        type: array
        description: >-
          Parameters to be passed to calculation. For API Tables, string must be
          a stringified object.
        items:
          type: string
  CreateCardDocument:
    type: object
    required:
      - documentName
      - documentType
      - staffInitials
    properties:
      documentName:
        type: string
      createdDate:
        type: string
        format: date-time
      addedDate:
        type: string
        format: date-time
      staffInitials:
        type: string
      deleteCode:
        type: integer
        format: int32
      documentType:
        type: string
  StaffListJson:
    type: object
    properties:
      name:
        type: string
        description: Name of firm
        format: company
      firmId:
        type: string
        description: Firm Id
        format: uuid
      isTestFirm:
        type: boolean
        description: True if firm is a test firm
      staffList:
        type: array
        description: Dynamic staff data
        items:
          type: object
          $ref: '#/definitions/Staff'
  Staff:
    type: object
    properties:
      email:
        type: string
        description: Email
      firstName:
        type: string
        description: First Name
      lastName:
        type: string
        description: Last Name
      middleName:
        type: string
        description: Middle Name
      initials:
        type: string
        description: Initials
      staffId:
        type: string
        description: Staff Id
      legalAid:
        $ref: '#/definitions/LegalAid'
      rate1:
        type: number
        description: Rate 1
        format: double
      rate2:
        type: number
        description: Rate 2
        format: double
      rate3:
        type: number
        description: Rate 3
        format: double
      rate4:
        type: number
        description: Rate 4
        format: double
      rate5:
        type: number
        description: Rate 5
        format: double
      rate6:
        type: number
        description: Rate 6
        format: double
      status:
        type: integer
        description: Status
        format: int32
  PublicDocsPersonResponse:
    type: object
    properties:
      personId:
        type: string
        description: Person Id
        format: uuid
  DocListEntryJson:
    type: object
    properties:
      documentId:
        type: string
        description: Document Id
        format: uuid
      documentTypeId:
        type: integer
        description: Document type Id
        format: int32
      toFrom:
        type: string
        description: >-
          Who the document is to or from (displayed beneath the document name in
          the correspondence list)
      docName:
        type: string
        description: Document name
      createDate:
        type: string
        description: Created date
      transferMode:
        type: string
        description: 'Internally used, can be ignored'
      staffInitials:
        type: string
        description: Staff initials
      userId:
        type: string
        description: User Id (GUID)
        format: uuid
      pin:
        type: string
        description: Document pin code
      latestVersion:
        type: string
        description: Latest version of the document (GUID)
      ext:
        type: string
        description: Document extension
      deleteCode:
        type: integer
        description: Indicates if the document is marked for deletion
        format: int32
      version:
        type: integer
        description: Document version
        format: int32
      attachments:
        type: array
        description: Attachments
        items:
          $ref: '#/definitions/AttachmentEntryJson'
      lastModified:
        type: string
        description: Last modified date
      signatures:
        type: array
        description: List of document signatures
        items:
          type: string
          description: Signatures
      signatureStatus:
        type: integer
        description: 'Internally used, can be ignored'
        format: int32
      desktopOnly:
        type: boolean
        description: 'Internally used, can be ignored'
      number:
        type: string
        description: Document number assigned by auto numbering
  MattersWriteFile:
    type: object
    description: Matter file (physical) details.
    required:
      - number
    properties:
      number:
        type: string
      otherRefs:
        type: string
      location:
        type: string
  OfficeHistoryResponse:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
      Message:
        type: string
      OfficeHistoryId:
        type: string
        format: uuid
  PaymentTypeDetail:
    type: object
    properties:
      PaymentTypeDetailsGUID:
        type: string
        format: uuid
        description: GUID for the Payment Type Details record attached to the receipt (to be generated by the developer). If an ID is not passed in, an ID will be generated by LEAP.
      Addressee:
        type: string
        description: Name of the individual or entity the receipt is addressed to. 
      BSB:
        type: string
        description: BSB of the receiving bank account.
      AccountNumber:
        type: string
        description: Account Number of the receiving bank account. 
      AccountName:
        type: string
        description: Account Name of the receiving bank account. 
      Drawer:
        type: string
        description: Drawer ID the funds were received into. 
      ChequeNumber:
        type: string
        description: Cheque number of the trust receipt (if applicable).
      AuthorisationNumber:
        type: string
        description: Authorisation number of the transaction. 
      ExpiryDate:
        type: string
        format: date-time
        description: Expiry date of the transaction (if applicable).
      Notes:
        type: number
        format: double
        description: Quanity of notes received for the transaction (if applicable).
      Coins:
        type: number
        format: double
        description: Quanity of coins received for the transaction (if applicable).
      Memo:
        type: string
        description: Indicates any applicable bank debit memos. 
      BillerCode:
        type: string
        description: Biller code for the transaction (if applicable).
      BillerReference:
        type: string
        description: Biller reference number for the transaction (if applicable). 
      RowVersion:
        type: integer
        format: int64
        description: LEAP row version for Payment Type Details entries. 

  PersonListEntryJson:
    type: object
    properties:
      rowVersion:
        type: integer
        format: int32
        description: Database row Id that references this item
      personId:
        type: string
        description: Person Id
      firstName:
        type: string
      lastName:
        type: string
      previousName:
        type: string
      birthDate:
        type: string        
      salutation:
        type: string
        description: >- 
          Standard salutation field

          Examples: 
           - Mr.
           - Ms.
           - Mrs.
      deleteCode:
        type: boolean
        description: Flags whether the Person record has been deleted or not
      driverLicense:
        type: string
        description: Government-issued license number of the person in record      
      emails:
        type: array
        description: Lists email contacts of the person in record
        items:
          type: string          
      contactNumbers:
        type: array
        description: Lists other contact numbers of the person in record
        items:
          type: string

  MattersWriteTitle:
    type: object
    description: Matter title.
    properties:
      client:
        type: string
      other:
        type: string
      clientDefault:
        type: boolean
      clientPrefix:
        type: boolean
      clientSuffix:
        type: boolean
      otherDefault:
        type: boolean
      otherPrefix:
        type: boolean
      otherSuffix:
        type: boolean
  InitialisationOfficePaymentItem:
    type: object
    properties:
      OfficePaymentItemGUID:
        type: string
        format: uuid
      InvoiceItemGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      SupplierCardGuid:
        type: string
        format: uuid
      PayToAddressee:
        type: string
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: string
      BillingDescription:
        type: string
      AmountIncTax:
        type: number
        format: double
      AmountExTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      TaxCode:
        type: string
      RowVers:
        type: integer
        format: int64
      AbsSeqNum:
        type: integer
        format: int32
      SeqNum:
        type: integer
        format: int32
  InitialisationTaxCode:
    type: object
    properties:
      TaxCodeGUID:
        type: string
        format: uuid
      RatePercent:
        type: number
        format: double
      TaxCodeDescription:
        type: string
      TaxCodeName:
        type: string
      Deleted:
        type: boolean
        description: Deleted
      GlTaxCode:
        type: string
      RowVersion:
        type: integer
        format: int64
  Currency:
    type: object
    properties:
      currencyId:
        type: integer
        format: int32
      code:
        type: string
      symbol:
        type: string
      word:
        type: string
      fractionalWord:
        type: string
      isDefault:
        type: boolean
  OfficeReceiptBankAccount:
    type: object
    properties:
      BankAccountGUID:
        type: string
        format: uuid
      AccountName:
        type: string
      AccountNumber:
        type: string
      BSB:
        type: string
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      AccountUsage:
        type: integer
        format: int32
      Deleted:
        type: boolean
        Description: Deleted
      RowVersion:
        type: integer
        format: int64
      Drawer:
        type: string
      ChequeSVGLayoutGUID:
        type: string
        format: uuid
      ChequeLayoutId:
        type: integer
        format: int32
      ChequeMarginV:
        type: integer
        format: int32
      ChequeMarginH:
        type: integer
        format: int32
      ChequeNumber:
        type: integer
        format: int32
      ReceiptNumber:
        type: integer
        format: int32
      BankDepositNumber:
        type: integer
        format: int32
      JournalNumber:
        type: integer
        format: int32
      EFTNumber:
        type: integer
        format: int32
      BankRecStatementDate:
        type: string
        format: date-time
      BankRecStatementBalance:
        type: number
        format: double
      BankCurrentDate:
        type: string
  DocumentRegisterType:
    type: object
    properties:
      Id:
        type: string
        format: uuid
      Name:
        type: string
      Deleted:
        description: Deleted
        type: boolean
  DocumentTypeLADSDI:
    Type: object
    properties:
      DoucmentTypeID:
        type: string
        format: uuid
      DocumentTypeName:
        type: string
  DocumentRegisterViewLADSDV:
    type: object
    properties:
      DocumentRegister:
        $ref: '#/definitions/DocumentRegisterLADSDV'
      DocumentTypes:
        $ref: '#/definitions/DocumentTypeLADSDI'
      MatterInfo:
        $ref: '#/definitions/MatterInfoInitializationData'
  EvaluateGlobal:
    type: object
    required:
      - firmId
      - globalName
      - matterId
      - region
    properties:
      region:
        type: string
        description: 'Region [uk | us | au]'
      firmId:
        type: string
        description: Firm GUID
      matterId:
        type: string
        description: Matter GUID
      globalName:
        type: string
        description: 'Name of the global object (''firmDetails'', ''matter'')'
      defaultFileId:
        type: string
        description: Object GUID of the matter card to set as default file
      includeCalculations:
        type: boolean
        description: Include calulated fields. Default = false
        default: false
      includeDefaults:
        type: boolean
        description: Include default fields. Default = true
  RecurringMatterCostAgreement:
    type: object
    properties:
      required:
        type: boolean
      received:
        type: string
        format: date-time

  PersonsListJson:
    type: object
    properties:
      lastRowVersion:
        type: integer
        description: >-
          The `lastRowVer` field, is the highest rowversion in the list of persons so that users can get paginated results
        format: int64
      data:
        type: array
        description: Dynamic card data
        items:
          type: object
          $ref: '#/definitions/PersonListEntryJson'

  PersonsReadPerson:
    type: object
    properties:
      lastName:
        type: string
        description: Last Name
      firstName:
        type: string
        description: First Name
      birthDate:
        type: string
        format: date-time
      birthPlace:
        type: string
        description: Birth Place
      countryOfBirth:
        type: string
        description: Country Of Birth
      deathPlace:
        type: string
        description: Death Place
      deathDate:
        type: string
        format: date-time
        description: Death Date
      occupation:
        type: string
        description: Occupation
      passportNumber:
        type: string
        description: Passport Number
      passportName:
        type: string
        description: Passport Name
      maidenName:
        type: string
        description: Maiden Name
      previousName:
        type: string
        description: Previous Name
      language:
        type: string
        description: Language
      specialNeeds:
        type: string
        description: Special Needs
      maritalStatus:
        type: string
        description: MaritalStatus
      custom1:
        type: string
        description: Custom 1
      custom2:
        type: string
        description: Custom 2
      custom3:
        type: string
        description: Custom 3
      custom4:
        type: string
        description: Custom 4
      custom5:
        type: string
        description: Custom 5
      custom6:
        type: string
        description: Custom 6
      custom7:
        type: string
        description: Custom 7
      custom8:
        type: string
        description: Custom 8
      custom9:
        type: string
        description: Custom 9
      custom10:
        type: string
        description: Custom 10
      custom11:
        type: string
        description: Custom 11
      custom12:
        type: string
        description: Custom 12
      comments:
        type: string
        description: Comments
      salutation:
        type: string
        description: Salutation
      gender:
        type: string
        description: Gender
        enum:
          - male
          - female
      nationality:
        type: string
        description: Nationality
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/PersonsReadWebAddress'
      phoneNumbers:
        type: array
        description: Phone Numbers
        items:
          $ref: '#/definitions/PersonsReadPhoneNumber'
      deleted:
        type: boolean
        description: Deleted
      personId:
        type: string
        format: uuid
        description: Person Id
      emailType1:
        type: integer
        format: int32
        description: Email Type 1
      emailType2:
        type: integer
        format: int32
        description: Email Type 2
      phoneType1:
        type: integer
        format: int32
        description: Phone Type 1
      phoneType2:
        type: integer
        format: int32
        description: Phone Type 2
      phoneType3:
        type: integer
        format: int32
        description: Phone Type 3
    description: ''
  PersonsGetPersonPhoto:
    type: object
    properties:
      signedUrl:
        type: string
        format: url
        description: Signed S3 URL
        name: signedUrl
  OfficePaymentsSuccessResponse:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
      Message:
        type: string
      TransactionNumber:
        type: string
      PaymentId:
        type: string
        format: uuid
  ClearSemaphore:
    type: object
    properties:
      SemaphoreId:
        type: string
        format: uuid
        description: LEAP Semaphore ID (required to authorise the creation of the transaction)
  DefinableTableJson:
    type: object    
    properties:
      recordId:
        type: string
      __id:
        type: string
      __tableId:
        type: string
      __firmId:
        type: string
      __matterId:
        type: string
      __description:
        type: string
      __displayOrder:
        type: integer
        format: int32
      __name:
        type: string
      __fileOrder:
        type: integer
        format: int32
      __className:
        type: string
      __reatedTables:
        type: array
        items:
          type: string
      contentAppId:
        type: string
      matterDescriptions:
        $ref: '#/definitions/MatterDescriptionJson'
  CardsWriteTrustee:
    type: object
    properties:
      name:
        type: string
      company:
        type: string
        enum:
          - company
          - individual
      abn:
        type: string
      acn:
        type: string
  OfficeReceiptPreference:
    type: object
    properties:
      OfficeBankAccountGUID:
        type: string
        format: uuid
      PayTypeDetailsEnforce:
        type: boolean
      RapidPayVerificationStatus:
        type: integer
        format: int32
  FirmBranch:
    type: object
    properties:
      __className:
        type: string
      __id:
        type: string
      name:
        type: string
      displayName:
        type: string
      isMainBranch:
        type: boolean
      deleteCode:
        type: integer
        format: int32
  RecurringMatterPendingPrecedent:
    type: object
    properties:
      recordId:
        type: string
        format: uuid
      precedentId:
        type: string
      precedentName:
        type: string
      entity:
        type: string
      tableId:
        type: string
      tableOrder:
        type: integer
        format: int32
      instance:
        type: integer
        format: int32
      userId:
        type: string
        format: uuid
      created:
        type: string
        format: date-time
      deleteCode:
        type: integer
        format: int32
      precedentType:
        type: string
  OfficePaymentItemInitialisation:
    type: object
    properties:
      OfficePaymentItemGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      AmountIncTax:
        type: number
        format: double
      AmountExTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      BillingDescription:
        type: string
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      RowVersion:
        type: integer
        format: int64
      TaxCode:
        type: string
      TaxCodeGUID:
        type: string
        format: uuid
      InvoiceGUID:
        type: string
        format: uuid
      InvoiceNumber:
        type: string
      ADDate:
        type: string
      ADNumber:
        type: string
      ADGUID:
        type: string
        format: uuid
      ADRowVersion:
        type: integer
        format: int64
      ADAmountIncTax:
        type: number
        format: double
      ADAmountExTax:
        type: number
        format: double
      ADAmountTax:
        type: number
        format: double
      ADBalanceDue:
        type: number
        format: double
      MatterFileNo:
        type: string
      OfficePaymentItemReversedGUID:
        type: string
        format: uuid
  PowerEstatesRegisterTransaction:
    type: object
    required:
      - AssociateAssignedPowerId
      - DateOfPowerDocument
      - MatterId
      - TransactionId
    properties:
      TransactionId:
        type: string
        format: uuid
      MatterId:
        type: string
        format: uuid
      DonorDeceasedAddress:
        type: string
      DateOfDeath:
        type: string
        format: date-time
      DateOfPowerDocument:
        type: string
        format: date-time
      DateOfCommencementPower:
        type: string
        format: date-time
      AssociateAssignedPowerId:
        type: string
        format: uuid
      Memo:
        type: string
      DateOfPowerDocumentIsTrust:
        type: boolean
      DateOfCommencementPowerIsCurrent:
        type: boolean
      DocumentRegisterId:
        type: string
        format: uuid
  TableInCardRole:
    type: object
    properties:
      __name:
        type: string
      layoutId:
        type: string
      tableId:
        type: string
      desc:
        type: string
  ArrayOfDocumentRegisterType:
    type: array
    items:
      $ref: '#/definitions/DocumentRegisterType'

  MatterListItem:
    type: object
    properties:
      matterId:
        type: string
        format: uuid
      fileNumber:
        type: string
      firstDescription:
        type: string
      secondDescription:
        type: string
      customDescription:
        type: string
      matterTypeName:
        type: string
      matterTypeId:
        type: string
      matterStatus:
        type: string
      isCurrent:
        type: boolean
      state:
        type: string
      responsibleStaffId:
        type: string
        format: uuid
      creditStaffId:
        type: string
        format: uuid
      actingStaffId:
        type: string
        format: uuid
      assistingStaffId:
        type: string
        format: uuid
      isArchived:
        type: boolean
      deleted:
        type: boolean
        description: Deleted
      version:
        type: integer
        format: int32
      instructionDate:
        type: string
        format: date-time
      billingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      archiveDate:
        type: string
        format: date-time
  FeeCreateModel:
    type: object
    required:
      - TransactionDate
      - FeeId
      - MatterId
      - TaxCodeId
      - WorkDoneByStaffId
    properties:
      TransactionDate:
        type: string
        description: Date & time of the entry in *ISO 8601* format
        format: date-time
      RateId:
        type: integer
        description: Rate Id (internal)
        format: int32
      RatePerHour:
        type: number
        description: Rate charge per hour
        format: double
      SecondsElapsed:
        type: integer
        description: How many seconds have elapsed
        format: int32
      SecondsPerUnit:
        type: integer
        description: How many seconds there are per unit
        format: int32
      FeeUnits:
        type: integer
        description: How many fee units
        format: int32
      FeeHoursQuantity:
        type: number
        description: The quantity of fee hours to allocate
        format: double
      Timed:
        type: boolean
        description: Is this timed
      CalculationMode:
        type: integer
        description: 0 = Fixed rate per hour | 1 = Fixed amount
        format: int32
      IncTax:
        type: boolean
        description: Includes TAX
      TotalIncTax:
        type: number
        description: Total inclusive of TAX
        format: double
      TotalExTax:
        type: number
        description: Total exclusive of TAX
        format: double
      TotalTax:
        type: number
        description: Total TAX value
        format: double
      BillingDescription:
        type: string
        description: The description that will appear on the fee
      Memo:
        type: string
        description: The memo for this fee
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      ExternalURL:
        type: string
        description: >-
          When this field is populated, LEAP will open the URL provided when
          opened
      ExternalJSON:
        type: string
        description: >-
          Use this field for capturing app specific custom data (not used by
          LEAP)
      FeeId:
        type: string
        description: A new GUID that will identify the fee
        format: uuid
      MatterId:
        type: string
        description: The matter Id
        format: uuid
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      WorkDoneByStaffId:
        type: string
        description: The Id (GUID) of the staff member the work was completed by
        format: uuid
      AttributeFeesToStaffId:
        type: string
        description: Which staff member to attribute the fees to
        format: uuid
  CreateInvoice:
    type: object
    properties:
      FileNumber:
        type: string
      MatterGUID:
        type: string
        format: uuid
      DebtorCardGUID:
        type: string
        format: uuid
      BillToAddressee:
        type: string
      Memo:
        type: string
      RowVers:
        type: integer
        format: int64
      Status:
        type: integer
        format: int32
      StatusOld:
        type: integer
        format: int32
      DeletedOld:
        type: integer
        format: int32
      IncTax:
        type: integer
        format: int32
      TransactionNumber:
        type: string
      InvoiceGUID:
        type: string
        format: uuid
      ReversedInvoiceGUID:
        type: string
        format: uuid
      AutoNumber:
        type: integer
        format: int32
      TransactionDate:
        type: string
        format: date-time
      Deleted:
        type: integer
        description: Deleted
        format: int32
      DeletedDate:
        type: string
        format: date-time
      ReversedOrReversal:
        type: integer
        format: int32
      InvoiceLayoutGUID:
        type: string
        format: uuid
      DateDue:
        type: string
        format: date-time
      Fixed:
        type: integer
        format: int32
      FixedAmount:
        type: number
        format: double
      BatchNo:
        type: integer
        format: int32
      ParentInvGUID:
        type: string
        format: uuid
      LABillingJson:
        type: string
      LABillingStage:
        type: integer
        format: int32
      MatterBillingMode:
        type: integer
        format: int32
      LAExceptional:
        type: integer
        format: int32
      LACRMPSFFExceeded:
        type: integer
        format: int32
      InvSemaphoreGUID:
        type: string
        format: uuid
      InvoiceXMLItems:
        $ref: '#/definitions/InvoiceXMLItems'
      InvoiceJsonItems:
        $ref: '#/definitions/OfficeInvoiceJSONItems'
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/OfficePaymentItem'
      OfficeDisbJournItems:
        type: array
        items:
          $ref: '#/definitions/OfficeDisbJournItem'
      AnticipatedDisbursements:
        type: array
        items:
          $ref: '#/definitions/AnticipatedDisbursement'
      Fees:
        type: array
        items:
          $ref: '#/definitions/Fee'
      CostRecoveries:
        type: array
        items:
          $ref: '#/definitions/CostRecovery'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
      AppId:
        type: string
        enum:
          #- Cloud
          #- Leo
          #- Mobile
          #- TimeSheet
          #- Import
          - TP
      FunctionGroupId:
        type: string
        format: uuid
      SplitCards:
        type: array
        items:
          $ref: '#/definitions/SplitCards'
      AssisgnedStaffId:
        type: string
        format: uuid
      AssisgnedStaffMemo:
        type: string
  SplitCards:
    type: object
    properties:
      CardId:
        type: string
        format: uuid
      InvoiceId:
        type: string
        format: uuid
      SplitAmount:
        type: number
        format: double
      SplitAmountExTax:
        type: number
        format: double
      SplitTax:
        type: number
        format: double
      BalanceDue:
        type: number
        format: double
      CardAddress:
        type: string
      BTIRef:
        type: string
      BTI_Ref:
        type: integer
        format: int32
  ChangeInvoiceStatus:
    type: object
    properties:
      StatusID:
        type: integer
        description: 0 = Draft Unapproved, 1 = Draft Approved, 2 = Final Printed/Sent
        format: int32
      BatchMemo:
        type: string
        description: Additional details on the invoice batch being updated
      Invoices:
        type: array
        description: List of invoices that need updating
        items:
          type: object          
          properties:
            InvoiceGUID:
              type: string
              description: Collection of Invoice GUIDs that need updating 
              format: uuid              
            InvoiceRowVers:
              type: integer
              description: Database row Id that references this item
              format: int32              
  MattersReadCostAgreement:
    type: object
    properties:
      required:
        type: boolean
      received:
        type: string
        format: date-time
  MattersWriteArchive:
    type: object
    description: Archive details.
    properties:
      isArchived:
        type: boolean
      archiveNumber:
        type: string
      archiveDate:
        type: string
        format: date-time
      boxNumber:
        type: string
      archivedBy:
        type: string
      dateOfDestruction:
        type: string
        format: date-time
  OfficeReceiptInvoices:
    type: object
    properties:
      OfficeReceiptInvoice:
        type: array
        items:
          $ref: '#/definitions/OfficeReceiptInvoice'
  ArrayOfTrustBankRecAdditionResponse:
    type: array
    items:
      $ref: '#/definitions/TrustBankRecAdditionResponse'
  CardsReadWebAddress:
    type: object
    properties:
      type:
        type: string
        description: Web Address Type
        enum:
          - email
          - web
          - email2
          - web2
      value:
        type: string
        description: Web Address value
  ArrayOfOfficeHistoryTransaction:
    type: array
    items:
      $ref: '#/definitions/OfficeHistoryTransaction'
  PurchaseOrderInitialisationData:
    type: object
    properties:
      PurchaseOrder:
        $ref: '#/definitions/PurchaseOrderInitCreate'
      CostRecovery:
        $ref: '#/definitions/PurchaseOrderInitCostRecovery'
      TaxCodes:
        type: array
        items:
          $ref: '#/definitions/PurchaseOrderInitTaxCode'
      Preference:
        $ref: '#/definitions/PurchaseOrderInitPreference'
  CardsReadFutureAddressSettings:
    type: object
    properties:
      startDate:
        type: string
        description: Start Date
        format: date-time
      endDate:
        type: string
        description: End Date
        format: date-time
  CardsWriteOrganisationDetails:
    type: object
    properties:
      businessType:
        type: string
        description: USED BY ORGANISATION -&gt; Business
      companyName:
        type: string
        description: "USED BY ORGANISATION -&gt; Company:\r\nCompany Name"
      companyTitle:
        type: string
        description: Company Title                     
      tradingName:
        type: string
        description: "USED BY ORGANISATION -&gt; Business\r\nNOTE This field is used to hold Department Name and Trust Name\r\nTrading Name"
      tradingTitle:
        type: string
        description: "Trading Title"                                    
      isSoleDirector:
        type: boolean
        description: Is Sole director
      departmentName:
        type: string
        description: DummyField -&gt; mapped to Trading Name
      trustName:
        type: string
        description: Dumm Field -&gt; mapped to Trading Name
      abn:
        type: string
        description: ABN
      isRegOfficeSameAsStreetAddress:
        type: boolean
        description: "USED BY ORGANISATION:\r\nIs Registration Office the same as street address"
      regOffice:
        description: "If IsRegOfficeSameAsStreetAddress is false, we use the \r\nbelow object to populate address details"
        $ref: '#/definitions/CardsWriteBaseAddress'
      trustees:
        type: array
        description: "USED BY ORGANISATION:\r\nTrustees"
        items:
          $ref: '#/definitions/CardsWriteTrustee'
      acn:
        type: string
        description: ACN
      trustStatus:
        type: string
        description: Trust Status
      trustDate:
        type: string
        format: date-time
        description: Trust Date
      acnType:
        type: string
        description: ACN Type                        
  SimplifiedInvoiceSuccessResponse:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
      Message:
        type: string
      InvoiceGUID:
        type: string
        format: uuid
      TransactionNumber:
        type: integer
        format: int32
  MattersReadCard:
    type: object
    required:
      - displaySequence
      - order
      - tableId
    properties:
      tableId:
        type: string
      recordId:
        type: string
        format: uuid
      order:
        type: integer
        format: int32
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
      table:
        $ref: '#/definitions/MattersReadCardTable'
      personIds:
        type: array
        items:
          type: string
          format: uuid
      reference:
        type: string
  PersonsReadWebAddress:
    type: object
    properties:
      type:
        type: string
        description: Web Address Type
        enum:
          - email
          - web
          - email2
          - web2
      value:
        type: string
        description: Web Address value
    description: Web Address Model
  ArrayOfPaymentType:
    type: array
    items:
      $ref: '#/definitions/PaymentType'
  FirmDetailsJson:
    type: object
    properties:
      __className:
        type: string
      __id:
        type: string
      __region:
        type: string
      __env:
        type: string
      __isTestFirm:
        type: boolean
      branchList:
        type: array
        items:
          type: string
      autoNumbering:
        type: boolean
      autoNumberingFormat:
        type: string
      firmName:
        type: string
      externalPlatform:
        type: integer
        format: int32
      gstRate:
        type: number
        format: double
      staffList:
        type: array
        items:
          type: string
      currency:
        $ref: '#/definitions/Currency'
      countryCode:
        type: string
        enum:
          - au
          - uk
          - us
          - ie
      state:
        type: string
      defaultSearchProvider:
        type: string
  ArrayOfReadCardDocuments:
    type: array
    items:
      $ref: '#/definitions/ReadCardDocuments'
  InfotrackSearchOrder:
    type: object
    properties:
      sequenceNumber:
        type: string
      url:
        type: string
      statusMessage:
        type: string
      status:
        type: string
      serviceName:
        type: string
      retailerReference:
        type: string
      reference:
        type: string
      parentOrderId:
        type: integer
        format: int32
      orderedBy:
        type: string
      orderId:
        type: integer
        format: int32
      description:
        type: string
      dateCompleted:
        type: string
        format: date-time
      dateOrdered:
        type: string
        format: date-time
      comments:
        type: string
      clientReference:
        type: string
      billingTypeName:
        type: string
      availableOnline:
        type: boolean
      totalFee:
        $ref: '#/definitions/InfotrackFee'
      supplierFee:
        $ref: '#/definitions/InfotrackFee'
      retailerFee:
        $ref: '#/definitions/InfotrackFee'
      files:
        type: array
        items:
          $ref: '#/definitions/InfotrackFileInfo'
  CardsWriteUpdateCard:
    type: object
    required:
      - cardId
    properties:
      cardId:
        type: string
        format: uuid
        description: Card Id.
      emailType1:
        type: integer
        format: int32
        description: Email Type 1
      emailType2:
        type: integer
        format: int32
        description: Email Type 2
      phoneType1:
        type: integer
        format: int32
        description: Phone Type 1
      phoneType2:
        type: integer
        format: int32
        description: Phone Type 2
      phoneType3:
        type: integer
        format: int32
        description: Phone Type 3
      deleteCode:
        type: integer
        format: int32
        description: Delete Code
      shortName:
        type: string
        description: Card short Name
      type:
        type: string
        description: "Card Type\r\nCould be an enum since possible values are:"
        enum:
          - people
          - company
          - trust
          - government
          - business
      isSupplier:
        type: boolean
        description: Is Supplier
      titleType:
        type: string
        description: Title Type
        enum:
          - default
          - custom
      title:
        type: string
        description: Title
      salutationTitleType:
        type: string
        description: Salutation Title Type
        enum:
          - defaultFriendly
          - defaultFormal
          - custom
      salutationTitle:
        type: string
        description: Salutation Title
      comments:
        type: string
        description: General Notes
      addresses:
        type: array
        description: Current Addresses
        items:
          $ref: '#/definitions/CardsWriteAddress'
      futureAddresses:
        type: array
        description: Future Addresses
        items:
          $ref: '#/definitions/CardsWriteAddress'
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/CardsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone numbers
        items:
          $ref: '#/definitions/CardsWritePhoneNumber'
      persons:
        type: array
        description: Persons
        items:
          $ref: '#/definitions/CardsWritePerson'
      fields:
        type: array
        description: Fields
        items:
          $ref: '#/definitions/CardsWriteField'
      bankAccount:
        description: Bank Account
        $ref: '#/definitions/CardsWriteBankAccount'
      futureAddressSettings:
        $ref: '#/definitions/CardsReadFutureAddressSettings'
      organisationDetails:
        description: Organisation Details
        $ref: '#/definitions/CardsWriteOrganisationDetails'
  CostRecoveryReadModel:
    type: object
    required:
      - BillingDescription
      - TransactionDate
      - CostRecoveryId
      - MatterId
      - TaxCodeId
    properties:
      PurchaseMode:
        type: integer
        description: 'Internally used, can be ignored'
        format: int32
      TransactionDate:
        type: string
        description: Date of transaction (any valid datetime)
        format: date-time
      TransactionNumber:
        type: string
        description: Transaction number
      Quantity:
        type: integer
        description: How many billable items
        format: int32
      AmountEach:
        type: number
        description: Cost per item
        format: double
      IncTax:
        type: number
        description: Does this item include TAX
        format: double
      TotalIncTax:
        type: number
        description: 'Total value, including TAX'
        format: double
      TotalExTax:
        type: number
        description: 'Total value, excluding TAX'
        format: double
      TotalTax:
        type: number
        description: Total TAX value
        format: double
      BillingDescription:
        type: string
        description: The description that will appear on the CostRecovery
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      LABillingStage:
        type: integer
        description: This field is related to LegalAid fields and can be ignored
        format: int32
      LAActivityTypeCode:
        type: string
        description: This field is related to LegalAid fields and can be ignored
      MatterBillingMode:
        type: integer
        description: 'LegalAid billing mode, at the time of costrecovery creation'
        format: int32
      TaxCode:
        type: string
        description: The TaxCode, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      InvoiceTransactionNumber:
        type: string
        description: Transaction number related to the invoice
      SearchingID:
        type: integer
        description: Searching Id (internal)
        format: int32
      SearchingXml:
        type: string
        description: XML of the search
      Deleted:
        type: boolean
        description: Marked as deleted
      DeletedDetails:
        type: string
        description: >-
          This property is set to 'This transaction has been deleted.' if the
          transaction is deleted - for display
      DeletedDate:
        type: string
        description: Deleted date (any valid datetime)
        format: date-time
      RowVersion:
        type: integer
        description: Database row Id that references this item
        format: int64
      LAActivityDescription:
        type: string
        description: This field is related to LegalAid fields and can be ignored
      LAADisplayDescription:
        type: string
        description: This field is related to LegalAid fields and can be ignored
      PurchaseOrderGUID:
        type: string
        description: >-
          The purchase order Id for the purchase order related to the cost
          recovery
        format: uuid
      ExternalURL:
        type: string
        description: >-
          When this field is populated, LEAP will open the URL provided when
          opened
      ExternalJSON:
        type: string
        description: >-
          Use this field for capturing app specific custom data (not used by
          LEAP)
      CostRecoveryId:
        type: string
        description: Id related to this CostRecovery
        format: uuid
      MatterId:
        type: string
        description: Matter Id
        format: uuid
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
      TaskCodeId:
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        type: string
        format: uuid
      PurchaseSupplierCardId:
        type: string
        description: Card Id related to the purchase supplier
        format: uuid
      InvoiceId:
        type: string
        description: Id related to the invoice
        format: uuid
  RecurringMatterCustomField:
    type: object
    properties:
      fieldId:
        type: string
        format: uuid
      value:
        type: string
      userValue:
        type: string
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
  RecurringMatterTitle:
    type: object
    properties:
      client:
        type: string
      other:
        type: string
      clientDefault:
        type: boolean
      clientPrefix:
        type: boolean
      clientSuffix:
        type: boolean
      otherDefault:
        type: boolean
      otherPrefix:
        type: boolean
      otherSuffix:
        type: boolean
  CostRecovery:
    type: object
    properties:
      InvoiceItemGUID:
        type: string
        format: uuid
      CostRecoveryGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      AmountExTax:
        type: number
        format: double
      AmountIncTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      RowVers:
        type: integer
        format: int64
      StaffGUID:
        type: string
        format: uuid
      taxSplits:
        $ref: '#/definitions/OfficeInvoiceTaxSplits'
  PersonsWritePhoneNumber:
    type: object
    properties:
      type:
        type: string
        description: Type
        enum:
          - phone
          - fax
          - mobile
          - home
          - work
          - mobile2
          - mobile3
      value:
        type: string
        description: Value
    description: Phone Number Model
  OfficeInvoiceJSONItems:
    type: object
    properties:
      invoiceDisplayItems:
        $ref: '#/definitions/OfficeInvoiceV2InvoiceDisplayItems'
  PurchaseOrderCreate:
    type: object
    required:
      - ReferenceNo
      - SupplierCardGUID
      - TransactionDate
    properties:
      PurchaseOrderGUID:
        type: string
        format: uuid
      ReferenceNo:
        type: string
      TransactionDate:
        type: string
        format: date-time
      DeliveryDate:
        type: string
        format: date-time
      SupplierCardGUID:
        type: string
        format: uuid
      CostRecoveryGUID:
        type: string
        format: uuid
      IncTax:
        type: boolean
      FileName:
        type: string
      PurchaseOrderItems:
        type: array
        items:
          $ref: '#/definitions/CreatePurchaseOrderItem'
  CreateDocumentRegister:
    type: object
    properties:
      DocumentRegisterId:
        type: string
        format: uuid
      PacketId:
        type: string
        format: uuid
      PacketMode:
        type: integer
        format: int32
      MatterId:
        type: string
        format: uuid
      CardId:
        type: string
        description: Card Id
        format: uuid
      PacketLocation:
        type: string
      DocumentTypeId:
        type: string
        format: uuid
      DocumentTypeName:
        type: string
      DocumentNumber:
        type: string
      DocumentNumberAuto:
        type: integer
        format: int32
      RemovedStatusId:
        type: integer
        format: int32
      RemovedByStaffId:
        type: string
        format: uuid
      RemovedDate:
        type: string
        format: date-time
      RemovedReason:
        type: string
      LeadingZeros:
        type: integer
        format: int32
        description: Used to add pad the packet number with a '0' before the AutoNumber.
      DocumentDate:
        type: string
        format: date-time
      DocumentDescription:
        type: string
      DocumentStoredDate:
        type: string
        format: date-time
      Memo:
        type: string
      Comments:
        type: string
      FileDocumentId:
        type: string
        format: uuid
      FileDocumentName:
        type: string
      FileDocumentStoredType:
        type: integer
        format: int32
      FileExtension:
        type: string
  TrustLedgerHistory:
    type: object
    properties:
      TransactionDate:
        type: string
        format: date-time
      EntryDate:
        type: string
        format: date-time
      AccountName:
        type: string
      TransactionNumber:
        type: string
      TransactionDescription:
        type: string
      AmountWithdrawal:
        type: number
        format: double
      AmountDeposit:
        type: number
        format: double
      Reconciled:
        type: boolean
      TransactionItemGUID:
        type: string
        format: uuid
      TransactionHeaderGUID:
        type: string
        format: uuid
      TransactionType:
        type: integer
        format: int32
      AbsSeqNum:
        type: integer
        format: int32
      SeqNum:
        type: integer
        format: int32
      AccountGUID:
        type: string
        format: uuid
  MatterJson:
    type: object
    properties:
      __firmId:
        type: string
        description: Firm ID that the matter belongs to
      type:
        type: string
        description: Description of the matter type
      matterTypeId:
        type: string
        description: GUID of the matter type ID
      fileNumber:
        type: string
        description: Unique identifier of the matter as a file number
      credit:
        type: string
        description: (Optional) staff GUID who will receive the credit for this matter
      personResponsible:
        type: string
        description: (Optional) staff GUID responsible for the matter
      personActing:
        type: string
        description: (Required) staff GUID of the person handling the matter
      personAssisting:
        type: string
        description: (Required) staff GUID of the person assisting the staff handling the matter
      staffInitials:
        type: string
        description: (Deprecated) staff initial of the creator of the matter
      title:
        type: string
        description: Title of the matter
      acl:
        $ref: '#/definitions/AclJson'
      criticalDates:
        type: object
        description: List of the critical dates that are important to the Matter
        #additionalProperties:
        properties:
          additionalProp1:
            $ref: '#/definitions/CriticalDate'
          additionalProp2:
            $ref: '#/definitions/CriticalDate'
          additionalProp3:
            $ref: '#/definitions/CriticalDate'
      referrerCardId:
        description: Card GUID of the person who referred this matter
        type: string        
      referrerPersonId:
        type: string
        description: Person GUID of the person who referred this matter
      deleteCode:
        type: integer
        description: Flags whether the matter has been deleted or not
        format: int32
      accounting:
        description: List of Accounting-related information regarding the Matter
        $ref: '#/definitions/MatterAccountingJson'
      archive:
        description: List of Achival-related information regarding the Matter
        $ref: '#/definitions/MatterArchiveJson'
      msTeams:
        $ref: '#/definitions/MatterMsTeamsJson'
      fileLocation:
        type: string
        description: Physical location of the file for archiving
      definableTableList:
        type: array
        Description: List of definable tables associated with the matter
        items:
          type: string
      cardList:
        type: array
        Description: List of Card objects associated with the matter
        items:
          type: string
      state:
        type: string
        description: State where the matter has been created for
      recordVersion:
        type: integer
        description: Current version of the matter
        format: int32
      baseRecurringMatter:
        type: string
        description: GUID of the recurring matter where the matter  is based on
      workObtained:
        type: string
        description: List on how the matter was obtained (See dropdown for "Work Obtained" in the Matter details window of LEAP Desktop)
      titleClient:
        type: string
        description: Maps to the "Matter Title" tab of the Matter Details in LEAP Desktop. 
      clientPrefix:
        type: string
        description: Maps to the "Matter Title" tab of the Matter Details in LEAP Desktop. Flag to check if the Client Name will be used as prefix for the matter
      clientSuffix:
        type: string
        description: Maps to the "Matter Title" tab of the Matter Details in LEAP Desktop. Flag to check if the Client Name will be used as suffix for the matter
      otherPrefix:
        type: string
        description: Maps to the "Matter Title" tab of the Matter Details in LEAP Desktop. Flag to check if the Other Side Name will be used as prefix for the matter
      otherSuffix:
        type: string
        description: Maps to the "Matter Title" tab of the Matter Details in LEAP Desktop. Flag to check if the Other Side Name will be used as suffix for the matter
      clientDefault:
        type: string
        description: Flag to check if the Client Name's default "Re:" line will be used in letters to Client
      otherDefault:
        type: string
        description: Flag to check if the Other Side's Name default "Re:" line will be used in letters to Client
      notificationStatus:
        type: string
        description: Flag to check if Notifications are toggled on/off for the Matter
      onlyAllowPersonResponsible:
        type: string
        description: |-
          Toggle to restrict access to "Person Responsible" field in "Matter Details"

          Maps to "Matter Details -> Access & Permissions -> Restrict Access to Matter Details"
      onlyAllowPersonActing:
        type: string
        description: |-
          Toggle to restrict access to "Person Acting" field in "Matter Details"

          Maps to "Matter Details -> Access & Permissions -> Restrict Access to Matter Details"
      onlyAllowPersonAssisting:
        type: string
        description: |-
          Toggle to restrict access to "Person Assisting" field in "Matter Details"

          Maps to "Matter Details -> Access & Permissions -> Restrict Access to Matter Details"
      percentageComplete:
        type: string
        description: Indicator of the matter's current progress
      billingMethod:
        type: string
        description: Billing mode for the matter (under "Matter Accounting Details")
      autoCustomDescription:
        type: boolean
        description: Flags whether the matter has an automatic custom description
      __className:
        type: string
        description: (Internal use only) Used to identify if the JSON is for Matter, Card or Person for PUT /api/v1/matters/{matterId}
      __id:
        type: string
        description: (Internal use only) If '__className' is 'Matter', '__id' represents the 'MatterID'
      __substitution:
        $ref: '#/definitions/SubstitutionJson'
  MatterMsTeamsJson:
    type: object
    properties:
      tenantId:
        type: string
        format: uuid
      groupId:
        type: string
        format: uuid 
      teamId:
        type: string
        format: uuid
      generalChannelId:
        type: string
        format: uuid             
  RecurringMatterCriticalDate:
    type: object
    properties:
      criticalDateId:
        type: string
      name:
        type: string
      displayName:
        type: string
      valueFieldId:
        type: string
      confirmedField:
        type: string
      isConfirmable:
        type: boolean
      status:
        type: string
      confirmStatus:
        type: string
      compPercent:
        type: integer
        format: int32
      order:
        type: integer
        format: int32
      jsName:
        type: string
      value:
        type: string
        format: date-time
      confirmed:
        type: boolean
  
  CreateTrustPayment:
    type: object
    required:
      - BankAccountGUID
      - PaymentNumber
      - PaymentTypeDetails
      - PaymentTypeGUID
      - TransactionDate
      - TrustPaymentGUID
    properties:
      TrustPaymentGUID:
        type: string
        format: uuid
      BankAccountGUID:
        type: string
        format: uuid
      PaymentNumber:
        type: string
      TransactionDate:
        type: string
        format: date-time
      EntryDate:
        type: string
        format: date-time
      PayToAddressee:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      PaymentTypeId:
        type: integer
        format: int32
      PaymentTypeGUID:
        type: string
        format: uuid
      AutoNumber:
        type: integer
        format: int32
      PaymentProcessed:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
      Reconciled:
        type: integer
        format: int32
      Void:
        type: boolean
      OfficeReceiptGUID:
        type: string
        format: uuid
      TrustPaymentItems:
        type: array
        items:
          $ref: '#/definitions/CreateTrustPaymentItem'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
      SecurityOverride:
        $ref: '#/definitions/CreateTrustPaymentSecurityOverride'
      PayToName:
        type: string
  RecurringMatterCards:
    type: object
    properties:
      tableTableId:
        type: string
      order:
        type: integer
        format: int32
      default:
        type: boolean
      recordId:
        type: string
        format: uuid
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
      table:
        $ref: '#/definitions/RecurringMatterCardTable'
      reference:
        type: string
  CreateSimplifiedInvoice:
    type: object
    required:
      - MatterGUID
      - Memo
      - Status
    properties:
      MatterGUID:
        type: string
        format: uuid
      InvoiceLayoutId:
        type: string
        format: uuid
      DebtorAdd:
        type: string
      Memo:
        type: string
      UnbilledAtDate:
        type: string
      Status:
        type: integer
        format: int32
      MarkInvoiceFinal:
        type: integer
        format: int32
      DueDate:
        type: string
      ExTimeAndFees:
        type: boolean
      ExCostRecoveries:
        type: boolean
      ExDisbursementJournals:
        type: boolean
      ExOfficePayments:
        type: boolean
      ExAnticipatedPayments:
        type: boolean
      AssisgnedStaffId:
        type: string
        format: uuid
      AssisgnedStaffMemo:
        type: string
  InitialisationTaskCodeCostRecovery:
    type: object
    properties:
      TaskCodeGUID:
        type: string
        format: uuid
      PurchaseSupplierCardGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      PurchaseMode:
        type: string
        description: 'Internally used, can be ignored'
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      BillingDescription:
        type: string
      AmountEach:
        type: number
        format: double
      IncTax:
        type: integer
        format: int32
      GroupOnInvoice:
        type: integer
        format: int32
  MattersWriteDefinableTable:
    type: object
    required:
      - definableTableId
      - displaySequence
      - fields
      - order
    properties:
      definableTableId:
        type: string
        description: Definable Table Id
      order:
        type: integer
        description: Order
        format: int32
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
      fields:
        type: array
        items:
          $ref: '#/definitions/MattersWriteField'
  MattersPostDefinableTablesArray:
    type: array
    items:
      $ref: '#/definitions/MattersPostDefinableTable'
  MattersPostDefinableTable:
    type: object
    required:
      - definableTableId
      - displaySequence
      - fields
    properties:
      definableTableId:
        type: string
        description: Definable Table Id.  This can be found on LEAP on debug mode.
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
      fields:
        type: array
        items:
          $ref: '#/definitions/MattersWriteField'
  MattersPostDefinableTableResponseArray:
    type: array
    items:
      $ref: '#/definitions/MattersPostDefinableTableResponse'
  MattersPostDefinableTableResponse:
    type: object
    properties:
      definableTableId:
        type: string
      order:
        type: integer
        format: int32
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
      fields:
        type: array
        items:
          $ref: '#/definitions/MattersWriteFieldResponse'
      description:
        type: string
  ArrayOfFeeItem:
    type: array
    description: List of fees
    items:
      $ref: '#/definitions/FeeItemModel'
  MatterItemModel:
    type: object
    properties:
      TransactionDate:
        type: string
        description: Date of transaction (any valid datetime)
        format: date-time
      BillingDescription:
        type: string
        description: The description that will appear on the fee
      Quantity:
        type: integer
        description: How many items
        format: int32
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      TransactionNumber:
        type: string
        description: Number associated with this transaction
      TotalIncTax:
        type: number
        description: Total inclusive of TAX
        format: double
      TotalExTax:
        type: number
        description: Total exclusive of TAX
        format: double
      Deleted:
        type: boolean
        description: Is this item marked as deleted
      DeletedDate:
        type: string
        description: Deleted date (any valid datetime)
        format: date-time
      RowVersion:
        type: integer
        description: The database identifier for this item
        format: int64
      ExternalURL:
        type: string
        description: >-
          When this field is populated, LEAP will open the URL provided when
          opened
      ExternalJSON:
        type: string
        description: >-
          Use this field for capturing app specific custom data (not used by
          LEAP)
      CostRecoveryId:
        type: string
        description: The Id (GUID) of this CostRecovery
        format: uuid
      InvoiceItemId:
        type: string
        description: The Id of the attached invoice
        format: uuid
  OfficePaymentTaxCode:
    type: object
    properties:
      TaxCodeGUID:
        type: string
        format: uuid
      RatePercent:
        type: number
        format: double
      TaxCodeDescription:
        type: string
      TaxCode:
        type: string
      Deleted:
        type: boolean
        description: Deleted
      RowVersion:
        type: integer
        format: int64
      GLTaxCode:
        type: string
  OfficePaymentPreference:
    type: object
    properties:
      OfficeBankAccountGUID:
        type: string
        format: uuid
      EFTNumberPrefix:
        type: string
      GSTTaxCodeGUID:
        type: string
        format: uuid
      PayTypeDetailsEnforce:
        type: boolean
  CardListJson:
    type: object
    properties:
      lastRowVersion:
        type: integer
        description: >-
          The `lastRowVersion` field, is the database identity record of the
          item being requested.


          Provide this to get a DELTA of all cards that have been changed or
          created since the `lastRowVer` provided.
        format: int64
      cardList:
        type: array
        description: Dynamic card data
        items:
          type: object
          $ref: '#/definitions/CardListDetails'
          
  CardJson:
    type: object
    properties:
      cardId:
        type: string
        format: uuid
        description: Card Id
      modifiedUserId:
        type: string
        description: Modified User Id
        format: uuid
      deleteCode:
        type: integer
        format: int32
        description: Delete Code
      shortName:
        type: string
        description: Card short Name
      fullName:
        type: string
        description: Card full Name
      type:
        type: string
        description: "Card Type\r\nCould be an enum since possible values are:"
        enum:
          - people
          - company
          - trust
          - government
          - business
      isSupplier:
        type: boolean
        description: Is Supplier
      titleType:
        type: string
        description: Title Type
        enum:
          - default
          - custom
      title:
        type: string
        description: Title
      salutationTitleType:
        type: string
        description: Salutation Title Type
        enum:
          - defaultFriendly
          - defaultFormal
          - custom
      salutationTitle:
        type: string
        description: Salutation Title
      description:
        type: string
        description: Description
      emailType1:
        type: integer
        format: int32
        description: Email Type 1
      emailType2:
        type: integer
        format: int32
        description: Email Type 2
      phoneType1:
        type: integer
        format: int32
        description: Phone Type 1
      phoneType2:
        type: integer
        format: int32
        description: Phone Type 2
      phoneType3:
        type: integer
        format: int32
        description: Phone Type 3
      comments:
        type: string
        description: General Notes
      marketingConsent:
        type: string
        description: Marketing Consent
      cardNumber:
        type: integer
        description: Card Number
      irdNumber:
        type: string
        description: The "Inland Revenue Department" - an ID specific to New Zealand Cards, which is equivalent to Australia's Tax File Number
      taxCountry:
        type: string
        description: Tax Country                           
      addresses:
        type: array
        description: Current Addresses
        items:
          $ref: '#/definitions/CardsWriteAddress'
      futureAddresses:
        type: array
        description: Future Addresses
        items:
          $ref: '#/definitions/CardsWriteAddress'
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/CardsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone numbers
        items:
          $ref: '#/definitions/CardsWritePhoneNumber'
      persons:
        type: array
        description: Persons
        items:
          $ref: '#/definitions/CardsWritePerson'
      fields:
        type: array
        description: Custom field location for attaching meta tags, depending on the App
        items:
          $ref: '#/definitions/CardsWriteField'
      bankAccount:
        description: Bank Account
        $ref: '#/definitions/CardsWriteBankAccount'
      futureAddressSettings:
        $ref: '#/definitions/CardsReadFutureAddressSettings'
      organisationDetails:
        description: Organisation Details
        $ref: '#/definitions/CardsWriteOrganisationDetails'
  CardListMatterJson:
    type: array
    items:
      $ref: '#/definitions/CardJson'
  RegisteredOfficeJson:
    type: object
    properties:
      specialInstructions:
        type: string
      propertyBuildingName:
        type: string
      levelUnitShop:
        type: string
      number:
        type: string
      street:
        type: string
      suburb:
        type: string
      county:
        type: string
      state:
        type: string
      postcode:
        type: string
  CardsWriteCreateCard:
    type: object
    properties:
      bankAccount:
        description: Bank Account
        $ref: '#/definitions/CardsWriteBankAccount'
      beneficiaries:
        $ref: '#/definitions/Beneficiaries'
      deleteCode:
        type: integer
        format: int32
        description: Delete Code
      shortName:
        type: string
        description: Card short Name
      type:
        type: string
        description: "Card Type\r\nCould be an enum since possible values are:"
        enum:
          - people
          - company
          - trust
          - government
          - business
      isSupplier:
        type: boolean
        description: Is Supplier
      titleType:
        type: string
        description: Title Type
        enum:
          - default
          - custom
      title:
        type: string
        description: Title
      salutationTitleType:
        type: string
        description: Salutation Title Type
        enum:
          - defaultFriendly
          - defaultFormal
          - custom
      salutationTitle:
        type: string
        description: Salutation Title
      comments:
        type: string
        description: General Notes
      marketingConsent:
        type: boolean
        description: Marketing Consent               
      emailType1:
        type: integer
        format: int32
        description: Email Type 1
      emailType2:
        type: integer
        format: int32
        description: Email Type 2
      phoneType1:
        type: integer
        format: int32
        description: Phone Type 1
      phoneType2:
        type: integer
        format: int32
        description: Phone Type 2
      phoneType3:
        type: integer
        format: int32
        description: Phone Type 3
      irdNumber:
        type: string
        description: The "Inland Revenue Department" - an ID specific to New Zealand Cards, which is equivalent to Australia's Tax File Number
      taxCountry:
        type: string
        description: Tax Country
      addresses:
        type: array
        description: Current Addresses
        items:
          ##$ref: '#/definitions/CardsWriteAddress'
          $ref: '#/definitions/CardsWriteAddressPostV2Cards'
      futureAddresses:
        type: array
        description: Future Addresses
        items:
          ##$ref: '#/definitions/CardsWriteAddress'
          $ref: '#/definitions/CardsWriteAddressPostV2Cards'
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/CardsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone numbers
        items:
          $ref: '#/definitions/CardsWritePhoneNumber'
      persons:
        type: array
        description: Persons
        items:
          $ref: '#/definitions/CardsWritePerson'
      fields:
        type: array
        description: Custom field location for attaching meta tags, depending on the App
        items:
          $ref: '#/definitions/CardsWriteField'
      futureAddressSettings:
        $ref: '#/definitions/CardsReadFutureAddressSettings'
      organisationDetails:
        description: Organisation Details
        $ref: '#/definitions/CardsWriteOrganisationDetails'
      trustees:
        type: array
        description: Trustees
        items:          
          $ref: '#/definitions/TrusteesObject'
      trust:
        $ref: '#/definitions/Trust'  

  TrusteesObject:
    type: object
    properties:
      name: 
        type: string
        description: 
      company: 
        type: company
        description: 
      abn: 
        type: string
        description: Australian Business Number
      acn: 
        type: string 
        description: Australian Company Number  

  MatterListJson:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/MatterListEntryJson'
      lastRowVer:
        type: integer
        format: int64
      total:
        type: integer
        format: int32
  MatterCardJson:
    type: object    
    properties:
      __id:
        type: string
      __firmId:
        type: string
      __matterId:
        type: string
      __inherited:
        type: string
      __className:
        type: string
      __fileOrder:
        type: integer
        format: int32
      reference:
        type: string
      __tableId:
        type: string
      __classes:
        type: array
        items:
          type: string
      __displayOrder:
        type: integer
        format: int32
      default:
        type: boolean
      cardPersonList:
        type: array
        items:
          type: string
      __description:
        type: string
      __matterCardId:
        type: string
        format: uuid
      __reatedTables:
        type: array
        items:
          type: string
  MattersReadStaff:
    type: object
    required:
      - acting
      - responsible
    properties:
      credit:
        $ref: '#/definitions/MattersReadStaffDetails'
      responsible:
        $ref: '#/definitions/MattersReadStaffDetails'
      acting:
        $ref: '#/definitions/MattersReadStaffDetails'
      assisting:
        $ref: '#/definitions/MattersReadStaffDetails'
  ArrayOfBankAccountAddition:
    type: array
    items:
      $ref: '#/definitions/BankAccountAddition'
  InitialisationAnticipatedDisbursement:
    type: object
    properties:
      TransactionDate:
        type: string
        format: date-time
      SupplierCardGUID:
        type: string
        format: uuid
      BillingDescription:
        type: string
      AmountIncTax:
        type: number
        format: double
      AnticipatedDisbursementsGUID:
        type: string
        format: uuid
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      PaymentMode:
        type: integer
        format: int32
      Deleted:
        type: boolean
        description: Deleted
      RowVersion:
        type: integer
        format: int64
      DeletedDate:
        type: string
        format: date-time
      InvoiceItemGUID:
        type: string
        format: uuid
      BalanceDue:
        type: number
        format: double
      PayTo:
        type: string
  CreateOfficeReceipt:
    type: object
    required:
      - Amount
      - MailTo
      - PaymentTypeGUID
      - TransactionDate
      - TransactionNumber
    properties:
      OfficeReceiptGUID:
        type: string
        format: uuid
        description: GUID for the receipt that is being created (to be generated by the developer). If an ID is not passed in, an ID will be generated by LEAP.
      ReceivedFrom:
        type: string
        description: Individual or entity the receipt was received from.
      MailTo:
        type: string
        description: Address to mail to.
        
      BankAccountGUID:
        type: string
        format: uuid
        description: GUID for the bank account the receipt is being paid into. Bank Accounts for a matter can be retrieved from [GET /api/v1/trustreceipt/initialisationdata](http://leap.build/api-reference/#tag/TrustReceipt/paths/~1api~1v1~1trustreceipt~1initialisationdata/get).
      TransactionNumber:
        type: string
        description: Identifying number for the transaction. Any value provided will be overridden by the next sequential number for the target data file if `TransactionNumberAuto` value provided is "true".
      AutoNumber:
        type: integer
        format: int32
        description: |+        
          Dictates whether the receipt number will be automatically generated by the system (0 = false, 1 = true).        
      TransactionDate:
        type: string
        format: date-time
        description: Date & time of the original transaction in *ISO 8601* format.
      PaymentTypeName:
        type: string
        description: >
          **Recommended field**. Name of the Payment Type the receipt was tendered in. All current Payment Types can be retrieved from [GET /api/v1/paymenttypes](https://leap.build/api-reference/#tag/Payment-Types/paths/~1api~1v1~1paymenttypes/get).
      PaymentTypeId:
        type: integer
        format: int32
        description: LEAP ID for the Payment Type the receipt was tendered in e.g. EFT, Cash, Credit Card. All current Payment Types can be retrieved from [GET /api/v1/paymenttypes](https://leap.build/api-reference/#tag/Payment-Types/paths/~1api~1v1~1paymenttypes/get).
      PaymentTypeGUID:
        type: string
        format: uuid
        description: LEAP GUID for the Payment Type the receipt was tendered in e.g. EFT, Cash, Credit Card. All current Payment Types can be retrieved from [GET /api/v1/paymenttypes](https://leap.build/api-reference/#tag/Payment-Types/paths/~1api~1v1~1paymenttypes/get).
      ReversedOrReversal:
        type: integer
        format: int32
        description: Indicates whether the receipt has been reversed or is itself a reversal. In most cases this value should be "false".
      Memo:
        type: string
        description: Memo of the office receipt.
      NeedsBanking:
        type: integer
        format: int32
        description: Indicates whether the receipt requires banking.
      Amount:
        type: number
        format: double
        description: Indicates the dollar value of the receipt. 
      TrustToOfficeTrustpayGUID:
        type: string
        format: uuid
        description: The Trust to Office Trust Payment GUID is the GUID for the Trust Transfer (Payment from the Trust Account) to the Office Account. This is populated if the Office Receipt is a receipt of funds transferred from the Trust Account.
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      OfficeReceiptItem:
        type: array
        items:
          $ref: '#/definitions/CreateOfficeReceiptItem'
      WarningAcknowledgments:
        type: array
        description: Allows you to acknowledge any warning acknowledgements that would appear for the receipt upon processing.   
        items:
          type: integer
          format: int32
  CardRoleRequest:
    type: object
    properties:
      tableId:
        type: string
      cardId:
        type: string
        description: Card Id
      __displayOrder:
        type: integer
        format: int32
      __fileOrder:
        type: integer
        format: int32
      reference:
        type: string
      cardPersonList:
        type: array
        items:
          type: string
      relatedTable:
        $ref: '#/definitions/TableInCardRole'
      matterDescriptions:
        $ref: '#/definitions/MatterDescriptionJson'
  MattersWriteCriticalDate:
    type: object
    required:
      - criticalDateId
    properties:
      criticalDateId:
        type: string
      value:
        type: string
        format: date-time
      confirmed:
        type: boolean
  BankAccountAddition:
    type: object
    properties:
      AdditionGUID:
        type: string
        format: uuid
        description: GUID for the addition (to be generated by the developer)
      BankAccountGUID:
        type: string
        format: uuid
        description: LEAP GUID for the attached bank account. Bank Accounts can be retrieved from [GET /api/v1/trustreceipt/initialisationdata](https://leap.build/api-reference/#tag/TrustReceipts/paths/~1api~1v1~1trustreceipt~1initialisationdata/get)
      AdditionDate:
        type: string
        format: date-time
        description: Date of the addition in *ISO 8601* format
      Amount:
        type: number
        format: double
        description: Dollar value of the addition
      Reason:
        type: string
        description: Reason for the addition
      ImportedFrom:
        type: string
        description: >-
          This property is set to 'Import', if task code is imported from
          conversions (internal)
  CardsReadBaseAddress:
    type: object
    properties:
      name:
        type: string
        description: Name
      level:
        type: string
        description: Level
      street:
        type: string
        description: Street
      number:
        type: string
        description: Number
      suburb:
        type: string
        description: Suburb
      state:
        type: string
        description: State
      county:
        type: string
        description: Country
      postcode:
        type: string
        description: Postcode
      country:
        type: string
        description: Country
      instructions:
        type: string
        description: Instructions
      poBoxType:
        type: string
        description: POBoxType
      startDate:
        type: string
        format: date-time
        description: Start Date for address
      endDate:
        type: string
        format: date-time
        description: End Date for address
    description: Address
  CreateCardDocumentResponse:
    type: object
    properties:
      signedUrl:
        type: string
        description: "Signed URL for the document upload.\r\nThe generated URL is valid for PUT requests only."
      documentId:
        type: string
        format: uuid
        description: RecordId of the newly created document
  TrusteeJson:
    type: object
    properties:
      trusteeName:
        type: string
      trusteeIsACompany:
        type: boolean
      company:
        type: string
      trusteeCrn:
        type: string
      trusteeAcn:
        type: string
  ChangeStatusResponse:
    type: object
    properties:
      BatchNo:
        type: integer
        format: int32
      Invoices:
        type: array
        items:
          $ref: '#/definitions/ChangeStatusInvoice'
  OfficeLedgerModel:
    type: object
    properties:
      OfficeLedgerMatterList:
        type: array
        items:
          $ref: '#/definitions/OfficeLedgerMatterModel'
      OfficeLedgerHistoryList:
        type: array
        items:
          $ref: '#/definitions/OfficeLedgerHistoryModel'
      OfficeLedgerUnpaidAnticipatedDisbursements:
        type: number
        format: double
      OfficeLedgerCreditsBalance:
        type: number
        format: double
      RapidPayCountryCode:
        type: integer
        format: int32
  WebAddressJson:
    type: object
    properties:
      __className:
        type: string
      type:
        type: string
      address:
        type: string
  TrustReceiptInitPreference:
    type: object
    properties:
      TrustBankAccountGUID:
        type: string
        format: uuid
      EFTNumberPrefix:
        type: string
      PayTypeDetailsEnforce:
        type: boolean
      RapidPayVerificationStatus:
        type: integer
        format: int32
  CriticalDate:
    type: object
    properties:
      id:
        type: string
        description: Unique GUID of the critical date
      name:
        type: string
        description: Name of the critical date
      date:
        type: string
        description: Date value of the critical date
      confirmed:
        type: boolean
        description: Flags whether the critical date is confirmed or not
      confirmStatus:
        type: string
        description: Description of the critical date confirmed status
      order:
        type: integer
        description: Ordinal value of the critical date within the list of critical dates 
        format: int32
      status:
        type: string
        description: Current status of the critical dates
      isConfirmable:
        type: boolean
        description: Flags whether the critical date is confirmable or not
      displayName:
        type: string
        description: Display name of the critical date in LEAP
      calculationFieldId:
        type: string
        description: Related ID of the calculation field for the critical date
        format: uuid
      calculationTableId:
        type: string
        description: Related ID of the calculation table for the critical date
        format: uuid
      autoCalc:
        type: boolean
        description: FLags whether the critical date auto calculated or not
  CriticalDateGetResponse:
    type: object
    properties:
      CriticalDateName:
        type: object
        properties:
          id:
            type: string
          name:
            type: string
          date:
            type: string
          confirmed:
            type: boolean
          confirmStatus:
            type: string
          order:
            type: integer
            format: int32
          status:
            type: string
          isConfirmable:
            type: boolean
          displayName:
            type: string
          calculationFieldId:
            type: string
          calculationTableId:
            type: string
          autoCalc:
            type: string
  CriticalDatePutModel:
    type: object
    name: CriticalDate
    properties:
      id:
        type: string
        description: Unique identifier of the critical date
      name:
        type: string
        description: Name of the critical date
      date:
        type: string
        description: Actual date value of the critical date
      confirmed:
        type: boolean
        description: Flags whether the critical date has been confirmed or not
      confirmStatus:
        type: string
        description: Status that matter changes to on confirmation of the date (List - depends on the matter type (usually “Complete”, “Exchanged”))
      order:
        type: integer
        description: Ordinal value of the critical date within the list of critical dates
        format: int32
      status:
        type: string
        description: Status that matter changes to upon hitting critical date
      isConfirmable:
        type: boolean
        description: Flags whether the critical date is confirmable or not
      displayName:
        type: string
        description: Display name of the critical date in LEAP
      calculationFieldId:
        type: string
        description: Related ID of the calculation field for the critical date
      calculationTableId:
        type: string
        description: Related ID of the calculation table for the critical date
      autoCalc:
        type: boolean
        description: Flags whether the critical date is auto calculated or not
  RecurringMatterDocument:
    type: object
    properties:
      version:
        $ref: '#/definitions/RecurringMatterMatterDocumentVersion'
      documentId:
        type: string
      name:
        type: string
      deleteCode:
        type: integer
        format: int32
      toFrom:
        type: string
        description: >-
          Who the document is to or from (displayed beneath the document name in
          the correspondence list)
      type:
        type: string
      matterId:
        type: string
        format: uuid
      staffInitials:
        type: string
      created:
        type: string
        format: date-time
      transferMode:
        type: string
        description: 'Internally used, can be ignored'
      number:
        type: string
      precedentPrecedentId:
        type: string
      documentVersions:
        $ref: '#/definitions/RecurringMatterDocumentVersions'
      template:
        type: string
      templateId:
        type: string
      documentTypeId:
        type: string
      source:
        type: string
  FeeInitialisationDataCreateModel:
    type: object
    properties:
      TaxCodeList:
        type: array
        description: Tax Code list details
        items:
          $ref: '#/definitions/TaxCodeFee'
      TaskCodeList:
        type: array
        description: Task Code list details
        items:
          $ref: '#/definitions/TaskCodeFee'
      BillingUnitList:
        type: array
        description: Billing unit list details
        items:
          $ref: '#/definitions/BillingUnit'
      Preferences:
        $ref: '#/definitions/PreferencesFeeModel'
      MatterInfo:
        $ref: '#/definitions/MatterInfoInitializationData'
      SpecialFees:
        type: array
        description: Special fees
        items:
          $ref: '#/definitions/InitialisationSpecialFee'
      ExternalAccountingPlatform:
        type: integer
        description: Does this firm use an external accounting platform
        enum:
          - Myob = 0
          - Xero = 1
          - AccountRightLive = 2
          - QuickBooks = 3
        format: int32
  CreateTrustPaymentItem:
    type: object
    properties:
      TrustPaymentItemGUID:
        type: string
        format: uuid
      Description:
        type: string
      MatterGUID:
        type: string
        format: uuid
      RowVersion:
        type: integer
        format: int64
      Amount:
        type: number
        format: double
      ProtectedTrustFundGUID:
        type: string
        format: uuid
      PRGUID:
        type: string
        format: uuid
  MatterDocFoldersJson:
    type: array
    items:
      type: object
      properties:
        parentId:
          type: string
          description: Matter GUID reference identifier for the document folder
        folderName:
         type: string
         description: Name of the document folder
        folderId:
          type: string
          description: Unique identifier of the document folder created
        documents:
         type: array
         description: Collection of names of the document in the folder
         items:
          type: string
        folders:
         type: array
         description: Collection of names of the subfolders within the main document folder
         items:
          type: string
  TrustPaymentInitialisationDataTrustPayment:
    type: object
    properties:
      TrustPaymentGUID:
        type: string
        format: uuid
      BankAccountGUID:
        type: string
        format: uuid
      PaymentTypeDetailsGUID:
        type: string
        format: uuid
      EntryDate:
        type: string
        format: date-time
      TransactionDate: 
        type: string
        format: date-time
      CreatedDate:
        type: string
        format: date-time
      TransactionNumber:
        type: integer
        format: int64
      TransactionNumberAuto:
        type: boolean
      PayToAddressee:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeGUID:
        type: string
        format: uuid
      PaymentTypeId:
        type: integer
        format: int64
      PaymentSubTypeId:
        type: integer
        format: int64
      ReversedOrReversal:
        type: boolean
      PaymentProcessed:
        type: integer
        format: int64
      Reconciled:
        type: integer
        format: int64
      RowVersion:
        type: integer
        format: int64
      NameAsFile:
        type: string
      ReversalEntryDate:
        type: string
        format: date-time
      Void: 
        type: boolean
      TOTOfficeReceiptGUID:
        type: string
        format: uuid
      ReversalInfo:
        type: string
      PayToName:
        type: string
      CreatedByStaffId: 
        type: string
        format: uuid
  TrustPaymentInitialisationDataTrustPaymentItems:
    type: object
    properties:
      TrustPaymentItemGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      Amount:
        type: integer
        format: int64
      Reason:
        type: string
      RowVersion:
        type: string
      MatterFileNo:
        type: string
      TrustPaymentReversedGUID:
        type: string
        format: uuid
      PaymentRequest_GUID:
        type: string
        format: uuid
  TrustPaymentInitialisationData:
    type: object
    properties:
      TrustPayment:
        $ref: '#/definitions/TrustPaymentInitialisationDataTrustPayment'
      TrustPaymentItems:
        $ref: '#/definitions/TrustPaymentInitialisationDataTrustPaymentItems'
      PaymentTypeDetails:
        $ref: '#/definitions/InitialisationPaymentTypeDetail'
      BankAccounts:
        $ref: '#/definitions/OfficePaymentInitialisationBankAccount'
      FromPaymentRequest:
        type: boolean
  MattersWriteCostAgreement:
    type: object
    properties:
      required:
        type: boolean
      received:
        type: string
        format: date-time
  ArrayOfOfficeHistoryResponse:
    type: array
    items:
      $ref: '#/definitions/OfficeHistoryResponse'
  MattersWriteStaff:
    type: object
    description: Details of the staff associated with this matter.
    required:
      - acting
      - responsible
    properties:
      credit:
        $ref: '#/definitions/MattersWriteStaffDetails'
      responsible:
        $ref: '#/definitions/MattersWriteStaffDetails'
      acting:
        $ref: '#/definitions/MattersWriteStaffDetails'
      assisting:
        $ref: '#/definitions/MattersWriteStaffDetails'
  RecurringMatterMatterDocument:
    type: object
    properties:
      recordId:
        type: string
        format: uuid
      deleteCode:
        type: integer
        format: int32
      name:
        type: string
      toFrom:
        type: string
        description: >-
          Who the document is to or from (displayed beneath the document name in
          the correspondence list)
      type:
        type: string
      trnasferMode:
        type: string
      created:
        type: string
        format: date-time
      staffInitials:
        type: string
      baseVersion:
        type: integer
        format: int32
      documentTypeId:
        type: string
  TrustReceiptInitData:
    type: object
    properties:
      MatterSetting:
        $ref: '#/definitions/TrustReceiptInitMatterSetting'
      Preference:
        $ref: '#/definitions/TrustReceiptInitPreference'
      BankAccounts:
        type: array
        items:
          $ref: '#/definitions/TrustReceiptInitBankAccount'
      PaymentTypeList:
        type: array
        items:
          $ref: '#/definitions/PaymentType'
  PersonsCreatePerson:
    type: object
    properties:
      lastName:
        type: string
        description: Last Name
      firstName:
        type: string
        description: First Name
      birthDate:
        type: string
        format: date-time
        description: Birth Date
      birthPlace:
        type: string
        description: Birth Place
      countryOfBirth:
        type: string
        description: Country Of Birth
      deathPlace:
        type: string
        description: Death Place
      deathDate:
        type: string
        format: date-time
        description: Death Date
      occupation:
        type: string
        description: Occupation
      passportNumber:
        type: string
        description: Passport Number
      passportName:
        type: string
        description: Passport Name
      maidenName:
        type: string
        description: Maiden Name
      previousName:
        type: string
        description: Previous Name
      language:
        type: string
        description: Language
      specialNeeds:
        type: string
        description: Special Needs
      maritalStatus:
        type: string
        description: MaritalStatus
      custom1:
        type: string
        description: Custom 1
      custom2:
        type: string
        description: Custom 2
      custom3:
        type: string
        description: Custom 3
      custom4:
        type: string
        description: Custom 4
      custom5:
        type: string
        description: Custom 5
      custom6:
        type: string
        description: Custom 6
      custom7:
        type: string
        description: Custom 7
      custom8:
        type: string
        description: Custom 8
      custom9:
        type: string
        description: Custom 9
      custom10:
        type: string
        description: Custom 10
      custom11:
        type: string
        description: Custom 11
      custom12:
        type: string
        description: Custom 12
      comments:
        type: string
        description: Comments
      salutation:
        type: string
        description: Salutation
      gender:
        type: string
        description: Gender
        enum:
          - male
          - female
      nationality:
        type: string
        description: Nationality
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/PersonsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone Numbers
        items:
          $ref: '#/definitions/PersonsWritePhoneNumber'
      deleted:
        type: boolean
        description: Deleted
  PersonsUpdatePerson:
    type: object
    required:
      - personId
    properties:
      personId:
        type: string
        format: uuid
        description: Person Id.
      emailType1:
        type: string
        format: email
        description: Email Type 1
      emailType2:
        type: string
        format: email
        description: Email Type 2
      phoneType1:
        type: string
        description: Phone Type 1
      phoneType2:
        type: string
        description: Phone Type 2
      phoneType3:
        type: string
        description: Phone Type 3
      lastName:
        type: string
        description: Last Name
      firstName:
        type: string
        description: First Name
      birthDate:
        type: string
        format: date-time
        description: Birth Date
      birthPlace:
        type: string
        description: Birth Place
      countryOfBirth:
        type: string
        description: Country Of Birth
      deathPlace:
        type: string
        description: Death Place
      deathDate:
        type: string
        format: date-time
        description: Death Date
      occupation:
        type: string
        description: Occupation
      passportNumber:
        type: string
        description: Passport Number
      passportName:
        type: string
        description: Passport Name
      maidenName:
        type: string
        description: Maiden Name
      previousName:
        type: string
        description: Previous Name
      language:
        type: string
        description: Language
      specialNeeds:
        type: string
        description: Special Needs
      maritalStatus:
        type: string
        description: MaritalStatus
      custom1:
        type: string
        description: Custom 1
      custom2:
        type: string
        description: Custom 2
      custom3:
        type: string
        description: Custom 3
      custom4:
        type: string
        description: Custom 4
      custom5:
        type: string
        description: Custom 5
      custom6:
        type: string
        description: Custom 6
      custom7:
        type: string
        description: Custom 7
      custom8:
        type: string
        description: Custom 8
      custom9:
        type: string
        description: Custom 9
      custom10:
        type: string
        description: Custom 10
      custom11:
        type: string
        description: Custom 11
      custom12:
        type: string
        description: Custom 12
      comments:
        type: string
        description: Comments
      salutation:
        type: string
        description: Salutation
      gender:
        type: string
        description: Gender
        enum:
          - male
          - female
      nationality:
        type: string
        description: Nationality
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/PersonsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone Numbers
        items:
          $ref: '#/definitions/PersonsWritePhoneNumber'
      deleted:
        type: boolean
        description: Deleted
      photoFileName:
        type: string
        format: uuid
        description: Person's photo file
  PersonsPostPhotoFile:
    type: object
    required:
      - photoFileName
    properties:
      photoFileName:
        type: string
        description: |-
          Person photo file name, including extension.

          <b>NOTE: Must be in the format of `guid.ext`.</b>
  PersonsPostPhotoFileJson:
    type: object
    properties:
      signedUrl:
        type: string
        format: url
        description: Signed S3 URL to upload binary file.
  StaffJson:
    type: object
    properties:
      __id:
        type: string
      __className:
        type: string
      deleteCode:
        type: integer
        format: int32
      userId:
        type: string
      branch:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      middleName:
        type: string
      initials:
        type: string
      fullName:
        type: string
      legalFullName:
        type: string
      qualifications:
        type: string
      title:
        type: string
      phone:
        type: string
      fax:
        type: string
      email:
        type: string
      immigLicense:
        type: string
      certificates:
        type: string
      extension:
        type: string
      mobile:
        type: string
      firmReference:
        type: string
      rate1:
        type: number
        format: float
      rate2:
        type: number
        format: float
      rate3:
        type: number
        format: float
      rate4:
        type: number
        format: float
      rate5:
        type: number
        format: float
      rate6:
        type: number
        format: float
      status:
        type: integer
        format: int32
  CardsWriteField:
    type: object
    properties:
      fieldId:
        type: string
      value:
        type: string
  OfficePaymentViewInitialisation:
    type: object
    properties:
      OfficePayment:
        $ref: '#/definitions/OfficePaymentInitialisation'
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/OfficePaymentItemInitialisation'
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      BankAccounts:
        type: array
        items:
          $ref: '#/definitions/OfficePaymentInitialisationBankAccount'
  RecurringMatterCostRecovery:
    type: object
    properties:
      costRecoveryGuid:
        type: string
        format: uuid
      matterGuid:
        type: string
        format: uuid
      taxCodeGuid:
        type: string
        format: uuid
      taskCodeGuid:
        type: string
        format: uuid
      purchaseSupplierCardGUID:
        type: string
        format: uuid
      purchaseMode:
        type: integer
        description: 'Internally used, can be ignored'
        format: int32
      transactionDate:
        type: string
        format: date-time
      quantity:
        type: integer
        description: How many items
        format: int32
      amountEach:
        type: number
        format: double
      totalIncTax:
        type: number
        format: double
      totalExTax:
        type: number
        format: double
      totalTax:
        type: number
        format: double
      laActivityTypeCode:
        type: string
      laBillingStage:
        type: integer
        format: int32
      matterBillingMode:
        type: integer
        format: int32
      billingDescription:
        type: string
      billingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      incTax:
        type: integer
        format: int32
      laActivityDescription:
        type: string
      laADisplayDescription:
        type: string
      warningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
      externalURL:
        type: string
      externalJson:
        type: string
      appId:
        type: integer
        format: int32
  CostRecoveryCreateModel:
    type: object
    required:
      - BillingDescription
      - TransactionDate
      - CostRecoveryId
      - MatterId
      - TaxCodeId
    properties:
        PurchaseMode:
          type: integer
          description: 'Internally used, can be ignored'
        TransactionDate:
          type: string
          description: Date & time of the transaction in *ISO 8601* format.
          format: date-time
        Quantity:
          type: integer
          description: Indicates the quantity of billable units in the cost recovery.
          format: int32
        AmountEach:
          type: number
          description: Indicates the dollar value of each billable item. 
          format: double
        TotalIncTax:
          type: number
          description: Indicates the total value of the cost recovery including tax.
          format: double
        TotalExTax:
          type: number
          description: Indicates the total value of the cost recovery excluding tax.
          format: double
        TotalTax:
          type: number
          description: Indicates the total value of tax applied for the cost recovery.
          format: double
        BillingDescription:
          type: string
          description: The description of the cost recovery item. 
        BillingMode:
          type: integer
          description: |
            Indicates the billing mode of the cost recovery. Valid entries:
            
            - -1 = Not billable
            - 0 = Billable next invoice
            - 1 = Billable later invoice
          format: int32
        IncTax:
          type: boolean
          description: Indicates whether tax is included in this cost recovery.
        ExternalURL:
          type: string
          description: When this field is populated, LEAP will open the URL provided when opened.
        ExternalJSON:
          type: string
          description: JSON file to be attached to the cost recovery. Provided by third party where desired. 
        FunctionGroupId:
          type: string
          format: uuid
          description: ID of the button used to open the application.
        InterestCalculcationDate:
          type: string
          format: date-time
          description: Date to calculate interest from.
        CostRecoveryId:
          type: string
          description: GUID for the Cost Recovery record (to be generated by the developer).
          format: uuid
        MatterId:
          type: string
          description: LEAP GUID for the matter the cost recovery will be recorded against. 
          format: uuid
        TaxCodeId:
          type: string
          description: LEAP ID of the relevant tax code for the cost recovery record. Current tax codes can be retrieved from [GET /api/v2/taxcodes](http://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get).
          format: uuid
        TaskCodeId:
          type: string
          description: LEAP ID of the relevant task code for the cost recovery record. Current cost recovery task codes can be retrieved from [GET /api/v2/taskcodes/costrecovery](http://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1costrecovery/get).
          format: uuid
        PurchaseSupplierCardId:
          type: string
          description: LEAP GUID of the Card record for the Purchase Supplier. Card records for a firm can be retrieved from [GET /api/v2/cards](http://leap.build/api-reference/#tag/Cards/operation/Card_GetCards) or [GET /api/v1/cards/search](http://leap.build/api-reference/#tag/Cards/paths/~1api~1v1~1cards~1search/get).
          format: uuid
  CostRecoveryCreateMultiple:
    type: array
    required:
      - BillingDescription
      - TransactionDate
      - CostRecoveryId
      - MatterId
      - TaxCodeId
    items:
      PurchaseMode:
        type: integer
        description: 'Internally used, can be ignored'
        format: int32
      TransactionDate:
        type: string
        description: Date & time of the transaction in *ISO 8601* format.
        format: date-time
      Quantity:
        type: integer
        description: Indicates the quantity of billable units in the cost recovery.
        format: int32
      AmountEach:
        type: number
        description: Indicates the dollar value of each billable item. 
        format: double
      TotalIncTax:
        type: number
        description: Indicates the total value of the cost recovery including tax.
        format: double
      TotalExTax:
        type: number
        description: Indicates the total value of the cost recovery excluding tax.
        format: double
      TotalTax:
        type: number
        description: Indicates the total value of tax applied for the cost recovery.
        format: double
      BillingDescription:
        type: string
        description: The description of the cost recovery item. 
      BillingMode:
        type: integer
        description: |
          Indicates the billing mode of the cost recovery. Valid entries:
          
          - -1 = Not billable
          - 0 = Billable next invoice
          - 1 = Billable later invoice
        format: int32
      IncTax:
        type: boolean
        description: Indicates whether tax is included in this cost recovery.
      ExternalURL:
        type: string
        description: >-
          When this field is populated, LEAP will open the URL provided when
          opened
      ExternalJSON:
        type: string
        description: >-
          Use this field for capturing app specific custom data (not used by
          LEAP)
      CostRecoveryId:
        type: string
        description: GUID for the Cost Recovery record (to be generated by the developer).
        format: uuid
      MatterId:
        type: string
        description: LEAP GUID for the matter the cost recovery will be recorded against. 
        format: uuid
      TaxCodeId:
        type: string
        description: LEAP ID of the relevant tax code for the cost recovery record. Current tax codes can be retrieved from [GET /api/v2/taxcodes](http://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get).
        format: uuid
      TaskCodeId:
        type: string
        description: LEAP ID of the relevant task code for the cost recovery record. Current cost recovery task codes can be retrieved from [GET /api/v2/taskcodes/costrecovery](http://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1costrecovery/get).
        format: uuid
      PurchaseSupplierCardId:
        type: string
        description: LEAP GUID of the Card record for the Purchase Supplier. Card records for a firm can be retrieved from [GET /api/v2/cards](http://leap.build/api-reference/#tag/Cards/operation/Card_GetCards) or [GET /api/v1/cards/search](http://leap.build/api-reference/#tag/Cards/paths/~1api~1v1~1cards~1search/get).
        format: uuid
      WarningAcknowledgments:
        type: array
        description: "These are typical CostRecovery warnings, which would prevent any CostRecovery from being created. Add these items, if you wish to ignore these warnings and allow the creation to continue. \n\nExamples: \n\n\t1001 (Matter has exceeded the estimate of matterDisbursementsEstimate) \n\n\t1099 (This matter is archived)"
        items:
          type: integer
          format: int32
  OfficeInvoiceV2TaxCode:
    type: object
    properties:
      guid:
        type: string
        format: uuid
      value:
        type: string
  BankAccountJson:
    type: object
    properties:
      bsb:
        type: string
      accountName:
        type: string
      accountNumber:
        type: string
  ConversionInvoiceInit:
    type: object
    properties:
      InvoiceLayoutId:
        type: string
        format: uuid
      InvoiceXmlItems:
        $ref: '#/definitions/InvoiceXMLItems'
  BillingUnit:
    type: object
    properties:
      Seconds:
        type: integer
        description: Amount of seconds
        format: int32
  TrustBankRecAdditionResponse:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
      Message:
        type: string
      AdditionGUID:
        type: string
        format: uuid
  MatterListEntryJson:
    type: object
    properties:
      matterId:
        type: string
      fileNumber:
        type: string
      firstDescription:
        type: string
      secondDescription:
        type: string
      customDescription:
        type: string
      firstDescriptionLong:
        type: string
      matterType:
        type: string
      matterStatus:
        type: string
      isCurrent:
        type: boolean
      matterState:
        type: string
      staffInitials:
        type: string
      staffResponsible:
        type: string
      staffCredit:
        type: string
      staffActing:
        type: string
      staffAssisting:
        type: string
      isArchived:
        type: boolean
      deleteCode:
        type: integer
        format: int32
      rowVersion:
        type: integer
        format: int64
      cardIdList:
        type: array
        items:
          type: string
      accessible:
        type: boolean
      recVer:
        type: integer
        format: int32
      instructionDate:
        type: string
        format: date-time
      billingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
  RecurringMatterView:
    type: object
    properties:
      name:
        type: string
      deleted:
        type: boolean
        description: Deleted
      recurringMatter:
        $ref: '#/definitions/RecurringMatterRecurringMatter'
  AddinRequestRecord:
    type: object
    properties:
      id:
        type: string
        description: Request GUID
      addinUrl:
        type: string
        description: Callback URL related to the specific LEAP App
      base64EncodedData:
        type: string
        format: uuid
        description: Base64 encoded data (to be decoded for use)
      firmId:
        type: string
        format: uuid
        description: Firm GUID
      userId:
        type: string
        format: uuid
        description: User GUID
      createdDate:
        type: string
        format: date-time
        description: Date and time of request
  OfficeInvoiceV2InvoiceDisplayItems:
    type: object
    properties:
      sections:
        type: array
        items:
          $ref: '#/definitions/OfficeInvoiceV2Section'
  MatterListResponseNew:
    type: object
    properties:
      matterList:
        type: array
        description: Matter list items
        items:
          $ref: '#/definitions/MatterListItemWithRowVersion'
      lastRowVersion:
        type: integer
        description: >-
          Database identifier for the last item; to be used with any subsequent
          request (to return only deltas)
        format: int64
  MattersReadStaffDetails:
    type: object
    properties:
      staffId:
        type: string
        format: uuid
      access:
        type: boolean
  CreateTrustPaymentSecurityOverride:
    type: object
    properties:
      Username:
        type: string
      Password:
        type: string
  AttachmentEntryJson:
    type: object
    properties:
      name:
        type: string
        description: Attachment name
      attachmentId:
        type: string
        description: Attachment Id
        format: uuid
      deleteCode:
        type: integer
        description: Indicates if the attachment is marked for deletion
        format: int32
  OfficePaymentCreateInitialisationData:
    type: object
    properties:
      BankAccounts:
        type: array
        items:
          $ref: '#/definitions/OfficePaymentInitialisationBankAccount'
      TaxCodeList:
        type: array
        items:
          $ref: '#/definitions/OfficePaymentTaxCode'
      PaymentTypeList:
        type: array
        items:
          $ref: '#/definitions/PaymentType'
      Preference:
        $ref: '#/definitions/OfficePaymentPreference'
      OfficePayment:
        $ref: '#/definitions/OfficePaymentDefault'
      PaymentLimitAmount:
        type: number
        format: double
  TaxCodeFee:
    type: object                               
    properties:
      RatePercent:
        type: number
        description: Rate percent
        format: double
      GLTaxCode:
        type: string
        description: GL tax code      
      TaxCode:
        type: string
        description: Tax code name
      GLTaxCodeType:
        type: string
        description: GL tax code type
      Deleted:
        type: boolean
        description: Indicates if this item is marked for deletion
      TaxCodeDescription:
        type: string
        description: TaxCode description
      RowVersion:
        type: integer
        description: The database row identifier for this item
        format: int64
      TaxCodeSplits:
        description: Information relating to tax code splits (if applicable)
        type: array
        items:
          properties:
            TaxCodeGUID:
              type: string
              description: The LEAP TaskCode GUID, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
            Sequence:
              type: integer
              description: The sequence of the tax code split
      IsGroupTaxCode:
        type: boolean
        description: Group status of the tax code
      IsTaxCodeUsable:
        description: Whether the tax code is usable
        type: boolean
      FirmId:
        type: string
        description: LEAP firm GUID
        format: uuid
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
  MattersWriteFinancial:
    type: object
    description: Financial details of the matter.
    properties:
      estimateWarning:
        type: boolean
        description: Show fee/disbursement estimate warnings for this matter
      costsEstimate:
        type: number
        description: Fee estimate for this matter
        format: double
      costsEstimateGST:
        type: number
        description: Fee estimate (including GST) for this matter
        format: double
      disbursementsEstimate:
        type: number
        description: Disbursement estimate for this matter
        format: double
      disbursementsEstimateGST:
        type: number
        description: Disbursement estimate (including GST) for this matter
        format: double
      costAgreement:
        $ref: '#/definitions/MattersWriteCostAgreement'
  SemaphoreResponseModel:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      SemaphoreId:
        type: string
        format: uuid
        description: Semaphore ID created.
      ErrorMessage:
        type: string
  InitialisationOfficeAnticipatedDisbursement:
    type: object
    properties:
      InvoiceItemGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: string
      BillingDescription:
        type: string
      AmountIncTax:
        type: number
        format: double
      AmountExTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      TaxCode:
        type: string
      AnticipatedDisbursementGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      SupplierCardGUID:
        type: string
        format: uuid
      IncTax:
        type: boolean
      RowVers:
        type: integer
        format: int64
      AbsSeqNum:
        type: integer
        format: int32
  MattersWriteAcl:
    type: object
    description: Access control list details.
    properties:
      enabled:
        type: boolean
      staffIds:
        type: array
        items:
          type: string
          format: uuid
  Error:
    type: object
    properties:
      ErrorCode:
        type: integer
        description: Error Code
        format: int64
      ErrorDesc:
        type: string
        description: Error Description
  v3Error:
    type: object
    properties:
      status:
        type: integer
        description: Status Code
        format: int64
      code:
        type: string
        description: Code
      message:
        type: string
        description: Error Message
  ErrorWithMessage:
    type: object
    properties:
      message:
        type: string
        description: Error Message
  ErrorForAysncRequestId:
    type: object
    properties:
      asyncRequestId:
        type: array
        description: Async Request Id Error
  ArrayOfCreateTrustTransactionViewOnly:
    type: array
    items:
      $ref: '#/definitions/CreateTrustTransactionViewOnly'
  OfficeReceiptItem:
    type: object
    properties:
      OfficeReceiptItemGUID:
        type: string
        format: uuid
      Amount:
        type: number
        format: double
      InvoiceGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      MatterNo:
        type: string
      CreditMemo:
        type: string
      RowVersion:
        type: integer
        format: int64
      InvoiceDate:
        type: string
        format: date-time
      InvoiceNumber:
        type: string
      InvoiceMemo:
        type: string
      InvoiceRowVersion:
        type: integer
        format: int64
      ReversalGUID:
        type: string
        format: uuid
  CardsReadOrganisationDetails:
    type: object
    properties:
      businessType:
        type: string
        description: USED BY ORGANISATION -&gt; Business
      abn:
        type: string
        description: "USED BY ORGANISATION -&gt; Business:\r\nABN"
      companyName:
        type: string
        description: "USED BY ORGANISATION -&gt; Company:\r\nCompany Name"
      isSoleDirector:
        type: boolean
        description: Is Sole director
      tradingName:
        type: string
        description: "USED BY ORGANISATION:\r\nTrading Name"
      isRegOfficeSameAsStreetAddress:
        type: boolean
        description: "USED BY ORGANISATION:\r\nIs Registration Office the same as street address"
      regOffice:
        description: "If IsRegOfficeSameAsStreetAddress is false, we use the \r\nbelow object to populate address details"
        $ref: '#/definitions/CardsReadBaseAddress'
      trustees:
        type: array
        description: "USED BY ORGANISATION:\r\nTrustees"
        items:
          $ref: '#/definitions/CardsReadTrustee'
  RecurringMatterDescription:
    type: object
    properties:
      first:
        type: string
      second:
        type: string
      firstLong:
        $ref: '#/definitions/RecurringMatterFirstLong'
  RecurringMatterCalculation:
    type: object
    properties:
      fieldId:
        type: string
      result:
        type: string
  CreateTrustTransactionViewOnly:
    type: object
    properties:
      TransactionId:
        type: string
        format: uuid
      MatterId:
        type: string
        format: uuid
      ItemType:
        type: string
      ItemRefNum:
        type: string
      TransDate:
        type: string
        format: date-time
      PayeePayor:
        type: string
      ItemDescription:
        type: string
      AmounCrIncGst:
        type: number
        format: double
      AmounDrIncGst:
        type: number
        format: double
      ClientName:
        type: string
      ExternalFileNum:
        type: string
      ExternalCodeUnique:
        type: string
      ImportedFrom:
        type: string
        description: >-
          This property is set to 'Import', if task code is imported from
          conversions (internal)
      ExternalOrder:
        type: integer
        format: int32
      Reconciled:
        type: boolean
      AccountId:
        type: string
        format: uuid
      SystemDate:
        type: string
        format: date-time
      StatDepositMatter:
        type: boolean
  InitialisationCostRecovery:
    type: object
    properties:
      InvoiceItemGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: string
      BillingDescription:
        type: string
      AmountIncTax:
        type: number
        format: double
      AmountExTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      TaxCode:
        type: string
      CostRecoveryGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      Quantity:
        type: integer
        description: How many items
        format: int32
      AmountEach:
        type: number
        format: double
      PurchaseSupplierCardGUID:
        type: string
        format: uuid
      TaskCodeGUID:
        type: string
        format: uuid
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      SearchingId:
        type: integer
        description: Searching Id (internal)
        format: int32
      IncTax:
        type: boolean
      LABillingStage:
        type: integer
        format: int32
      MatterBillingMode:
        type: integer
        format: int32
      RowVers:
        type: integer
        format: int64
      AbsSeqNum:
        type: integer
        format: int32
      LaActivityTypeCode:
        type: string
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
  PurchaseOrderInitCreate:
    type: object
    properties:
      DefaultReferenceNo:
        type: string
  InfoTrackCredential:
    type: object
    properties:
      UserName:
        type: string
      Password:
        type: string
  ArrayOfMultiErrorResponse:
    type: array
    items:
      $ref: '#/definitions/MultiErrorResponseModel'
  CloudSearchCardDetails:
    type: object
    properties:
      cardid:
        type: string
        description: Card Id
        format: uuid
      firmid:
        type: string
        description: Firm Id
        format: uuid
      shortname:
        type: string
        description: Lastname / surname
      fullname:
        type: string
        description: Card fullname (includes title)
      address:
        type: string
        description: Card address
      emailaddress:
        type: string
        description: Email address
      contactnumbers:
        type: array
        description: List of contact numbers
        items:
          type: string
      deletecode:
        type: integer
        description: Is this card marked as deleted
        format: int32
      cardtype:
        type: string
        description: What type of card (Business / Person etc.)
      cardroles:
        type: array
        description: The role(s) of this card
        items:
          type: string
  CardListDetails:
    type: object
    properties:
      cardid:
        type: string
        description: Card Id
        format: uuid
      description:
        type: string
        description: description
        format: text
      shortname:
        type: string
        description: Lastname / surname
      deleted:
        type: boolean
        description: Deleted
      rowVersion:
        type: string
        description: uuid
      type:
        type: enum
        enum:
          - people
          - company
          - trust
          - government
          - business
  AdvancedCardSearchQuery:
    type: object
    properties:
      SearchTerms:
        type: array
        items:
          type: object
          properties:
            TermOption:
              type: string
              enum:
                - AllowWildcard
                - ExactMatch
            TermValue:
              type: string
            TermName:
              type: string
              enum:
                - undefined
                - shortname
                - fullname
                - address
                - emailaddress
                - contactnumbers
                - cardtype
                - cardroles
                - deletecode
  OfficePaymentItemReverse:
    type: object
    properties:
      OfficePaymentItemGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      OfficePaymentAmountIncTax:
        type: number
        format: double
      OfficePaymentAmountExTax:
        type: number
        format: double
      OfficePaymentAmountTax:
        type: number
        format: double
      BillingDescription:
        type: string
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      RowVersion:
        type: integer
        format: int64
      OfficePaymentItemReverseeGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      AnticipatedPaymentId:
        type: string
        format: uuid
  TrustAccountViewOnlyResponse:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
      Message:
        type: string
      TrustAccountId:
        type: string
        format: uuid
  ArrayOfOfficePaymentsSuccessResponse:
    type: array
    items:
      $ref: '#/definitions/OfficePaymentsSuccessResponse'
  InitialisationPaymentTypeDetail:
    type: object
    properties:
      PaymentTypeDetailsGUID:
        type: string
        format: uuid
      Addressee:
        type: string
      BSB:
        type: string
      AccountNumber:
        type: string
      AccountName:
        type: string
      Drawer:
        type: string
      ChequeNumber:
        type: string
      AuthorisationNumber:
        type: string
      ExpiryDate:
        type: string
        format: date-time
      Notes:
        type: number
        format: double
      Coins:
        type: number
        format: double
      Memo:
        type: string
      BillerCode:
        type: string
      BilerReference:
        type: string
      RowVersion:
        type: integer
        format: int64
  InitialisationInvoiceInitRequest:
    type: object
    properties:
      MatterGUID:
        type: string
        format: uuid
        description: Matter ID that this invoice is related to
      InvSemaphoreGUID:
        type: string
        format: uuid
        description: Specify the id of a "semaphore" which ensures no other updates to the invoice while the new invoice is being created (can use a known id or a random one)
      LABillingStage:
        type: integer
        format: int32
        description: (UK-Only field for Legal Aid) Billing stage of the Invoice for LegalAid invoices
      MatterBillingMode:
        type: integer
        format: int32
        description: Billing mode as set in "Matter Details > Accounting > Billing Mode"
      InvLAStrObjBilling:
        type: string
        description: (UK-Only field for Legal Aid) Base64 string of a JSON object representing the Legal Aid billing, including "StandardFee" and "PoliceStationFee". Only the "StandardFee" is used. Only applies to the UK or IE regions OR the "isDeveloperRequest" set to true
      InvLAExceptional:
        type: integer
        format: int32
        description: (UK-Only field for Legal Aid)
      InvLACRMPSFFExceeded:
        type: integer
        format: int32
        description: (UK-Only field for Legal Aid)
      isDeveloperRequest:
        type: integer
        format: int32
        description: Used to run the Legal Aid code for other regions (other than UK or IE)
      ExTimeAndFees:
        type: boolean
        description: Flag to exclude time and fees in the invoice
      ExCostRecoveries:
        type: boolean
        description: Flag to exclude cost recoveries in the invoice
      ExDisbursementJournals:
        type: boolean
        description: Flag to exclude disbursement journals in the invoice
      ExOfficePayments:
        type: boolean
        description: Flag to exclude office payments in the invoice
      ExAnticipatedPayments:
        type: boolean
        description: Flag to exclude anticipated payments in the invoice
      BillAtDate:
        type: string
        description: Date when the invoice was billed at
        format: date-time
      FixedFee:
        type: boolean
        description: Flag to determine whether this invoice is a fixed fee or not
      FixedFeeAmount:
        type: number
        format: double
        description: Actual value of the fixed fee
      QuickInvoiceFeeId:
        type: string
        description: The id is used to filter the existing unbilled accounting fees to add to the invoice. Will only ever match to one fee at most (as the id is unique)
        format: uuid
  RecurringMatterRecurringMatter:
    type: object
    properties:
      name:
        type: string
      deleted:
        type: boolean
      recurringMatter:
        type: object
        properties:
          name:
            type: string
          matter:
            $ref: '#/definitions/RecurringMatter'
          cards:
            type: array
            items:
              $ref: '#/definitions/RecurringMatterCards'
          documentRecords:
            type: array
            items:
              $ref: '#/definitions/RecurringMatterDocument'
          documents:
            type: array
            items:
              $ref: '#/definitions/RecurringMatterMatterDocument'
          createDate:
            type: string
            format: date-time
          fees:
            type: array
            items:
              $ref: '#/definitions/RecurringMatterFee'
          costRecoveries:
            type: array
            items:
              $ref: '#/definitions/RecurringMatterCostRecovery'
  DocumentRecordJson:
    type: object
    properties:
      documentId:
        type: string
        description: Document Id (GUID)
        format: uuid
      matterId:
        type: string
        description: Matter Id
        format: uuid
      precedentId:
        type: string
        description: Precedent Id
        format: uuid
      customPrecedentId:
        type: string
        description: Custom precedent Id
        format: uuid
      version:
        type: integer
        description: Document version
        format: int32
      name:
        type: string
        description: Document name
      type:
        type: string
        description: Document type
        enum:
          - pdf
          - docx
          - txt
          - etc
      fileName:
        type: string
        description: Document filename
      createDate:
        type: string
        description: Document creation date
      deleteCode:
        type: integer
        description: 'Is document deleted: `0` = false | `1` = true'
        format: int32
      lastModified:
        type: string
        description: Documents last modified date
      attachments:
        type: array
        description: Document attachments
        items:
          $ref: '#/definitions/AttachmentJson'
      lastModifiedBy:
        type: string
        description: Who the document was last modified by (GUID)
      staffInitials:
        type: string
        description: Initails of the staff member that created the document
      toFrom:
        type: string
        description: >-
          Who the document is to or from (displayed beneath the document name in
          the correspondence list)
      transferMode:
        type: string
        description: 'Internally used, can be ignored'
      firmId:
        type: string
        description: Firm Id
        format: uuid
      timestamp:
        type: string
        description: Timestamp of creation / saving
      docTypeId:
        type: string
        description: Type of file
        enum:
          - document
          - comment
          - voiceFile
      defaultTableId:
        type: string
        description: Default table Id
      defaultTableOrder:
        type: string
        description: Default table order
      templateName:
        type: string
        description: Document template name
      templateId:
        type: string
        description: Template Id
        format: uuid
      templateVersion:
        type: integer
        description: Version of template used
        format: int32
      usingContentControls:
        type: boolean
        description: Indicates if the document uses content controls
      fields:
        type: array
        description: Document fields
        items:
          $ref: '#/definitions/DocumentFieldJson'
      locked:
        type: boolean
        description: Indicates if the document is locked
      messageId:
        type: string
        description: Message Id (GUID)
      macroFields:
        type: array
        description: Documents macro fields (VB)
        items:
          $ref: '#/definitions/TemplateField'
      number:
        type: string
        description: 'Document number, assigned by auto numbering'
  MattersWriteSubstitution:
    type: object
    description: "This sets the card type for the 4 reserved cards on a matter i.e. Client, Other Side, Other Side Solicitor, Other Side Insurer\t(e.g. the Client is a Purchaser). If unsure, do not complete."
    properties:
      client:
        type: string
      otherSide:
        type: string
      otherSideSolicitor:
        type: string
      otherSideInsurer:
        type: string
  CardsWriteBankAccount:
    type: object
    properties:
      bsb:
        type: string
        description: Bank Account BSB
      accountName:
        type: string
        description: Bank Account Name
      accountNumber:
        type: string
        description: Bank Account Number
  MattersReadSubstitution:
    type: object
    properties:
      client:
        type: string
      otherSide:
        type: string
      otherSideSolicitor:
        type: string
      otherSideInsurer:
        type: string
  InvoiceFixedJson:
    type: object 
    description: Contains information about the fixed Invoice details of the Matter   
    properties:
      fixed:
        type: boolean
        description: Value used in the Accounting API during Office Invoice initialisation and creation
      fixedAmount:
        type: number
        description: Value used in the Accounting API during Office Invoice initialisation and creation
        format: double
  CardsReadAddress:
    type: object
    properties:
      type:
        type: string
        description: >-
          This is optional for Registered office, but mandary for all other
          addresses
        enum:
          - street
          - pOBox
          - dX
      isDefault:
        type: boolean
        description: "This is optional for Registered office, but mandary for all other addresses\r\nIf the current address is the default one"
      name:
        type: string
        description: Name
      level:
        type: string
        description: Level
      street:
        type: string
        description: Street
      number:
        type: string
        description: Number
      suburb:
        type: string
        description: Suburb
      state:
        type: string
        description: State
      county:
        type: string
        description: Country
      postcode:
        type: string
        description: Postcode
      country:
        type: string
        description: Country
      instructions:
        type: string
        description: Instructions
      poBoxType:
        type: string
        description: POBoxType
      startDate:
        type: string
        format: date-time
        description: Start Date for address
      endDate:
        type: string
        format: date-time
        description: End Date for address
    description: Main Address Model
  OfficeLedgerMatterModel:
    type: object
    properties:
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: string
      TransactionDescription:
        type: string
      AmountDisbDebit:
        type: number
        format: double
      AmountDisbCredit:
        type: number
        format: double
      AmountDebtorsDebit:
        type: number
        format: double
      AmountDebtorsCredit:
        type: number
        format: double
      TransactionType:
        type: integer
        format: int32
      TransactionItemGUID:
        type: string
        format: uuid
      TransactionHeaderGUID:
        type: string
        format: uuid
      AbsSeqNum:
        type: integer
        format: int32
      InvoiceStatus:
        type: integer
        format: int32
      ReversedOrReversal:
        type: integer
        format: int32
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
  PhoneNumberJson:
    type: object
    properties:
      __className:
        type: string
      numberType:
        type: string
      number:
        type: string
      areaCode:
        type: string
  FirmJson:
    type: object
    properties:
      firmDetails:
        $ref: '#/definitions/FirmDetailsJson'
      staff:
        type: array
        items:
          $ref: '#/definitions/StaffJson'
      branches:
        type: array
        items:
          $ref: '#/definitions/FirmBranch'
  OfficeInvoiceReverseInvoice:
    type: object
    properties:
      InvoiceGUID:
        type: string
        format: uuid
      ReversedInvoiceGUID:
        type: string
        format: uuid
      TransactionNumber:
        type: string
      AutoNumber:
        type: integer
        format: int32
      TransactionDate:
        type: string
        format: date-time
      IncTax:
        type: integer
        format: int32
      FileNumber:
        type: string
      MatterGUID:
        type: string
        format: uuid
      Deleted:
        type: integer
        description: Deleted
        format: int32
      ReversedOrReversal:
        type: integer
        format: int32
      Status:
        type: integer
        format: int32
      DebtorCardGUID:
        type: string
        format: uuid
      BillToAddressee:
        type: string
      Memo:
        type: string
      RowVers:
        type: integer
        format: int64
      InvoiceLayoutGUID:
        type: string
        format: uuid
      StatusOld:
        type: integer
        format: int32
      DeletedOld:
        type: integer
        format: int32
      FixedFee:
        type: integer
        format: int32
      FixedFeeAmount:
        type: number
        format: double
      BatchNo:
        type: string
      DateDue:
        type: string
        format: date-time
      ParentInvGUID:
        type: string
        format: uuid
      LABillingJson:
        type: string
      LABillingStage:
        type: integer
        format: int32
      MatterBillingMode:
        type: integer
        format: int32
      LAExceptional:
        type: integer
        format: int32
      LACRMPSFFExceeded:
        type: integer
        format: int32
      InvSemaphoreGUID:
        type: string
        format: uuid
      InvoiceXMLItems:
        $ref: '#/definitions/InvoiceXMLItems'
      InvoiceJsonItems:
        $ref: '#/definitions/OfficeInvoiceJSONItems'
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/OfficePaymentItem'
      OfficeDisbJournItems:
        type: array
        items:
          $ref: '#/definitions/OfficeDisbJournItem'
      AnticipatedDisbursements:
        type: array
        items:
          $ref: '#/definitions/AnticipatedDisbursement'
      Fees:
        type: array
        items:
          $ref: '#/definitions/Fee'
      CostRecoveries:
        type: array
        items:
          $ref: '#/definitions/CostRecovery'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
      DeletePTF:
        type: boolean
      FunctionGroupId:
        type: string
        format: uuid
      SplitCards:
        type: array
        items:
          $ref: '#/definitions/SplitCards'
  OfficeInvoiceV2Section:
    type: object
    properties:
      printColumns:
        type: array
        items:
          $ref: '#/definitions/InvoiceLayoutPrintColumn'
      groups:
        type: array
        items:
          $ref: '#/definitions/OfficeInvoiceV2Group'
      items:
        type: array
        items:
          $ref: '#/definitions/OfficeInvoiceV2Item'
      lineNumber:
        type: string
      date:
        type: string
      transactionNumber:
        type: string
      description:
        type: string
      invoiceItemGUID:
        type: string
        format: uuid
      expanded:
        type: boolean
      totalIncTax:
        type: number
        format: double
      totalExTax:
        type: number
        format: double
      totalTax:
        type: number
        format: double
      totalFeeIncTax:
        type: number
        format: double
      totalFeeExTax:
        type: number
        format: double
      totalDisbIncTax:
        type: number
        format: double
      totalDisbExTax:
        type: number
        format: double
  RecurringMatterSubstitution:
    type: object
    properties:
      client:
        type: string
      otherSide:
        type: string
      otherSideSolicitor:
        type: string
      otherSideInsurer:
        type: string
  CardsReadField:
    type: object
    properties:
      fieldId:
        type: string
      value:
        type: string
  PostMatterExtra:
    type: object
    properties:
      firstDescription:
        type: string
        description: Contains the 'Client-side name'. The value of this field gets saved in MatterXML
      secondDescription:
        type: string
        description: Contains the 'Other-side name'. The value of this field gets saved in MatterXML
  CardLayoutJson:
    type: object
    properties:
      __tableId:
        type: string
  CreateTransitRegisterTransaction:
    type: object
    required:
      - Amount
      - MatterId
      - PaymentTypeGuid
      - PaymentTypeId
      - ReceivedDate
      - TransactionId
    properties:
      TransactionId:
        type: string
        format: uuid
      MatterId:
        type: string
        format: uuid
      ReceivedFrom:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeGuid:
        type: string
        format: uuid
      PaymentTypeId:
        type: integer
        format: int32
      Amount:
        type: number
        format: double
      Reason:
        type: string
      Paid:
        type: boolean
      Paid_To:
        type: string
      TransactionNumber:
        type: string
      ReceivedDate:
        type: string
        format: date-time
      PaidToDate:
        type: string
        format: date-time
      EntryDate:
        type: string
        format: date-time
      PaymentTypeDetail:
        $ref: '#/definitions/PaymentTypeDetail'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  CardsReadPerson:
    type: object
    properties:
      recordId:
        type: string
        format: uuid
    description: Person
  OfficeReceiptView:
    type: object
    properties:
      OfficeReceipt:
        $ref: '#/definitions/OfficeReceipt'
      OfficeReceiptItems:
        type: array
        items:
          $ref: '#/definitions/OfficeReceiptItem'
      PaymentTypeDetails:
        $ref: '#/definitions/InitialisationPaymentTypeDetail'
  OfficeInvoiceInit:
    type: object
    properties:
      Preferences:
        $ref: '#/definitions/Preferences'
      LastInvoiceNumber:
        type: string
      TaxCodes:
        type: array
        items:
          $ref: '#/definitions/InitialisationTaxCode'
      Layouts:
        type: array
        items:
          $ref: '#/definitions/InvoiceLayoutList'
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/InitialisationOfficePaymentItem'
      OfficeDisbJournItems:
        type: array
        items:
          $ref: '#/definitions/InitialisationOfficeDisbJournItem'
      AnticipatedDisbursements:
        type: array
        items:
          $ref: '#/definitions/InitialisationOfficeAnticipatedDisbursement'
      Fees:
        type: array
        items:
          $ref: '#/definitions/InitialisationFee'
      CostRecoveries:
        type: array
        items:
          $ref: '#/definitions/InitialisationCostRecovery'
      TransOtherBillModeCount:
        type: integer
        format: int32
      MatterFixed:
        type: integer
        format: int32
      MatterFixedAmount:
        type: number
        format: double
      TrustBalAmount:
        type: number
        format: double
      TaskCodeFees:
        type: array
        description: Task Code Fee details
        items:
          $ref: '#/definitions/InitialisationTaskCodeFee'
      TaskCodeCostRecoveries:
        type: array
        items:
          $ref: '#/definitions/InitialisationTaskCodeCostRecovery'
      RapidPayCountryCode:
        type: integer
        format: int32
      Warning:
        type: string
      IsRapidPayDisabled:
        type: boolean
      InvoicePeriodFromDate:
        type: string
        format: date-time
      DefaultTrustAccountId:
        type: string
        format: uuid
      IsDefaultTrustAccountShared:
        type: boolean
  CardsWritePhoneNumber:
    type: object
    properties:
      type:
        type: string
        enum:
          - phone
          - fax
          - mobile
          - home
          - work
          - mobile2
          - mobile3
      value:
        type: string
  MattersReadCardTable:
    type: object
    properties:
      tableId:
        type: string
      layoutId:
        type: string
      title:
        type: string
      fields:
        type: array
        items:
          $ref: '#/definitions/MattersReadField'
  MattersReadCriticalDate:
    type: object
    required:
      - criticalDateId
    properties:
      criticalDateId:
        type: string
      value:
        type: string
        format: date-time
      confirmed:
        type: boolean
  PublicDocsErrorResponse:
    type: object
    properties:
      message:
        type: string
  Preferences:
    type: object
    properties:
      InvoiceLayoutGUID:
        type: string
        format: uuid
      GSTTaxCodeGUID:
        type: string
        format: uuid
      GSTAccountingBasis:
        type: integer
        format: int32
      InvoiceApplyGstAd:
        type: boolean
      InvoiceApplyGstCodeRec:
        type: boolean
      InvoiceApplyGstDisbJournal:
        type: boolean
      InvoiceApplyGstPay:
        type: boolean
      GstXeroTaxCodeExpenseGUID:
        type: string
        format: uuid
      LateFeesInterestRatePercent:
        type: number
        format: double
      InvoiceTerm:
        type: integer
        format: int32
      ExternalAccountingPlatform:
        type: integer
        format: int32
      CountryCode:
        type: integer
        format: int32
      RapidPayTurnedOn:
        type: integer
        format: int32
      RapidPayUseOfficeFooters:
        type: integer
        format: int32
      GLAccountCodeLNTXero:
        type: string
      RapidPayURL:
        type: string
      RapidPayBillerCode:
        type: string
      SecondsPerUnit:
        type: integer
        format: int32
      LateFeesCompoundInterest:
        type: boolean
  DocumentFieldJson:
    type: object
    properties:
      ElementName:
        type: string
        description: XML element name
      tableId:
        type: string
        description: Table Id
      order:
        type: integer
        description: Order of field
        format: int32
      fieldId:
        type: string
        description: Field Id
      name:
        type: string
        description: Name of field
      value:
        type: string
        description: Value (as text)
  TaskCodeFee:
    type: object
    properties:
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      BillingDescription:
        type: string
        description: The description that will appear on the CostRecovery
      GroupOnInvoice:
        type: boolean
        description: Group these items on the invoice
      Deleted:
        type: boolean
        description: Indicates if this item is marked for delted
      AmountRate:
        type: number
        description: Cost per item
        format: double
      IncTax:
        type: boolean
        description: Does this item include TAX
      Timed:
        type: boolean
        description: Is this item timed
      CalculationMode:
        type: integer
        description: 0 = Fixed rate per hour | 1 = Fixed amount
        format: int32
      CalculationScript:
        type: string
        description: 'Used internally, can be ignored'
      RowVersion:
        type: integer
        description: The database row Id that was affected
        format: int64
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
      RateId:
        type: integer
        description: Rate Id (internal)
        format: int32
  OfficeInvoiceUpdateInvoice:
    type: object
    properties:
      InvoiceGUID:
        type: string
        format: uuid
      DebtorCardGUID:
        type: string
        format: uuid
      BillToAddressee:
        type: string
      Memo:
        type: string
      TransactionDate:
        type: string
        format: date-time
      Status:
        type: integer
        format: int32
      StatusOld:
        type: integer
        format: int32
      InvoiceLayoutGUID:
        type: string
        format: uuid
      Deleted:
        type: integer
        description: Deleted
        format: int32
      DeletedOld:
        type: integer
        format: int32
      TransactionNumber:
        type: string
      MatterGUID:
        type: string
        format: uuid
      DateDue:
        type: string
        format: date-time
      LABillingJson:
        type: string
      InvSemaphoreGUID:
        type: string
        format: uuid
      InvoiceXMLItems:
        $ref: '#/definitions/InvoiceXMLItems'
      InvoiceJsonItems:
        $ref: '#/definitions/OfficeInvoiceJSONItems'
      RowVers:
        type: integer
        format: int64
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/OfficePaymentItem'
      OfficeDisbJournItems:
        type: array
        items:
          $ref: '#/definitions/OfficeDisbJournItem'
      AnticipatedDisbursements:
        type: array
        items:
          $ref: '#/definitions/AnticipatedDisbursement'
      Fees:
        type: array
        items:
          $ref: '#/definitions/Fee'
      CostRecoveries:
        type: array
        items:
          $ref: '#/definitions/CostRecovery'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
      FunctionGroupId:
        type: string
        format: uuid
      SplitCards:
        type: array
        items:
          $ref: '#/definitions/SplitCards'
      AssisgnedStaffId:
        type: string
        format: uuid
      AssisgnedStaffMemo:
        type: string
  RecurringMatterFee:
    type: object
    properties:
      feeGuid:
        type: string
        format: uuid
      matterGuid:
        type: string
        format: uuid
      taxCodeGuid:
        type: string
        format: uuid
      taskCodeGuid:
        type: string
        format: uuid
      transactionDate:
        type: string
        format: date-time
      rateId:
        type: integer
        description: Rate Id (internal)
        format: int32
      ratePerHour:
        type: number
        format: double
      secondsElapsed:
        type: integer
        format: int32
      secondsPerUnit:
        type: integer
        format: int32
      feeUnits:
        type: integer
        format: int32
      feeHoursQuantity:
        type: number
        format: double
      timed:
        type: integer
        format: int32
      calculationMode:
        type: integer
        description: 0 = Fixed rate per hour | 1 = Fixed amount
        format: int32
      incTax:
        type: integer
        format: int32
      totalIncTax:
        type: number
        format: double
      totalExTax:
        type: number
        format: double
      totalTax:
        type: number
        format: double
      billingDescription:
        type: string
      memo:
        type: string
      billingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      workDoneByStaffGuid:
        type: string
        format: uuid
      attributeFeesToStaffGuid:
        type: string
        format: uuid
      laActivityTypeCode:
        type: string
      laActivityTypeDescription:
        type: string
      laBillingStage:
        type: integer
        format: int32
      matterBillingMode:
        type: integer
        format: int32
      laAdjFeePercent:
        type: number
        format: double
      laCourtType:
        type: string
      laMedSessionAmt:
        type: integer
        format: int32
      laMedTime:
        type: integer
        format: int32
      laHearingType:
        type: string
      laPersonAttending:
        type: string
      laCCCaseNo:
        type: string
      laCCOffenceClass:
        type: string
      laCCTrialTypeId:
        type: string
      laCCTrialLenInDays:
        type: string
      laCCPpe:
        type: string
      laCCNumberOfDefendants:
        type: string
      laCCCommitalForTrial:
        type: string
      laCCTrialStartDate:
        type: string
        format: date-time
      laCCTrialEndDate:
        type: string
        format: date-time
      externalUrl:
        type: string
      externalJson:
        type: string
      warningAcknowledgements:
        type: array
        items:
          type: integer
          format: int32
      appId:
        type: integer
        format: int32
  PublicDocsCreateMatterResponse:
    type: object
    properties:
      matterId:
        type: string
        description: Matter Id
        format: uuid

  ArrayOfTaxCode:
    type: array
    items:
      $ref: '#/definitions/TaxCodeObj'

  TrustInitData:
    type: object
    properties:
      Preference:
        type: object
        properties:
          TrustBankAccountGUID:
            type: string
            format: uuid
            description: Trust Bank Account GUID
          EFTNumberPrefix:
            type: string
            description: EFT Number Prefix
      MatterSetting:
        type: object
        properties:
          DefaultTrustAccountGUID:
            type: string
            description: Default Trust Account GUID
      BankAccounts:
        type: object
        properties:
          BankAccountGUID:
            type: string
            format: uuid
            description: Bank Account GUID
          AccountName:
            type: string
            description: Account Name
          AccountNumber:
            type: string
            description: Account Number
          BSB:
            type: string
            description: BSB
          NameFileAs:
            type: string
            description: Name File As
          AccountUsage:
            type: integer
            format: int32
            description: Account Usage
          Deleted:
            type: boolean
            description: Deleted
          RowVersion:
            type: integer
            format: int64
            description: Row Version
          Drawer:
            type: string
            description: Drawer
          ChequeSVGLayoutGUID:
            type: string
            format: uuid
            description: Cheque SVG Layout GUID
          ChequeLayoutId:
            type: integer
            format: int32
            description: Cheque Layout ID
          ChequeMarginV:
            type: integer
            format: int32
            description: Cheque Margin - Vertical
          ChequeMarginH:
            type: integer
            format: int32
            description: Cheque Margin - Horizontal
          ChequeNumber:
            type: integer
            format: int32
            description: Cheque Number
          ReceiptNumber:
            type: integer
            format: int32
            description: Cheque Margin - Vertical
          BankDepositNumber:
            type: integer
            format: int32
            description: Bank Deposit Number
          JournalNumber:
            type: integer
            format: int32
            description: Journal Number
          EFTNumber:
            type: integer
            format: int32
            description: EFT Number
          BankCurrentDate:
            type: string
            format: date-time
            description: Bank Current Date
          BankRecStatementDate:
            type: string
            format: date-time
            description: Bank Statement Date
          BankRecStatementBalance:
            type: number
            format: double
            description: Bank Rec Statement Balance
  TrustJournalAdd:
    type: object
    properties:
      TrustJournalGUID:
        type: string
        format: uuid
        description: Trust Journal GUID
      TrustJournalReverseGUID:
        type: string
        format: uuid
        description: Trust Journal Reverse GUID
      AccountGUID:
        type: string
        format: uuid
        description: Account GUID
      JournalNumber:
        type: string
        description: Journal Number
      TransactionDate:
        type: string
        format: date-time
        description: Transaction Date
      EntryDate:
        type: string
        format: date-time
        description: Entry Date
      AutoNumber:
        type: integer
        format: int32
        description: Auto Number
      ReversedOrReversal:
        type: integer
        format: int32
        description: Reversed or Reversal
      AuthorisedByGUID:
        type: string
        format: uuid
        description: Authorised by GUID
      TrustJournalItems:
        type: object
        properties:
          Description:
            type: string
          TrustJournalItemGUID:
            type: string
            format: uuid
            description: Trust Journal Item GUID
          MatterGUID:
            type: string
            format: uuid
            description: Matter GUID
          Amount:
            type: number
            format: double
          TrustJournalItemReverseGUID:
            type: string
            format: uuid
            description: Trust Journal Item Reverse GUID
  CostRecoveryInitialisationDataUpdate:
    type: object
    properties:
      TaxCodeList:
        type: array
        description: TaxCode list associated to the CostRecovery
        items:
          $ref: '#/definitions/CostRecoveryTaxCode'
      TaskCodeList:
        type: array
        description: TaskCode list items associated to the CostRecovery
        items:
          $ref: '#/definitions/TaskCodeCostRecovery'
      Preferences:
        description: Preferences
        $ref: '#/definitions/CostRecoveryPreferences'
      CostRecovery:
        description: CostRecovey details
        $ref: '#/definitions/CostRecoveryReadModel'
  OfficePaymentInitialisation:
    type: object
    properties:
      OfficePaymentGUID:
        type: string
        format: uuid
      BankAccountGUID:
        type: string
        format: uuid
      SupplierGUID:
        type: string
        format: uuid
      PaymentTypeDetailsGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
      PaymentNumber:
        type: string
      PayToAddressee:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeId:
        type: integer
        format: int32
      ReversedOrReversal:
        type: boolean
      PaymentProcessed:
        type: boolean
      RowVersion:
        type: integer
        format: int64
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      AutoNumber:
        type: integer
        format: int32
      ChequeSVGLayout:
        type: string
        format: uuid
      ReversalInfo:
        type: string
      Void:
        type: boolean
      ReversalGUID:
        type: string
        format: uuid
  RecurringMatterStaff:
    type: object
    properties:
      initialsCredit:
        type: string
        format: uuid
      responsible:
        type: string
        format: uuid
      acting:
        type: string
        format: uuid
      assisting:
        type: string
        format: uuid
      credit:
        type: string
        format: uuid
      initials:
        type: string

  Definition_Body_InvestmentAccount:
    type: object
    properties:
      BankAccountGUID:
        type: string
        format: uuid
        description: Bank Account GUID
      MatterGUID:
        type: string
        format: uuid
        description: Matter GUID        
      DateOpened:
        type: string
        format: date-time 
        description: Date Opened
      DateReceived:
        type: string
        format: date-time 
        description: Date Received 
      AccountUsage:
        type: Integer
        format: Int32
        description: Account Usage
      BSB:
        type: string
        description: BSB Bank Detail
      StateCode:
        type: string
        description: State Code
      InstituteName:
        type: string
        description: Institute Name
      AccountNumber:
        type: string
        description: Account Number
      AccountName:
        type: string
        description: Account Name
      InvestmentTransactionsObject:
        type: object
        properties:
          InvestTransGUID:
            type: string
            format: uuid
            description: Investment Transacton GUID
          Amount:
            type: Integer
            format: Int32
            description: Payment amount
          Payee:
            type: string
            description: Payee
          Reason:
            type: string
            description: Reason for payment
          PaymentTypeName:
            type: string
            description: Payment type name
          PaymentTypeGUID:
            type: string
            format: uuid
            description: Payment type GUID
          PaymentTypeID:
            type: Integer
            format: Int32
            description: Payment type ID
          ExternalJSON:
            type: string
            description: External JSON
          ExternalURL:
            type: string
            description: External URL
          RapidpayCreatedByStaffId:
            type: string
            description: RapidPay Created By StaffID
          RapidpayAuthorizedByStaffId:
            type: string
            description: RapidPay Authorized By StaffID
          FunctionGroupId:
            type: string
            description: Function Group ID
      PaymentTypeDetails: 
        type: object
        properties:
          PaymentTypeDetailsGUID:
            type: string
            format: uuid
            description: Payment Type Details GUID
          Addressee:
            type: string
            description: Addressee
          BSB:
            type: string
            description: BSB Bank Details
          AccountNumber:
            type: string
            description: Account Number
          AccountName:
            type: string
            description: Account Name
          Drawer:
            type: string
            description: Drawer
          ChequeNumber:
            type: Integer
            description: Cheque Number
          AuthorisationNumber:
            type: string
            description: Authorisation Number
          ExpiryDate:
            type: string
            format: date-time
            description: Expiry Date
          Notes:
            type: Integer
            format: Int32
            description: Notes 
          Coins:
            type: Integer
            format: Int32 
            description: Coin
          Memo:
            type: string
            description: Memo
          BillerCode:
            type: string
            description: Biller Code
          BillerReference:
            type: string
            description: Biller Reference
      Beneficiary1GUID:
        type: string
        format: uuid
        description: Beneficiary 1 GUID
      Beneficiary2GUID:
        type: string
        format: uuid
        description: Beneficiary 2 GUID
      ExternalURL:
        type: string        
        description: External URL
      ExternalJSON:
        type: string
        description: External JSON
      WarningAcknowledgements: 
        type: array
        description: Add warning acknowledgement details
        items:
          $ref: '#/definitions/Definition_Body_InvestmentAccountCreate_WarningAcknowledgmentsArray'
      FunctionGroupId:
        type: string
        format: uuid
        description: Function Group ID  

  Definition_Body_InvestmentTransaction:
    type: object
    properties:      
      MatterGUID:
        type: string
        format: uuid
        description: Matter GUID        
      InvestTransGUID:
        type: string
        format: uuid 
        description: Invest Trans GUID
      BankAccountGUID: 
        type: string
        format: uuid 
        description: Bank Account GUID
      Entry Date:
        type: string
        format: date-time 
        description: Entry Date
      Transaction Date:
        type: string
        format: date-time
        description: Transaction Date
      TransactionNumber: 
        type: string        
        description: Transaction Number
      TransactionNumberAuto: 
        type: Integer
        format: Int32
        description: Account Usage
      Amount:
        type: Integer
        format: Int32
        description: Payment amount
      Payee:
        type: string
        description: Payee
      Reason:
        type: string
        description: Reason
      Payment Type ID:
        type: Integer
        format: Int32
        description: Payment type ID
      Reconciled: 
        type: Integer
        format: Int32
        description: Reconciled
      StaffAuthorisedByGUID:
        type: string
        format: uuid
        description: Staff Authorised By GUID
      CreatedByStaffGUID:
        type: string
        format: uuid
        description: Created By Staff GUID      
      PaymentTypeDetails: 
        type: object
        properties:
          PaymentTypeDetailsGUID:
            type: string
            format: uuid
            description: Payment Type Details GUID
          Addressee:
            type: string
            description: Addressee
          BSB:
            type: string
            description: BSB Bank Details
          AccountNumber:
            type: string
            description: Account Number
          AccountName:
            type: string
            description: Account Name
          Drawer:
            type: string
            description: Drawer
          ChequeNumber:
            type: Integer
            description: Cheque Number
          AuthorisationNumber:
            type: string
            description: Authorisation Number
          ExpiryDate:
            type: datetime
            description: Expiry Date
          Notes:
            type: Integer
            format: Int32
            description: Notes 
          Coins:
            type: Integer
            format: Int32 
            description: Coin
          Memo:
            type: string
            description: Memo
          BillerCode:
            type: string
            description: Biller Code
          BillerReference:
            type: string
            description: Biller Reference      
      ExternalURL:
        type: string        
        description: External URL
      ExternalJSON:
        type: string
        description: External JSON
      WarningAcknowledgements: 
        type: array
        description: Add warning acknowledgement details
        items:
          $ref: '#/definitions/Definition_Body_InvestmentAccountCreate_WarningAcknowledgmentsArray'
      FunctionGroupId:
        type: string
        format: uuid
        description: Function Group ID

  Definition_Body_InvestmentAccountCreate_WarningAcknowledgmentsArray:
    type: object    
    properties:
      NumberDetail:
        type: Integer
        format: Int32
        description: Number Detail

  Definition_Body_InvestmentMoney_SAMPLE_A:
    type: object
    properties:
      InvestTransGUID:
        type: string
        format: uuid
        description: Investment Transaction GUID
      EntryDate:
        type: string
        format: date-time
        description: Entry Date
      TransactionDate:
        type: string
        format: date-time
        description: Transaction Date
      TransactionNumber:
        type: string
        description: Transaction Number
      TransactionNumberAuto:
        type: boolean
        description: Transaction Number Auto
      TransactionTypeID:
        type: Integer
        description: Transaction Type ID
      MatterGUID:
        type: string
        format: uuid
        description: Matter GUID
      Amount:
        type: Integer
        format: Int32
        description: Amount
      Payee:
        type: string
        description: Payee
      Reason:
        type: string
        description: Reason
      PaymentTypeName:          
        type: string
        description: Payment Type Name 
      PaymentTypeGUID:
        type: string
        format: uuid
        description: Payment Type GUID
      PaymentTypeID: 
        type: Integer
        description: Payment Type ID
      PaymentSubTypeId:
        type: Integer
        description: Payment Subtype ID
      PaymentTypeDetailsGUID: 
        type: string
        description: Payment Type Details GUID
      ReversedOrReversal:
        type: boolean
        description: Determines if record is a reversal or has been reversed
      RowVersion:
        type: Integer
        description: Row Version
      Reconciled: 
        type: Integer
        description: Reconciled
      AuthorisedByGUID:
        type: string
        format: uuid
        description: Authorised By GUID
      IsReversal:
        type: Boolean
        description: Flags if record is a reversal
      ReverseEntryDate: 
        type: string
        format: date-time
        description: Date when entry was reversed        
      ClosedAccount:
        type: boolean
        description: Flag if account has been closed
      AccountName:
        type: string
        description: Account Name
      AccountUsage:
        type: Integer
        description: Account Usage
      AccountNumber:
        type: string
        description: Unique account number
      ReversalInfo:
        type: string
        description: Reversal Info

      PaymentTypeDetails:
        type: object
        $ref: '#/definitions/PaymentTypeDetail'

      PaymentTypeList:
        type: array
        items: 
          $ref: '#/definitions/PaymentType'
      
      ExternalJSON:
        type: string
        description: External JSON
      ExternalURL:
        type: string
        description: External URL
      AuthorisedBy:
        type: string
        description: Authorised By
      FunctionGroupId:
        type: string
        description: Function Group ID
      CreatedByStaffId:
        type: string
        description: Created By Staff ID
      CreatedDate:
        type: datetime
        description: Date created

  Definition_Body_InvestmentAccount_InitialisationData:
    type: object
    properties:
      BankAccountGUID:
        type: string
        format: uuid
        description: Bank Account GUID
      AccountClosed:
        type: boolean        
        description: Determines if account is closed or not
      DateOpened:
        type: string
        format: date-time
        description: Date Opened
      DateReceived:
        type: string
        format: date-time
        description: Date Received 
      AccountUsage:
        type: Integer
        format: Int32
        description: Account Usage      
      StateCode:
        type: string
        description: State Code
      InstituteName:
        type: string
        description: Institute Name
      AccountBSB: 
        type: string
        description: Bank BSB number
      AccountNumber:
        type: string
        description: Account Number
      AccountName:
        type: string
        description: Account Name
      RowVersion:
        type: Integer
        format: Int32
        description: Row Version
      InvestmentMatterGUID:
        type: string
        format: uuid
        description: Investment Matter GUID
      Deleted:
        type: boolean        
        description: Determines if record is deleted or not
      Balance:
        type: Integer
        format: Int32
        description: Balance
      TransCount:
        type: Integer
        format: Int32
        description: Transaction Count
      Beneficiary1GUID:
        type: string
        format: uuid
        description: Beneficiary 1 GUID
      Beneficiary2GUID:
        type: string
        format: uuid
        description: Beneficiary 2 GUID      
      PaymentTypeDetails: 
        type: object
        properties:
          BankAccountGUID:
            type: string
            format: uuid
            description: Bank Account GUID
          PaymentTypeDetailsGUID:
            type: string
            format: uuid
            description: Payment Type Details GUID
          Addressee:
            type: string
            description: Addressee
          BSB:
            type: string
            description: BSB Bank Details
          AccountNumber:
            type: string
            description: Account Number
          AccountName:
            type: string
            description: Account Name
          Drawer:
            type: string
            description: Drawer
          ChequeNumber:
            type: Integer
            description: Cheque Number
          AuthorisationNumber:
            type: string
            description: Authorisation Number
          ExpiryDate:
            type: string
            format: date-time
            description: Expiry Date
          Notes:
            type: Integer
            format: Int32
            description: Notes 
          Coins:
            type: Integer
            format: Int32 
            description: Coin
          Memo:
            type: string
            description: Memo
          BillerCode:
            type: string
            description: Biller Code
          BillerReference:
            type: string
            description: Biller Reference 
          RowVersion: 
            type: Integer
            format: Int32
            description: Row Version
          CountryOfOrigin:          
            type: string
            description: Country of Origin 
          DestinationCountry:
            type: string
            description: Destination Country
          InstitutionName:
            type: string
            description: Name of Institiution
          SwiftCode:
            type: string
            description: Swift Code
          ForeignValue:
            type: Integer
            format: Int32
            description: Foreign Value
          ExchangeRate:
            type: Integer
            format: Int32
            description: Exchange Rate
          CurrencyType:
            type: string
            description: Currency Type
      InvestmentTransactionsObject:
        type: object
        properties:          
          PaymentTypeName:
            type: string
            description: Payment type name          
          PaymentTypeID:
            type: Integer
            format: Int32
            description: Payment type ID
          PaymentSubTypeID:
            type: Integer
            format: Int32
            description: Payment sub-type ID
          Amount:
            type: Integer
            format: Int32
            description: Amount
          Reason:
            type: string
            description: Reason
          Payee:
            type: string
            description: Payee
          PaymentTypeGUID:
            type: string
            format: uuid
            description: Payment Type GUID
          Addressee: 
            type: string
            description: Addressee 

  Definition_200Response_CostRecovery_InitialisationData: 
    type: object
    properties:
      TaxCodeList:
        type: array
        items: 
          $ref: '#/definitions/CostRecovery_Init_TaxCodeList'
      TaskCodeList:
        type: array
        items: 
          $ref: '#/definitions/CostRecovery_Init_TaskCodeList'          
      Preferences:
        type: object        
        $ref: '#/definitions/CostRecovery_Init_Preferences'

  CostRecovery_Init_TaxCodeList:
    type: object
    properties:
      RatePercent:
        type: Integer        
      GLTaxCode:
        type: string        
      TaxCode:
        type: string
      GLTaxCodeType:
        type: string 
      Deleted:
        type: boolean
      TaxCodeDescription:
        type: string        
      RowVersion:
        type: Integer
        description: Deleted
      TaxCodeSplits:
        type: array
        items:
          $ref: '#/definitions/CostRecovery_Init_TaxCodeSplits'
      IsGroupTaxCode:
        type: boolean     
      IsTaxCodeUsable:
        type: boolean     
      FirmId:
        type: string
        format: uuid
      TaxCodeId:
        type: string

  CostRecovery_Init_TaxCodeSplits:
    type: object
    properties:
      TaxCodeGUID:
        type: string
        format: uuid
      Sequence:
        type: Integer
  
  CostRecovery_Init_TaskCodeList:
    type: object
    properties:
      PurchaseMode:
        type: Integer
      Deleted:
        type: boolean
      NameFileAs:
        type: string
      SeqBillingDescriptionuence:
        type: string
      IncTax:
        type: boolean
      AmountEach:
        type: Integer
      GroupOnInvoice:
        type: boolean
      RowVersion:
        type: Integer
      TaskCodeId:
        type: string
      PurchaseSupplierCardId:
        type: string
      TaxCodeId:      
        type: string
  
  CostRecovery_Init_Preferences:
    type: object
    properties:
      GSTTaxCodeId:
        type: string
      FRETaxCodeId:
        type: string

  Definition_200Response_CostRecovery_InitialisationData_New: 
    type: object
    properties:
      TaxCodeList:
        type: array
        items: 
          $ref: '#/definitions/CostRecovery_Init_TaxCodeList_New'
      TaskCodeList:
        type: array
        items: 
          $ref: '#/definitions/CostRecovery_Init_TaskCodeList_New'          
      Preferences:
        type: object        
        $ref: '#/definitions/CostRecovery_Init_Preferences_New'

  CostRecovery_Init_TaxCodeList_New:
    type: object
    properties:
      FirmGuid:
        type: string 
        format: uuid       
      RatePercent:
        type: Integer        
      TaxCodeGUID:
        type: string
        format: uuid
      GLTaxCode:
        type: string 
      TaxCode:
        type: boolean
      GLTaxCodeType:
        type: string   
      Deleted:
        type: boolean
      TaxCodeDescription:
        type: string
      RowVersion:
        type: integer 
      TaxCodeSplits:
        type: array
        items:
          $ref: '#/definitions/CostRecovery_Init_TaxCodeSplits_New'
      IsGroupTaxCode:
        type: boolean     
      IsTaxCodeUsable:
        type: boolean           

  CostRecovery_Init_TaxCodeSplits_New:
    type: object
    properties:
      TaxCodeGUID:
        type: string
        format: uuid
      Sequence:
        type: integer
  
  CostRecovery_Init_TaskCodeList_New:
    type: object
    properties:
      TaskCodeGUID:
        type: string
        format: uuid
      PurchaseSupplierCardGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      PurchaseMode:
        type: string
      Deleted:
        type: boolean
      NameFileAs:
        type: string
      BillingDescription:
        type: string
      IncTax:
        type: boolean
      AmountEach:
        type: integer
      GroupOnInvoice:
        type: boolean
      RowVersion:
        type: integer
  
  CostRecovery_Init_Preferences_New:
    type: object
    properties:
      GSTTaxCodeId:
        type: string
      FRETaxCodeId:
        type: string        
      MatterGSTTaxCodeGUID:
        type: string
        format: uuid
        description: Matter default GST tax code

  Definition_ParamModelBody_CostRecovery_Multiple: 
    type: array
    items:
      type: object    
      properties: 
        PurchaseMode:      
          type: Integer
        TransactionDate:
          type: string
          format: date-time
        Quantity:
          type: Integer
        AmountEach:
          type: Integer 
        TotalIncTax:      
          type: Integer
        TotalExTax:
          type: Integer
        TotalTax:
          type: Integer
        BillingDescription:
          type: string
        BillingMode:      
          type: Integer          
        IncTax:
          type: boolean        
        ExternalURL:
          type: string
        ExternalJSON:
          type: string 
        FunctionGroupId:      
          type: string
        InterestCalculationDate:
          type: string
          format: date-time
        CostRecoveryId:
          type: string
        MatterId:
          type: string
          format: uuid
        TaxCodeId:
          type: string
        TaskCodeId:
          type: string
        PurchaseSupplierCardId:
          type: string

  Definition_200Response_CostRecovery_Multiple: 
    type: array
    items:
      type: object    
      properties: 
        Id:      
          type: string
          format: uuid
        Code:      
          type: Integer
        PropertyName:      
          type: string
        Message:      
          type: string
        MessageHeader:      
          type: string
        LineItemNumber:
          type: Integer
        RowVersion:
          type: string

  Definition_ParamModelBody_CostRecovery_Multiple_New: 
    type: array
    items:
      type: object    
      properties: 
        CostRecoveryGUID:
          type: string
          description: GUID for the Cost Recovery record (to be generated by the developer).
          format: uuid
        MatterGUID:
          type: string
          description: LEAP GUID for the matter the cost recovery will be recorded against. 
          format: uuid
        TaxCodeGUID:
          type: string
          description: LEAP ID of the relevant tax code for the cost recovery record. Current tax codes can be retrieved from [GET /api/v2/taxcodes](http://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get).
          format: uuid
        TaskCodeGUID:
          type: string
          description: LEAP ID of the relevant task code for the cost recovery record. Current cost recovery task codes can be retrieved from [GET /api/v2/taskcodes/costrecovery](http://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1costrecovery/get).
          format: uuid
        PurchaseSupplierCardId:
          type: string
          description: LEAP GUID of the Card record for the Purchase Supplier. Card records for a firm can be retrieved from [GET /api/v2/cards](http://leap.build/api-reference/#tag/Cards/operation/Card_GetCards) or [GET /api/v1/cards/search](http://leap.build/api-reference/#tag/Cards/paths/~1api~1v1~1cards~1search/get).
          format: uuid
        PurchaseMode:
          type: integer
          description: 'Internally used, can be ignored'
          format: int32
        TransactionDate:
          type: string
          description: Date & time of the transaction in *ISO 8601* format.
          format: date-time
        Quantity:
          type: integer
          description: Indicates the quantity of billable units in the cost recovery.
          format: int32
        AmountEach:
          type: number
          description: Indicates the dollar value of each billable item. 
          format: double
        TotalIncTax:
          type: number
          description: Indicates the total value of the cost recovery including tax.
          format: double
        TotalExTax:
          type: number
          description: Indicates the total value of the cost recovery excluding tax.
          format: double
        TotalTax:
          type: number
          description: Indicates the total value of tax applied for the cost recovery.
          format: double
        LAActivityTypeCode: 
          type: string
        LABillingStage:
          type: Integer
        MatterBillingMode:
          type: Integer
        BillingDescription:
          type: string
          description: The description of the cost recovery item. 
        BillingMode:
          type: integer
          description: |
            Indicates the billing mode of the cost recovery. Valid entries:
            
            - -1 = Not billable
            - 0 = Billable next invoice
            - 1 = Billable later invoice
          format: int32
        IncTax:
          type: boolean
          description: Indicates whether tax is included in this cost recovery.
        LAActivityDescription:
          type: string
        LAADisplayDescription:
          type: string
        WarningAcknowledgments:
          type: array
          description: "These are typical CostRecovery warnings, which would prevent any CostRecovery from being created. Add these items, if you wish to ignore these warnings and allow the creation to continue. \n\nExamples: \n\n\t1001 (Matter has exceeded the estimate of matterDisbursementsEstimate) \n\n\t1099 (This matter is archived)"
          items:
            type: object
            properties:
              WarningAcknowledgementDetail:
                type: integer 
                format: int32
        AppId: 
          type: string
        ExternalURL:
          type: string
          description: >-
            When this field is populated, LEAP will open the URL provided when
            opened

  Definition_200Response_Mailing:
    type: object
    properties: 
      InvoiceGUID:
        type: string
        format: uuid
      InvoiceRowVers: 
        type: Integer
      MatterGUID: 
        type: string
        format: uuid
      MatterNo: 
        type: string
      StatusID: 
        type: Integer
        format: uuid
      Status: 
        type: string
      ActingStaffGUID: 
        type: string
        format: uuid
      StaffActing: 
        type: string
      ResponsibleStaffGUID: 
        type: string
        format: uuid
      StaffResponsible: 
        type: string
      DebtorGUID:
        type: string
        format: uuid
      Debtor: 
        type: string
      IsSplit: 
        type: boolean
      InvoiceTotal: 
        type: Integer
      InvoiceBalanceDue: 
        type: Integer
      TransactionNumber: 
        type: string
      TransactionDate:
        type: string
        format: date-time
      Memo: 
        type: string
      DueDate: 
        type: string
        format: date-time
      Email:
        type: string
      LayoutGUID: 
        type: string  
      ExternalUrl:
        type: string
      ExternalJson:
        type: string
      FunctionGroupId: 
        type: string
        format: uuid

  Definition_Error_Generic:
    type: object
    properties: 
      ErrorCode:
        type: Integer
      ErrorPropertyName: 
        type: string
      ErrorMessage: 
        type: string
      ErrorMessageHeader: 
        type: string
      ErrorLineItemNumber: 
        type: Integer

  Definition_200Response_Cards_CardId_Matters:
    type: array
    items:
      type: object    
      properties:             
        matterId:
          type: string
          format: uuid
        fileNumber: 
          type: string
        firstDescription: 
          type: string
        secondDescription: 
          type: string
        customDescription: 
          type: Integer
        matterTypeName: 
          type: string
        matterTypeId: 
          type: string
          format: uuid
        matterStatus: 
          type: string
        isCurrent: 
          type: boolean
        state: 
          type: string
        responsibleStaffId:
          type: string
          format: uuid
        creditStaffId: 
          type: string
          format: uuid
        actingStaffId: 
          type: string
          format: uuid
        assistingStaffId: 
          type: string
          format: uuid
        isArchived: 
          type: boolean
        deleted: 
          type: boolean
        version:
          type: Integer          
        instructionDate: 
          type: string
          format: date-time
        billingMode: 
          type: Integer
        archiveDate:
          type: string
          format: date-time
        isMatterAccessible: 
          type: boolean

  Definition_200Response_Get_v3_Matters:
    type: object
    properties:
      MatterList:
        type: array
        items:           
          type: object
          $ref: '#/definitions/Definition_Get_v3_Matters_Obj'
      LastRowVersion:
        type: integer
        description: >-
          The `lastRowVer` field, is the database identity record of the item
          being requested.


          Provide this to get a DELTA of all matters that have been changed or
          created since the `lastRowVer` provided.
        format: int64
  
  Definition_Get_v3_Matters_Obj:         
    type: object 
    properties:
      rowVersion: 
        type: Integer
        description: The rowVersion is the database version of the particular matter record
      matterId: 
        type: string
        description: Unique identifier of the Matter
      fileNumber: 
        type: string
        description: The file number of the matter as it appears in LEAP's Matter List Dashboard
      firstDescription: 
        type: string  
        description: Usually the last name of the Client
      secondDescription: 
        type: string
      customDescription: 
        type: string
        description: Describes the matter type
      matterTypeName: 
        type: string
        description: Describes the matter type
      matterTypeId: 
        type: string
        description: Unique identifier of the matter type
      matterStatus: 
        type: string
        description: >- 
          Describes the status of the matter

          Examples:

          "??" - status when there has been no confirmation on the date itself but there is a corresponding date linked to the matter which has passed
          "Unexchanged" - status when matter sale/purchase has not resulted in a property changing owners          
        enum:
          - "??"
          - In Progress
          - Unexchanged
          - Complete   
          - Archived       
      isCurrent: 
        type: boolean
        description: >-
          Flags the matter if it is open or not.

          If the matter is not archived and if the 'Not Proceeding Date' of the matter is null or still greater than the current date
          and if the completion of the matter is not yet confirmed, then the matter will remain "current" (ie: active).

          If this is false, then it means that the matter is closed.
      state: 
        type: string
        description: State where the matter has been opened
      responsibleStaffId: 
        type: string
        description: The staff ID responsible for the matter. Should be a staff member of the law firm.
      creditStaffId: 
        type: string
        description: The credit staff ID for the matter. Should be a staff member of the law firm.
      actingStaffId: 
        type: string
        description: The acting staff ID for the matter. Should be a staff member of the law firm.
      assistingStaffId: 
        type: string
        description: The assisting staff ID for the matter. Should be a staff member of the law firm.
      isArchived: 
        type: boolean
        description: Flags the matter as "Deleted"
      deleted: 
        type: boolean
        description: Flags the matter as "Deleted"
      version:
        type: Integer          
      instructionDate: 
        type: date
        format: DateTime
        description: The date when the matter has been opened
      billingMode: 
        type: Integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        enum:
          - 0
          - 1
          - -1          
      archiveDate:
        type: date
        format: DateTime
      isMatterAccessible: 
        type: boolean
        description: This flag is directly related to the Restrict Matter Access controls in Matters. Allows users to restrict access to a Matter based on which Staff should have access to it. Returns "True" if the user related to the token calling the endpoint has access to the Matter and vice-versa.

  Definition_Body_UpdateMatterStaff: 
    type: object
    properties:
      Credit:        
        $ref: '#/definitions/Definition_Body_UpdateMatterStaff_GenericBody'
      Responsible:        
        $ref: '#/definitions/Definition_Body_UpdateMatterStaff_GenericBody'
      Acting:        
        $ref: '#/definitions/Definition_Body_UpdateMatterStaff_GenericBody'
      Assisting:        
        $ref: '#/definitions/Definition_Body_UpdateMatterStaff_GenericBody'

  Definition_Body_UpdateMatterStaff_GenericBody: 
    type: object
    properties:
      StaffId:
        type: string
        format: uuid
      Access:
        type: boolean

  200Response_Get_Tasks:
    type: object
    properties:
      id:
        type: string
        format: uuid
        description: LEAP ID of the task
      body: 
        type: string
        description: misc data
      clientId:
        type: string
        format: uuid
        description: LEAP GUID of the client attached to the task
      matterId: 
        type: string
        format: uuid
        description: LEAP GUID of the matter attached to the task
      start:
        type: string
        format: date-time
        description: Start date of the task
      due: 
        type: string
        format: date-time
        description: Due date of the task
      completed:
        type: string
        format: date-time
        description: Completion status of the task
      status:
        type: string
        description: LEAP status of the task
      subject:
        type: string
        description: Description of the task in LEAP/Outlook
      importance:
        type: integer
        description: Importance of the task in LEAP 
      matterNo:
        type: string
        description: Matter number in LEAP (e.g. NC-0001)
      timezone: 
        type: string        
        description: Set timezone of the task
      reminderDateTime:
        type: string
        format: date-time
        description: Date for any reminders set 
      isBillable:
        type: boolean
        description: Billable status of the task
      isLegacy:
        type: boolean
        description: Legacy status of the task
      document:
        type: object
        properties:
          id:
            type: string
          precedentId:
            type: string
          name:
            type: string
          ext:
            type: string
      criticalDate:
        type: object
        description: Any applicable critical dates
        properties:
          id:
            type: string
          offset:
            type: integer
          offsetUnit:
            type: integer
      owner:
        type: object
        properties:
          todoGuid:
            type: string
            format: uuid
          address:
            type: string
            description: Email address of the task owner
          name: 
            type: string
            description: Name of the staff member assigned to the task
          staffId: 
            type: string
            format: uuid
            description: LEAP Staff GUID of the staff member assigned to the task 
          userId:
            type: string
            format: uuid
            description: LEAP User GUID of the staff member assigned to the task
          sent:
            type: boolean
      assignees:
        type: array
        items:
          properties:
            todoGuid:
              type: string
              format: uuid
            address:
              type: string
            name:
              type: string
            staffId:
              type: string
              format: uuid
            userId:
              type: string
              format: uuid
            sent:
              type: boolean
      attachments: 
        type: array
        items:
          properties:
            id: 
              type: string
              format: uuid
              description: GUID of any attachments
            name: 
              type: string
              description: Name of any attachments
            type: 
              type: string
              format: integer
              description: Type of any attachments
            format:
              type: string
              format: integer
              description: Format of any attachments
            fileUrl:
              type: string
              format: integer
              description: URL of any attachments
            token:
              type: string
      isDeleted:
        type: boolean
        description: Deletion status of the task

  401Response_Get_Tasks:
    type: object
    properties:
      error: 
        body: Firm *firmId* is not a superdiary firm.

  Definition_200Response_Get_MatterIdTasks: 
    type: object    
    properties:
      Result: 
        type: array
        items:
          type: object
          properties: 
            taskId: 
              type: string
              format: uuid
            deleteCode: 
              type: Integer
            createdDate: 
              type: string
              format: date-time
            lastModifiedDate: 
              type: string
              format: date-time
            startDate: 
              type: string
              format: date-time
            dueDate: 
              type: string
              format: date-time
            completedDate: 
              type: string
              format: date-time
            status: 
              type: string
            subject: 
              type: string
            owner: 
              type: string
            staffId: 
              type: string
              format: uuid
            fileNumber: 
              type: string
            firstDescription: 
              type: string
            secondDescription: 
              type: string
      Id:
        type: string
        format: uuid        
      Exception:
        type: object
      Status:
        type: string
      IsCanceled:
        type: boolean
      IsCompleted:
        type: boolean
      CreationOptions:
        type: string
      AsyncState:
        type: object
      IsFaulted:
        type: boolean

  Definition_Put_MatterId_DefinableTables_ArrayOfDefinableTableV2LDPVWMDU: 
    type: array
    items:
      type: object    
      properties: 
        recordId:
          type: string
          format: uuid
        definableTableId:
          type: string
          format: uuid
        fields:
          type: array
          items: 
            type: object          
            $ref: '#/definitions/Definition_Put_MatterId_DefinableTables_Fields'    

  Definition_Put_MatterId_DefinableTables_Fields:     
    type: object
    properties: 
      fieldId:
        type: string
        format: uuid
      value:
        type: string     

  PostEmailsSend_RequestBody:
    type: object  
    required: [sender, to, body, subject, firmId]      
    properties:
      matterId: 
        type: string
        format: uuid
      userId:
        type: string
        format: uuid
      staffId:
        type: string
        format: uuid
      matterNo:
        type: string
      folderId:
        type: string 
        format: uuid
      sender:                
        $ref: '#/definitions/Email_RequestBody_Fields'
      to:        
        type: array 
        items: 
          type: object
          description: >-
            *Main recipient email addresses*
          $ref: '#/definitions/Email_RequestBody_Fields'
      cc:
        type: array 
        description: >-
          *Carbon copy recipient email addresses*
        items: 
          type: object
          $ref: '#/definitions/Email_RequestBody_Fields'
      bcc:
        type: array 
        description: >-
          *Blind carbon copy recipient email addresses (Other recipients can't see these email recipients)*
        items: 
          type: object
          $ref: '#/definitions/Email_RequestBody_Fields'
      attachments:
        type: array
        description: >-
          *File attachments to the email*
        items:
          type: object
          required: [id, name]
          properties:
            id:              
              type: string
              format: uuid
            name:               
              type: string
            type:
              type: int
              description: >- 
                *Possible values: can be 0,1,2*
              default: 0 
            format:
              type: int 
              description: >- 
                *Possible values: can be 0,1*
              default: 0 
            fileUrl:
              type: string
              default: "Get value from /api/v1/sample"
            token:
              type: string
            outlookAttachmentId:
              type: string
      body:        
        type: string
      subject:        
        type: string
      importance:
        type: integer
      staffInitials:
        type: string
      categories:
        type: array  
        description: >-
          *Category*
        items:
          type: object        
          properties:               
            string: 
              type: string
      saveToMatter:
        type: boolean
      clientSystemId:
        type: string
        format: uuid
      firmId:        
        type: string
        format: uuid
      useFallbackOnSendError:
        type: boolean

  Email_RequestBody_Fields:
    type: object
    required: [address]      
    properties: 
      address:         
        type: string
      name: 
        type: string           

  PostEmailsSend_Response200:  
    type: object
    description: Returns the ID of the sent email
    properties:
      id:
        type: integer              
      failedAttachments:
        type: array
        items:          
          type: object        
          properties:               
            string: 
              type: string

  PutMatters_CardRoles_RequestBody:
    type: object  
    required: []
    properties:
      tableId: 
        type: string
        format: uuid
      cardId:
        type: string
        format: uuid
      __displayOrder:
        type: integer
      __fileOrder:
        type: integer
      __relatedTables:
        type: array
        items:
          type: object
          properties: 
            string:
              type: string
      __relatedTableParentId:
        type: string
        format: uuid
      __matterCardId:
        type: string
        format: uuid
      reference:
        type: string
      __cardPersonList:
        type: array
        items:
          type: object
          properties: 
            string:
              type: string
      relatedTable:
        type: array
        items:
          type: object
          properties:
            __name:
              type: string
            layoutId:
              type: string
              format: uuid
            tableId:
              type: string
              format: uuid
            desc:
              type: string
      matterDescriptions:
        type: object
        properties:
          firstDescription:
            type: string
          secondDescription:
            type: string 

  PutMatter_MatterIdDesc_RequestBody: 
    type: object  
    required: []
    properties:
      firstDescription: 
        type: string
      secondDescription: 
        type: string
  
  GetMatter_FinancialSummaryDate_Response200:
    type: object
    required: []
    properties: 
      DebtorsCurrent:
        type: number
      Debtors30:
        type: number
      Debtors60:
        type: number
      Debtors90:
        type: number
      DebtorsCredit:
        type: number
      UnbilledFeesCurrent:
        type: number
      UnbilledFees30:
        type: number
      UnbilledFees60:
        type: number
      UnbilledFees90:
        type: number
      UnbilledDisbCurrent:
        type: number
      UnbilledDisb30:
        type: number
      UnbilledDisb60:
        type: number
      UnbilledDisb90:
        type: number
      BilledFees:
        type: number
      BilledDisb:
        type: number
      TrustAvailable:
        type: number
      TrustBalance:
        type: number
      InvestBalance:
        type: number
      PTFBalance:
        type: number
      TrustRetainerBalance:
        type: number 
      AgeingPeriod1:
        type: integer
      AgeingPeriod2:
        type: integer
      AgeingPeriod3:
        type: integer
      LastInvoiceDate:
        type: string
      LastInvoiceGUID:
        type: string
      LastInvoiceNumber:
        type: string
      LastInvoiceFunctionalGroupID:
        type: string
      LastInvoiceExternalURL:
        type: string
      LastInvoiceExternalJSON:
        type: string
      LastTrustTransactionDate:
        type: string
      LastTrustTransactionGUID:
        type: string
      LastTrustTransactionNumber:
        type: string
      LastTrustTransactionTypeID:
        type: string
      LastTrustTransactionPaymentID:
        type: string
      FeeEstimateProgressPercentage:
        type: number
      FeeEstimate:
        type: number
      UnbilledCostRecoveriesCurrent:
        type: number 
      UnbilledCostRecoveries30:
        type: number
      UnbilledCostRecoveries60:
        type: number
      UnbilledCostRecoveries90:
        type: number
      UnbilledOfficePaymentsCurrent:
        type: number
      UnbilledOfficePayments30:
        type: number
      UnbilledOfficePayments60:
        type: number
      UnbilledOfficePayments90:
        type: number
      UnbilledAntiDisbsCurrent:
        type: number
      UnbilledAntiDisbs30:
        type: number
      UnbilledAntiDisbs60:
        type: number
      UnbilledAntiDisbs90:
        type: number
      UnbilledDisbJrnlsCurrent: 
        type: number
      UnbilledDisbJrnls30:      
        type: number
      UnbilledDisbJrnls60:      
        type: number
      UnbilledDisbJrnls90:      
        type: number
      RequestedTrustFundsTotal:
        type: number

  PostOfficePayment_RequestBody: 
    type: object  
    required: []
    properties:
      OfficePaymentGUID: 
        type: string
        format: uuid
      BankAccountGUID: 
        type: string
        format: uuid
      TransactionDate: 
        type: string
        format: date-time
      PaymentNumber: 
        type: string
      PaymentTypeGUID: 
        type: string
      PayToAddressee: 
        type: string
      PaymentTypeName: 
        type: string
      PaymentTypeId: 
        type: integer
      ReversedOrReversal: 
        type: boolean
      PaymentProcessed: 
        type: boolean
      RowVersion: 
        type: integer
      AutoNumber: 
        type: boolean
      ReversalGUID: 
        type: string
        format: uuid
      Void: 
        type: boolean
      PaymentTypeDetails: 
        type: object
        $ref: '#/definitions/PaymentTypeDetails_Object'
      OfficePaymentItems: 
        type: array
        items: 
          $ref: '#/definitions/OfficePaymentItems_Object'
      WarningAcknowledgments: 
        type: array
        items: 
          $ref: '#/definitions/WarningAcknowledgements_Object'
      PayToName:
        type: string

  PaymentTypeDetails_Object:
    type: object
    properties:
      PaymentTypeDetailsGUID:
        type: string
        format: guid
      Addressee:
        type: string
      BSB:
        type: string
      AccountNumber:
        type: string          
      AccountName:
        type: string
      Drawer:
        type: string      
      ChequeNumber: 
        type: string
      AuthorisationNumber:
        type: string
      ExpiryDate:
        type: string
      Notes:
        type: string
      Coins:
        type: number 
      Memo:
        type: number 
      BillerCode:  
        type: string
      BillerReference:
        type: string
      RowVersion:
        type: integer
      CountryOfOrigin:
        type: string
      DestinationCountry:
        type: string
      InstitutionName:
        type: string
      SwiftCode:
        type: string
      ForeignValue:
        type: integer
      ExchangeRate:
        type: integer
      CurrencyType: 
        type: string        

  OfficePaymentItems_Object:
    type: object
    properties:
      OfficePaymentItemGUID: 
        type: string
      MatterGUID:
        type: string
      OfficePaymentAmountIncTax:
        type: string
      OfficePaymentAmountExTax:
        type: string
      OfficePaymentAmountTax:
        type: string
      BillingDescription:
        type: string
      RowVers:
        type: integer
      TaxCodeGUID:
        type: string
      PaymentRequestId:
        type: string
      CreatedByName:
        type: string
      NotifyStaffGUID:
        type: array
        items:
          $ref: '#/definitions/NotifyStaffGUID_Object'
      OfficePaymentItemTaxSplits:
        type: array
        items: 
          $ref: '#/definitions/OfficePaymentItemTaxSplits'      

  NotifyStaffGUID_Object:
    type: object
    properties:
      string:
        type: string
  
  OfficePaymentItemTaxSplits:
    type: object
    properties:
      TaxCodeId: 
        type: string
      TaxAmount:
        type: number

  WarningAcknowledgements_Object:
    type: object
    properties:
      string:
        type: string

  OfficePayments_InitialisationData_200:
    type: object
    properties:
      BankAccounts:
        type: array
        items: 
          $ref: '#/definitions/OfficePayments_InitialisationData_BankAccounts'
      TaxCodeList:
        type: array
        items: 
          $ref: '#/definitions/OfficePayments_initialisationData_TaxCodeList'
      PaymentTypeList:              
        type: array
        items: 
          $ref: '#/definitions/OfficePayments_initialisationData_PaymentTypeList'
      Preference:                      
        $ref: '#/definitions/OfficePayments_initialisationData_Preference'
      OfficePayment:                      
        $ref: '#/definitions/OfficePayments_initialisationData_OfficePaymentDefault'
      PaymentLimitAmount:
        type: number

  OfficePayments_InitialisationData_BankAccounts:
    type: object
    properties:
      BankAccountGUID:
        type: string
        format: uuid
      AccountName:
        type: string
      AccountNumber:
        type: string
      BSB:
        type: string
      NameFileAs:
        type: string
      Deleted:
        type: boolean
      RowVersion:
        type: integer 
      Drawer:
        type: string
      ChequeSVGLayoutGUID:
        type: string
        format: uuid
      ChequeLayoutId:
        type: integer
      ChequeMarginV:
        type: integer
      ChequeMarginH:
        type: integer
      ChequeNumber:
        type: integer
      ReceiptNumber: 
        type: integer
      BankDepositNumber:
        type: integer
      JournalNumber:
        type: integer
      EFTNumber:
        type: integer
      BankRecStatementDate:
        type: string
        format: date-time
      BankRecStatementBalance:
        type: number
      BankCurrentDate:
        type: string
        format: date-time

  PostOfficePayment_Reversal_RequestBody: 
    type: object  
    required: []
    properties:
      OfficePaymentGUID:
        type: string
        format: uuid
      BankAccountGUID:
        type: string
        format: uuid
      PaymentTypeGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      PaymentNumber:
        type: string
      PayToAddressee:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeId:
        type: string
        format: uuid
      ReversedOrReversal:
        type: boolean
      PaymentProcessed:
        type: boolean
      RowVersion:
        type: integer
      AutoNumber:
        type: boolean
      ReverseeGUID:
        type: string
        format: uuid
      Void:
        type: boolean      
      PaymentTypeDetails: 
        $ref: '#/definitions/OfficePayments_PaymentTypeDetails'
      OfficePaymentItems:
        type: array
        items: 
          $ref: '#/definitions/OfficePayments_Reversal_OfficePaymentItems'
      WarningAcknowledgements:
        type: array
        items:
          integer:
            type: integer
      PayToName:
        type: string
      RestorePaymentRequest:
        type: boolean
  
  OfficePayments_PaymentTypeDetails: 
    type: object
    properties:
      PaymentTypeDetailsGUID:
        type: string
        format: uuid
      Addressee:
        type: string
      BSB:
        type: string
      AccountNumber:
        type: string
      AccountName:
        type: string
      Drawer:
        type: string
      ChequeNumber:
        type: string
      AuthorisationNumber:
        type: string
      ExpiryDate:
        type: string
        format: date-time
      Notes:
        type: number
      Coins:
        type: number
      Memo:
        type: string
      BillerCode:
        type: string
      BillerReference:
        type: string
      RowVersion:
        type: integer
      CountryOfOrigin:
        type: string
      DestinationCountry:
        type: string
      InstitutionName:
        type: string
      SwiftCode:
        type: string
      ForeignValue:
        type: number
      ExchangeRate:
        type: number
      CurrencyType:
        type: string

  OfficePayments_Reversal_OfficePaymentItems:
    type: object
    properties:
      OfficePaymentItemGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      OfficePaymentAmountIncTax:
        type: number
      OfficePaymentAmountExTax:
        type: number
      OfficePaymentAmountTax:
        type: number
      BillingDescription:
        type: string
      BillingMode:
        type: integer
      RowVersion: 
        type: integer
      OfficePaymentItemReverseeGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string        
        format: uuid
      AnticipatedPaymentId:
        type: string        
        format: uuid
      OfficePaymentItemTaxSplits:
        type: array
        items: 
          $ref: '#/definitions/OfficePayments_OfficePayentItemTaxSplit'

  Response200_OfficePaymentInitialisationData_ByOfficePaymentID:
    type: object
    properties:
      OfficePayment:
        $ref: '#/definitions/Response200_OfficePaymentInitialisationData_ByOfficePaymentID_ObjOfficePayment'
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/Response200_OfficePaymentInitialisationData_ByOfficePaymentID_ArrOfficePayment'
      PaymentTypeDetails:
        $ref: '#/definitions/OfficePayments_PaymentTypeDetails'
      BankAccounts:
        type: array
        items: 
          $ref: '#/definitions/OfficePaymentInitialisationBankAccount'
      FromPaymentRequest:
        type: boolean
  
  Response200_OfficePaymentInitialisationData_ByOfficePaymentID_ObjOfficePayment:
    type: object
    properties:
      OfficePaymentGUID:
        type: string 
        format: uuid
      BankAccountGUID:
        type: string 
        format: uuid
      SupplierGUID:
        type: string
        format: uuid 
      PaymentTypeDetailsGUID:
        type: string
        format: uuid 
      TransactionDate:
        type: string
        format: date-time 
      CreatedDate:
        type: string 
        format: date-time
      PaymentNumber:
        type: string
      PayToAddressee:
        type: string 
      PaymentTypeGUID:
        type: string
        format: uuid 
      PaymentTypeName:
        type: string 
      PaymentTypeId:
        type: integer,
        format: uuid
      PaymentSubTypeId:
        type: integer
        format: uuid
      ReversedOrReversal:
        type: boolean
      PaymentProcessed:
        type: boolean
      RowVersion:
        type: integer
        value: 
      NameFileAs:
        type: string
      AutoNumber:
        type: integer 
      ChequeSVGLayout:
        type: string
      ReversalInfo:
        type: string
      Void:
        type: boolean
      ReversalGUID:
        type: string
        format: uuid
      PayToName:
        type: string
      CreatedByStaffId:
        type: string 
        format: uuid

  Response200_OfficePaymentInitialisationData_ByOfficePaymentID_ArrOfficePayment:
    type: object
    properties:
      OfficePaymentItemGUID:
        type: string
        format: uuid        
      MatterGUID:
        type: string
        format: uuid
      AmountIncTax:
        type: number
      AmountExTax:
        type: number
      AmountTax:
        type: number 
      BillingDescription:
        type: string
      BillingMode:
        type: integer
      RowVersion:
        type: integer
      TaxCode:
        type: string
      TaxCodeGUID:
        type: string
      InvoiceGUID:
        type: string
      InvoiceNumber:
        type: string
      ADDate:
        type: string
      ADNumber:
        type: string
      ADGUID:
        type: string
      ADRowVersion:
        type: integer
      ADAmountIncTax:
        type: number
      ADAmountExTax:
        type: number
      ADAmountTax:
        type: number 
      ADBalanceDue:
        type: number
      MatterFileNo:
        type: string
      OfficePaymentItemReversedGUID:
        type: string
      PaymentRequest_GUID:
        type: string
      OfficePaymentItemTaxSplits:
        type: array
        items: 
          $ref: '#/definitions/OfficePayments_OfficePayentItemTaxSplit' 

  OfficePayments_OfficePayentItemTaxSplit:
    type: object
    properties: 
      TaxCodeId:
        type: string
        format: uuid
      TaxAmount:
        type: number    

  OfficePayments_initialisationData_TaxCodeList:
    type: object
    properties:
      FirmGuid:
        type: string
        format: uuid
      RatePercent:
        type: number
      TaxCodeGUID:
        type: string
        format: uuid
      GLTaxCode:
        type: string
      TaxCode:
        type: string
      GLTaxCodeType:
        type: string
      Deleted:
        type: boolean
      TaxCodeDescription:
        type: string
      RowVersion:
        type: integer
      TaxCodeSplits:
        type: array
        items: 
          $ref: '#/definitions/OfficePayments_initialisationData_TaxCodeList_TaxCodeSplit'
      IsGroupTaxCode:
        type: boolean
      IsTaxCodeUsable:
        type: boolean

  OfficePayments_initialisationData_TaxCodeList_TaxCodeSplit:
    type: object
    properties:
      TaxCodeGUID:
        type: string
        format: uuid
      Sequence:
        type: integer

  OfficePayments_initialisationData_PaymentTypeList:
    type: object
    properties:
      PaymentTypeGUID:
        type: string
        format: uuid
      PaymentTypeID:
        type: integer
      SubPaymentTypeID:
        type: integer
      NameFull:
        type: string
      AutoChequeNumber:
        type: boolean
      NeedsBanking:
        type: boolean
      ClearanceDays:
        type: integer
      Deleted:
        type: boolean 
      RowVersion:
        type: integer
      AutoEFTNumber:
        type: boolean

  OfficePayments_initialisationData_Preference:
    type: object
    properties:
      OfficeBankAccountGUID:
        type: string
        format: uuid
      EFTNumberPrefix:
        type: string
      GSTTaxCodeGUID:
        type: string
        format: uuid
      PayTypeDetailsEnforce:
        type: boolean

  OfficePayments_initialisationData_OfficePaymentDefault:
    type: object
    properties:
      AutoNumber:
        type: boolean
      PaymentProcessed:
        type: boolean
      IncTax:
        type: boolean        

  RequestBody_DateRange_MainObj:
    type: object
    properties: 
      dateRange:        
        $ref: '#/definitions/RequestBody_DateRange_ChildObj'

  RequestBody_DateRange_ChildObj:
    type: object
    properties:
      from:
        type: string
        format: date-time
      to:
        type: string
        format: date-time

  200Response_Accepted_ID:
    type: object
    properties:
      id: 
        type: string
        format: uuid

  200Response_Get_UserType_ByUserId:
    type: object
    properties: 
      UserType:
        type: Integer
        description: 1 = Admin, All other values = Standard User

  GetMatterEmails_ByMatterID_Response200:
    type: object
    properties:
      email: 
        type: string
      role: 
        type: string
      firstName: 
        type: string
      lastName: 
        type: string
      tableId: 
        type: string
      displaySequence: 
        type: Integer

  CostRecoveryTaskCode:
    type: object
    required:
      - AmountEach
      - GroupOnInvoice
      - InclusiveTax
      - TaskCodeId
      - TaxCodeId
    properties:
      TaskCodeId:
        type: string
        description: GUID for the Cost Recovery Task Code record (to be generated by the developer). Current cost recovery task codes can be retrieved from [GET /api/v2/taskcodes/costrecovery](http://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1costrecovery/get).
        format: uuid
      TaxCodeId:
        type: string
        description: LEAP GUID of the relevant tax code for the cost recovery task code record. Current tax codes can be retrieved from [GET /api/v2/taxcodes](http://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get).
        format: uuid
      NameFileAs:
        type: string
        description: The name of the Task Code - will be displayed in LEAP. 
      BillingDescription:
        type: string
        description: The description that will appear on the newly created task code. 
      PurchaseSupplierCardId:
        type: string
        description: LEAP GUID of the Card record for the Purchase Supplier. Card records for a firm can be retrieved from [GET /api/v2/cards](http://leap.build/api-reference/#tag/Cards/operation/Card_GetCards) or [GET /api/v1/cards/search](http://leap.build/api-reference/#tag/Cards/paths/~1api~1v1~1cards~1search/get).
        format: uuid
      GroupOnInvoice:
        type: boolean
        description: Group these items on the invoice
      AmountEach:
        type: number
        description: Indicates the dollar value of each billable item. 
        format: double
      InclusiveTax:
        type: boolean
        description: Indicates whether tax is included in the cost recovery task code.
      ImportedFrom:
        type: string
        description: >-
          This property is set to 'Import', if task code is imported from
          conversions (internal)
      PurchaseMode:
        type: integer
        description: 'Internally used, can be ignored'
        format: int32
  AccTaskCodeCostRecovery:
    type: object
    properties:
      NameFileAs:
        type: string
        description: The name of the Task Code - will be displayed in LEAP. 
      BillingDescription:
        type: string
        description: The description of the task code. 
      GroupOnInvoice:
        type: boolean
        description: Group these items on the invoice.
      Deleted:
        type: boolean
        description: Indicates whether or not the task code has been (or is being) deleted. 
      AmountEach:
        type: number
        description: Indicates the dollar value of each billable item. 
        format: double
      IncTax:
        type: boolean
        description: Indicates whether tax is included in the cost recovery task code.
      PurchaseMode:
        type: integer
        description: 'Internally used, can be ignored'
        format: int32
      RowVersion:
        type: integer
        format: int64
        description: The database identity record of the item being updated.
      TaskCodeId:
        type: string
        description: LEAP GUID for the Cost Recovery Task Code record that is being updated. Current cost recovery task codes can be retrieved from [GET /api/v2/taskcodes/costrecovery](http://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1costrecovery/get).
        format: uuid
      TaxCodeId:
        type: string
        description: LEAP GUID of the relevant tax code for the cost recovery task code record. Current tax codes can be retrieved from [GET /api/v2/taxcodes](http://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get).
        format: uuid
      PurchaseSupplierCardId:
        type: string
        description: LEAP GUID of the Card record for the Purchase Supplier. Card records for a firm can be retrieved from [GET /api/v2/cards](http://leap.build/api-reference/#tag/Cards/operation/Card_GetCards) or [GET /api/v1/cards/search](http://leap.build/api-reference/#tag/Cards/paths/~1api~1v1~1cards~1search/get).
        format: uuid
  MatterInfoInitializationData:
    type: object
    description: Matter information
    properties:
      FileNumberString:
        type: string
        description: Matter file reference
      ClientAndDescription:
        type: string
        description: Client and description
      LABillingMode:
        type: integer
        description: LegalAid billing mode
        format: int32
      LABillingStage:
        type: integer
        description: LegalAid billing stage
        format: int32
  ChangeStatusInvoice:
    type: object
    properties:
      InvoiceGUID:
        type: string
        format: uuid
      InvoiceNumber:
        type: string
      MatterGUID:
        type: string
        format: uuid
      MatterNumber:
        type: string
      Code:
        type: integer
        format: int32
      ErrorReason:
        type: string
      RowVersion:
        type: integer
        format: int64
      StatusId:
        type: integer
        format: int32
      Status:
        type: string
      LayoutGUID:
        type: string
        format: uuid
  FeeUpdateMultipleModel:
    type: object
    properties:
      FeeList:
        type: array
        items:
          $ref: '#/definitions/FeeUpdateMultipleItemModel'
        description: Array of IDs of fees to be updated
      MatterGUID:
        type: string
        format: uuid
        description: Related matter ID of the fees
      TaskCodeGUID:
        type: string
        format: uuid
        description: Task code ID where the fee will be billed against. Use GET /api/v1/tasks to get a list of available task codes for the matter
      TaxCodeGUID:
        type: string
        format: uuid
        description: Tax code ID where the fee will be billed against. Use GET /api/v2/taxcodes to get a list of available tax codes for the matter
      Deleted:
        type: boolean
        description: Indicates when this fee was marked as "Deleted"
      DeletedDate:
        type: string
        format: date-time
        description: Indicates the date when this fee has been marked as "Deleted"
      BillingMode:
        type: integer
        description: >-
          Flags the fee if not billable and if it is, which pay cycle it will be made billable (This billing or next billing)

          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 = Billable later invoice
        format: int32
      WorkDoneByStaffGUID:
        type: string
        format: uuid
        description: ID of the Staff in the firm who worked and is charging for the fee
      MatterSourceList:
        type: array
        items:
          $ref: '#/definitions/MatterSourceList'
        description: Collection of Matter IDs that are related to this fee
      WarningAcknowledgments:
        type: array
        description: |- 
          Used to check if message warnings have been acknowledged for the fees being updated. 

          For example, a fee that has been flagged as "Deleted" and has time entry billable activities will have a value of '1048' in this array
          Another possible value would be '1099', which means that the update request has (a) valid Matter GUID value(s) and the matter has been archived
        items:
          type: integer
          format: int32
  OfficePaymentItem:
    type: object
    properties:
      InvoiceItemGUID:
        type: string
        format: uuid
      OfficePaymentItemGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      AmountExTax:
        type: number
        format: double
      AmountIncTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      RowVers:
        type: integer
        format: int64
      StaffGUID:
        type: string
        format: uuid
      taxSplits:
        $ref: '#/definitions/OfficeInvoiceTaxSplits'
  CostRecoveryPreferences:
    type: object
    properties:
      GSTTaxCodeCodeId:
        type: string
        description: 'Deprecated property, can be ignored'
        format: uuid
      GSTTaxCodeId:
        type: string
        description: GST TaxCode (GUID) from the firm preferences
        format: uuid
      FRETaxCodeId:
        type: string
        description: FRE TaxCode (GUID) from the firm preferences
        format: uuid
  InitialisationOfficeDisbJournItem:
    type: object
    properties:
      OfficeDJItemGUID:
        type: string
        format: uuid
      InvoiceItemGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: string
      BillingDescription:
        type: string
      AmountIncTax:
        type: number
        format: double
      AmountExTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      TaxCode:
        type: string
      RowVers:
        type: integer
        format: int64
      AbsSeqNum:
        type: integer
        format: int32
      SeqNum:
        type: integer
        format: int32
  ArrayOfMatterSearchTerm:
    type: object
    properties:
      SearchTerms:
        type: array
        description: Search Term(s) to use.
        items:
          $ref: '#/definitions/MatterSearchTerm'
  InvoiceItemList:
    type: object
    properties:
      Invoices:
        type: array
        items:
          $ref: '#/definitions/InvoiceItem'
  OfficeDisbJournItem:
    type: object
    properties:
      InvoiceItemGUID:
        type: string
        format: uuid
      OfficeDJItemGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      AmountExTax:
        type: number
        format: double
      AmountIncTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      RowVers:
        type: integer
        format: int64
      StaffGUID:
        type: string
        format: uuid
      taxSplits:
        $ref: '#/definitions/OfficeInvoiceTaxSplits'
  Invoice:
    type: object
    properties:
      TransactionNumber:
        type: string
      AutoNumber:
        type: integer
        format: int32
      TransactionDate:
        type: string
        format: date-time
      MatterGUID:
        type: string
        format: uuid
      Deleted:
        type: integer
        description: Deleted
        format: int32
      ReversedOrReversal:
        type: integer
        format: int32
      Status:
        type: integer
        format: int32
      DebtorCardGUID:
        type: string
        format: uuid
      BillToAddressee:
        type: string
      Memo:
        type: string
      LayoutName:
        type: string
      InvoiceLayoutGUID:
        type: string
        format: uuid
      RowVers:
        type: integer
        format: int64
      DeletedDate:
        type: string
        format: date-time
      DateDue:
        type: string
        format: date-time
      LateFeesParentInvGUID:
        type: string
        format: uuid
      BTIRef:
        type: string
      BTI_Ref:
        type: integer
        format: int32
      LABillingJson:
        type: string
      LABillingStage:
        type: integer
        format: int32
      MatterBillingMode:
        type: integer
        format: int32
      LAExceptional:
        type: integer
        format: int32
      LACRMPSFFExceeded:
        type: integer
        format: int32
      ReversalDetails:
        type: string
      PTFAmount:
        type: number
        format: double
      TrustBalAmount:
        type: number
        format: double
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/InitialisationOfficePaymentItem'
      OfficeDisbJournItems:
        type: array
        items:
          $ref: '#/definitions/InitialisationOfficeDisbJournItem'
      AnticipatedDisbursements:
        type: array
        items:
          $ref: '#/definitions/InitialisationOfficeAnticipatedDisbursement'
      Fees:
        type: array
        items:
          $ref: '#/definitions/InitialisationFee'
      CostRecoveries:
        type: array
        items:
          $ref: '#/definitions/InitialisationCostRecovery'
      Preferences:
        $ref: '#/definitions/Preferences'
      TaxCodes:
        type: array
        items:
          $ref: '#/definitions/InitialisationTaxCode'
      Layouts:
        type: array
        items:
          $ref: '#/definitions/InvoiceLayoutList'
      Receipts:
        type: array
        items:
          $ref: '#/definitions/Receipt'
      CreditApplications:
        type: array
        items:
          $ref: '#/definitions/CreditApplication'
      Adjustments:
        type: array
        items:
          $ref: '#/definitions/Adjustment'
      TaskCodeFees:
        type: array
        items:
          $ref: '#/definitions/InitialisationTaskCodeFee'
      TaskCodeCostRecoveries:
        type: array
        items:
          $ref: '#/definitions/InitialisationTaskCodeCostRecovery'
      InvoiceXMLItems:
        $ref: '#/definitions/InvoiceXMLItems'
      RapidPayCountryCode:
        type: integer
        format: int32
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
      LAMatterJSON:
        type: string
      LASubmissionCreated:
        type: integer
        format: int32
      InvoiceJsonItems:
        $ref: '#/definitions/OfficeInvoiceJSONItems'
      FunctionGroupId:
        type: string
        format: uuid
      ReversalId:
        type: string
        format: uuid
      IsRapidPayDisabled:
        type: boolean
      SplitCards:
        $ref: '#/definitions/SplitCards'
      InvoicePeriodFromDate:
        type: string
        format: date-time
      LawConnectShared:
        type: boolean
      DefaultTrustAccountId:
        type: string
        format: uuid
      IsDefaultTrustAccountShared:
        type: boolean
      AssisgnedStaffId:
        type: string
        format: uuid
      AssisgnedStaffMemo:
        type: string
      TemplateId:
        type: string
        format: uuid
      TemplateVersion:
        type: integer
        format: int32
  InvoiceXMLItems:
    type: object
    properties:
      xmldisplayitems:
        type: string
      xmlfeesumary:
        type: string
  AclJson:
    type: object
    description: Access-Control List (ACL) - Contains information about the user access control for this matter
    properties:
      enabled:
        type: boolean
        description: |- 
          Determines whether access-control list is enabled for the matter or not 

          False = anyone in the firm can access the matter; True = access to the matter is restricted to this list
      staffList:
        type: array
        description: List of staff allowed to access this matter
        items:
          $ref: '#/definitions/StaffRoleJson'
  MattersReadField:
    type: object
    required:
      - fieldId
    properties:
      fieldId:
        type: string
      value:
        type: string
  OfficePaymentInitialisationBankAccount:
    type: object
    properties:
      BankAccountGUID:
        type: string
        format: uuid
      AccountName:
        type: string
      AccountNumber:
        type: string
      BSB:
        type: string
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      AccountUsage:
        type: integer
        format: int32
      Deleted:
        type: boolean
        description: Deleted
      RowVersion:
        type: integer
        format: int64
      Drawer:
        type: string
      ChequeSVGLayoutGUID:
        type: string
        format: uuid
      ChequeLayoutId:
        type: integer
        format: int32
      ChequeMarginV:
        type: integer
        format: int32
      ChequeMarginH:
        type: integer
        format: int32
      ChequeNumber:
        type: integer
        format: int32
      ReceiptNumber:
        type: integer
        format: int32
      BankDepositNumber:
        type: integer
        format: int32
      JournalNumber:
        type: integer
        format: int32
      EFTNumber:
        type: integer
        format: int32
      BankRecStatementDate:
        type: string
        format: date-time
      BankRecStatementBalance:
        type: number
        format: double
      BankCurrentDate:
        type: string
  SessionExecutionContext:
    type: object
    properties:
      firmGUID:
        type: string
        description: Firm GUID
      firmJSON:
        type: object
        description: Firm JSON
      matterGUID:
        type: string
        description: Matter GUID
      matterJSON:
        type: object
        description: Matter JSON
      cardGUID:
        type: string
        description: Card GUID
      cardJSON:
        type: object
        description: Card JSON
      documentGUID:
        type: string
        description: Document GUID
      documentJSON:
        type: object
        description: Document JSON
      defaultFileId:
        type: string
        description: 'Object id or "tableId:fileOrder" of the default file object'
      sessionId:
        type: string
        description: Session ID
    title: sessionExecutionContext
    description: Must consist "firm" and "matter" or "card"
  RecurringMatterDocumentVersions:
    type: object
    properties:
      latestDocumentVersionId:
        type: string
        format: uuid
      documentVersion:
        $ref: '#/definitions/RecurringMatterDocumentVersion'
  MatterDescriptionJson:
    type: object
    properties:
      firstDescription:
        type: string
      secondDescription:
        type: string
  AccountingCoreErrorResponse:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      PropertyName:
        type: string
      Message:
        type: string
      MessageHeader:
        type: string
      LineItemNumber:
        type: integer
        format: int32
  ArrayOfCreateOfficePayment:
    type: array
    items:
      $ref: '#/definitions/CreateOfficePayment'
  ArrayOfTaskCodeCostRecovery:
    type: array
    items:
      $ref: '#/definitions/TaskCodeCostRecovery'
  MultiErrorResponseModel:
    type: object
    properties:
      Id:
        type: string
        format: uuid
      Code:
        type: integer
        format: int32
      PropertyName:
        type: string
      Message:
        type: string
      MessageHeader:
        type: string
      LineItemNumber:
        type: integer
        format: int32
      RowVersion:
        type: string
  CreateOfficeReceiptItem:
    type: object
    properties:
      OfficeReceiptItemGUID:
        type: string
        format: uuid
        description: GUID for the receipt that is being created (to be generated by the developer). If an ID is not passed in, an ID will be generated by LEAP.
      InvoiceApply:
        type: number
        format: double
        description: Amount of credit to apply to invoice.
      InvoiceGUID:
        type: string
        format: uuid
        description: Invoice ID
      InvoiceRowVersion:
        type: integer
        format: int64
        description: RowVersion of the Invoice
      MatterGUID:
        type: string
        format: uuid
        description: Matter ID
      CreditMemo:
        type: string
        description: The Memo for the credit
  MattersReadArchive:
    type: object
    properties:
      isArchived:
        type: boolean
      archiveNumber:
        type: string
      archiveDate:
        type: string
        format: date-time
      boxNumber:
        type: string
      archivedBy:
        type: string
      dateOfDestruction:
        type: string
        format: date-time
  OfficeInvoiceV2Group:
    type: object
    properties:
      Items:
        type: array
        items:
          $ref: '#/definitions/OfficeInvoiceV2Item'
      lineNumber:
        type: string
      date:
        type: string
      transactionNumber:
        type: string
      description:
        type: string
      invoiceItemGUID:
        type: string
        format: uuid
      expanded:
        type: boolean
      totalIncTax:
        type: number
        format: double
      totalExTax:
        type: number
        format: double
      totalTax:
        type: number
        format: double
      totalFeeIncTax:
        type: number
        format: double
      totalFeeExTax:
        type: number
        format: double
      totalDisbIncTax:
        type: number
        format: double
      totalDisbExTax:
        type: number
        format: double
  CardsWriteAddress:
    type: object
    properties:
      isDefault:
        type: boolean
        description: >-
          This is optional for Registered office, but mandary for all other
          addresses
      type:
        type: string
        description: >-
          This is optional for Registered office, but mandary for all other
          addresses
        enum:
          - street
          - pOBox
          - dX
      name:
        type: string
        description: Name
      level:
        type: string
        description: Level
      street:
        type: string
        description: Street
      number:
        type: string
        description: Number
      suburb:
        type: string
        description: Suburb
      state:
        type: string
        description: State
      county:
        type: string
        description: Country
      postcode:
        type: string
        description: Postcode
      country:
        type: string
        description: Country
      district:
        type: string
        description: District       
      instructions:
        type: string
        description: Instructions
      poBoxType:
        type: string
        description: POBoxType
      municipality:
        type: string          
        description: Municipality
      stationInfo:
        type: string                      
        description: Station Information
      startDate:
        type: string
        format: date-time
        description: Start Date for Address
      endDate:
        type: string
        format: date-time
        description: End Date for Address
    description: Main Address Model

  CardsWriteAddressPostV2Cards:
    type: object
    properties:
      isDefault:
        type: boolean
        description: >-
          This is optional for Registered office, but mandary for all other
          addresses
      type:
        type: string
        description: >-
          This is optional for Registered office, but mandary for all other
          addresses
        enum:
          - street
          - pOBox
          - dX
      name:
        type: string
        description: Name
      level:
        type: string
        description: Level
      street:
        type: string
        description: Street
      number:
        type: string
        description: Number
      suburb:
        type: string
        description: Suburb
      state:
        type: string
        description: State
      county:
        type: string
        description: Country
      district:
        type: string
        description: District
      postcode:
        type: string
        description: Postcode
      country:
        type: string
        description: Country
      instructions:
        type: string
        description: Instructions
      poBoxType:
        type: string
        description: POBoxType
      municipality:
        type: string          
        description: Municipality
      stationInfo:
        type: string                      
        description: Station Information
      streetDirection:
        type: string        
        description: Direction of the street
      stateType:
        type: string        
        description: Type of state
      postCodeType:
        type: string        
        description: Type of post code
    description: Model for POST api/v2/cards  

  CreateAnticipatedDisbursements:
    type: object
    required:
      - AnticipatedDisbursementsGuid
      - BillingDescription
      - MatterGuid
      - SupplierCardGuid
      - TaxCodeGuid
      - TransactionDate
    properties:
      AnticipatedDisbursementsGuid:
        type: string
        format: uuid
      MatterGuid:
        type: string
        format: uuid
      SupplierCardGuid:
        type: string
        format: uuid
      TaxCodeGuid:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      DueDate:
        type: string
        format: date-time
      TransactionNumber:
        type: string
      AutoNumber:
        type: integer
        format: int32
      AmountIncTax:
        type: number
        format: double
      AmountExTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      BillingDescription:
        type: string
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      PaymentMode:
        type: integer
        format: int32
      BalanceDueIncTax:
        type: number
        format: double
      PaidIncTax:
        type: number
        format: double
      BalanceAdjustments:
        type: number
        format: double
      InclusiveTax:
        type: boolean
      AppId:
        type: string
        enum:
          - Cloud
          - Leo
          - Mobile
          - TimeSheet
          - Import
          - TP
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  CreateOfficePaymentItem:
    type: object
    properties:
      OfficePaymentItemGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      OfficePaymentAmountIncTax:
        type: number
        format: double
      OfficePaymentAmountExTax:
        type: number
        format: double
      OfficePaymentAmountTax:
        type: number
        format: double
      BillingDescription:
        type: string
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      RowVers:
        type: integer
        format: int64
      TaxCodeGUID:
        type: string
        format: uuid
      PaymentRequestId:
        type: string
        format: uuid
  PersonListJson:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/PersonListEntryJson'
      lastRowVer:
        type: integer
        format: int64
      total:
        type: integer
        format: int32
  LegalAid:
    type: object
    properties:
      rollNumber:
        type: string
        description: Roll Number
      grade:
        type: string
        description: Grade
  Adjustment:
    type: object
    properties:
      TransactionDate:
        type: string
        format: date-time
      Memo:
        type: string
      AmountIncTax:
        type: number
        format: double
      AmountExTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      AdjustmentGUID:
        type: string
        format: uuid
      ReversedOrReversal:
        type: boolean
      BalanceDue:
        type: number
        format: double
  ArrayOfPeopleJson:
    type: array
    items:
      $ref: '#/definitions/PeopleJson'
  CreatePowerMoneyTransaction:
    type: object
    required:
      - AccountId
      - MatterId
      - PaymentTypeGuid
      - PaymentTypeId
      - TransactionDate
      - TransactionId
    properties:
      TransactionId:
        type: string
        format: uuid
      AccountId:
        type: string
        format: uuid
      MatterId:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      EntryDate:
        type: string
        format: date-time
      TransactionType:
        type: integer
        format: int32
      PayeePayor:
        type: string
      Amount:
        type: number
        format: double
      Reason:
        type: string
      AuthorisedById:
        type: string
        format: uuid
      PaymentTypeGuid:
        type: string
        format: uuid
      PaymentTypeName:
        type: string
      PaymentTypeId:
        type: integer
        format: int32
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  EvaluatePathsV3:
    type: object
    required:
      - executionContext
      - paths
    properties:
      executionContext:
        $ref: '#/definitions/ExecutionContext'
      paths:
        type: array
        description: |-
          List of JS paths to evaluate. 

           Usage examples: 

           `matter.client.{ __id, __description, phoneNumberList}` 

           or 

           `matter.matterStatus`

           `matter.{__firmId,fileNumber,reLine1,type,matterTypeId,costAgreementDate,costRecoveriesBalance}`  - retrieve key matter details
           
           `matter.currentStaff.{__id,userName}` - retrieve current staff member
           
           `matter.currentStaff.branch.{firmName,city}` - retrieve current staff member location data
           
           `matter.purchaser.{__id,__classes,description,addressList,isSupplier}` - retrieve purchase information

           `firm.firmDetails` - list out all the details of the firm

           `firm.firmDetails.currentUser.userName` - gets the firm's current User's user name

           `firm.firmDetails.currentUser.__id` - gets the firm's current User ID
           
           `firmDetails.staffList[0].{__id, userId, email, firstName, lastName, middleName, initials, rate1, rate2, rate3, rate4, rate5, rate6, status, phone, mobile}` - gets the first record of the staff list and lists the details specified

           `card.version` - displays the current version of the card record

           `card.fullName` - gets the card's full name

           `card.personList[0].{dateOfBirth, gender, surname, firstNames, lastName}` - gets the person details of the gard

           `card.originalAddressList.{number, street, suburb, state, across}` - gets the address details of the card's original address

           `card.webAddressList.{__className, type, address, tableId, addressType, pageLocation, pageType, url}` - gets a list of the web addresses/email of the card
        items:
          type: string
      objectId:
        type: string
        description: Object GUID to start path evaluation from
      includeDefaults:
        type: boolean
        description: Return default value from inherited class
        default: true
      params:
        $ref: '#/definitions/RequestParams'
  MatterxPathParser:
    type: object
    properties:
      IdsListing:
        type: array
        description: The matter GUID(s) that you would like to retrieve information for.
        items:
          type: string
      XPathExpression:
        type: string
        description: |
          The node(s) that you would like to retrieve (in xPath format) e.g. `"XPathExpression": "Matter/Version/LastUpdate"`.
  RecurringMatterField:
    type: object
    properties:
      fieldId:
        type: string
      value:
        type: string
  TrustLedger:
    type: object
    properties:
      TrustLedgerMatterList:
        type: array
        items:
          $ref: '#/definitions/TrustLedgerMatter'
      TrustLedgerHistoryList:
        type: array
        items:
          $ref: '#/definitions/TrustLedgerHistory'
      TrustLedgerBalance:
        $ref: '#/definitions/TrustLedgerBalance'
      TotalDeposits:
        type: number
        format: double
      TotalWithdrawals:
        type: number
        format: double
      TrustAntDepositAmountMatter:
        type: number
        format: double
      TrustReason:
        type: string
      TrustDefaultAccount:
        type: string
        format: uuid
      RapidPayCountryCode:
        type: integer
        format: int32
      IsLedgerShared:
        type: boolean
  RecurringMatterMatterFile:
    type: object
    properties:
      number:
        type: string
      otherRefs:
        type: string
  AttachmentJson:
    type: object
    properties:
      name:
        type: string
        description: Attachment name
      fileId:
        type: string
        description: Attachment Id (GUID)
        format: uuid
      ext:
        type: string
        description: Extension of attachment
  CreateOfficePayment:
    type: object
    required:
      - BankAccountGUID
      - PaymentTypeGUID
      - TransactionDate
    properties:
      OfficePaymentGUID:
        type: string
        format: uuid
      BankAccountGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      PaymentNumber:
        type: string
      PaymentTypeGUID:
        type: string
        format: uuid
      PayToAddressee:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeId:
        type: integer
        format: int32
      ReversedOrReversal:
        type: boolean
      PaymentProcessed:
        type: boolean
      RowVersion:
        type: integer
        format: int64
      AutoNumber:
        type: boolean
      ReversalGUID:
        type: string
        format: uuid
      Void:
        type: boolean
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/CreateOfficePaymentItem'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  FeeUpdateModel:
    type: object
    required:
      - BillingDescription
      - TransactionDate
      - FeeId
      - MatterId
      - TaxCodeId
      - WorkDoneByStaffId
    properties:
      TransactionDate:
        type: string
        description: Date of transaction (any valid datetime)
        format: date-time
      Deleted:
        type: boolean
        description: Mark this fee as deleted
      DeletedDate:
        type: string
        description: Deleted date (any valid datetime)
        format: date-time
      RateId:
        type: integer
        description: Rate Id (internal)
        format: int32
      RatePerHour:
        type: number
        description: Rate charge per hour
        format: double
      SecondsElapsed:
        type: integer
        description: How many seconds have elapsed
        format: int32
      SecondsPerUnit:
        type: integer
        description: How many seconds there are per unit
        format: int32
      FeeUnits:
        type: integer
        description: How many fee units
        format: int32
      FeeHoursQuantity:
        type: number
        description: The quantity of fee hours to allocate
        format: double
      Timed:
        type: boolean
        description: Is this timed
      CalculationMode:
        type: integer
        description: 0 = Fixed rate per hour | 1 = Fixed amount
        format: int32
      IncTax:
        type: boolean
        description: Includes TAX
      TotalIncTax:
        type: number
        description: Total inclusive of TAX
        format: double
      TotalExTax:
        type: number
        description: Total exclusive of TAX
        format: double
      TotalTax:
        type: number
        description: Total TAX value
        format: double
      BillingDescription:
        type: string
        description: The description that will appear on the fee
      Memo:
        type: string
        description: The memo for this fee
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      RowVersion:
        type: integer
        description: This field is for internal use and can be ignored
        format: int64
      ExternalURL:
        type: string
        description: >-
          When this field is populated, LEAP will open the URL provided when
          opened
      ExternalJSON:
        type: string
        description: >-
          Use this field for capturing app specific custom data (not used by
          LEAP)
      FeeId:
        type: string
        description: A new GUID that will identify the fee
        format: uuid
      MatterId:
        type: string
        description: The matter Id
        format: uuid
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      WorkDoneByStaffId:
        type: string
        description: The Id (GUID) of the staff member the work was completed by
        format: uuid
      AttributeFeesToStaffId:
        type: string
        description: Which staff member to attribute the fees to
        format: uuid
  CreateSemaphore:
    type: object
    properties:
      SemaphoreName:
        type: string
        enum:
        - OfficeBankDeposit
        - BankDeposit_{bankAccountId}
        - Invoice_{matterId}
        - BankRec_{matterId}
        required: true
      InvoiceTransactionMode:
        type: integer
        format: int32
        description: | 
          '0' is the only currently supported value
  ExecutionContext:
    title: executionContext
    allOf:
      - $ref: '#/definitions/SessionExecutionContext'
      - type: object
        properties:
          sessionId:
            type: string
            description: Session ID
    description: Must consist of "firm" and either "matter" or "card".
  PreferencesFeeModel:
    type: object
    description: Preferences
    properties:
      MatterGSTTaxCodeGUID:
        type: string
        format: uuid
        description: Matter default GST tax code
      FeeSecondsPerUnit:
        type: integer
        description: How many seconds per unit
        format: int32
      MatterTaxFree:
        type: boolean
        description: Indicates if the matter is tax free
        format: uuid
      GSTTaxCodeId:
        type: string
        description: GST tax code Id (GUID)
        format: uuid
      FRETaxCodeId:
        type: string
        description: FRE tax code Id (GUID)
        format: uuid
  InvoiceLayoutPrintColumn:
    type: object
    properties:
      name:
        type: string
      columnTitle:
        type: string
      display:
        type: boolean
      columnOrder:
        type: integer
        format: int32
      listTitle:
        type: string
      format:
        type: string
      dataType:
        type: string
      total:
        type: boolean
      average:
        type: boolean
  Object:
    type: object
  FirmStaffJson:
    type: object
    properties:
      name:
        type: string
      firmId:
        type: string
      isTestFirm:
        type: boolean
      staffList:
        type: array
        items:
          $ref: '#/definitions/Staff'
  InvestmentTransactionCreate:
    type: object
    required:
      - BankAccountGUID
      - InvestTransGUID
    properties:
      MatterGUID:
        type: string
        format: uuid
      InvestTransGUID:
        type: string
        format: uuid
      BankAccountGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: string
      TransactionNumberAuto:
        type: boolean
      TransactionTypeID:
        type: integer
        format: int32
      Amount:
        type: number
        format: double
      Payee:
        type: string
      Reason:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeID:
        type: integer
        format: int32
      Reconciled:
        type: integer
        format: int32
      StaffAuthorisedByGUID:
        type: string
        format: uuid
      CreatedByStaffGUID:
        type: string
        format: uuid
      PaymentTypeDetails:
        $ref: '#/definitions/InvestmentAccountPaymentTypeDetailsCRUD'
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  PurchaseOrderInitPreference:
    type: object
    properties:
      GSTTaxCodeGUID:
        type: string
        format: uuid
      FRETaxCodeGUID:
        type: string
  MattersWriteCardTable:
    type: object
    required:
      - fields
      - tableId
    properties:
      tableId:
        type: string
      fields:
        type: array
        items:
          $ref: '#/definitions/MattersWriteField'
  CreatePurchaseOrderItem:
    type: object
    properties:
      PurchaseOrderItemGUID:
        type: string
        format: uuid
      Quantity:
        type: integer
        description: How many billable items
        format: int32
      AmountEach:
        type: number
        format: double
      TotalIncTax:
        type: number
        format: double
      TotalExTax:
        type: number
        format: double
      TotalTax:
        type: number
        format: double
      TaxCodeGUID:
        type: string
        format: uuid
      Description:
        type: string
      ItemName:
        type: string
      CustomerId:
        type: string
      PurchaseOrderItemsTaxSplits:
        type: array
        items:
          $ref: '#/definitions/PurchaseOrderItemsTaxSplits'
  PurchaseOrderItemsTaxSplits:
    type: object
    properties:
      TaxCode:
        type: string
      AmountTax:
        type: number
        format: double
      TaxCodeGuid:
        type: string
  MatterSourceList:
    type: object
    properties:
      MatterGUID:
        type: string
        format: uuid
  StaffRoleJson:
    type: object
    properties:
      id:
        type: string
        description: Staff GUID of the person
      role:
        type: integer
        description: Role of the staff with regard to the matter
        format: int32
  DocumentAttachment:
    type: object
    properties:
      name:
        type: string
        description: Attachment name
      ext:
        type: string
        description: 'Extension of file (docx, pdf etc.)'
  MattersWriteStaffDetails:
    type: object
    properties:
      staffId:
        type: string
        format: uuid
      access:
        type: boolean
  RecurringMatter:
    type: object
    properties:
      definableTables:
        type: array
        items:
          $ref: '#/definitions/RecurringMatterDefinableTable'
      comments:
        type: string
      file:
        $ref: '#/definitions/RecurringMatterMatterFile'
      matterTypeMatterTypeId:
        type: string
      deleteCode:
        type: integer
        format: int32
      noFileCreated:
        type: boolean
      financial:
        $ref: '#/definitions/RecurringMatterFinancial'
      dataVersion:
        type: string
      staff:
        $ref: '#/definitions/RecurringMatterStaff'
      type:
        type: string
      state:
        type: string
      title:
        $ref: '#/definitions/RecurringMatterTitle'
      substitution:
        $ref: '#/definitions/RecurringMatterSubstitution'
      customDescription:
        type: string
      autoCustomDescription:
        type: boolean
      criticalDates:
        type: array
        items:
          $ref: '#/definitions/RecurringMatterCriticalDate'
      status:
        type: string
      description:
        $ref: '#/definitions/RecurringMatterDescription'
      debtorCard:
        type: string
        format: uuid
      pendingPrecedents:
        type: array
        items:
          $ref: '#/definitions/RecurringMatterPendingPrecedent'
      percentageComplete:
        type: number
        format: double
      referrer:
        type: string
      workObtained:
        type: string
      invoiceFixed:
        type: boolean
      invoiceFixedAmount:
        type: number
        format: double
      filemanStatus:
        type: string
      referrerCard:
        $ref: '#/definitions/RecurringMatterReferrerCard'
      debtorNote:
        type: string
      taxFree:
        type: boolean
      acl:
        $ref: '#/definitions/RecurringMatterACL'
      customFields:
        type: array
        items:
          $ref: '#/definitions/RecurringMatterCustomField'
      calculations:
        type: array
        items:
          $ref: '#/definitions/RecurringMatterCalculation'
  FirmPreferences:
    type: object
    properties:
      OfficeBankAccountGUID:
        type: string
        description: Office bank account Id
        format: uuid
      TrustBankAccountGUID:
        type: string
        description: Trust bank account Id
        format: uuid
      GSTTaxCodeGUID:
        type: string
        description: GST Tax Code
        format: uuid
      NTTaxCodeGUID:
        type: string
        description: Default none taxable tax code
        format: uuid
      StatDepMatterGUID:
        type: string
        description: Statutory deposit matter GUID (mostly used by transitioned firms)
        format: uuid
      InvoiceLayoutGUID:
        type: string
        description: Invoice layout Id
        format: uuid
      GLAccountCodePaymentItems:
        type: string
        description: General Ledger payment items
      GLAccountCodeTimeFees:
        type: string
        description: General Ledger code time and fees
      GLAccountCodeCostRecoveries:
        type: string
        description: General Ledger Cost recoveries
      GLAccountCodePaymentItemsRec:
        type: string
        description: 'General Ledger payment items, recorded'
      GLAccountCodeUndepFunds:
        type: string
        description: General Ledger un-deposited funds
      GLAccountCodePaymentItemsWO:
        type: string
        description: General Ledger
      GLAccountCodeDebtors:
        type: string
        description: General Ledger debtors
      GLAccountCodeDebtorsDisc:
        type: string
      GLAccountCodeDebtorsWO:
        type: string
      GLAccountCodeCredits:
        type: string
        description: General Ledger credits
      GSTAccountingBasis:
        type: integer
        format: int32
      RowVersions:
        type: integer
        description: Record identifier / database row version
        format: int64
      FeeSecondsPerUnit:
        type: integer
        description: Fees per second unit
        format: int32
      GLLockPeriodDate:
        type: string
        format: date-time
      GLFinYearStartDate:
        type: string
        description: General Ledger financial year start date
        format: date-time
      InvoiceApplyGSTCostRec:
        type: boolean
        description: Apply GST on cost recovery
      InvoiceApplyGSTPay:
        type: boolean
        description: Apply GST on payment
      InvoiceApplyGSTDosbJourn:
        type: boolean
      InvoiceApplyGSTAD:
        type: boolean
      EFTNumberPrefix:
        type: string
        description: EFT number prefix
      ModifiedDTS:
        type: string
        description: Preferences last updated date time stamp
        format: date-time
      ModifiedByStaffGUID:
        type: string
        description: Staff member Id of who last modified these preferences
        format: uuid
      LDMCostRecTaskCodeGUID:
        type: string
        description: Used internally - ignore property
        format: uuid
      LDMCostRecSplit:
        type: boolean
        description: Used internally - ignore property
      FRETaxCodeGUID:
        type: string
        description: Free Tax code Id
        format: uuid
      GLAccountCodeDebtorsAdjust:
        type: string
      InvestAccountType:
        type: integer
        description: Used internally - ignore property
        format: int32
      HeaderContactDetailsUseCustom:
        type: boolean
        description: Use custom contact details
      HeaderContactDetailsCustom:
        type: string
        description: Use custom contact details
      ClientCreditsTaxCodeGUID:
        type: string
        format: uuid
      EstimateWarnPercentage:
        type: integer
        format: int32
      EstimateWarnValue:
        type: number
        format: double
      RPUseRapidPayOffice:
        type: integer
        description: Use Rapid Pay Office
        format: int32
      RPOfficeFooterInvoices:
        type: integer
        description: Rapid Pay details
        format: int32
      RPOfficeFooterStatements:
        type: integer
        description: Rapid Pay details
        format: int32
      RPUseRapidPayTrust:
        type: integer
        description: Rapid Pay details
        format: int32
      RPTrustFooterStatements:
        type: integer
        description: Rapid Pay details
        format: int32
      InvoiceTerm:
        type: integer
        description: Term of invoice(s)
        format: int32
      RPUseRapidPayCM:
        type: integer
        description: Rapid Pay details
        format: int32
      LNTTAxCodeGUID:
        type: string
        description: LEAP not reportable tax code
        format: uuid
      ExternalAccountingPlatform:
        type: integer
        description: >-
          External accounting platform: Enum: Myob = 0, Xero = 1,
          AccountRightLive = 2, QuickBooks = 3
        format: int32
      GSTXeroTaxCodeExpenseGUID:
        type: string
        description: Xero details
        format: uuid
      GLAccountCodeLNTXero:
        type: string
        description: Xero details
      FirmDefaultCFInterestRate:
        type: number
        description: Used internally - ignore property
        format: double
      CFInterestMatterGUID:
        type: string
        description: Used internally - ignore property
        format: uuid
      LateFeesInterestRatePercent:
        type: number
        description: Late fees interest
        format: double
      RPBillerCodeGUID:
        type: string
        description: Rapid Pay details
        format: uuid
      RPOfficeFooterDisplayCC:
        type: boolean
        description: Rapid Pay details
      RPTrustFOoterDisplayCC:
        type: boolean
        description: Rapid Pay details
      LAAFirmJSON:
        type: string
        description: Used internally - ignore property
      RPRapidAccount:
        type: boolean
        description: Rapid Pay details
      RPSettleToTrust:
        type: boolean
        description: Rapid Pay details
      RPReceiptedByName:
        type: string
        description: Rapid Pay details
      RPReceiptedByTypeID:
        type: integer
        description: Rapid Pay details
        format: int32
      RPPaymentNotificationEmails:
        type: string
        description: Rapid Pay details
      TrustBankRecMode:
        type: integer
        description: '0/Null= none, 1= saved for later, 2= reconciled'
        format: int32
      RoundingTypeId:
        type: integer
        description: Used internally - ignore property
        format: int32
  RecurringMatterCardTable:
    type: object
    properties:
      title:
        type: string
      layoutId:
        type: string
      tableId:
        type: string
      description:
        type: string
      fields:
        type: array
        items:
          $ref: '#/definitions/RecurringMatterField'
  InitialisationSpecialFee:
    type: object
    description: Special fees
    properties:
      Name:
        type: string
        description: Name of special fee
      StaffName:
        type: string
        description: Staff name
      Initials:
        type: string
        description: Staff initials
      TaskCode:
        type: string
        description: The TaskCode, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      Rate:
        type: number
        description: Special rate
        format: double
      RateID:
        type: integer
        description: Rate Id (internal)
        format: int32
      Deleted:
        type: integer
        description: Indicates if this item has been marked as deleted
        format: int32
      RowVers:
        type: integer
        description: The database identifier for this item
        format: int64
      RateType:
        type: string
        description: Rate based on RateId
      billingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
      SpecialFeeId:
        type: string
        description: Special Fee Id
        format: uuid
      StaffId:
        type: string
        description: Staff Id (GUID)
        format: uuid
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      SpecialFeeMatterCardId:
        type: string
        description: Mapping Id for special fee and matter or card
        format: uuid
  TaskJson:
    type: object
    properties:
      taskId:
        type: string
      deleteCode:
        type: integer
        format: int32
      createdDate:
        type: string
        format: date-time
      lastModifiedDate:
        type: string
        format: date-time
      startDate:
        type: string
        description: Start Date
        format: date-time
      dueDate:
        type: string
        format: date-time
      completedDate:
        type: string
        format: date-time
      status:
        type: string
      subject:
        type: string
      owner:
        type: string
      staffId:
        type: string
  EvaluatePathV3Response:
    allOf:
      - type: object
        properties:
          path:
            type: string
            description: Path
      - type: object
        properties:
          result:
            type: string
            description: 'Can be any value - string, number, boolean, array or object.'
          error:
            type: object
            properties:
              code:
                type: string
              name:
                type: string
              message:
                type: string
              statusCode:
                type: integer
    description: Response for evaluating a single path
  AsyncRequestResponse:
    type: object
    properties:
      AsyncRequestId:
        type: string
        description: >-
          Asynchronous ID. Actual response payload can be retrieved via [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get).
        format: uuid
  MattersPathParserResponse:
    type: object
    properties:
      result:
        type: string
        description: 'Can be any value - string, number, boolean, array or object.'
  ArrayOfMatterItem:
    type: array
    items:
      $ref: '#/definitions/MatterItemModel'
  DocumentUpdate:
    type: object
    required:
      - deleteCode
      - docName
      - docTypeId
      - documentId
      - fileType
      - matterId
      - staffInitials
    properties:
      documentId:
        type: string
        description: Document Id
        format: uuid
      matterId:
        type: string
        description: Matter Id
        format: uuid
      docName:
        type: string
        description: Document name
      fileType:
        type: string
        description: 'Extension of file (docx, pdf etc.)'
      staffInitials:
        type: string
        description: >-
          Staff initials (no longer being used) - the property has been
          deprecated and will be removed
      docTypeId:
        type: string
        description: Type of file
        enum:
          - document
          - comment
          - voiceFile
      deleteCode:
        type: integer
        description: Mark document as deleted
        format: int32
      createdDate:
        type: string
        description: Created date (any valid datetime)
        format: date-time
      attachments:
        type: array
        description: Add any attachements to this array
        items:
          $ref: '#/definitions/DocumentAttachment'
  EmailJson:
    type: object
    properties:
      email:
        type: string
      role:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      tableId:
        type: string
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
  ArrayOfAnticipatedDisbursement:
    type: array
    items:
      $ref: '#/definitions/InitialisationAnticipatedDisbursement'
  ArrayOfTrustAccountViewOnly:
    type: array
    items:
      $ref: '#/definitions/TrustAccountViewOnly'
  CostRecoveryInitialisationDataCreate:
    type: object
    properties:
      TaxCodeList:
        type: array
        items:
          $ref: '#/definitions/CostRecoveryTaxCode'
      TaskCodeList:
        type: array
        items:
          $ref: '#/definitions/TaskCodeCostRecovery'
      Preferences:
        $ref: '#/definitions/CostRecoveryPreferences'
  RecurringMatterFirstLong:
    type: object
    properties:
      canTrust:
        type: boolean
      value:
        type: string
  AdvancedCardSearch:
    type: object
    properties:
      TermOption:
        type: string
        enum:
          - AllowWildcard
          - ExactMatch
      TermValue:
        type: string
      TermName:
        type: string
        enum:
          - undefined
          - shortname
          - fullname
          - address
          - emailaddress
          - contactnumbers
          - cardtype
          - cardroles
          - deletecode
  MattersReadFinancial:
    type: object
    properties:
      estimateWarning:
        type: boolean
      costsEstimate:
        type: number
        format: double
      costsEstimateGST:
        type: number
        format: double
      disbursementsEstimate:
        type: number
        format: double
      disbursementsEstimateGST:
        type: number
        format: double
      costAgreement:
        $ref: '#/definitions/MattersReadCostAgreement'
  MatterArchiveJson:
    type: object
    properties:
      archiveNumber:
        type: string
        description: Assigned archive number to the matter
      isArchived:
        type: boolean
        description: Flags whether or not the matter has been archived
      archiveDate:
        type: string
        description: Date of archive
      boxNumber:
        type: string
        description: Physical box number where the matter was archived
      archivedBy:
        type: string
        description: Name of the person who archived the matter
      dateOfDestruction:
        type: string
        description: Date set when the archived matter will be destroyed
      comments:
        type: string
        description: Additional comments on the archived matter
  CostAgreementJson:
    type: object
    description: Contains information about the cost agreement of the Matter
    properties:
      required:
        type: boolean
        description: Flag that determines if there needs to be a cost agreement between the Client and Solicitor on the Matter
      receivedDate:
        type: string
        description: Date when the cost agreement was entered into
  TaskCodeCostRecovery:
    type: object
    properties:
      PurchaseMode:
        type: integer
        description: 'Internally used, can be ignored'
        format: int32
      Deleted:
        type: boolean
        description: Marked as deleted
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      BillingDescription:
        type: string
        description: The description that will appear on the item
      IncTax:
        type: boolean
        description: Does this item include TAX
      AmountEach:
        type: number
        description: Cost per item
        format: double
      GroupOnInvoice:
        type: boolean
        description: Group these items on the invoice
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      PurchaseSupplierCardId:
        type: string
        description: Card Id related to the purchase supplier
        format: uuid
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
  CardsWritePerson:
    type: object
    properties:
      recordId:
        type: string
        format: uuid
    description: Person
  Fee:
    type: object
    properties:
      InvoiceItemGUID:
        type: string
        format: uuid
      FeeGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      AmountExTax:
        type: number
        format: double
      AmountIncTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      RowVers:
        type: integer
        format: int64
      StaffGUID:
        type: string
        format: uuid
      taxSplits:
        $ref: '#/definitions/OfficeInvoiceTaxSplits'
  MatterInfoDebtorDetails:
    type: object
    properties:
      DebtorCardGuid:
        type: string
        format: uuid
      DebtorName:
        type: string
  RecurringMatterDefinableTable:
    type: object
    properties:
      definableTableId:
        type: string
      order:
        type: integer
        format: int32
      default:
        type: boolean
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
      description:
        type: string
      fields:
        type: array
        items:
          $ref: '#/definitions/RecurringMatterField'
      recordId:
        type: string
        format: uuid
  MatterListItemWithRowVersion:
    type: object
    properties:
      rowVersion:
        type: integer
        description: Database record identifier for this item
        format: int64
      matterId:
        type: string
        description: Matter Id
        format: uuid
      fileNumber:
        type: string
        description: File reference
      firstDescription:
        type: string
        description: First description of matter
      secondDescription:
        type: string
        description: Second description of matter
      customDescription:
        type: string
        description: Custom description of matter
      matterTypeName:
        type: string
        description: Matter type name
      matterTypeId:
        type: string
        description: Matter type Id (GUID)
        format: uuid
      matterStatus:
        type: string
        description: Matter status
        enum:
          - In Progress
      isCurrent:
        type: boolean
        description: Indicates if this matter is current and active
      state:
        type: string
        description: Indicates the state that this matter belongs to
      responsibleStaffId:
        type: string
        description: The staff Id responsible for this matter
        format: uuid
      creditStaffId:
        type: string
        description: The staff Id responsible for credit
        format: uuid
      actingStaffId:
        type: string
        description: The acting staff Id
        format: uuid
      assistingStaffId:
        type: string
        description: The assisting staff Id on this matter
        format: uuid
      isArchived:
        type: boolean
        description: Indicates if this matter is archived
      deleted:
        type: boolean
        description: Indicates if this matter is marked deleted
      version:
        type: integer
        description: Version of the matter
        format: int32
      instructionDate:
        type: string
        description: Instruction date
        format: date-time
      billingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      archiveDate:
        type: string
        description: Date archived
        format: date-time
  CreatePowerAccount:
    type: object
    required:
      - AccountId
      - DateOpened
      - MatterId
    properties:
      AccountId:
        type: string
        format: uuid
      MatterId:
        type: string
        format: uuid
      CodeUnique:
        type: string
      State:
        type: string
      Institution:
        type: string
      AccountBSB:
        type: string
      AccountNumber:
        type: string
      AccountName:
        type: string
      OpeningBalance:
        type: number
        format: double
      DateOpened:
        type: string
        format: date-time
      OpeningBalanceUnknown:
        type: boolean
      AuthorityDetails:
        type: string
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  InfotrackFileInfo:
    type: object
    properties:
      url:
        type: string
      uncPath:
        type: string
  TrustReceiptInitBankAccount:
    type: object
    properties:
      BankAccountGUID:
        type: string
        format: uuid
      AccountName:
        type: string
      AccountNumber:
        type: string
      BSB:
        type: string
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      AccountUsage:
        type: integer
        format: int32
      Deleted:
        type: boolean
        description: Deleted
      RowVersion:
        type: integer
        format: int64
      Drawer:
        type: string
      ChequeSVGLayoutGUID:
        type: string
        format: uuid
      ChequeLayoutId:
        type: integer
        format: int32
      ChequeMarginV:
        type: integer
        format: int32
      ChequeMarginH:
        type: integer
        format: int32
      ChequeNumber:
        type: integer
        format: int32
      ReceiptNumber:
        type: integer
        format: int32
      BankDepositNumber:
        type: integer
        format: int32
      JournalNumber:
        type: integer
        format: int32
      EFTNumber:
        type: integer
        format: int32
      BankCurrentDate:
        type: string
      BankRecStatementDate:
        type: string
      BankRecStatementBalance:
        type: number
        format: double
      RapidPayVerificationStatus:
        type: integer
        format: int32
  DocumentRegisterLADSDI:
    type: object
    properties:
      DocumentDescription:
        type: string
      DocumentNumber:
        type: string
      DocumentDate:
        type: string
        format: date-time
      SequenceNumber:
        type: integer 
        format: int64
      CardId:
        type: string
        format: uuid
      RemovedDate:
        type: string 
        format: date-time
      IsDeleted:
        type: boolean
        description: Deleted
      DocumentTypeId:
        type: string 
        format: uuid
      RemovedStatus:
        type: string
      DocumentStoreDate:
        type: string 
        format: date-time
      DocumentRegisterId:
        type: string
        format: uuid
      RemovedId:
        type: integer
        format: int32
      RemovedStaffId:
        type: string 
        format: uuid
      MatterId:
        type: string
        format: uuid
      RowVersion:
        type: integer
        format: int32
  DocumentRegisterLADSDV:
    type: object
    properties:
      DocumentRegister:
        type: string
      DocumentNumber:
        type: string
      DocumentDate:
        type: string
        format: date-time
      SequenceNumber:
        type: integer 
        format: int64
      CardId:
        type: string
        format: uuid
      RemovedDate:
        type: string 
        format: date-time
      IsDeleted:
        type: boolean
        description: Deleted
      DocumentTypeId:
        type: string 
        format: uuid
      RemovedStatus:
        type: string
      DocumentStoreDate:
        type: string 
        format: date-time
      DocumentRegisterId:
        type: string
        format: uuid
      RemovedId:
        type: integer
        format: int32
      RemovedStaffId:
        type: string 
        format: uuid
      MatterId:
        type: string
        format: uuid
      RowVersion:
        type: integer
        format: int32
  InitialisationTaskCodeFee:
    type: object
    properties:
      TaskCodeGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      BillingDescription:
        type: string
      GroupOnInvoice:
        type: integer
        format: int32
      Deleted:
        type: integer
        description: Deleted
        format: int32
      AmountRate:
        type: number
        format: double
      IncTax:
        type: integer
        format: int32
      RateID:
        type: integer
        description: Rate Id (internal)
        format: int32
      Timed:
        type: integer
        format: int32
      CalculationMode:
        type: string
        description: 0 = Fixed rate per hour | 1 = Fixed amount
      CalculationScript:
        type: string
        description: 'Used internally, can be ignored'
      RowVers:
        type: integer
        format: int64
      Billing_Mode:
        type: integer
        format: int32
  MattersReadDefinableTable:
    type: object
    description: Matters Read Definable Table
    properties:
      definableTableId:
        type: string
      order:
        type: integer
        format: int32
      displaySequence:
        type: integer
        description: Display Sequence
        format: int32
      fields:
        type: array
        items:
          $ref: '#/definitions/MattersReadField'
      description:
        type: string
      recordId:
        type: string
        format: uuid
  FeeTaskCode:
    type: object
    required:
      - AmountRate
      - GroupOnInvoice
      - InclusiveTax
      - RateId
      - TaskCodeId
      - TaxCodeId
      - Timed
    properties:
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      BillingDescription:
        type: string
        description: The description that will appear on the taskcode
      GroupOnInvoice:
        type: boolean
        description: Group these items on the invoice
      Deleted:
        type: boolean
        description: Mark item as deleted
      AmountRate:
        type: number
        description: Cost per item
        format: double
      InclusiveTax:
        type: boolean
        description: Inclusive of TAX
      RateId:
        type: integer
        description: Rate Id (internal)
        format: int32
      Timed:
        type: boolean
        description: Is item timed
      CalculationMode:
        type: integer
        description: 0 = Fixed rate per hour | 1 = Fixed amount
        format: int32
      CalculationScript:
        type: string
        description: 'Used internally, can be ignored'
      ImportedFrom:
        type: string
        description: >-
          This property is set to 'Import', if task code is imported from
          conversions (internal)
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
  PeopleJson:
    type: object
    properties:
      __id:
        type: string
      userId:
        type: string
      __firmId:
        type: string
      version:
        type: integer
        format: int32
      deleteCode:
        type: integer
        format: int32
      __className:
        type: string
      phoneNumberList:
        type: array
        items:
          $ref: '#/definitions/PhoneNumberJson'
      webAddressList:
        type: array
        items:
          $ref: '#/definitions/WebAddressJson'
      comments:
        type: string
      salutation:
        type: string
      lastName:
        type: string
      firstNames:
        type: string
      dateOfBirth:
        type: string
      placeOfBirth:
        type: string
      countryOfBirth:
        type: string
      dateOfDeath:
        type: string
      placeOfDeath:
        type: string
      occupation:
        type: string
      eMailAddressesText:
        type: string
      gender:
        type: string
      nationality:
        type: string
      passportNumber:
        type: string
      passportName:
        type: string
      maidenName:
        type: string
      previousNames:
        type: string
      interpreterLanguage:
        type: string
      specialNeeds:
        type: string
      custom1:
        type: string
      custom2:
        type: string
      custom3:
        type: string
      custom4:
        type: string
      custom5:
        type: string
      custom6:
        type: string
      custom7:
        type: string
      custom8:
        type: string
      custom9:
        type: string
      custom10:
        type: string
      custom11:
        type: string
      custom12:
        type: string
      maritalStatus:
        type: string
  MattersReadReferrerCard:
    type: object
    required:
      - cardId
    properties:
      cardId:
        type: string
        description: Card Id
        format: uuid
      personId:
        type: string
        description: Person Id
        format: uuid
  PurchaseOrderInitCostRecovery:
    type: object
    properties:
      CostRecoveryGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      TaxCode:
        type: string
      TransactionNumber:
        type: string
      Quantity:
        type: integer
        description: How many billable items
        format: int32
      AmountEach:
        type: number
        format: double
      TotalIncTax:
        type: number
        format: double
      TotalExTax:
        type: number
        format: double
      TotalTax:
        type: number
        format: double
      BillingDescription:
        type: string
      TaskCode:
        type: string
      IncTax:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
  InvoiceStatus:
    type: object
    properties:
      InvoiceGUID:
        type: string
        format: uuid
      InvoiceRowVers:
        type: integer
        format: int64
  OfficeReceiptCreateInitialisationData:
    type: object
    properties:
      LastTranNum:
        type: integer
        format: int32
      Preference:
        $ref: '#/definitions/OfficeReceiptPreference'
      BankAccounts:
        type: array
        items:
          $ref: '#/definitions/OfficeReceiptBankAccount'
      PaymentTypeList:
        type: array
        items:
          $ref: '#/definitions/PaymentType'
  FeeInitialisationDataUpdateModel:
    type: object
    properties:
      TaxCodeList:
        type: array
        description: TaxCode list
        items:
          $ref: '#/definitions/TaxCodeFee'
      TaskCodeList:
        type: array
        description: TaskCode list
        items:
          $ref: '#/definitions/TaskCodeFee'
      BillingUnitList:
        type: array
        description: Billing units list
        items:
          $ref: '#/definitions/BillingUnit'
      Preferences:
        description: Preferences
        $ref: '#/definitions/PreferencesFeeModel'
      MatterInfo:
        $ref: '#/definitions/MatterInfoInitializationData'
      Fee:
        description: Fee information
        $ref: '#/definitions/FeeReadModel'
      SpecialFees:
        type: array
        description: Special fees
        items:
          $ref: '#/definitions/InitialisationSpecialFee'
  PublicDocsCreateCardResponse:
    type: object
    properties:
      cardId:
        type: string
        description: Card Id
        format: uuid
  200SucessResponseModel:
    type: object
    properties:
      Code:
        type: integer
        description: >-
          Result: `>= 0` = the request was processed successfully | `< 0` =
          error in processing request
        format: int32
      RowVersion:
        type: integer
        description: The database row Id that was affected
        format: int64
      Message:
        type: string
        description: Any relevant message related to the response
  SuccessResponseModel:
    type: object
    properties:
      Code:
        type: integer
        description: >-
          Result: `>= 0` = the request was processed successfully | `< 0` =
          error in processing request
        format: int32
      RowVersion:
        type: integer
        description: The database row Id that was affected
        format: int64
      Message:
        type: string
        description: Any relevant message related to the response
      TransactionNumber:
        type: string
        description: Transaction Number
  TrustBankRec_CreateTrustAddition_SuccessResponseModel:
    type: object
    properties:
      Code:
        type: integer
        description: >-
          Result: `>= 0` = the request was processed successfully | `< 0` =
          error in processing request
        format: int32
      RowVersion:
        type: integer
        description: The database row Id that was affected
        format: int64
      Message:
        type: string
        description: Any relevant message related to the response
      AdditionGUID:
        type: string
        format: uuid
        description: LEAP GUID of the addition
  MattersWriteReferrerCard:
    type: object
    description: Referrer card details.
    properties:
      cardId:
        type: string
        description: Card Id
        format: uuid
      personId:
        type: string
        description: Person Id
        format: uuid
  CardDetailsJson:
    type: object
    required:
      - __firmId
      - __id
      - type
    properties:
      personList:
        type: array
        items:
          $ref: '#/definitions/PeopleJson'
      __firmId:
        type: string
      description:
        type: string
      isSupplier:
        type: boolean
      type:
        type: string
      fullName:
        type: string
      version:
        type: integer
        format: int32
      phoneNumberList:
        type: array
        items:
          $ref: '#/definitions/PhoneNumberJson'
      webAddressList:
        type: array
        items:
          $ref: '#/definitions/WebAddressJson'
      originalAddressList:
        type: array
        items:
          $ref: '#/definitions/AddressJson'
      alternativeAddressList:
        type: array
        items:
          $ref: '#/definitions/FutureAddressJson'
      trusteeList:
        type: array
        items:
          $ref: '#/definitions/TrusteeJson'
      bankAccount:
        $ref: '#/definitions/BankAccountJson'
      relatedTables:
        type: array
        items:
          $ref: '#/definitions/CardLayoutJson'
      defaultAddress:
        type: string
      marketingConsent:
        type: boolean
      shortName:
        type: string
      tradingNameTrustName:
        type: string
      tradingTitle:
        type: string
      acn:
        type: string
      acnArbnEtc:
        type: string
      businessType:
        type: string
      companyTitle:
        type: string
      comments:
        type: string
      dateOfTrust:
        type: string
      title:
        type: string
      useDefaultTitle:
        type: string
      dear:
        type: string
      useDefaultDear:
        type: string
      soleDirectorCompany:
        type: string
      trustStatus:
        type: string
      abn:
        type: string
      asicKey:
        type: string
      regOffice:
        $ref: '#/definitions/RegisteredOfficeJson'
      useFriendlyDear:
        type: string
      __className:
        type: string
      __id:
        type: string
  PersonsWriteWebAddress:
    type: object
    properties:
      type:
        type: string
        description: Web Address Type
        enum:
          - email
          - web
          - email2
          - web2
      value:
        type: string
        description: Web Address value
    description: Web Address Model
  TrustReceiptCreateTrustReceipt:
    type: object
    required:
      - BankAccountGUID
      - EntryDate
      - PaymentTypeDetails
      - PaymentTypeGUID
      - ReceivedFrom
      - TransactionDate
      - TransactionNumber
      - TrustReceiptItems
    properties:
      TrustReceiptGUID:
        type: string
        format: uuid
        description: >
          GUID for the receipt that is being created (to be generated by the developer). If an ID is not passed in, an ID will be generated by LEAP.
      BankAccountGUID:
        type: string
        format: uuid
        description: GUID for the bank account the receipt is being paid into. Bank Accounts for a matter can be retrieved from [GET /api/v1/trustreceipt/initialisationdata](http://leap.build/api-reference/#tag/TrustReceipt/paths/~1api~1v1~1trustreceipt~1initialisationdata/get).
      EntryDate:
        type: string
        format: date-time
        description: Date & time of the entry in *ISO 8601* format.
      TransactionDate:
        type: string
        format: date-time
        description: Date & time of the original transaction in *ISO 8601* format.
      TransactionNumber:
        type: string
        description: >
          Identifying number for the transaction. Any value provided will be overridden by the next sequential number for the target data file if `TransactionNumberAuto` value provided is "true".
      TransactionNumberAuto:
        type: boolean
        description: Determies whether the `TransactionNumber` should be overridden by the next sequential number for the target data file.
      ReceivedFrom:
        type: string
        description: Individual or entity the receipt was received from.
      PaymentTypeGUID:
        type: string
        format: uuid
        description: LEAP GUID for the Payment Type the receipt was tendered in e.g. EFT, Cash, Credit Card. All current Payment Types can be retrieved from [GET /api/v1/paymenttypes](https://leap.build/api-reference/#tag/Payment-Types/paths/~1api~1v1~1paymenttypes/get).
      PaymentTypeName:
        type: string
        description: >
          **Recommended field**. Name of the Payment Type the receipt was tendered in. All current Payment Types can be retrieved from [GET /api/v1/paymenttypes](https://leap.build/api-reference/#tag/Payment-Types/paths/~1api~1v1~1paymenttypes/get).
      PaymentTypeId:
        type: integer
        format: int32
        description: LEAP ID for the Payment Type the receipt was tendered in e.g. EFT, Cash, Credit Card. All current Payment Types can be retrieved from [GET /api/v1/paymenttypes](https://leap.build/api-reference/#tag/Payment-Types/paths/~1api~1v1~1paymenttypes/get).
      ReversedOrReversal:
        type: boolean
        description: Indicates whether the receipt has been reversed or is itself a reversal. In most cases this value should be "false".
      ReceiptedByStaffGUID:
        type: string
        format: uuid
        description: LEAP GUID of the staff member the receipt was processed by. Staff Members can be retrieved from [GET /api/v1/firms/{firmId}](http://leap.build/api-reference/#tag/Firms/paths/~1api~1v1~1firms~1%7Bfirmid%7D/get)
      NeedsBanking:
        type: boolean
        description: Indicates whether the receipt requires banking.
      Reconciled:
        type: integer
        format: int32
        description: Indicates whether the receipt has been reconciled in/against the target bank account. 
      ClearanceDays:
        type: integer
        format: int32
        description: Indicates the number of clearance days for the receipt. 
      ClearedDate:
        type: string
        format: date-time
        description: Indicates the clearance date of the receipt. 
      BankDepositGUID:
        type: string
        format: uuid
        description: GUID for the Bank Deposit record attached to the receipt (to be generated by the developer).
      AnticipatedDepositId:
        type: string
        format: uuid
        description: GUID for the Anticipated Deposit record attached to the receipt (to be generated by the developer).
      IsRapidPay:
        type: integer
        format: int32
        description: Indicates whether the receipt is a Rapid Pay transaction.
      BTISettlementDate:
        type: string
        format: date-time
        description: Incidates the BTI settlement date of the receipt. 
      ExtPayReceiptNo:
        type: string
        description: External receipt number (e.g. Rapid Pay)
      WarningAcknowledgments:
        type: array
        description: Allows you to acknowledge any warning acknowledgements that would appear for the receipt upon processing. 
        items:
          type: integer
          format: int32
      TrustReceiptItems:
        type: array
        description: Items relating specifically to the Trust Receipt Item. 
        items:
          $ref: '#/definitions/CreateTrustReceiptItem'
      PaymentTypeDetails:
        description: Details relating to the supplied Payment Type of the receipt. 
        $ref: '#/definitions/PaymentTypeDetail'
  ContentOfIEnumerableOfMatterTypeTreeDataV2:
    type: object
    properties:
      type:
        type: string
      data:
        type: array
        items:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            parentId:
              type: string
            type:
              type: string
            deleteCode:
              type: string
            states: 
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  alias:
                    type: string
            children:
              type: array        
  FeeItemModel:
    type: object
    properties:
      TransactionDate:
        type: string
        description: Date of transaction (any valid datetime)
        format: date-time
      BillingDescription:
        type: string
        description: The description that will appear on the fee
      FeeHoursQuantity:
        type: number
        description: The quantity of fee hours to allocate
        format: double
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      TransactionNumber:
        type: string
        description: Number for this transaction
      TotalIncTax:
        type: number
        description: Total inclusive of TAX
        format: double
      TotalExTax:
        type: number
        description: Total exclusive of TAX
        format: double
      Deleted:
        type: boolean
        description: Indicates if this fee is marked as deleted
      RowVers:
        type: integer
        description: The database indentifier for this item
        format: int64
      Timed:
        type: boolean
        description: Is this fee timed
      DeletedDate:
        type: string
        description: Date of deletion (any valid datetime)
        format: date-time
      FileNumberString:
        type: string
        description: Matter file reference
      Count:
        type: integer
        description: How many items
        format: int32
      TotalTax:
        type: number
        description: Total TAX value
        format: double
      InclusiveTax:
        type: boolean
        description: Inclusive of TAX
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
      Memo:
        type: string
        description: The memo for this fee
      CalculationMode:
        type: integer
        description: 0 = Fixed rate per hour | 1 = Fixed amount
        format: int32
      FeesCreatedByStaffId:
        type: string
        description: Which staff (GUID) created the fee
        format: uuid
      AttributeFeesToStaffId:
        type: string
        description: Which staff member to attribute the fees to
        format: uuid
      ExternalURL:
        type: string
        description: >-
          When this field is populated, LEAP will open the URL provided when
          opened
      ExternalJSON:
        type: string
        description: >-
          Use this field for capturing app specific custom data (not used by
          LEAP)
      FeeId:
        type: string
        description: Fee Id
        format: uuid
      InvoiceItemId:
        type: string
        description: The Id of the attached invoice
        format: uuid
      WorkDoneByStaffId:
        type: string
        description: The Id (GUID) of the staff member the work was completed by
        format: uuid
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      MatterId:
        type: string
        description: Matter Id
        format: uuid
  CardsWriteBaseAddress:
    type: object
    properties:
      name:
        type: string
        description: Name
      level:
        type: string
        description: Level
      street:
        type: string
        description: Street
      number:
        type: string
        description: Number
      suburb:
        type: string
        description: Suburb
      state:
        type: string
        description: State
      county:
        type: string
        description: County
      district:
        type: string
        description: District          
      postcode:
        type: string
        description: Postcode
      country:
        type: string
        description: Country
      instructions:
        type: string
        description: Instructions
      poBoxType:
        type: string
        description: POBoxType
      municipality:
        type: string
        description: Municipality
      stationInfo:
        type: string
        description: Station Information
      startDate:
        type: string
        format: date-time
        description: Start Date for Address
      endDate:
        type: string
        format: date-time
        description: End Date for Address
    description: Address
  CreditApplication:
    type: object
    properties:
      TransactionDate:
        type: string
        format: date-time
      Memo:
        type: string
      Amount:
        type: number
        format: double
      CreditApplyGUID:
        type: string
        format: uuid
      CreditApplyItemGUID:
        type: string
        format: uuid
      ReversedOrReversal:
        type: boolean
  PurchaseOrderInitTaxCode:
    type: object
    properties:
      TaxCodeGUID:
        type: string
        format: uuid
      FirmGUID:
        type: string
        format: uuid

      RatePercent:
        type: number
        format: double
      GLTaxCode:
        type: string
      TaxCode:
        type: string
      GLTaxCodeType:
        type: string
      Deleted:
        type: boolean
      TaxCodeDescription:
        type: string
      RowVersion:
        type: integer
        format: int64
      TaxCodeSplits:
        type: object
        properties:
          TaxCodeGUID:
            type: string
          Sequence:
            type: number
      IsGroupTaxCode:
        type: boolean
      IsTaxCodeUsable:
        type: boolean
  TrustReceiptResponseModel:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
      Message:
        type: string
      TransactionNumber:
        type: string
      OfficePaymentId:
        type: string
        format: uuid
  AddressJson:
    type: object
    properties:
      __className:
        type: string
      addressType:
        type: string
      propertyBuildingName:
        type: string
      levelUnitShop:
        type: string
      number:
        type: string
      street:
        type: string
      suburb:
        type: string
      state:
        type: string
      county:
        type: string
      postcode:
        type: string
      country:
        type: string
      specialInstructions:
        type: string
      district:
        type: string
      type:
        type: string
  MattersReadTitle:
    type: object
    properties:
      client:
        type: string
      other:
        type: string
      clientDefault:
        type: boolean
      clientPrefix:
        type: boolean
      clientSuffix:
        type: boolean
      otherDefault:
        type: boolean
      otherPrefix:
        type: boolean
      otherSuffix:
        type: boolean
  MattersWriteCreateMatter:
    type: object
    required:
      - cards
      - criticalDates
      - file
      - matterTypeId
      - staff
      - state
    properties:
      definableTables:
        type: array
        description: >-
          List of definable tables on the matter (defaults to matter type
          specific tables if left empty).
        items:
          $ref: '#/definitions/MattersWriteDefinableTable'
      cards:
        type: array
        description: List of cards on the matter (only client card is required).
        items:
          $ref: '#/definitions/MattersWriteCard'
      matterTypeId:
        type: string
        description: Matter type Id.
        format: uuid
      deleted:
        type: boolean
        description: Deleted flag.
      noFileCreated:
        type: boolean
        description: Is there a  physical file created for archiving?
      financial:
        $ref: '#/definitions/MattersWriteFinancial'
      state:
        type: string
        description: Geographical state of the matter.
      title:
        $ref: '#/definitions/MattersWriteTitle'
      substitution:
        type: object
        $ref: '#/definitions/MattersWriteSubstitution'
      customDescription:
        type: string
        description: Custom description of the matter.
      criticalDates:
        type: array
        description: List of critical dates on the matter.
        items:
          $ref: '#/definitions/MattersWriteCriticalDate'
      file:
        $ref: '#/definitions/MattersWriteFile'
      staff:
        $ref: '#/definitions/MattersWriteStaff'
      invoiceFixed:
        type: boolean
        description: Is the first invoice a fixed fee?
      invoiceFixedAmount:
        type: number
        format: double
        description: Amount of the first fixed invoice.
        minimum: 0
        maximum: 2147483647
      referrerCard:
        $ref: '#/definitions/MattersWriteReferrerCard'
      taxFree:
        type: boolean
        description: Is this matter tax free?
      acl:
        description: Access control list details.
        $ref: '#/definitions/MattersWriteAcl'
      archive:
        description: Archive details.
        $ref: '#/definitions/MattersWriteArchive'
  ArrayOfTrustAccountViewOnlyResponse:
    type: array
    items:
      $ref: '#/definitions/TrustAccountViewOnlyResponse'
  InvestmentAccountPaymentTypeDetailsCRUD:
    type: object
    properties:
      PaymentTypeDetailsGUID:
        type: string
        format: uuid
      Addressee:
        type: string
      BSB:
        type: string
      AccountNumber:
        type: string
      AccountName:
        type: string
      Drawer:
        type: string
      ChequeNumber:
        type: string
      AuthorisationNumber:
        type: string
      ExpiryDate:
        type: string
        format: date-time
      Notes:
        type: number
        format: double
      Coins:
        type: number
        format: double
      Memo:
        type: string
  InvoiceLayoutList:
    type: object
    properties:
      InvoiceLayoutGUID:
        type: string
        format: uuid
      Name:
        type: string
  TrustAccountViewOnly:
    type: object
    properties:
      AccountId:
        type: string
        format: uuid
      ImportedFrom:
        type: string
        description: >-
          This property is set to 'Import', if task code is imported from
          conversions (internal)
      ExternalCodeUnique:
        type: string
      AccountName:
        type: string
      BankName:
        type: string
      AccountNumber:
        type: string
      AccountBsb:
        type: string
      LastReceiptNumber:
        type: integer
        format: int32
      LastChequeNumber:
        type: integer
        format: int32
      LastBankDepNumber:
        type: integer
        format: int32
      LastJournalNumber:
        type: integer
        format: int32
      LastReconciledDate:
        type: string
        format: date-time
      CashRecReportLastPageNumber:
        type: integer
        format: int32
      CashPayReportLastPageNumber:
        type: integer
        format: int32
      JournalReportLastPageNumber:
        type: integer
        format: int32
      LastStatementBalance:
        type: number
        format: double
      DefaultAccount:
        type: boolean
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      StateCode:
        type: string
  CreateTrustBankDeposit:
    type: object
    required:
      - TransactionDate
      - TransactionNumber
      - TrustBankAccountGuid
      - TrustBankDepositGuid
    properties:
      TrustBankDepositGuid:
        type: string
        format: uuid
      TrustBankAccountGuid:
        type: string
        format: uuid
      TransactionNumber:
        type: string
      TransactionDate:
        type: string
        format: date-time
      EntryDate:
        type: string
        format: date-time
      AutoNumber:
        type: integer
        format: int32
      Memo:
        type: string
      Reconciled:
        type: integer
        format: int32
      TotalAmount:
        type: number
        format: double
      SemaphoreGuid:
        type: string
        format: uuid
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
      Receipts:
        type: array
        items:
          $ref: '#/definitions/CreateTrustreceipt'
  MattersWriteCard:
    type: object
    required:
      - displaySequence
      - order
      - tableId
    properties:
      tableId:
        type: string
      recordId:
        type: string
        format: uuid
      order:
        type: integer
        description: >-
          The order of the cards (where they are displayed in the cards & tables
          list).
        format: int32
      displaySequence:
        type: integer
        description: The order of cards of this type (E.g. client 1 and client 2).
        format: int32
      table:
        $ref: '#/definitions/MattersWriteCardTable'
      personIds:
        type: array
        items:
          type: string
          format: uuid
  PostMatterJson:
    type: object
    properties:
      matter:
        description: Contains information about the Matter
        $ref: '#/definitions/MatterJson'
      matterCards:
        type: array
        description: Contains information about the related Cards and Persons to the Matter
        items:
          $ref: '#/definitions/MatterCardJson'
      definableTables:
        type: array
        description: Contains information about the Definable tables associated with the Matter
        items:
          $ref: '#/definitions/DefinableTableJson'
      relations:
          type: array
          description: |-
            Table relations as defined by the Content team

            Table Relations provide association of related parties and/or relevant party data by linking both Cards and/or Tables to ensure Matter Types are easier to complete.  
            The key to using Table Relations effectively is considering if the related Table (child table) is required for every instance of the Table (parent table) where there is multiple. 
            
            A simple example is relating the other side's solicitor/lawyer Table to the other side Table

            Generally, integrators are not required to fill-up or update this object, as this is defined by LEAP's content team
          items:
            $ref: '#/definitions/RelationsJson'
      extra:
        $ref: '#/definitions/PostMatterExtra'
  RelationsJson:
    type: object    
    properties:
      parentTableId:
        type: string
        format: uuid
      childTableId:
        type: string
        format: uuid
      order:
        type: integer
        format: int32
      singleton:
        type: boolean
  OfficeHistoryTransaction:
    type: object
    properties:
      HistoryId:
        type: string
        format: uuid
      MatterId:
        type: string
        format: uuid
      ImportedFrom:
        type: string
        description: >-
          This property is set to 'Import', if task code is imported from
          conversions (internal)
      ImportedId:
        type: string
      ItemType:
        type: string
      ItemRefNum:
        type: string
      ItemDescription:
        type: string
      AmountDisbDr:
        type: number
        format: double
      AmountDisbCr:
        type: number
        format: double
      AmountDebtorsDr:
        type: number
        format: double
      AmountDebtorsCr:
        type: number
        format: double
      AmountDebtorsTotal:
        type: number
        format: double
      PayeePayor:
        type: string
      Unbilled:
        type: boolean
      TransDate:
        type: string
        format: date-time
  TrustLedgerMatter:
    type: object
    properties:
      TransactionDate:
        type: string
        format: date-time
      EntryDate:
        type: string
        format: date-time
      AccountName:
        type: string
      TransactionNumberNoPrefix:
        type: string
      TransactionNumber:
        type: string
      TransactionDescription:
        type: string
      AmountWithdrawal:
        type: number
        format: double
      AmountDeposit:
        type: number
        format: double
      Reconciled:
        type: integer
        format: int32
      TransactionItemGUID:
        type: string
        format: uuid
      TransactionHeaderGUID:
        type: string
        format: uuid
      PaymentTypeID:
        type: number
        format: double
      PaymentTypeGUID:
        type: string
        format: uuid
      TransactionType:
        type: integer
        format: int32
      AbsSeqNum:
        type: integer
        format: int32
      SeqNum:
        type: integer
        format: int32
      Amount:
        type: number
        format: double
      LawConnectShared:
        type: boolean
      AccountGUID:
        type: string
        format: uuid
  CreateDocumentPacket:
    type: object
    required:
      - PacketId
    properties:
      PacketId:
        type: string
        format: uuid
        description: Unique ID for the document packet
      CardId:
        type: string
        format: uuid
        description: Card Id relateed to document packet
      MatterId:
        type: string
        format: uuid
        description: LEAP matterId of the matter the task is to be attached to
      AutoNumber:
        type: boolean
        description: Boolean value to make use of Autonumbering for PacketNumber. Autonumbering can be set from LEAP Settings > Documents
      PacketNumber:
        type: string
        description: Packet number for the document packet
      PacketLocation:
        type: string
        description: Location of physical document
      Memo:
        type: string
        description: Memo for this document packet
      Deleted:
        type: boolean
        description: Boolean value if the document packet is deleted
      LeadingZeros:
        type: integer
        format: int32
        description: Used to pad the packet number with a '0' before the AutoNumber
  InfotrackFee:
    type: object
    properties:
      amount:
        type: number
        format: double
      gst:
        type: number
        format: double
      total:
        type: number
        format: double
  WeeklyTimeAndFeeRequest:
    type: object
    properties:
      StartDate:
        type: string
        format: date-time
      StaffIds:
        type: string
      StaffType:
        type: string
  WeeklyTimeAndFeeResponse:
    type: object
    properties:
      BillableHoursByStaff:
        $ref: '#/definitions/BillableHoursByStaff'
      NonBillableHoursByStaff:
        $ref: '#/definitions/NonBillableHoursByStaff'
      TimeRecordedByStaffSummary:
        $ref: '#/definitions/TimeRecordedByStaffSummary'
      FeeRecordedByStaffSummary:
        $ref: '#/definitions/FeeRecordedByStaffSummary'
  BillableHoursByStaff:
    type: object
    properties:
      StaffId:
        type: string
      StaffName:
        type: string
      Monday:
        type: integer
        format: int64
      Tuesday:
        type: integer
        format: int64
      Wednesday:
        type: integer
        format: int64
      Thursday:
        type: integer
        format: int64
      Friday:
        type: integer
        format: int64
      Saturday:
        type: integer
        format: int64
      Sunday:
        type: integer
        format: int64
      Total:
        type: integer
        format: int64
  NonBillableHoursByStaff:
    type: object
    properties:
      StaffId:
        type: string
      StaffName:
        type: string
      Monday:
        type: integer
        format: int64
      Tuesday:
        type: integer
        format: int64
      Wednesday:
        type: integer
        format: int64
      Thursday:
        type: integer
        format: int64
      Friday:
        type: integer
        format: int64
      Saturday:
        type: integer
        format: int64
      Sunday:
        type: integer
        format: int64
      Total:
        type: integer
        format: int64
  TimeRecordedByStaffSummary:
    type: object
    properties:
      StaffId:
        type: string
      StaffName:
        type: string
      Billable_MTD:
        type: integer
        format: int64
      Billable_FYTD:
        type: integer
        format: int64
      NonBillable_MTD:
        type: integer
        format: int64
      NonBillable_FYTD:
        type: integer
        format: int64
  FeeRecordedByStaffSummary:
    type: object
    properties:
      StaffId:
        type: string
      StaffName:
        type: string
      Billable_MTD:
        type: integer
        format: int64
      Billable_FYTD:
        type: integer
        format: int64
      NonBillable_MTD:
        type: integer
        format: int64
      NonBillable_FYTD:
        type: integer
        format: int64     
  CostRecoveryUpdateModel:
    type: object
    required:
      - BillingDescription
      - TransactionDate
      - CostRecoveryId
      - MatterId
      - TaxCodeId
    properties:
      PurchaseMode:
        type: integer
        description: 'Internally used, can be ignored'
        format: int32
      TransactionDate:
        type: string
        description: Date of transaction (any valid datetime)
        format: date-time
      Deleted:
        type: boolean
        description: Is this to be marked as deleted
      DeletedDate:
        type: string
        description: Date of deletion (any valid datetime)
        format: date-time
      Quantity:
        type: integer
        description: How many billable items
        format: int32
      AmountEach:
        type: number
        description: Cost per item
        format: double
      TotalIncTax:
        type: number
        description: 'Total value, including TAX'
        format: double
      TotalExTax:
        type: number
        description: 'Total value, excluding TAX'
        format: double
      TotalTax:
        type: number
        description: Total TAX value
        format: double
      BillingDescription:
        type: string
        description: The description that will appear on the CostRecovery
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      RowVersion:
        type: integer
        description: This field is no longer used and can be ignored
        format: int64
      IncTax:
        type: boolean
        description: Does this item include TAX
      ExternalURL:
        type: string
        description: >-
          When this field is populated, LEAP will open the URL provided when
          opened
      ExternalJSON:
        type: string
        description: >-
          Use this field for capturing app specific custom data (not used by
          LEAP)
      CostRecoveryId:
        type: string
        description: A new GUID that will identify the CostRecovery
        format: uuid
      MatterId:
        type: string
        description: The matter Id
        format: uuid
      TaxCodeId:
        type: string
        description: 'The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)'
        format: uuid
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/costrecovery](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1costrecovery/get)
        format: uuid
      PurchaseSupplierCardId:
        type: string
        description: Card Id related to the purchase supplier
        format: uuid
      WarningAcknowledgments:
        type: array
        description: "These are typical CostRecovery warnings, which would prevent any CostRecovery from being created. Add these items, if you wish to ignore these warnings and allow the creation to continue. \n\nExamples: \n\n\t1001 (Matter has exceeded the estimate of matterDisbursementsEstimate) \n\n\t1099 (This matter is archived)"
        items:
          type: integer
          format: int32
  AnticipatedDisbursement:
    type: object
    properties:
      InvoiceItemGUID:
        type: string
        format: uuid
      AnticipatedDisbursementGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      AmountExTax:
        type: number
        format: double
      AmountIncTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      RowVers:
        type: integer
        format: int64
      StaffGUID:
        type: string
        format: uuid
      taxSplits:
        $ref: '#/definitions/OfficeInvoiceTaxSplits'
  RecurringMatterMatterDocumentVersion:
    type: object
    properties:
      baseVersion:
        type: integer
        format: int32
      recordId:
        type: string
        format: uuid
      userId:
        type: string
        format: uuid
      firmId:
        type: string
        format: uuid
      lastUpdate:
        type: string
        format: date-time
      status:
        type: string
      instanceGuid:
        type: string
        format: uuid
      modifiedUserId:
        type: string
        description: Modified User Id
        format: uuid
  ChangeStatus:
    type: object
    properties:
      StatusID:
        type: integer
        format: int32
      Invoices:
        type: array
        items:
          $ref: '#/definitions/InvoiceStatus'
  OfficeLedgerHistoryModel:
    type: object
    properties:
      OVOMLIGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      ItemRefNum:
        type: string
      ItemDescription:
        type: string
      AmountDisbDebit:
        type: number
        format: double
      AmountDisbCredit:
        type: number
        format: double
      AmountDebtorsDebit:
        type: number
        format: double
      AmountDebtorsCredit:
        type: number
        format: double
      TransactionType:
        type: integer
        format: int32
      TransactionHeaderGUID:
        type: string
        format: uuid
      InvoiceStatus:
        type: integer
        format: int32
  Receipt:
    type: object
    properties:
      TransactionDate:
        type: string
        format: date-time
      Memo:
        type: string
      Amount:
        type: number
        format: double
      ReceiptGUID:
        type: string
        format: uuid
      ReceiptItemGUID:
        type: string
        format: uuid
      ReversedOrReversal:
        type: boolean
  CreateTrustReceiptItem:
    type: object
    required: 
      - MatterGUID
      - Amount
      - Reason
    properties:
      TrustReceiptItemGUID:
        type: string
        format: uuid
        description: GUID for the Trust Receipt Item record attached to the receipt (to be generated by the developer). If an ID is not passed in, an ID will be generated by LEAP.
      MatterGUID:
        type: string
        format: uuid
        description: LEAP GUID for the matter the receipt will be recorded against. 
      Amount:
        type: number
        format: double
        description: Indicates the dollar value of the receipt. 
      Reason:
        type: string
        description: Indicates the reason for the receipt. 
      InterestCalculation:
        type: boolean
        description: Indicates the value of any interest to be calculated. 
      InterestCalculationDate:
        type: string
        format: date-time
        description: indicates the date on which any interest should be calculated. 
  UpdatePreferenceModel:
    type: object
    required:
      - StatutoryDepositMatterFileNumber
    properties:
      StatutoryDepositMatterFileNumber:
        type: string
        format: uuid
      UndepositedFunds:
        type: string
      DebtorsAdjustment:
        type: string
      Debtors:
        type: string
      ClientFees:
        type: string
      CostRecoveries:
        type: string
      PaymentsReceived:
        type: string
      ClientCredits:
        type: string
      OfficePayment:
        type: string
      DiscountsGiven:
        type: string
      DebtorWriteOffs:
        type: string
      PaymentWriteOffs:
        type: string
      AccountingBasis:
        type: string
      XeroTaxAccountCode:
        type: string
  RecurringMatterRead:
    type: object
    properties:
      recurringMatterId:
        type: string
        format: uuid
      name:
        type: string
      deleted:
        type: boolean
        description: Deleted
      matterTypeId:
        type: string
      state:
        type: string
  MattersReadAcl:
    type: object
    properties:
      enabled:
        type: boolean
      staffIds:
        type: array
        items:
          type: string
          format: uuid
  CreateTrustreceipt:
    type: object
    required:
      - TransactionDate
      - TrustreceiptGuid
    properties:
      TrustreceiptGuid:
        type: string
        format: uuid
      RowVersion:
        type: integer
        format: int64
      TransactionDate:
        type: string
        format: date-time
      EntryDate:
        type: string
        format: date-time
  EvaluatePath:
    type: object
    required:
      - firmId
      - matterId
      - region
    properties:
      region:
        type: string
        description: 'Region [uk | us | au]'
      firmId:
        type: string
        description: Firm GUID
      matterId:
        type: string
        description: Matter GUID
      path:
        type: string
        description: 'JS path to evaluate (''firmDetails'', ''matter'')'
      objectId:
        type: string
        description: Object GUID to start evaluation from
      defaultFileId:
        type: string
        description: Object GUID of the matter card to set as default file
      params:
        type: array
        description: >-
          Parameters to be passed to calculation. For API Tables, string must be
          a stringified object.
        items:
          type: string
  MattersReadFile:
    type: object
    properties:
      number:
        type: string
      otherRefs:
        type: string
      location:
        type: string
  FeeReadModel:
    type: object
    properties:
      TransactionDate:
        type: string
        description: Date of transaction (any valid datetime)
        format: date-time
      TransactionNumber:
        type: string
        description: Number for this transaction
      Deleted:
        type: boolean
        description: Indicates if this item is marked for deletion
      DeletedDate:
        type: string
        description: The date of deletion
        format: date-time
      DeletedDetails:
        type: string
        description: >-
          This property is set to 'This transaction has been deleted.' if the
          transaction is deleted - for display
      RateId:
        type: integer
        description: Rate Id (internal)
        format: int32
      RatePerHour:
        type: number
        description: Rate charge per hour
        format: double
      SecondsElapsed:
        type: integer
        description: How many seconds have elapsed
        format: int32
      SecondsPerUnit:
        type: integer
        description: How many seconds there are per unit
        format: int32
      FeeUnits:
        type: integer
        description: How many fee units
        format: int32
      FeeHoursQuantity:
        type: number
        description: The quantity of fee hours to allocate
        format: double
      Timed:
        type: boolean
        description: Is this timed
      CalculationMode:
        type: integer
        description: 0 = Fixed rate per hour | 1 = Fixed amount
        format: int32
      IncTax:
        type: boolean
        description: Includes TAX
      TotalIncTax:
        type: number
        description: Total inclusive of TAX
        format: double
      TotalExTax:
        type: number
        description: Total exclusive of TAX
        format: double
      TotalTax:
        type: number
        description: Total TAX value
        format: double
      BillingDescription:
        type: string
        description: The description that will appear on the fee
      Memo:
        type: string
        description: The memo for this fee
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
      RowVersion:
        type: integer
        description: The database row Id that was affected
        format: int64
      TaxCode:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
      TaskName:
        type: string
        description: Name of task (internal)
      InvoiceTransactionNumber:
        type: string
        description: Transaction number for the invoice attached
      RecordVersion:
        type: integer
        description: Version of the individual record (there can be multiple versions)
        format: int32
      LAActivityTypeCode:
        type: string
        description: LegalAid internal field - this can be ignored
      LABillingStage:
        type: integer
        description: LegalAid internal field - this can be ignored
        format: int32
      MatterBillingMode:
        type: integer
        description: 'LegalAid billing mode, at the time of costrecovery creation'
        format: int32
      LAAdjFeePercent:
        type: number
        description: LegalAid internal field - this can be ignored
        format: double
      LACourtType:
        type: string
        description: LegalAid internal field - this can be ignored
      LAActivityTypeDescription:
        type: string
        description: LegalAid internal field - this can be ignored
      LAMedSessionAmt:
        type: integer
        description: LegalAid internal field - this can be ignored
        format: int32
      LAMedTime:
        type: integer
        description: LegalAid internal field - this can be ignored
        format: int32
      LACCCaseNo:
        type: string
        description: LegalAid internal field - this can be ignored
      LACCOffenceClass:
        type: string
        description: LegalAid internal field - this can be ignored
      LACCTrialTypeID:
        type: string
        description: LegalAid internal field - this can be ignored
      LACCTrialLenInDays:
        type: string
        description: LegalAid internal field - this can be ignored
      LACCPPE:
        type: string
        description: LegalAid internal field - this can be ignored
      LACCNumberOfDefendants:
        type: string
        description: LegalAid internal field - this can be ignored
      LACCCommitalForTrial:
        type: string
        description: LegalAid internal field - this can be ignored
      LACCTrialStartDate:
        type: string
        description: LegalAid internal field - this can be ignored
      LACCTrialEndDate:
        type: string
        description: LegalAid internal field - this can be ignored
      ExternalURL:
        type: string
        description: >-
          When this field is populated, LEAP will open the URL provided when
          opened
      ExternalJSON:
        type: string
        description: >-
          Use this field for capturing app specific custom data (not used by
          LEAP)
      FeeId:
        type: string
        description: Fee Id
        format: uuid
      MatterId:
        type: string
        description: Matter Id
        format: uuid
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid
      TaskCodeId:
        type: string
        description: The TaskCode Id, this can be retrieved from [GET /api/v2/taskcodes/fees](https://leap.build/api-reference/#tag/Task-Codes/paths/~1api~1v2~1taskcodes~1fees/get)
        format: uuid
      WorkDoneByStaffId:
        type: string
        description: The Id (GUID) of the staff member the work was completed by
        format: uuid
      InvoiceId:
        type: string
        description: Invoice Id
        format: uuid
  MultiFeeCreateModel:
    type: array
    items:
      $ref: '#/definitions/FeeCreateModel'
  MultiFeeResponseModel:
    type: object
    properties:
      Id:
        type: string
      Code:
        type: number
      PropertyName:
        type: string
      Message:
        type: string
      MessageHeader:
        type: string
      LineItemHeader:
        type: number
      RowVersion:
        type: string
  InvoiceLayout:
    type: object
    properties:
      InvoiceLayoutId:
        type: string
        format: uuid
      NameFileAs:
        type: string
        description: 'Name of the Task Code, used for display'
      IsDefault:
        type: boolean
  TrustLedgerBalance:
    type: object
    properties:
      Balance:
        type: number
        format: double
      Uncleared:
        type: number
        format: double
      Available:
        type: number
        format: double
      AvailableAbsolute:
        type: number
        format: double
      PTFAmount:
        type: number
        format: double
      PTFAmountInv:
        type: number
        format: double
      PTFAmountPay:
        type: number
        format: double
      AnticipatedDepositAmount:
        type: number
        format: double
  FutureAddressJson:
    type: object
    properties:
      __className:
        type: string
      addressType:
        type: string
      propertyBuildingName:
        type: string
      levelUnitShop:
        type: string
      number:
        type: string
      street:
        type: string
      suburb:
        type: string
      state:
        type: string
      county:
        type: string
      postcode:
        type: string
      country:
        type: string
      specialInstructions:
        type: string
      dateFrom:
        type: string
        format: date-time
      dateTo:
        type: string
        format: date-time
  OfficeReceiptInvoice:
    type: object
    properties:
      InvoiceDate:
        type: string
      InvoiceNumber:
        type: string
      Memo:
        type: string
      Total:
        type: number
        format: double
      BalanceDue:
        type: number
        format: double
      BalanceDueConstant:
        type: number
        format: double
      InvoiceGUID:
        type: string
        format: uuid
      RowVersion:
        type: integer
        format: int64
      MatterGUID:
        type: string
        format: uuid
      MatterNo:
        type: string
      DebtorGUID:
        type: string
        format: uuid
      InvoiceBalanceGUID:
        type: string
        format: uuid
      InvoiceBalanceDue:
        type: number
        format: double
  InitialisationFee:
    type: object
    properties:
      InvoiceItemGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: string
      BillingDescription:
        type: string
      AmountIncTax:
        type: number
        format: double
      AmountExTax:
        type: number
        format: double
      AmountTax:
        type: number
        format: double
      TaxCode:
        type: string
      FeeGUID:
        type: string
        format: uuid
      TaxCodeGUID:
        type: string
        format: uuid
      TaskCodeGUID:
        type: string
        format: uuid
      Timed:
        type: boolean
      SecondsElapsed:
        type: integer
        format: int32
      FeeHoursQuantity:
        type: number
        format: double
      FeeUnits:
        type: integer
        format: int32
      SecondsPerUnit:
        type: integer
        format: int32
      RatePerHour:
        type: number
        format: double
      WorkDoneByStaffGUID:
        type: string
        format: uuid
      AttributeFeesToStaffGUID:
        type: string
        format: uuid
      IncTax:
        type: boolean
      MatterBillingMode:
        type: integer
        format: int32
      LABillingStage:
        type: integer
        format: int32
      RowVers:
        type: integer
        format: int64
      AbsSeqNum:
        type: integer
        format: int32
      LaActivityTypeCode:
        type: string
      LaFeeJSON:
        type: string
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
      BillingMode:
        type: integer
        description: >-
          Billing Mode: -1 = Not billable | 0 = Billable next invoice | 1 =
          Billable later invoice
        format: int32
  MatterSearchTerm:
    type: object
    properties:
      termName:
        type: string
        description: Field to search.
        enum:
          - actinguserid
          - archivenumber
          - assistinguserid
          - billingcategoryid
          - completiondate
          - credituserid
          - customdesc
          - filenumber
          - firmid
          - firstdesc
          - firstdesclong
          - instructiondate
          - isarchived
          - iscurrent
          - labillingmode
          - labillingstage
          - matterstatus
          - mattertype
          - notproceedingdate
          - responsibleuserid
          - seconddesc
          - staffinitials
          - state
          - deletecode
      termValue:
        type: string
        description: Value to look for.
      termOption:
        type: string
        description: Option to use.
        enum:
          - AllowWildcard
          - ExactMatch
  MattersReadMatter:
    type: object
    properties:
      matterId:
        type: string
        format: uuid
        description: Matter Id.
      definableTables:
        type: array
        description: List of definable tables on the matter.
        items:
          $ref: '#/definitions/MattersReadDefinableTable'
      cards:
        type: array
        description: List of cards on the matter.
        items:
          $ref: '#/definitions/MattersReadCard'
      matterTypeId:
        type: string
        description: Matter type Id.
        format: uuid
      deleted:
        type: boolean
        description: Deleted flag.
      noFileCreated:
        type: boolean
        description: Is there no physical file created for archiving?
      financial:
        description: Financial details of the matter.
        $ref: '#/definitions/MattersReadFinancial'
      state:
        type: string
        description: Geographical state of the matter.
      title:
        description: Matter title.
        $ref: '#/definitions/MattersReadTitle'
      substitution:
        description: Matter substitiution details.
        $ref: '#/definitions/MattersReadSubstitution'
      customDescription:
        type: string
        description: Custom description of the matter.
      criticalDates:
        type: array
        description: List of critical dates on the matter.
        items:
          $ref: '#/definitions/MattersReadCriticalDate'
      file:
        description: Matter number details.
        $ref: '#/definitions/MattersReadFile'
      staff:
        description: Details of the staff associated with this matter.
        $ref: '#/definitions/MattersReadStaff'
      invoiceFixed:
        type: boolean
        description: Is the first invoice a fixed fee?
      invoiceFixedAmount:
        type: number
        format: double
        description: Amount of the first fixed invoice.
      referrerCard:
        description: Referrer card details.
        $ref: '#/definitions/MattersReadReferrerCard'
      taxFree:
        type: boolean
        description: Is this matter tax free?
      acl:
        description: Access control list details.
        $ref: '#/definitions/MattersReadAcl'
      archive:
        description: Archive details.
        $ref: '#/definitions/MattersReadArchive'
  OfficeReceipt:
    type: object
    properties:
      OfficeReceiptGUID:
        type: string
        format: uuid
      ReceivedFrom:
        type: string
      MailTo:
        type: string
      BankAccountGUID:
        type: string
        format: uuid
      TransactionNumber:
        type: string
      AutoNumber:
        type: integer
        format: int32
      TransactionDate:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeId:
        type: integer
        format: int32
      PaymentTypeDetailsGUID:
        type: string
        format: uuid
      ReversedOrReversal:
        type: integer
        format: int32
      Memo:
        type: string
      NeedsBanking:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int64
      AccountFileAs:
        type: string
      ReversalGUID:
        type: string
        format: uuid
      ReversalInfo:
        type: string
      TrustToOfficeTrustpayGUID:
        type: string
        format: uuid
      BankDepositGUID:
        type: string
        format: uuid
      BankDepositAccountGUID:
        type: string
        format: uuid
      BankDepositAccountFileAs:
        type: string
  InvoiceItem:
    type: object
    properties:
      InvoiceId:
        type: string
        format: uuid
      TransactionNo:
        type: string
      TransactionDate:
        type: string
        format: date-time
      MatterId:
        type: string
        format: uuid
      ReversedOrReversal:
        type: integer
        format: int32
      Memo:
        type: string
      ReversalId:
        type: string
        format: uuid
      RowVersion:
        type: integer
        format: int64
      MatterBillingMode:
        type: integer
        format: int32
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
      InvoiceStatus:
        type: integer
        format: int32
      FunctionGroupId:
        type: string
        format: uuid
  PersonsReadPhoneNumber:
    type: object
    properties:
      type:
        type: string
        description: Type
        enum:
          - phone
          - fax
          - mobile
          - home
          - work
          - mobile2
          - mobile3
      value:
        type: string
        description: Value
    description: Phone Number Model
  TransitRegisterTransactionCreate:
    type: object
    required:
      - Amount
      - MatterId
      - PaymentTypeDetail
      - PaymentTypeId
      - ReceivedDate
      - TransactionId
    properties:
      TransactionId:
        type: string
        format: uuid
        description: GUID for the transaction (to be generated by the developer)
      MatterId:
        type: string
        format: uuid
        description: LEAO GUID of the attached matter
      ReceivedFrom:
        type: string
        description: Who the transaction was received from
      PaymentTypeName:
        type: string
        description: Payment type
      PaymentTypeGuid:
        type: string
        format: uuid
        description: LEAP GUID of the payment type
      PaymentTypeId:
        type: integer
        format: int32
        description: LEAP Id of the payment type
      Amount:
        type: number
        format: double
        description: Dollar value of the payment
      Reason:
        type: string
        description: Reason for the payment
      Paid:
        type: boolean
        description: Paid status of the transaction
      PaidTo:
        type: string
        description: Who the transaction was paid to
      TransactionNumber:
        type: string
        description: Transaction number for the transaction
      ReceivedDate:
        type: string
        format: date-time
        description: Date the transaction was received
      PaidToDate:
        type: string
        format: date-time
        description: Date the transaction was paid
      EntryDate:
        type: string
        format: date-time
        description: Date the transaction was entered/recorded
      PaymentTypeDetail:
        description: Details relating to the payment
        $ref: '#/definitions/PaymentTypeDetail'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  OfficePaymentDefault:
    type: object
    properties:
      AutoNumber:
        type: boolean
      PaymentProcessed:
        type: boolean
      IncTax:
        type: boolean
  RequestParams:
    type: object
    title: params
    description: >-
      Key/Value parameters passed to API Tables.  To pass arguments to a
      calculation, pass a key "args" with an array of values.
  RecurringMatterReferrerCard:
    type: object
    properties:
      cardGUID:
        type: string
        format: uuid
      personGUID:
        type: string
        format: uuid
  InvestmentAccountTransactionCreate:
    type: object
    required:
      - Payee
      - PaymentTypeName
      - Reason
    properties:
      InvestTransGUID:
        type: string
        format: uuid
      Amount:
        type: number
        format: double
      Payee:
        type: string
      Reason:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeID:
        type: integer
        format: int32
      ExternalJSON:
        type: string
      ExternalURL:
        type: string
      RapidpayCreatedByStaffId:
        type: string
        format: uuid
      RapidpayAuthorizedByStaffId:
        type: string
        format: uuid

  TaxCodeObj:
    type: object
    properties:
      RatePercent:
        type: number
        description: Rate percentage
        format: double
      GLTaxCode:
        type: string
        description: GL tax code
      TaxCode:
        type: string
        description: Tax code name
      GLTaxCodeType:
        type: string
        description: >-
          Tax code type per region: 
          
            GST = AU, NZ, CA 

            VAT = UK 

            TAX = US 
        enum:
          - GST
          - VAT
          - TAX 
      Deleted:
        type: boolean
        description: Indicates if this item has been marked for deletion
      TaxCodeDescription:
        type: string
        description: Taxcode description
      RowVersion:
        type: integer
        description: The database identifier for this item
        format: int64
      TaxCodeSplits:
        type: array
        description: Applicable to Tax Codes for Canada (CA) at the moment - If tax can be split into multiple parts, the parts of the tax code split will be listed in this array
        items:
          $ref: '#/definitions/TaxCodeSplitObjects'
      IsGroupTaxCode:
        type: boolean 
        description: Applicable to Tax Codes for Canada (CA) at the moment - will always return "true" for Tax Codes with splits
      IsTaxCodeUsable:
        type: boolean
        description: Applicable to Tax Codes for Canada (CA) at the moment - Indicates which part of the tax splits are usable for tax calculation
      FirmId:
        type: string
        description: Firm Id
        format: uuid
      TaxCodeId:
        type: string
        description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
        format: uuid

  TaxCodeSplitObjects:
    type: object
    properties:
      TaxCodeGUID:
        type: string
        format: uuid
        description: Tax Code Identifier of the split
      Sequence:
        type: Integer
        format: int32
        description: Sequence number of the tax code split

  CardsReadCard:
    type: object
    properties:
      cardId:
        type: string
        format: uuid
        description: Card Id
      deleteCode:
        type: integer
        format: int32
        description: Delete Code
      shortName:
        type: string
        description: Card short Name
      fullName:
        type: string
        description: Card full name
      type:
        type: string
        description: "Card Type\r\nCould be an enum since possible values are:"
        enum:
          - people
          - company
          - trust
          - government
          - business
      isSupplier:
        type: boolean
        description: Is Supplier
      titleType:
        type: string
        description: Title Type
        enum:
          - default
          - custom
      title:
        type: string
        description: Title
      salutationTitleType:
        type: string
        description: Salutation Title Type
        enum:
          - defaultFriendly
          - defaultFormal
          - custom
      salutationTitle:
        type: string
        description: Salutation Title
      description:
        type: string
        description: Description
      emailType1:
        type: integer
        format: int32
        description: 1st Email
      emailType2:
        type: integer
        format: int32
        description: 2nd Email
      phoneType1:
        type: integer
        format: int32
        description: 1st Phone
      phoneType2:
        type: integer
        format: int32
        description: 2nd Phone
      phoneType3:
        type: integer
        format: int32
        description: 3rd Phone
      comments:
        type: string
        description: General Notes
      addresses:
        type: array
        description: Current Addresses
        items:
          $ref: '#/definitions/CardsReadAddress'
      futureAddresses:
        type: array
        description: Future Addresses
        items:
          $ref: '#/definitions/CardsReadAddress'
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/CardsReadWebAddress'
      phoneNumbers:
        type: array
        description: Phone numbers
        items:
          $ref: '#/definitions/CardsReadPhoneNumber'
      persons:
        type: array
        description: Persons
        items:
          $ref: '#/definitions/CardsReadPerson'
      fields:
        type: array
        description: Fields
        items:
          $ref: '#/definitions/CardsReadField'
      bankAccount:
        description: Bank Account
        $ref: '#/definitions/CardsReadBankAccount'
      organisationDetails:
        description: Organisation Details
        $ref: '#/definitions/CardsReadOrganisationDetails'
  CardsReadTrustee:
    type: object
    properties:
      name:
        type: string
      company:
        type: string
        enum:
          - company
          - individual
      abn:
        type: string
      acn:
        type: string
  PaymentType:
    type: object
    properties:
      PaymentTypeGUID:
        type: string
        format: uuid
      PaymentTypeID:
        type: integer
        format: int32
      SubPaymentTypeID:
        type: integer
        format: int32
      NameFull:
        type: string
      AutoChequeNumber:
        type: boolean
      NeedsBanking:
        type: boolean
      ClearanceDays:
        type: integer
        format: int32
      Deleted:
        type: boolean
        description: Deleted
      RowVersion:
        type: integer
        format: int64
      AutoEFTNumber:
        type: boolean
  RecurringMatterDocumentVersion:
    type: object
    properties:
      documentVersionId:
        type: string
      date:
        type: string
        format: date-time
      userId:
        type: string
      type:
        type: string
      template:
        type: string
      templateId:
        type: string
  FeeUpdateMultipleItemModel:
    type: object
    required:
      - FeeGUID
    properties:
      FeeGUID:
        type: string
        format: uuid
        description: Array of IDs of fees to be updated
      RowVersion:
        type: integer
        format: int64
        description: Array of IDs of fees to be updated
  SubstitutionJson:
    type: object
    properties:
      client:
        type: string
        description: Client on the other side of the Matter
      otherSide:
        type: string
      otherSideSolicitor:
        type: string
        description: Name of the Solicitor on the other side of the Matter
      otherSideInsurer:
        type: string
        description: Name of the Insurer on the other side of the Matter
  CostRecoveryTaxCode:
    type: object
    properties:
      RatePercent:
        type: number
        description: Rate percentage
        format: double
      TaxCodeDescription:
        type: string
        description: TaxCode description
      TaxCode:
        type: string
        description: TaxCode (this can also be looked up in the related GET service)
      Deleted:
        type: boolean
        description: Marked as deleted
      RowVersion:
        type: integer
        description: Database row Id that this related to
        format: int64
      GLTaxCode:
        type: string
        description: GL TaxCode
      TaxCodeId:
        type: string
        description: TaxCode Id
        format: uuid
  OfficeInvoiceV2Item:
    type: object
    properties:
      lineNumber:
        type: string
      date:
        type: string
      transactionNumber:
        type: string
      description:
        type: string
      invoiceItemGUID:
        type: string
        format: uuid
      amountIncTax:
        type: number
        format: double
      amountExTax:
        type: number
        format: double
      amountTax:
        type: number
        format: double
      amountFeeIncTax:
        type: number
        format: double
      amountFeeExTax:
        type: number
        format: double
      amountDisbIncTax:
        type: number
        format: double
      amountDisbExTax:
        type: number
        format: double
      timeEntryGUID:
        type: string
        format: uuid
      costRecoveryGUID:
        type: string
        format: uuid
      paymentItemGUID:
        type: string
        format: uuid
      anticipatedDisbursementGUID:
        type: string
        format: uuid
      disbursementJournalGUID:
        type: string
        format: uuid
      payItemPayToAddressee:
        type: string
      feeQuantity:
        type: number
        format: double
      feeAmountPerItem:
        type: number
        format: double
      teElapsedTime:
        type: string
      teElapsedHours:
        type: number
        format: double
      teElapsedUnits:
        type: integer
        format: int32
      teMinutesPerUnit:
        type: integer
        format: int32
      teRatePerHourExTax:
        type: number
        format: double
      teFeeWorkDoneByStaffInitials:
        type: string
      teFeeWorkDoneByStaffName:
        type: string
      teFeeAttributeWorkToStaffInitials:
        type: string
      teFeeAttributeWorkToStaffName:
        type: string
      crQuantity:
        type: integer
        format: int32
      crAmountPerItem:
        type: number
        format: double
      payItemAdCrPayToSupplierName:
        type: string
      originalAmountIncTax:
        type: number
        format: double
      originalAmountExTax:
        type: number
        format: double
      originalAmountTax:
        type: number
        format: double
      taxCode:
        $ref: '#/definitions/OfficeInvoiceV2TaxCode'
      absoluteSequenceNumber:
        type: string
      itemSequenceNumber:
        type: integer
        format: int32
      taxSplits:
        $ref: '#/definitions/OfficeInvoiceTaxSplits'
  OfficeInvoiceTaxSplits:
    type: array
    items:
      type: object
      properties:
        split:
          $ref: '#/definitions/SplitBody'
  SplitBody:
    type: object
    properties:
      splitGuid:
        type: string
        format: uuid
      splitRate:
        type: number
        format: double
      splitAmount:
        type: number
        format: double
  RecurringMatterACL:
    type: object
    properties:
      enabled:
        type: boolean
  ArrayOfCostRecoveryCreateModel:
    type: array
    items:
      $ref: '#/definitions/CostRecoveryCreateModel'
  CardsReadBankAccount:
    type: object
    properties:
      bsb:
        type: string
        description: Bank Account BSB
      accountName:
        type: string
        description: Bank Account Name
      accountNumber:
        type: string
        description: Bank Account Number
  ArrayOfTaskCodeFee:
    type: array
    items:
      $ref: '#/definitions/TaskCodeFee'
  ReverseOfficeReceipt:
    type: object
    required:
      - Amount
      - MailTo
      - PaymentTypeDetails
      - TransactionDate
      - TransactionNumber
    properties:
      OfficeReceiptGUID:
        type: string
        format: uuid
      RowVersion:
        type: integer
        format: int64
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      ReceivedFrom:
        type: string
      MailTo:
        type: string
      BankAccountGUID:
        type: string
        format: uuid
      TransactionNumber:
        type: string
      AutoNumber:
        type: integer
        format: int32
      TransactionDate:
        type: string
        format: date-time
      PaymentTypeName:
        type: string
      PaymentTypeId:
        type: integer
        format: int32
      PaymentTypeGUID:
        type: string
        format: uuid
      ReversedOrReversal:
        type: integer
        format: int32
      Memo:
        type: string
      NeedsBanking:
        type: integer
        format: int32
      ReverseeGUID:
        type: string
        format: uuid
      Amount:
        type: number
        format: double
      TrustToOfficeTrustpayGUID:
        type: string
        format: uuid
      OfficeReceiptItem:
        type: array
        items:
          $ref: '#/definitions/ReverseOfficeReceiptItem'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  OfficePaymentReverse:
    type: object
    required:
      - BankAccountGUID
      - PaymentTypeGUID
      - TransactionDate
    properties:
      OfficePaymentGUID:
        type: string
        format: uuid
      BankAccountGUID:
        type: string
        format: uuid
      PaymentTypeGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      PaymentNumber:
        type: string
      PayToAddressee:
        type: string
      PaymentTypeName:
        type: string
      PaymentTypeId:
        type: integer
        format: int32
      ReversedOrReversal:
        type: boolean
      PaymentProcessed:
        type: boolean
      RowVersion:
        type: integer
        format: int64
      AutoNumber:
        type: boolean
      ReverseeGUID:
        type: string
        format: uuid
      Void:
        type: boolean
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      OfficePaymentItems:
        type: array
        items:
          $ref: '#/definitions/OfficePaymentItemReverse'
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  ReverseOfficeReceiptItem:
    type: object
    properties:
      OfficeReceiptItemGUID:
        type: string
        format: uuid
      InvoiceApply:
        type: number
        format: double
      InvoiceGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      CreditMemo:
        type: string
      ReverseeGUID:
        type: string
        format: uuid
      RowVersion:
        type: integer
        format: int64
      InvoiceRowVersion:
        type: integer
        format: int64
  InvestmentAccountCreate:
    type: object
    required:
      - AccountUsage
      - BankAccountGUID
      - DateReceived
    properties:
      BankAccountGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      DateOpened:
        type: string
        format: date-time
      DateReceived:
        type: string
        format: date-time
      AccountUsage:
        type: integer
        format: int32
      BSB:
        type: string
      StateCode:
        type: string
      InstituteName:
        type: string
      AccountNumber:
        type: string
      AccountName:
        type: string
      InvestmentTransaction:
        $ref: '#/definitions/InvestmentAccountTransactionCreate'
      PaymentTypeDetails:
        $ref: '#/definitions/InvestmentAccountPaymentTypeDetailsCRUD'
      Beneficiary1GUID:
        type: string
        format: uuid
      Beneficiary2GUID:
        type: string
        format: uuid
      ExternalURL:
        type: string
      ExternalJSON:
        type: string
      WarningAcknowledgments:
        type: array
        items:
          type: integer
          format: int32
  RecurringMatterFinancial:
    type: object
    properties:
      estimateWarning:
        type: integer
        format: int32
      costsEstimate:
        type: number
        format: double
      costsEstimateGST:
        type: number
        format: double
      disbursementsEstimate:
        type: number
        format: double
      disbursementsEstimateGST:
        type: number
        format: double
      costAgreement:
        $ref: '#/definitions/RecurringMatterCostAgreement'
      estimateWarningAction:
        type: string
  MattersWriteField:
    type: object
    required:
      - fieldId
    properties:
      fieldId:
        type: string
        description: Field Id
      value:
        type: string
        description: Value Id
  MattersWriteFieldResponse:
    type: object
    properties:
      fieldId:
        type: string
      value:
        type: string
  CardsWriteWebAddress:
    type: object
    properties:
      type:
        type: string
        description: Web Address Type
        enum:
          - email
          - web
          - email2
          - web2
      value:
        type: string
        description: Web Address value
  CardsReadPhoneNumber:
    type: object
    properties:
      type:
        type: string
        enum:
          - phone
          - fax
          - mobile
          - home
          - work
          - mobile2
          - mobile3
      value:
        type: string
  TemplateField:
    type: object
    properties:
      ElementName:
        type: string
        description: XML element name
      tableId:
        type: string
        description: Table Id
      order:
        type: integer
        description: Order
        format: int32
      fieldId:
        type: string
        description: Field Id
      name:
        type: string
        description: Name of field
      value:
        type: string
        description: Value of field (as text)
  UpdateCardDocumentMetadata:
    type: object
    required:
      - documentId
      - documentName
      - documentType
      - staffInitials
    properties:
      documentId:
        type: string
        format: uuid
      documentName:
        type: string
      createdDate:
        type: string
        format: date-time
      addedDate:
        type: string
        format: date-time
      staffInitials:
        type: string
      deleteCode:
        type: integer
        format: int32
      documentType:
        type: string
  ReadCardDocuments:
    type: object
    properties:
      documentId:
        type: string
        description: documentId
      type:
        type: string
        description: Type of document
      name:
        type: string
        description: Document name
      deleteCode:
        type: integer
        format: int32
        description: Document deleteCode
  AccountsGetAccount:
    type: object
    properties:
      BankAccount:
        type: object
        properties:
          BankAccountId:
            type: string
            format: uuid
            description: Bank Account Id
          AccountName:
            type: string
            description: Account Name
          AccountNumber:
            type: string
            description: Account Number
          AccountBSB:
            type: string
            description: Account BSB
          AccountUsage:
            type: string
            description: Account Usage
            enum:
              - Office
              - Trust
              - ControlledMoney
              - Investment
              - PowerMoney
              - DesignatedClient
              - SeperateInterestBearing
          GLAccountCode:
            type: string
            description: GL Account Code
          CountryCode:
            type: string
            description: Country Code
          StateCode:
            type: string
            description: State Code
          ChequeLayoutID:
            type: integer
            format: int32
            description: Cheque Layout ID
          ChequeMarginH:
            type: integer
            format: int32
            description: Cheque Margin H
          ChequeMarginV:
            type: integer
            format: int32
            description: Cheque Margin V
          ChequeSVGLayoutId:
            type: string
            format: uuid
            description: Cheque SVG Layout ID
          Deleted:
            type: boolean
            description: Deleted
          Archived:
            type: boolean
            description: Archived
          InvestMatterId:
            type: string
            format: uuid
            description: Invest Matter ID
          CreatedByStaffId:
            type: string
            format: uuid
            description: Created By Staff ID
          CreatedDTS:
            type: string
            format: date-time
            description: Created DTS
          ModifiedByStaffId:
            type: string
            format: uuid
            description: Modified By Staff ID
          ModifiedDTS:
            type: string
            format: date-time
            description: Modified DTS
          AccountClosed:
            type: boolean
            description: Account Closed
          DateOpened:
            type: string
            format: date-time
            description: Date Opened
          InstituteName:
            type: string
            description: Institute Name
          NameFileAs:
            type: string
            description: Name File As
          ExternalCodeUniqie:
            type: string
            description: External Code Unique
          ImportedFrom:
            type: string
            description: Imported From
          Description:
            type: string
            description: Description
          PMOpeningBalance:
            type: number
            format: double
            description: PM Opening Balance
          PMOpeningBalanceUnknown:
            type: boolean
            description: PM Opening Balance Unknown
          ExternalURL:
            type: string
            description: External URL
          ExternalJSON:
            type: string
            description: External JSON
          IsMaqAccount:
            type: integer
            description: int32
          Drawer:
            type: string
            description: Drawer
          IPBankAccountNumber:
            type: string
            description: IP Bank Account Number
          ProductControlID:
            type: integer
            format: int32
            description: Product Control ID
          RPBankFeedsEnabled:
            type: string
            description: RP Bank Feeds Enabled
          RPEnabled:
            type: boolean
            description: RP Enabled
          RPVerificationStatus:
            type: string
            description: RP Verification Status
            enum:
              - Unverified
              - Verified
              - Pending
          RowVersion:
            type: integer
            description: int64
      BankAccountSequences:
        type: object
        properties:
          ChequeNumber:
            type: integer
            format: int32
            description: Cheque Number
          ReceiptNumber:
            type: integer
            format: int32
            description: Receipt Number
          BankDepositNumber:
            type: integer
            format: int32
            description: Bank Deposit Number
          JournalNumber:
            type: integer
            format: int32
            description: Journal Number
          ReceiptsReport:
            type: integer
            format: int32
            description: Receipts Report
          PaymentsReport:
            type: integer
            format: int32
            description: Payments Report
          JournalsReport:
            type: integer
            format: int32
            description: Journals Report
          BankRecCurrentStatementDate:
            type: string
            format: date-time
            description: Bank Rec Current Statement Date
          BankRecStatementBalance:
            type: number
            format: double
            description: Bank Rec Statement Balance
          BankRecStatementDate:
            type: string
            format: date-time
            description: Bank Rec Statement Date
          EFTNumber:
            type: integer
            format: int32
            description: EFT Number
          LastEOM:
            type: string
            format: date-time
            description: Last EOM
  AccountsPostAccount:
    type: object
    properties:
      BankAccount:
        type: object
        properties:
          BankAccountId:
            type: string
            format: uuid
            description: Bank Account Id
          AccountName:
            type: string
            description: Account Name
          AccountNumber:
            type: string
            description: Account Number
          AccountBSB:
            type: string
            description: Account BSB
          AccountUsage:
            type: string
            description: Account Usage
            enum:
              - Office
              - Trust
              - ControlledMoney
              - Investment
              - PowerMoney
              - DesignatedClient
              - SeperateInterestBearing
          GLAccountCode:
            type: string
            description: GL Account Code
          CountryCode:
            type: string
            description: Country Code
          StateCode:
            type: string
            description: State Code
          ChequeLayoutID:
            type: integer
            format: int32
            description: Cheque Layout ID
          ChequeMarginH:
            type: integer
            format: int32
            description: Cheque Margin H
          ChequeMarginV:
            type: integer
            format: int32
            description: Cheque Margin V
          ChequeSVGLayoutId:
            type: string
            format: uuid
            description: Cheque SVG Layout ID
          InvestMatterId:
            type: string
            format: uuid
            description: Invest Matter ID
          ModifiedDTS:
            type: string
            format: date-time
            description: Modified DTS
          AccountClosed:
            type: boolean
            description: Account Closed
          DateOpened:
            type: string
            format: date-time
            description: Date Opened
          InstituteName:
            type: string
            description: Institute Name
          NameFileAs:
            type: string
            description: Name File As
          ExternalCodeUniqie:
            type: string
            description: External Code Unique
          ImportedFrom:
            type: string
            description: Imported From
          Description:
            type: string
            description: Description
          PMOpeningBalance:
            type: number
            format: double
            description: PM Opening Balance
          PMOpeningBalanceUnknown:
            type: boolean
            description: PM Opening Balance Unknown
          ExternalURL:
            type: string
            description: External URL
          ExternalJSON:
            type: string
            description: External JSON
          IsMaqAccount:
            type: integer
            description: int32
          Drawer:
            type: string
            description: Drawer
          ProductControlID:
            type: integer
            format: int32
            description: Product Control ID
          RPBankFeedsEnabled:
            type: string
            description: RP Bank Feeds Enabled
          RPEnabled:
            type: boolean
            description: RP Enabled
          RPVerificationStatus:
            type: string
            description: RP Verification Status
            enum:
              - Unverified
              - Verified
              - Pending
          AppId:
            type: string
            description: cloud
      BankAccountSequences:
        type: object
        properties:
          ChequeNumber:
            type: integer
            format: int32
            description: Cheque Number
          ReceiptNumber:
            type: integer
            format: int32
            description: Receipt Number
          BankDepositNumber:
            type: integer
            format: int32
            description: Bank Deposit Number
          JournalNumber:
            type: integer
            format: int32
            description: Journal Number
          ReceiptsReport:
            type: integer
            format: int32
            description: Receipts Report
          PaymentsReport:
            type: integer
            format: int32
            description: Payments Report
          JournalsReport:
            type: integer
            format: int32
            description: Journals Report
          BankRecCurrentStatementDate:
            type: string
            format: date-time
            description: Bank Rec Current Statement Date
          BankRecStatementBalance:
            type: number
            format: double
            description: Bank Rec Statement Balance
          BankRecStatementDate:
            type: string
            format: date-time
            description: Bank Rec Statement Date
          EFTNumber:
            type: integer
            format: int32
            description: EFT Number
          LastEOM:
            type: string
            format: date-time
            description: Last EOM
  AccountsUpdateAccount:
    type: object
    properties:
      BankAccount:
        type: object
        properties:
          BankAccountId:
            type: string
            format: uuid
            description: Bank Account Id
          AccountName:
            type: string
            description: Account Name
          AccountNumber:
            type: string
            description: Account Number
          AccountBSB:
            type: string
            description: Account BSB
          AccountUsage:
            type: string
            description: Account Usage
            enum:
              - Office
              - Trust
              - ControlledMoney
              - Investment
              - PowerMoney
              - DesignatedClient
              - SeperateInterestBearing
          GLAccountCode:
            type: string
            description: GL Account Code
          CountryCode:
            type: string
            description: Country Code
          StateCode:
            type: string
            description: State Code
          ChequeLayoutID:
            type: integer
            format: int32
            description: Cheque Layout ID
          ChequeMarginH:
            type: integer
            format: int32
            description: Cheque Margin H
          ChequeMarginV:
            type: integer
            format: int32
            description: Cheque Margin V
          ChequeSVGLayoutId:
            type: string
            format: uuid
            description: Cheque SVG Layout ID
          Deleted:
            type: boolean
            description: Deleted
          InvestMatterId:
            type: string
            format: uuid
            description: Invest Matter ID
          ModifiedDTS:
            type: string
            format: date-time
            description: Modified DTS
          AccountClosed:
            type: boolean
            description: Account Closed
          DateOpened:
            type: string
            format: date-time
            description: Date Opened
          InstituteName:
            type: string
            description: Institute Name
          NameFileAs:
            type: string
            description: Name File As
          ExternalCodeUniqie:
            type: string
            description: External Code Unique
          Description:
            type: string
            description: Description
          PMOpeningBalance:
            type: number
            format: double
            description: PM Opening Balance
          PMOpeningBalanceUnknown:
            type: boolean
            description: PM Opening Balance Unknown
          ExternalURL:
            type: string
            description: External URL
          ExternalJSON:
            type: string
            description: External JSON
          IsMaqAccount:
            type: integer
            description: int32
          Drawer:
            type: string
            description: Drawer
          ProductControlID:
            type: integer
            format: int32
            description: Product Control ID
          RPBankFeedsEnabled:
            type: string
            description: RP Bank Feeds Enabled
          RPEnabled:
            type: boolean
            description: RP Enabled
          RPVerificationStatus:
            type: string
            description: RP Verification Status
            enum:
              - Unverified
              - Verified
              - Pending
          RowVersion:
            type: integer
            format: int32
            description: Row Version
          AppId:
            type: string
            description: cloud
      BankAccountSequences:
        type: object
        properties:
          ChequeNumber:
            type: integer
            format: int32
            description: Cheque Number
          ReceiptNumber:
            type: integer
            format: int32
            description: Receipt Number
          BankDepositNumber:
            type: integer
            format: int32
            description: Bank Deposit Number
          JournalNumber:
            type: integer
            format: int32
            description: Journal Number
          ReceiptsReport:
            type: integer
            format: int32
            description: Receipts Report
          PaymentsReport:
            type: integer
            format: int32
            description: Payments Report
          JournalsReport:
            type: integer
            format: int32
            description: Journals Report
          BankRecCurrentStatementDate:
            type: string
            format: date-time
            description: Bank Rec Current Statement Date
          BankRecStatementBalance:
            type: number
            format: double
            description: Bank Rec Statement Balance
          BankRecStatementDate:
            type: string
            format: date-time
            description: Bank Rec Statement Date
          EFTNumber:
            type: integer
            format: int32
            description: EFT Number
          LastEOM:
            type: string
            format: date-time
            description: Last EOM
  MattersGetMatter:
    type: object
    properties:
      matterId:
        type: string
        format: uuid
        description: Matter Id
      definableTables:
        description: Definable Tables
        $ref: '#/definitions/MattersReadDefinableTable'
      cards:
        description: List of cards on the matter.
        $ref: '#/definitions/MattersReadCard'
      matterTypeId:
        type: string
        description: Matter Type Id
      deleted:
        type: boolean
        description: Deleted flag
      noFileCreated:
        type: boolean
        description: Is there no physical file created for archiving?
      financial:
        $ref: '#/definitions/MattersReadFinancial'
        description: Financial
      state:
        type: string
        description: Geographical state of the matter
      title:
        $ref: '#/definitions/MattersReadTitle'
        description: Title
      substitution:
        $ref: '#/definitions/MattersReadSubstitution'
        description: Substitution
      customDescription:
        type: string
        description: Custom description of the matter.
      criticalDates:
        $ref: '#/definitions/MattersReadCriticalDate'
        description: Critical dates
      file:
        $ref: '#/definitions/MattersReadFile'
        description: File
      staff:
        $ref: '#/definitions/MattersReadStaff'
        description: Staff
      invoiceFixed:
        type: boolean
        description: Is the first invoice a fixed fee?
      invoiceFixedAmount:
        type: number
        format: double
        description: Amount of the first fixed invoice.
      referrerCard:
        $ref: '#/definitions/MattersReadReferrerCard'
        description: Referrer Card
      taxFree:
        type: boolean
        description: Is this matter tax free?
      acl:
        $ref: '#/definitions/MattersReadAcl'
        description: ACL
      archive:
        $ref: '#/definitions/MattersReadArchive'
        description: Archive
  MattersGetPackage:
    type: object
    properties:
      matter:
        type: object
        description: Retrieve details of this matter
        $ref: '#/definitions/MattersGetMatter'
      cards:
        type: object
        description: Retrieve cards attached to this matter
        $ref: '#/definitions/CardJson'
      persons:
        type: object
        description: Retrieve persons attached to this matter
        $ref: '#/definitions/PersonsReadPerson'
  CardGetPackage:
    type: object
    properties:
      cards:
        type: object
        description: Retrieve cards attached to this matter
        $ref: '#/definitions/CardJson'
      persons:
        type: object
        description: Retrieve persrons attached to this matter
        $ref: '#/definitions/PersonsReadPerson'
  ErrorMessage400:
    type: object
    properties:
      message:
        type: string
  ErrorMessage404:
    type: object
    properties:
      message:
        type: string
  ErrorMessage500:
    type: object
    properties:
      message:
        type: string
  MatterGetRecurringMatterList:
    type: object
    properties:
      recurringMatterId:
        type: string
      name:
        type: string
      deleted:
        type: string
      matterTypeId:
        type: string
      state:
        type: string
  DefinableTablePostBody:
    type: object
    properties:
      DefinableTableId:
        type: string        
      Fields:
        type: array              
        description: Add fields to this array, depending on the Definable Table type
        items:
          $ref: '#/definitions/DefinableTableArrayBody'
  DefinableTableArrayBody:
    type: object
    properties:
      FieldId:
        type: string
        description: Field Id
      Value:
        type: string
        description: 'Value'
  DefinableTablePostResponse200:
    type: object
    properties:
      DefinableTableId:
        type: string
        description: DefinableTable Id
        format: uuid
      Order:
        type: string
        description: Order
        format: uuid
      DisplaySequence:
        type: int
        description: Display Sequence
      Fields:
        type: array              
        description: Add fields to this array, depending on the Definable Table type
        items:
          $ref: '#/definitions/DefinableTableArrayBody'
      Description:
        type: string
        description: Description
      RecordId:
        type: string
        description: Record Id
        format: uuid
  DefinableTableDeleteBody:
    type: object
    properties:
      MatterId:
        type: string        
      RecordId:
        type: string
  DefinableTableDeleteResponse200:
    type: object
  DefinableTablePutV1Body:
    type: object
    properties:
      DefinableTableId:
        type: string
      DisplaySequence: 
        type: number
      Fields:
        type: array              
        description: Add fields to this array, depending on the Definable Table type
        items:
          $ref: '#/definitions/DefinableTableArrayBody'
  DefinableTablePutV2Body:
    type: object
    properties:
      DefinableTableId:
        type: string
      RecordId: 
        type: string
      Fields:
        type: array              
        description: Add fields to this array, depending on the Definable Table type
        items:
          $ref: '#/definitions/DefinableTableArrayBody'

  GetFirmByFirmID_Response200:
    type: object
    properties:
      FirmDetails:
        type: string
        description: Firm Details
        format: uuid
      Staff:
        type: string
        description: Staff
        format: uuid
      Branches:
        type: string
        description: Branches
        format: uuid  

  GetFirmByFirmID_Response200_New:
    type: object
    properties:
      FirmDetails:
        type: object
        properties: 
          __className:
            type: string
          __id: 
            type: string
          __region: 
            type: string
          __env: 
            type: string
          __isTestFirm: 
            type: boolean
          byLawyers: 
            type: boolean
          branchList:
            type: array
            items:
              type: object
              properties:
                branchDetail:
                  type: string              
          autoNumbering: 
            type: boolean
          autoNumberingFormat: 
            type: string
          firmName: 
            type: string
          firmDisplayName: 
            type: string
          externalPlatform: 
            type: integer 
          gstRate: 
            type: integer
          staffList:
            type: array
            items:
              type: object
              properties:
                staffDetail:
                  type: string 
          currency: 
            type: object
            properties:
              currencyId:              
                type: integer
              code:
                type: string
              symbol:
                type: string
              word:
                type: string
              fractionalWord:
                type: string
              isDefault:
                type: boolean
          countryCode:
            string: 
          state:
            string:
          defaultSearchProvider:
            string:
          prefs:
            type: object
            properties:
              favouriteMatterTypes:
                type: array
                items:
                  type: object
                  properties:
                    favouriteMatterTypesDetails:
                      type: string
          matterAddins:
            type: array
            items:
              type: object
              properties:
                matterAddinsDetails:
                  type: string
          superDiary:
            type: boolean
          forceEnableAutoTime: 
            type: boolean
          releaseWave:
            type: object
            properties:
              desktop: 
                type: string          
      Staff:
        type: array
        items:
          type: object
          properties:
            __id:
              type: string
            __className:
              type: string
            deleteCode:
              type: integer
            userId:
              type: string
            userName:
              type: string
            branch:
              type: string
            firstName:
              type: string
            lastName:
              type: string
            middleName:
              type: string
            initials:
              type: string
            fullName:
              type: string
            legalFullName:
              type: string
            qualifications:
              type: string
            title:
              type: string
            phone:            
              type: string
            fax:
              type: string
            email:
              type: string
            immigLicense:
              type: string
            certificates:
              type: string
            extension:
              type: string
            mobile: 
              type: string
            firmReference:
              type: string
            rate1:
              type: integer
            rate2:
              type: integer
            rate3:
              type: integer
            rate4:
              type: integer
            rate5:
              type: integer
            rate6:
              type: integer
            status:
              type: integer
            autoTime:
              type: boolean
            matterAddins:
              type: array
              items: 
                type: object
                properties:
                  matterAddinsDetails:
                    type: string
            legalAid:
              type: object
              properties:
                rollNumber:
                  type: string
                grade:
                  type: string            
      Branches:
        type: array
        items:        
          type: object
          properties:
            __className:
              type: string
            __id:
              type: string
            name:
              type: string
            displayName:
              type: string
            isMainBranch:
              type: boolean
            deleteCode:
              type: integer        

  NotificationsBody:
    type: object
    required:
      - firmId
      - senderId
      - topic
      - staffId
      - titleTemplate
    properties:
      firmId:
        type: string
        description: GUID of the Firm you are sending to
        format: uuid
      senderId:
        type: string
        description: GUID of the sender for the notification
        format: uuid
      topic:
        type: string
        description: Provided by LEAP Support
      staffId:
        type: string
        description: GUID of the Staff member the request is for
        format: uuid
      visibleDate:
        type: string
        description: Date that the notification will be available
        format: date-time
      titleTemplate:
        type: string
        description: Title of the notification
      bodyTemplate:
        type: string
        description: Body text of the notification
      appGroupId:
        type: string
        description: A GUID which represents the ID for each app
        format: uuid
      functionGroupId:
        type: string
        description: LEAP AppStore app function group ID
        format: uuid
      openUrl:
        type: string
        description: Used for providing a URL that will open in a browser
      notificationType:
        type: string
        description: Determines what notification type it is
        enum:
          - Message
          - Badge
          - MessageBadge
      context:
        type: object
        properties:
          entity:
            type: object
            properties:
              Id:
                type: string
                description: LEAP Entity GUID
                format: uuid
              type:
                type: enum
                description: "What matter type the entity relates to. Possible options are: Matter = 1, Card = 2, Person = 3, Document = 4, SearchOrder = 5, Appointment = 7, Task = 8, CriticalDate = 9, Comment = 10, Email = 11, PaymentRequest = 12, Invoice = 13,  DefinableTable = 14, RFI = 15"
                enum:
                  - Matter
                  - Card
                  - Person
                  - Document
                  - SearchOrder
                  - Appointment
                  - Task
                  - CriticalDate
                  - Comment
                  - Email
                  - PaymentRequest
                  - Invoice
                  - DefinableTable
                  - RFI
              relatedEntityId:
                type: string
                description: LEAP Matter GUID for use cases where you want show a notification in the context of a parent entity
                format: uuid
              relatedEntityType:
                type: enum
                description: What matter type the entity relates to
  NotificationsFirmBody:
    type: object
    required:
      - firmId
      - senderId
      - topic
      - staffId
      - titleTemplate
    properties:
      firmId:
        type: string
        description: GUID of the Firm you are sending to
        format: uuid
      senderId:
        type: string
        description: GUID of the sender for the notification
        format: uuid
      topic:
        type: string
        description: Provided by LEAP Support
      visibleDate:
        type: string
        description: Date that the notification will be available
        format: date-time
      titleTemplate:
        type: string
        description: Title of the notification
      bodyTemplate:
        type: string
        description: Body text of the notification
      appGroupId:
        type: string
        description: A GUID which represents the ID for each app
        format: uuid
      functionGroupId:
        type: string
        description: LEAP AppStore app function group ID
        format: uuid
      openUrl:
        type: string
        description: Used for providing a URL that will open in a browser
      notificationType:
        type: string
        description: Determines what notification type it is
        enum:
          - Message
          - Badge
          - MessageBadge
      context:
        type: object
        properties:
          entity:
            type: object
            properties:
              Id:
                type: string
                description: LEAP Entity GUID
                format: uuid
              type:
                type: enum
                description: "What matter type the entity relates to. Possible options are: Matter = 1, Card = 2, Person = 3, Document = 4, SearchOrder = 5, Appointment = 7, Task = 8, CriticalDate = 9, Comment = 10, Email = 11, PaymentRequest = 12, Invoice = 13,  DefinableTable = 14, RFI = 15"
                enum:
                  - Matter
                  - Card
                  - Person
                  - Document
                  - SearchOrder
                  - Appointment
                  - Task
                  - CriticalDate
                  - Comment
                  - Email
                  - PaymentRequest
                  - Invoice
                  - DefinableTable
                  - RFI
              relatedEntityId:
                type: string
                description: LEAP Matter GUID for use cases where you want show a notification in the context of a parent entity
                format: uuid
              relatedEntityType:
                type: enum
                description: What matter type the entity relates to
  NotificationsResponse200:
    type: object
  NotificationsErrorResp400Result:
    statusCode: 400
    errorCode: 13
    message: "sender 6b2f63ba-164c-48c9-87b1-690cee2b3da3 has no access to topic string"
    modelStates: null
  NotificationsErrorResp400:
    type: object
    properties:
      statusCode:
        type: integer
        description: Status code
        format: int32
      errorCode:
        type: integer
        description: Error code
        format: int32
      message:
        type: string
        description: Error message
      modelStates:
        type: string
        description: null
  OfficeInvoiceAdjustResponse200:
    type: object
    properties:
      InvoiceGUID:
        type: string
        description: Invoice GUID
        format: uuid
      SplitCardGUID:
        type: string
        description: Split Card GUID
        format: uuid
      InvoiceTransactionNumber:
        type: integer
        description: Invoice Transaction Number
        format: int32
      MatterGUID:
        type: string
        description: GUID for the Matter
        format: uuid
      InvoiceRowVersion:
        type: integer
        format: int64
      AdjustmentDebtorType:
        type: integer
        format: int32    
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: integer
        format: int32
      AutoNumber:
        type: integer
        format: int32
      MailTo:
        type: string
        description: Client the invoice is for
      Memo:
        type: string
        description: Any notes made on the invoice
      ReversedOrReversal:
        type: boolean
      ReversalInfo:
        type: string
      RowVersion:
        type: integer
        format: int64
      BalanceDue:
        type: number
        format: double
      CreatedByStaffId:
        type: string
        format: uuid
      InvoiceAdjustmentItems:
        type: array
        items:
          type: object
          properties:
            AdjustmentItemGUID:
              type: string
              format: uuid
            AdjustmentType:
              type: integer
              format: int32
            AmountIncTax:
              type: number
              format: double
            AmountExTax:
              type: number
              format: double
            AmountTax:
              type: number
              format: double
            TaxCodeGUID:
              type: string
              format: uuid
            TaxCode:
              type: string
            RowVersion:
              type: integer
              format: int64
            ReversalGUID:
              type: string
              format: uuid
            StaffGUID:
              type: string
              format: uuid
            TaskCodeGUID:
              type: string
              format: uuid
            TaskCode:
              type: string
            OPItemGUID:
              type: string
              format: uuid
            OPTransactionNumber:
              type: string
            OPPayToAddressee:
              type: string
            DJItemGUID:
              type: string
              format: uuid
            DJTransactionNumber:
              type: string
            ADGUID:
              type: string
              format: uuid
            ADTransactionNumber:
              type: string
            ADSupplierCardGUID:
              type: string
              format: uuid
            FeeAllocationAmountIncTax:
              type: number
              format: double
            FeeAllocationAmountExTax:
              type: number
              format: double
            FeeAllocationAmountTax:
              type: number
              format: double
    
  OfficeInvoiceAdjustErrorResp400:    
    type: object
    properties:
      Code:
        type: integer
        description: Status code
        format: int32
      PropertyName:
        type: string
      Message:
        type: string
        description: Error message
      MessageHeader:
        type: string
      LineItemNumber:
        type: integer
  OfficeInvoiceAdjustErrorResp400Result:
    Code: -1
    PropertyName: null
    Message: Invalid transaction mode
    MessageHeader: null
    LineItemNumber: null
    
  OfficeInvoicesBody:
    FuntionGroupId:
      type: string
      format: uuid
    type: object
    required:
      - MatterGUID
    properties:
    
  ChangeInvoiceStatus200:
    type: object
    properties:
      BatchNo:
        type: integer
        format: int32
      BatchId:
        type: string
        format: uuid
      Invoices:
        type: array
        items:
          type: object
          properties:
            InvoiceGUID: 
              type: string
              format: uuid
            InvoiceNumber: 
              type: string
            MatterGUID: 
              type: string
              format: uuid
            MatterNumber: 
              type: string
            Code:
              type: integer
              format: int32
            ErrorReason: 
              type: string
            RowVersion:
              type: integer
              format: int32
            StatusId:
              type: integer
              format: int32
            Status:
              type: string
            LayoutGUID:
              type: string
           
  InvoiceLayouts:
    type: object
    properties:
      InvoiceLayoutId:
        type: string
        format: uuid
      NameFileAs:
        type: string
      IsDefault:
        type: boolean
        
  InvoicesResponse:
    $ref: '#/definitions/InvoiceItemList'
    
  OfficeInvoiceInitExample:
    Preferences:
      InvoiceLayoutGUID: string
      
  ReverseInvoiceResponse:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int32
      Message:
        type: string
      MessageHeader:
        type: string
      LineItemNumber:
        type: integer
        format: int32
        
  DisbursementJournalLADSOC:
    type: object
    properties:
      OfficeDJGUID:
        type: string
        format: uuid
      TransactionDate:
        type: string
        format: date-time
      TransactionNumber:
        type: integer
        format: int32
      WriteOffMode:
        type: integer
        format: int32
      DisbursementJournalItems:
        $ref: '#/definitions/DisbursementJournalItems'
      WarningAcknowledgments:
          type: array
          items:
            0
  
  PowerMoneyTransactionLADSPV:
    type: object
    properties:
      EntryDate:
        type: string
        format: date-time
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      PayeePayor:
        type: string
      Reason:
        type: string
      TransactionNumber:
        type: string
      PaymentTypeGUID:
        type: string
        format: uuid
      ReversalId:
        type: string
        format: uuid
      PaymentTypeName:
        type: string
      TransactionDate:
        type: string
        format: date-time
      AuthorizedById:
        type: string
        format: uuid
      PaymentSubTypeId:
        type: string
        format: int32
      MatterInfo:
        $ref: '#/definitions/MatterInfoInitializationData'
      ReversalEntryDate:
        type: string
        format: date-time
      TransactionTypeId:
        type: integer
        format: int32
      ReversedOrReversal:
        type: integer
        format: int32
      PowerMoneyId:
        type: string
        format: uuid
      AccountNumber:
        type: string
      Amount:
        type: number
        format: double
      IsReversal:
        type: integer
        format: int32
      AccountName:
        type: string
      PaymentTypeId:
        type: integer
        format: int32
      ReversalInfo:
        type: string
      MatterId:
        type: string
        format: uuid
      PaymentTypeDetailsId:
        type: string
        format: uuid
      AuthorizedByName:
        type: string
      RowVersion:
        type: integer
        format: int64
      PaymentTypeList:
        type: array
        items:
          $ref: '#/definitions/PaymentType'
          
  DisbursementJournalItems:
    type: array
    items:
      type: object
      properties:
        OfficeDJItemGUID:
          type: string
          format: uuid
        MatterGUID:
          type: string
          format: uuid
        TaxCodeGUID:
          type: string
          format: uuid
        AmountIncTax:
          type: number
          format: double
        AmountExTax:
          type: number
          format: double
        AmountTax:
          type: number
          format: double
        BillingDescription:
          type: string
        BillingMode:
          type: integer
          format: int32
        WOPayItemGUID:
          type: string
          format: uuid
        WOPayItemRowVersion:
          type: integer
          format: int32
        DisbursementJournalItemTaxSplits:
          type: array
          items:
            TaxCodeId:
              type: string
              format: uuid
            TaxAmount:
              type: number
              format: double
              
  OfficeJournalResponse:
    type: object
    properties:
      Code:
        type: integer
        format: int32
      RowVersion:
        type: integer
        format: int32
      Message:
        type: string
      TransactionNumber:
        type: string
        
  OfficeJournalInitialisationResponse:
    type: object
    properties:
      TaxCodes:
        type: array
        items:
          type: object
          properties:
            RatePercent:
              type: number
              description: Rate percentage
              format: double
            GLTaxCode:
              type: string
              description: GL tax code
            TaxCode:
              type: string
              description: Tax code name
            GLTaxCodeType:
              type: string
              description: 'GST, VAT, TAX'
            Deleted:
              type: boolean
              description: Indicates if this item has been marked for deletion
            TaxCodeDescription:
              type: string
              description: Taxcode description
            RowVersion:
              type: integer
              description: The database identifier for this item
              format: int64
            TaxCodeSplits:
              type: array
              items:
                type: object
                properties:
                  TaxCodeGUID:
                    type: string
                    format: uuid
                  Sequence:
                    type: number
                    format: double
            IsGroupTaxCode:
              type: boolean
            IsTaxCodeUsable:
              type: boolean            
            FirmId:
              type: string
              description: Firm Id
              format: uuid
            TaxCodeId:
              type: string
              description: The TaxCode Id, this can be retrieved from [GET /api/v2/taxcodes](https://leap.build/api-reference/#tag/Tax-Codes/paths/~1api~1v2~1taxcodes/get)
              format: uuid
      GSTTaxCodeGUID:
        type: string
        format: uuid
      OfficePaymentItem:
        type: object
        properties:        
          OfficePaymentItemGUID:
            type: string
            format: uuid
          MatterGUID:
            type: string
            format: uuid
          MatterFileNo:
            type: string
            format: uuid
          TaxCodeGUID:
            type: string
            format: uuid
          AmountIncTax:
            type: number
            format: double
          AmountExTax:
            type: number
            format: double
          AmountTax:
            type: number
            format: double
          Description:
            type: string
          RowVersion:
            type: integer
            format: int64
          TransactionNumber:
            type: integer
            format: int32
  
  PaymentTypesResponse:
    type: object
    properties:
      PaymentTypeGUID:
          type: string
          format: uuid
      PaymentTypeID:
        type: integer
        format: int32
      SubPaymentTypeID:
        type: integer
        format: int32
      NameFull:
        type: string
      AutoChequeNumber:
        type: boolean 
      NeedsBanking:
        type: boolean
      ClearanceDays:
        type: integer
        format: int32
      Deleted:
        type: boolean
      RowVersion: 
        type: integer
        format: int64
      AutoEFTNumber:
        type: boolean
  ReportingAtDate:
    type: object
    properties:
      AtDate:
        type: string
        format: date-time
  ReportingControlledMoney:
    type: object
    properties:
      FirmName:
        type: string
        description: LEAP firm name
      FirmAbn:
        type: string
        description: LEAP firm ABN
      AccountDetails:
        description: LEAP bank account details
        type: array
        items: 
          type: object
          properties:
            CardId:
              type: string
              format: uuid
              description: LEAP card GUID
            MatterNumber:
              type: string
              description: LEAP matter number
            MatterDescription:
              type: string
              description: LEAP matter description
            ClientName:
              type: string
              description: LEAP client first name
            ClientLastName:
              type: string
              description: LEAP client surname
            AccountName:
              type: string
              description: LEAP bank account name
            AccountBSB:
              type: string
              description: LEAP bank account BSB
            AccountNumber:
              description: LEAP bank account number
              type: string
            InstituteName:
              description: LEAP bank account institution
              type: string
            Balance:
              type: number
              format: double
              description: LEAP bank account balance
            StaffResponsibleId:
              type: string
              format: uuid
              description: LEAP staff responsible GUID
            StaffActingId:
              type: string
              format: uuid
              description: LEAP staff acting GUID
            StaffResponsible:
              description: LEAP staff responsible GUID
              type: string
            StaffActing:
              type: string
              description: LEAP acting staff member
            AccountBSBAndNumber:
              type: string
              description: Account number & BSB
              
  ArrayOfMattersCreateCard:
    type: array
    items:
      type: object
      properties:
        recordId:
          type: string
          format: uuid
        tableId:
          type: string
          format: uuid
        table:
          type: object
          properties:
            tableId:
              type: string
              format: uuid
            fields:
              type: array
              items:
                type: object
                properties:
                  fieldId:
                    type: string
                    format: uuid
                  value:
                    type: string
        personIds:
          type: array
          items:
        reference:
          type: string
          
  DocumentPacketResponse:
    type: array
    items:
      type: object
      properties:
        PacketNumber:
          type: string
        PacketLocation:
          type: string
        PacketId:
          type: string
          format: uuid
        MatterId:
          type: string
          format: uuid
        CardId:
          type: string
          format: uuid
        Deleted:
          type: boolean
        MatterNo:
          type: string
        ClientShortName:
          type: string
        RowVersion: 
          type: integer
          format: int64
          
  AgedDebtorsResponse:
    type: object
    properties:
      id:
        type: string
        format: uuid
        
  GetAgedWIPByMatterRequestLRCR:    
    properties:
      MatterBillingModes:
        type: array
        items:
          $ref: '#/definitions/MatterBillingModes_Array'
      AtDate:
        type: string
        format: date-time
        description: Used as a reference point or a "cut-off" date when displaying transactions for the report being generated

  MatterBillingModes_Array:
    type: object    
    properties:
      BillingModes:
        type: Integer
        format: Int32        
        description: >-
          Billing mode for fee and time entries         

           -1 - Not billable 

            0 - Billable next invoice 

            1 - Billable later invoice ss
          
        enum:
          - -1
          -  0
          -  1
        
  GetInvoiceFinancialsRequestLRCR:
    type: object
    properties:
      DateRange:
        type: object
        description: Date range for which you want to retrieve results.
        properties:
          From:
            type: string
            format: date-time
            description: Date & time of the original transaction in *ISO 8601* format.
          To:
            type: string
            format: date-time
            description: Date & time of the original transaction in *ISO 8601* format.
  SchemaMatterTypesResponse:
    type: object
    properties:
      page:
        type: integer
      limit:
        type: integer
      totalPages:
        type: integer
      toatalRows:
        type: integer
      type:
        type: string
      data:
        type: array
        items:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            matterCategoryId:
              type: integer
            matterCategoryName:
              type: string
            parentId:
              type: string
            shortcutId:
              type: string
            criticalDateSchemeId:
              type: string
            type:
              type: string
            deleteCode:
              type: integer
            path:
              type: string
            precedentProfiles:
              type: array
              items:
                type: string
            ancestors:
              type: array
              items:
                type: string
            states:
              type: array
              items:
                type: object
                properties:
                  matterTypeId:
                    type: string
                  name:
                    type: string
                  alias:
                    type: object
                    properties:
                  deleteCode:
                    type: boolean
      ancestors:
        type: object
        properties:
          additionalProp1:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              shortcutId:
                type: string
                format: uuid
              type:
                type: string
              deleteCode:
                type: integer
          additionalProp2:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              shortcutId:
                type: string
                format: uuid
              type:
                type: string
              deleteCode:
                type: integer
          additionalProp3:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              shortcutId:
                type: string
                format: uuid
              type:
                type: string
              deleteCode:
                type: integer 

  ContentOfIEnumerableOfMatterTypeTreeData:
      type: object
      properties:
        type:
          type: string
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              parentId:
                type: string
              type:
                type: string
              deleteCode:
                type: string
              states: 
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    alias:
                      type: string
              children:
                type: array  
                
  SchemaMatterTypesTreeResponse:
    type: object
    properties:
      type:
        type: string
      data:
        type: array
        items:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            type:
              type: string
            deleteCode:
              type: integer
            children:
              type: array
            shortcut:
              type: object
              properties:
                jsonref:
                  type: string
            states: 
              type: array
              items:
                type: object
                properties:
                  matterTypeId:
                    type: string
                    format: uuid
                  name:
                    type: string
                  alias:
                    type: object
                    properties:
                  deleteCode:
                    type: boolean
  
  SchemaMatterTypesCriticalDatesResponse:
    type: object
    properties:
      type:
        type: string
      data:
        type: object
        properties:
          id:
            type: string
            format: uuid
          region:
            type: string
          name:
            type: string
          deleteCode:
            type: integer
          criticalDates:
            type: array
            items:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                criticalDateSchemeId:
                  type: string
                  format: uuid
                region:
                  type: string
                name:
                  type: string
                displayName:
                  type: string
                propertyName:
                  type: string
                confirmStatus:
                  type: string
                isConfirmable:
                  type: boolean
                order:
                  type: integer
                deleteCode:
                  type: boolean
                calculationTableId:
                  type: string
                  format: uuid
                calculationFieldId:
                  type: string
                  format: uuid
                default:
                  type: boolean
  MoveDocumentsRequest:
    type: array
    properties:
      fromFolderId:
        type: string
      toFolderId:
        type: string
      docs:
        type: array
        items:
          type: string
  DocumentRegisterLADS:
    type: object
    properties:
      DocumentTypeName:
        type: string
      DocumentDescription:
        type: string
      DocumentNumber:
        type: string
      DocumentRegisterGUID:
        type: string
        format: uuid
      RemovedStaffGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      SequenceNumber:
        type: integer
        format: int64
      RemovedDate:
        type: string
        format: date-time
      RemovedStaffInitials:
        type: string
      DocumentTypeId:
        type: string
        format: uuid
      StoredDate:
        type: string
        format: date-time
      PacketNumber:
        type: string
      RemovedStatus:
        type: string
      CardShortName:
        type: string
      CardGUID:
        type: string
        format: uuid        
      Deleted:
        type: boolean
      RemovedID:
        type: integer 
        format: int32        
      CreatedDTS:
        type: string
        format: date-time        
      RowVersion:
        type: integer 
        format: int64        
      MatterFileNo:
        type: string      
  SearchDocumentRegistersLADS:
    type: object
    properties:
      DocumentRegisters:
        $ref: '#/definitions/DocumentRegisterLADS'
      Message:
        type: string
  AddDocumentsRequest:
    type: object
    properties:
      folderId:
        type: string
      docs:
        type: array
        items:
            type: string

  SchemaMatterTypesTablesResponse:
    type: object
    properties:
      page:
        type: integer
      limit:
        type: integer
      totalPages:
        type: integer
      totalRows:
        type: integer
      type:
        type: string
      data:
        type: array
        items:
          type: object
          properties:
            id:
              type: string
              format: uuid
            className:
              type: string
            tableName:
              type: string
            docName:
              type: string
            basedOnCard:
              type: boolean
            legalRates:
              type: boolean
            apiTable:
              type: boolean
            tableType:
              type: string
            deleteCode:
              type: boolean
              
  SchemaMatterTypesFieldTablesResponse:
    type: object
    properties:
      page:
        type: integer
      limit:
        type: integer
      totalPages:
        type: integer
      totalRows:
        type: integer
      type:
        type: string
      data:
        type: array
        items:
          type: object
          properties:
            id:
              type: string
              format: uuid
            tableId:
              type: string
              format: uuid
            name:
              type: string
            propertyName:
              type: string
            docName:
              type: string
            type:
              type: string
            dataType:
              type: string
            format:
              type: string
            sort:
              type: integer
            hidden:
              type: boolean
            deleteCode:
              type: integer
  CardJsonNonPII:
    type: object
    properties:
      cardId:
        type: string
        format: uuid
        description: Card Id
      modifiedUserId:
        type: string
        description: Modified User Id
        format: uuid
      deleteCode:
        type: integer
        format: int32
        description: Delete Code
      shortName:
        type: string
        description: Card short Name
      fullName:
        type: string
        description: Card full Name
      type:
        type: string
        description: "Card Type\r\nCould be an enum since possible values are:"
        enum:
          - people
          - company
          - trust
          - government
          - business
      isSupplier:
        type: boolean
        description: Is Supplier
      titleType:
        type: string
        description: Title Type
        enum:
          - default
          - custom
      title:
        type: string
        description: Title
      salutationTitleType:
        type: string
        description: Salutation Title Type
        enum:
          - defaultFriendly
          - defaultFormal
          - custom
      salutationTitle:
        type: string
        description: Salutation Title
      description:
        type: string
        description: Description
      emailType1:
        type: integer
        format: int32
        description: Email Type 1
      emailType2:
        type: integer
        format: int32
        description: Email Type 2
      phoneType1:
        type: integer
        format: int32
        description: Phone Type 1
      phoneType2:
        type: integer
        format: int32
        description: Phone Type 2
      phoneType3:
        type: integer
        format: int32
        description: Phone Type 3
      comments:
        type: string
        description: General Notes
      marketingConsent:
        type: string
        description: Marketing Consent
      cardNumber:
        type: integer
        description: Card Number
      irdNumber:
        type: string
        description: The "Inland Revenue Department" - an ID specific to New Zealand Cards, which is equivalent to Australia's Tax File Number
      taxCountry:
        type: string
      addresses:
        type: array
        description: Current Addresses
        items:
          $ref: '#/definitions/CardsWriteAddress'
      futureAddresses:
        type: array
        description: Future Addresses
        items:
          $ref: '#/definitions/CardsWriteAddress'
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/CardsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone numbers
        items:
          $ref: '#/definitions/CardsWritePhoneNumber'
      persons:
        type: array
        description: Persons
        items:
          $ref: '#/definitions/CardsWritePerson'
      fields:
        type: array
        description: Fields
        items:
          $ref: '#/definitions/CardsWriteField'
      trust:
        $ref: '#/definitions/Trust'
      beneficiaries:
        $ref: '#/definitions/BeneficiariesNonPII'
      futureAddressSettings:
        $ref: '#/definitions/CardsReadFutureAddressSettings'
      organisationDetails:
        description: Organisation Details
        $ref: '#/definitions/CardsWriteOrganisationDetails'
        
  Trust: 
    type: object
    properties:
      trustPurpose:
        type: string
        description: Trust Purpose
      settlorName:
        type: string
        description: Settlor Name
        
  BeneficiariesNonPII:
    type: object
    properties:
      name:
        type: string
        description: Name
        
  Beneficiaries:
    type: object
    properties:
      name:
        type: string
        description: Name
      dob:
        type: string
        format: date-time
        
  CardsWriteCreateCardNonPII:
    type: object
    properties:
      deleteCode:
        type: integer
        format: int32
        description: Delete Code
      shortName:
        type: string
        description: Card short Name
      type:
        type: string
        description: "Card Type\r\nCould be an enum since possible values are:"
        enum:
          - people
          - company
          - trust
          - government
          - business
      isSupplier:
        type: boolean
        description: Is Supplier
      titleType:
        type: string
        description: Title Type
        enum:
          - default
          - custom
      title:
        type: string
        description: Title
      salutationTitleType:
        type: string
        description: Salutation Title Type
        enum:
          - defaultFriendly
          - defaultFormal
          - custom
      salutationTitle:
        type: string
        description: Salutation Title
      comments:
        type: string
        description: General Notes
      marketingConsent:
        type: boolean
        description: Marketing Consent
      emailType1:
        type: integer
        format: int32
        description: Email Type 1
      emailType2:
        type: integer
        format: int32
        description: Email Type 2
      phoneType1:
        type: integer
        format: int32
        description: Phone Type 1
      phoneType2:
        type: integer
        format: int32
        description: Phone Type 2
      phoneType3:
        type: integer
        format: int32
        description: Phone Type 3
      addresses:
        type: array
        description: Current Addresses
        items:
          $ref: '#/definitions/CardsWriteAddress'
      futureAddresses:
        type: array
        description: Future Addresses
        items:
          $ref: '#/definitions/CardsWriteAddress'
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/CardsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone numbers
        items:
          $ref: '#/definitions/CardsWritePhoneNumber'
      persons:
        type: array
        description: Persons
        items:
          $ref: '#/definitions/CardsWritePerson'
      fields:
        type: array
        description: Fields
        items:
          $ref: '#/definitions/CardsWriteField'
      futureAddressSettings:
        $ref: '#/definitions/CardsReadFutureAddressSettings'
      organisationDetails:
        description: Organisation Details
        $ref: '#/definitions/CardsWriteOrganisationDetails'
      trust:
        $ref: '#/definitions/Trust'
        
  CardGetPackageNonPII:
    type: object
    properties:
      cards:
        type: object
        description: Retrieve cards attached to this matter
        $ref: '#/definitions/CardJsonNonPII'
      persons:
        type: object
        description: Retrieve persrons attached to this matter
        $ref: '#/definitions/PersonsReadPersonNonPII'
        
  PersonsReadPersonNonPII:
    type: object
    properties:
      lastName:
        type: string
        description: Last Name
      firstName:
        type: string
        description: First Name
      occupation:
        type: string
        description: Occupation
      previousName:
        type: string
        description: Previous Name
      language:
        type: string
        description: Language
      salutation:
        type: string
        description: Salutation
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/PersonsReadWebAddress'
      phoneNumbers:
        type: array
        description: Phone Numbers
        items:
          $ref: '#/definitions/PersonsReadPhoneNumber'
      photoFileName:
        type: string
        description: Photo File Name
      deleted:
        type: boolean
        description: Deleted
      personId:
        type: string
        format: uuid
        description: Person Id
      emailType1:
        type: integer
        format: int32
        description: Email Type 1
      emailType2:
        type: integer
        format: int32
        description: Email Type 2
      phoneType1:
        type: integer
        format: int32
        description: Phone Type 1
      phoneType2:
        type: integer
        format: int32
        description: Phone Type 2
      phoneType3:
        type: integer
        format: int32
        description: Phone Type 3
      fields:
        type: array
        description: Fields
        items:
          $ref: '#/definitions/CardsWriteField'

  MattersGetPackageNonPII:
    type: object
    properties:
      matter:
        type: object
        description: Retrieve details of this matter
        $ref: '#/definitions/MattersGetMatter'
      cards:
        type: object
        description: Retrieve cards attached to this matter
        $ref: '#/definitions/CardJsonNonPII'
      persons:
        type: object
        description: Retrieve persons attached to this matter
        $ref: '#/definitions/PersonsReadPersonNonPII'
        
  PersonsListJsonNonPII:
    type: object
    properties:
      lastRowVersion:
        type: integer
        description: >-
          The `lastRowVer` field, is the database identity record of the item
          being requested.


          Provide this to get a DELTA of all cards that have been changed or
          created since the `lastRowVer` provided.
        format: int64
      data:
        type: array
        description: Dynamic card data
        items:
          type: object
          $ref: '#/definitions/PersonListEntryJsonNonPII'
          
  PersonListEntryJsonNonPII:
    type: object
    properties:
      personId:
        type: string
        description: Person Id
      salutation:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      deleteCode:
        type: boolean
      emails:
        type: array
      contactNumbers:
        type: array
      rowVersion:
        type: integer
        format: int32
        
  PersonsCreatePersonNonPII:
    type: object
    properties:
      lastName:
        type: string
        description: Last Name
      firstName:
        type: string
        description: First Name
      occupation:
        type: string
        description: Occupation
      previousName:
        type: string
        description: Previous Name
      language:
        type: string
        description: Language
      salutation:
        type: string
        description: Salutation
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/PersonsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone Numbers
        items:
          $ref: '#/definitions/PersonsWritePhoneNumber'
      deleted:
        type: boolean
        description: Deleted
      photoFileName:
        type: string
        description: Photo File Name
      fields:
        type: array
        description: Fields
        items:
          $ref: '#/definitions/CardsWriteField'
          
  PersonsUpdatePersonNonPII:
    type: object
    properties:
      personId:
        type: string
        format: uuid
        description: Person Id
      emailType1:
        type: integer
        format: int32
        description: Email Type 1
      emailType2:
        type: integer
        format: int32
        description: Email Type 2
      phoneType1:
        type: integer
        format: int32
        description: Phone Type 1
      phoneType2:
        type: integer
        format: int32
        description: Phone Type 2
      phoneType3:
        type: integer
        format: int32
        description: Phone Type 3
      lastName:
        type: string
        description: Last Name
      firstName:
        type: string
        description: First Name
      occupation:
        type: string
        description: Occupation
      previousName:
        type: string
        description: Previous Name
      language:
        type: string
        description: Language
      salutation:
        type: string
        description: Salutation
      webAddresses:
        type: array
        description: Web Addresses
        items:
          $ref: '#/definitions/PersonsWriteWebAddress'
      phoneNumbers:
        type: array
        description: Phone Numbers
        items:
          $ref: '#/definitions/PersonsWritePhoneNumber'
      deleted:
        type: boolean
        description: Deleted
      photoFileName:
        type: string
        description: Photo File Name
      fields:
        type: array
        description: Fields
        items:
          $ref: '#/definitions/CardsWriteField'
          
  PersonModelNonPIIResponse:
    type: object
    properties:
      status:
        type: string
        description: Status
      skippedSentivieFields:
        type: array
        description: Skipped Sentive Fields
        items:                             

  SearchTermListJsonLDJ:
    type: object
    properties:
      SearchTerms:
        type: array
        items:
          type: object
          properties:
            termName:
              type: string
              description: Field to search.
              enum:
                - undefined
                - shortname
                - fullname
                - address
                - emailaddress
                - contactnumbers
                - cardtype
                - cardroles
                - deletecode
            termValue:
              type: string
              description: Value to look for.
            termOption:
              type: string
              description: Option to use.
              enum:
                - AllowWildcard
                - ExactMatch 
                
  SearchTermListJsonLDJResponse:
   type: array
   items:
    type: object
    properties:
      personId:
        type: string
        format: uuid
        description: Person Id
      firmId:
        type: string
        format: uuid
        description: Firm Id 
      birthDate:
        type: string
        format: date-time
      birthPlace:
        type: string
        description: Birth Place
      comments:
        type: string
        description: Comments
      contactNumbers:
        type: array
        description: Contact Numbers
        items:
          type: string
      countryOfBirth:
        type: string
        description: Country Of Birth
      custom1:
        type: string
        description: Custom 1
      custom2:
        type: string
        description: Custom 2
      custom3:
        type: string
        description: Custom 3
      custom4:
        type: string
        description: Custom 4
      custom5:
        type: string
        description: Custom 5
      custom6:
        type: string
        description: Custom 6
      custom7:
        type: string
        description: Custom 7
      custom8:
        type: string
        description: Custom 8
      custom9:
        type: string
        description: Custom 9
      custom10:
        type: string
        description: Custom 10
      custom11:
        type: string
        description: Custom 11
      custom12:
        type: string
        description: Custom 12
      deathPlace:
        type: string
        description: Death Place
      deathDate:
        type: string
        format: date-time
        description: Death Date
      emails:
        type: array
        items:
          type: string
      firstName:
        type: string
        description: First Name
      gender:
        type: string
        description: Gender
        enum:
          - male
          - female
      language:
        type: string
        description: Language
      lastName:
        type: string
        description: Last Name
      maidenName:
        type: string
        description: Maiden Name
      maritalStatus:
        type: string
        description: MaritalStatus
      nationality:
        type: string
        description: Nationality
      occupation:
        type: string
        description: Occupation
      passportName:
        type: string
        description: Passport Name
      passportNumber:
        type: string
        description: Passport Number
      previousName:
        type: string
        description: Previous Name
      salutation:
        type: string
        description: Salutation
      specialNeeds:
        type: string
        description: Special Needs
        
  DocumentContentSearchResponse:
    type: array
    items:
      type: object
      properties:
        id:
          type: string
          format: uuid
        deleteCode:
          type: integer
        type:
          type: string
        matterId:
          type: string
          format: uuid
        modifiedDate:
          type: string
          format: date-time
        docName:
          type: string

  AnticipatedDepositLADSAC:
    type: object
    properties:
      AnticipatedDepositGUID:
        type: string
        format: uuid
      DepositFromAddressee:
        type: string
        description: Deposit From Addressee
      Amount:
        type: number
        format: double
        description: Amount
      Reason:
        type: string
        description: Reason
      MatterGUID:
        type: string
        format: uuid
        description: Matter ID
      AccountGUID:
        type: string
        format: uuid
        description: Account ID
      DebtorGUID:
        type: string
        format: uuid
        description: Debtor ID
      TransactionDate:
        type: string
        format: date-time
        description: Transaction Date
      EntryDate:
        type: string
        format: date-time
        description: Entry Date
      TrustReceiptGUID:
        type: string
        format: uuid
        description: Trust Receipt ID
      ResetAmount:
        type: number
        format: double
        description: Reset Amount
        
  ExportResponse:
    type: array
    items:
      type: object
      properties:
        GeneralJournalGUID:
          type: string
          format: uuid
          description: General Journal GUID
        UploadStatus:
          type: number
          description: Upload Status
        ExternalJournalNumber:
          type: string
          description: External Journal Number
        UploadDate:
          type: string
          format: date-time
          description: Upload Date
        UploadDisplayDate:
          type: string
          format: date-time
          description: Upload Display Date
        ModifiedDate:
          type: string
          format: date-time
          description: Modified Date
        ModifiedBy:
          type: string
          description: Modified By
        UploadMessages:
          type: string
          description: Upload Messages
        RowVersion:
          type: integer
          format: int32
          description: Row Version
        ExternalJournalGUID:
          type: string
          format: uuid
          description: External Journal GUID
          
  ExportCheckConnectResponse:
    type: integer
    description: Myob=0, Xero=1, Quickbooks=2
    
  InvestmentAccountLedgerResponse:
    type: object
    properties:
      InvestmentAccountList:
        type: array
        items:
          type: object
          properties:
            BankAccountGUID:
              type: string
              format: uuid
              description: Bank Account GUID
            AccountUsage:
              type: integer
              format: int32
              description: Account Usage
            InstituteName:
              type: string
              description: Institute Name
            AccountNumber:
              type: string
              description: Account Number
            AccountName:
              type: string
              description: Account Name
            DateOpened:
              type: string
              format: date-time
              description: Date Opened
            Deleted:
              type: boolean
              description: Deleted
            AccountClosed:
              type: boolean
              description: Account Closed
            RowVersion:
              type: integer
              format: int32
              description: Row Version
            TotalWithdrawal:
              type: number
              format: double
              description: Total Withdrawal
            TotalDeposit:
              type: number
              format: double
              description: Total Deposit
            Balance:
              type: number
              format: double
              description: Balance
            ProductControlID:
              type: integer
              format: int32
              description: Product Control ID
            ExternalURL:
              type: string
              description: >-
                When this field is populated, LEAP will open the URL provided when
                opened
            ExternalJSON:
              type: string
              description: External JSON
            FunctionGroupId:
              type: string
              format: uuid
              description: Function Group ID
            IsLedgerShared:
              type: boolean
              description: Is Ledger Shared
      InvestmentTransactionList:
        type: array
        items:
          type: object
          properties:
            InvestTranGUID:
              type: string
              format: uuid
              description: Investment Transaction GUID
            BankAccountGUID:
              type: string
              format: uuid
              description: Bank Account GUID
            PaymentTypeId:
              type: integer
              format: int32
              description: Payment Type ID
            TransactionTypeId:
              type: integer
              format: int32
              description: Transaction Type ID
            EntryDate:
              type: string
              format: date-time
              description: Entry Date
            TransactionNumberNoPrefix:
              type: string
              description: Transaction Number No Prefix
            TransactionNumber:
              type: string
              description: Transaction Number  
            Reason:
              type: string
              description: Reason 
            AmountWithdrawal:
              type: number
              format: double
              description: Amount Withdrawal
            AmountDeposit:
              type: number
              format: double
              description: Amount Deposit
            ReveresedOrReversal:
              type: integer
              format: int32
              description: Reveresed or Reversal
            ReversalGUID:
              type: string
              format: uuid
              description: Reversal GUID
            AbsSeqNum:
              type: integer
              format: int32
              description: Abs Sequence Number
            Reconciled:
              type: integer
              format: int32
              description: Reconciled
            PayeePayor:
              type: string
              description: Payee Payor
            ExternalURL:
              type: string
              description: >-
                When this field is populated, LEAP will open the URL provided when
                opened
            ExternalJSON:
              type: string
              description: External JSON
            AccountName:
              type: string
              description: Account Name
            FunctionGroupId:
              type: string
              format: uuid
              description: Function Group ID
              
  MatterTypesandStatusesResponse:
    type: object
    properties:
      MatterStatuses:
        type: array
        items:
          type: object
          properties:
            MatterStatus:
              type: string
              description: Matter Status
      MatterTypes:
        type: array
        items:
          type: object
          properties:
            MatterTypeId:
              type: string
              format: uuid
              description: Matter Type ID
            MatterTypeName:
              type: string
              description: Matter Type Name
            State:
              type: string
              description: State
              
  TrustReceiptInitDataResponse:
    type: object
    properties:
      TrustReceipt:
        type: object
        properties:
          TrustReceiptGUID:
            type: string
            format: uuid
          BankAccountGUID:
            type: string
            format: uuid
          PaymentTypeDetailsGUID:
            type: string
            format: uuid
          EntryDate:
            type: string
            format: date-time
          TransactionDate:
            type: string
            format: date-time
          TransactionNumber:
            type: string
          TransactionNumberAuto:
            type: boolean
          ReceivedFrom:
            type: string
          PaymentTypeName:
            type: string
          PaymentTypeGUID:
            type: string
            format: uuid
          PaymentTypeId:
            type: integer
            format: int32
          ReversedOrReversal:
            type: boolean
          ReceiptedByStaffGUID:
            type: string
            format: uuid
          NeedsBanking:
            type: boolean
          Reconciled:
            type: integer
            format: int32
          ClearanceDays:
            type: integer
            format: int32
          ClearedDate:
            type: string
            format: date-time
          RowVersion:
            type: integer
            format: int32  
          AccountFileAs:
            type: string
          ReversalEntryDate:
            type: string
            format: date-time
          BankDepositReconciled:
            type: integer
            format: int32
          BankDepositGUID:
            type: string
            format: uuid
          ReversalInfo:
            type: string
          CreatedByStaffId:
            type: string
            format: uuid
          LawConnectShared:
            type: boolean
      TrustReceiptItems:
        type: array
        items:
          $ref: '#/definitions/TrustReceiptItemsInit'
      PaymentTypeDetails:
        $ref: '#/definitions/PaymentTypeDetail'
      BankAccounts:
        type: array
        items:
          $ref: '#/definitions/TrustReceiptInitBankAccount'
  MatterOpened:
    Type: array
    properties:
        items:
          CardIds:
            type: string
          MatterNumber:
            type: string
          StaffActingId:
            type: string
            format: uuid
          CostsEstimate:
            type: number
            format: double
          StaffActing:
            type: String
          StaffResponsibleId:
            type: string
            format: uuid
          MatterStatus:	
            type: string
          StaffResponsible:
            type: string
          MatterTypeId:
            type: string
          AccidentDates:
            type: string 
            format: date-time
          CardsDescription:
            type: string
          MatterType:
            type: string
          MatterDescription:
            type: string
          InstructionDate:
            type: string
            formt: date-time
          MatterId:
            type: string
            format: uuid
  MattersOpenedResponse:
    type: array
    properties:
        items:
          AsyncRequestId:
            type: string
            format: uuid
          MattersOpened:
            $ref: '#/definitions/MatterOpened'
  AsyncResponse:
    type: object
    properties:
        items:
          id:
          type: string
          format: uuid
          description: Asyncronous ID; use this ID to retrieve results via [GET /api/v1/reporting/getasyncrequest/{requestId}](https://leap.build/api-reference/#tag/Reporting/paths/~1api~1v1~1reporting~1getasyncrequest~1%7Brequestid%7D/get)
  TrustReceiptItemsInit:
    type: object
    properties:
      TrustReceiptItemGUID:
        type: string
        format: uuid
      MatterGUID:
        type: string
        format: uuid
      Amount:
        type: number
        format: double
      Reason:
        type: string
      RowVersion:
        type: integer
        format: int32 
      InterestCalculation:
        type: boolean
      InterestCalculationDate:
        type: string
        format: date-time 
  DeleteTask200Response:
    type: object
    properties:
      id:
        type: string
      failedAssignees:
        type: array
        properties:
          type: string
      failedAttachments:
        type: array
        properties:
          type: string
      actionId:
        type: string
  TodoResultResponse:
    type: object
    properties:
      id:
        type: string
      failedAssignees:
        type: array
        properties:
          type: string
      failedAttachments:
        type: array
        properties:
          type: string
      actionId:
        type: string
  Timesheet_Staff_Performance_201:
    type: object
    properties:
      HoursToday:
        type: number
        format: double
      HoursWeek:
        type: number
        format: double        
      HoursMonth:
        type: number
        format: double      
      AmountExTaxToday:
        type: number
        format: double        
      AmountExTaxWeek:
        type: number
        format: double        
      AmountExTaxMonth:
        type: number
        format: double        
      BudgetHoursToday:
        type: number
        format: double        
      BudgetHoursWeek:
        type: number
        format: double   
      BudgetHoursMonth:
        type: number
        format: double   
      BudgetHoursWeekTotal:
        type: number
        format: double   
      BudgetHoursMonthTotal:
        type: number
        format: double           
      BudgetAmountExTaxToday:
        type: number
        format: double   
      BudgetAmountExTaxWeek:
        type: number
        format: double   
      BudgetAmountExTaxMonth:
        type: number
        format: double   
      BudgetAmountExTaxWeekTotal:
        type: number
        format: double   
      BudgetAmountExTaxMonthTotal:
        type: number
        format: double   
  TrustToOfficeLADSTC:
    type: object
    required: TransactionDate
    properties:
      PaidToOrReceiveFrom:
        description: Entity the transaction was paid to or received from
        type: string
      Reason: 
        type: string
        description: Reason for the transaction
      TransactionDate:
        type: string
        format: date-time
        description: Date of the transaction
      EntryDate:
        type: string
        format: date-time
        description: Date the tranwsaction was entered/recorded
      SemaphoreId:
        type: string
        format: uuid
        description: LEAP Semaphore ID (required to authorise the creation of the transaction)
      PaymentTypeId:
        type: integer
        format: int32
        description: LEAP ID for the Payment Type the receipt was tendered in e.g. EFT, Cash, Credit Card. All current Payment Types can be retrieved from [GET /api/v1/paymenttypes](https://leap.build/api-reference/#tag/Payment-Types/paths/~1api~1v1~1paymenttypes/get).
      TrustPayment:
        description: Trust payment details
        $ref: '#/definitions/TrustPaymentLADSTC'
      OfficeReceipt:
        description: Office receipt details
        $ref: '#/definitions/OfficeReceiptLADSTC'
      PaymentTypeName:
        description: >
          **Recommended field**. Name of the Payment Type the receipt was tendered in. All current Payment Types can be retrieved from [GET /api/v1/paymenttypes](https://leap.build/api-reference/#tag/Payment-Types/paths/~1api~1v1~1paymenttypes/get).
        type: string
      PaymentTypeDetails:
        description: Payment type details
        $ref: '#/definitions/PaymentTypeDetail_TrustToOffice'
      InvoicesApply:
        type: array
        description: Any invoices that may apply
        items:
          properties:
            InvoiceId:
              type: string
            SplitCardGUID:
              type: string
            MatterId:
              type: string
            RowVersion:
              type: integer
              format: int32
            ProtectedTrustFundId:
              type: string
            InvoiceApply:
              type: integer
              format: int32
      WarningAcknowledgements:
        description: Any relevant warning acknowledgments
        type: array
        items: 
          properties:

  TrustPaymentLADSTC:
    type: object
    properties:
      TrustPaymentId:
        type: string
        format: uuid
      BankAccountId:
        type: string
        format: uuid
      AutoNumber:
        type: integer
        format: int32
      TransactionNumber:
        type: string     
      PaymentTypeGUID:
        type: string
        format: uuid
      PayToName: 
        type: string
  OfficeReceiptLADSTC:
    type: object
    properties:
      OfficeReceiptId:
        type: string
        format: uuid
      BankAccountId:
        type: string
        format: uuid
      AutoNumber:
        type: integer
        format: int32
      TransactionNumber:
        type: string
      NeedsBanking:
        type: boolean
  PaymentTypeDetail_TrustToOffice:
    type: object
    properties:
      PaymentTypeDetailsGUID:
        type: string
        format: uuid
        description: GUID for the Payment Type Details record attached to the receipt (to be generated by the developer). If an ID is not passed in, an ID will be generated by LEAP.
      Addressee:
        type: string
        description: Name of the individual or entity the receipt is addressed to. 
      BSB:
        type: string
        description: BSB of the receiving bank account.
      AccountNumber:
        type: string
        description: Account Number of the receiving bank account. 
      AccountName:
        type: string
        description: Account Name of the receiving bank account. 
      Drawer:
        type: string
        description: Drawer ID the funds were received into. 
      ChequeNumber:
        type: string
        description: Cheque number of the trust receipt (if applicable).
      AuthorisationNumber:
        type: string
        description: Authorisation number of the transaction. 
      ExpiryDate:
        type: string
        format: date-time
        description: Expiry date of the transaction (if applicable).
      Notes:
        type: number
        format: double
        description: Quanity of notes received for the transaction (if applicable).
      Coins:
        type: number
        format: double
        description: Quanity of coins received for the transaction (if applicable).
      Memo:
        type: string
        description: Indicates any applicable bank debit memos. 
      BillerCode:
        type: string
        description: Biller code for the transaction (if applicable).
      BillerReference:
        type: string
        description: Biller reference number for the transaction (if applicable). 
      RowVersion:
        type: integer
        format: int64
        description: LEAP row version for Payment Type Details entries. 
      CountryOfOrigin:
        type: string
      DestinationCountry:
        type: string
      InstitutionName: 
        type: string
      SwiftCode:
        type: string
      ForeignValue: 
        type: integer
        format: double
      ExchangeRate:
        type: integer
        format: double
      CurrencyType:
        type: string
  TrustBankRecInitialisationDataLADSTI:
    type: object
    properties:
      TotalClientBalance:
        type: integer
        format: double
      CashbookBalance: 
        type: integer
        format: double
      UnbankedRecTotal:
        type: integer
        format: double
      TrustReconciliationBalance:
        type: integer
        format: double
      LastReconciliationBalance:
        type: integer
        format: double
      WarningMessage:
        type: string
      LastRecDate:
        type: string
        format: date-time
      BankAccountAddition:
        $ref: '#/definitions/BankAccountAdditionLADSTI'
      LeapTransactions:
        $ref: '#/definitions/TransactionLADSTI'
      StatementDate:
        type: string
        format: date-time
      OriginalStatementDate:
        type: string
        format: date-time
      RapidPayBankTransactions:
        $ref: '#/definitions/RapidPayBankTransactionLADST'
      TrustBankRecInit:
        $ref: '#/definitions/TrustBankRecInitLADSTI'
  BankAccountAdditionLADSTI:
    type: array
    items:
      properties:
        AdditionGUID:
          type: string
          format: uuid
        AdditionDate:
          type: string
          format: date-time
        Reason:
          type: string
        Withdrawal: 
          type: integer
          format: double
        Deposit:
          type: integer
          format: double
        RowVers:
          type: integer
          format: int64
  TransactionLADSTI:
    type: array
    items:
      properties:
        AbsSeqNum: 
          type: integer
          format: int32
        TransactionDate:
          type: string
          format: date-time
        EntryDate:
          type: string
          format: date-time
        TransactionNumber:
          type: string
        PayeePayor: 
          type: string
        Withdrawal: 
          type: integer
          format: double
        Deposit:
          type: integer
          format: double
        Reconciled:
          type: boolean
        TransactionGuid:
          type: string
          format: uuid
        TransactionType:
          type: integer
          format: int32
        RowVersion:
          type: integer
          format: int64
        RapidReference:
          type: string
        MatchedBankTransaction:
          type: string
        OriginalMatchedBankTransaction:
          type: string
        ReconciliationType: 
          type: string
          enum:
            - AutomaticReconcile
            - ManualReconcile
            - ManualUnReconcile
        ManualReconciliationDate:
          type: string
          format: date-time
        PaymentTypeId:
          type: integer
        OriginalTransactionNumber:
          type: string
        Matters:
          type: array
          items:
            properties:
              MatterId:
                type: string
                fortat: uuid
              FileNumberString:
                type: string
                format: uuid
  RapidPayBankTransactionLADST:
    type: array
    items:
      properties:
        TransactionId: 
          type: string
          format: uuid
        AccountId: 
          type: string
          format: uuid
        TransactionDate:
          type: string
          format: date-time
        TransationType:
          type: string
        Description:
          type: string
        Amount:
          type: integer
          format: double
        TransactionCategoryId:
          type: string
          enum:
            - Uncategorized
            - AutomotiveFuel
            - CharitableGiving
            - Education
            - EntertainmentsRecreation
            - Gifts
            - Groceries
            - HealthcareMedical
            - HomeImprovement
            - Insurance
            - CableSateliteTelecom
            - ServicesSupplies
            - Loans
            - Mortgage
            - OtherExpenses
            - PersonalFamiy
            - Rent
            - Restaurants
            - Travel
            - ServiceChargesFees
            - AtmCashWithdrawals
            - CreditCardPayments
            - Deposits
            - Transfers
            - SalaryRegularIncome
            - InvestmentRetirementIncome
            - OtherIncome
            - CheckPayment
            - SecuritiesTrades
            - Taxes
            - Utilities
            - Savings
            - RetirementContributions
            - PetsPetCare
            - ElectronicsGeneralMerchandise
            - OfficeExpenses
            - SalesServiceIncome
            - InterestIncome
            - PostageShipping
            - SubscriptionsRenewals
            - ExpensesReimbursements
            - Rewards
            - RefundsAdjustments
  TrustBankRecInitLADSTI:
    type: object
    properties:
      TrustBankRecMode:
        type: integer
        format: int32
      DefaultTrustAccountGuid:
        type: string
        format: uuid
      BankAccounts:
        $ref: '#/definitions/BankAccountLADSTI'
  BankAccountLADSTI:
    type: array
    items:
      properties:
        BankAccountGUID:
          type: string
          format: uuid
        AccountName:
          type: string
        AccountNumber:
          type: string
        BSB:
          type: string
        NameFileAs:
          type: string
        AccountUsage:
          type: integer
          format: int32
        Deleted:
          type: integer
          format: int32
        RowVersion:
          type: integer
          format: int64
        Drawer:
          type: string
        ChequeNumber:
          type: string
        ReceiptNumber:
          type: string
        BankDepositNumber:
          type: string
        JournalNumber:
          type: string
        BankRecStatementDate:
          type: string
          format: date-time
        BankRecStatementBalance:
          type: integer
          format: double
        ChequeSVGLayoutGUID:
          type: string
          format: uuid
        EFTNumber:
          type: string
        ChequeLayoutId:
          type: string
        ChequeMarginV:
          type: string
        ChequeMarginH:
          type: string
        RapidPayBankFeedsEnabled:
          type: boolean
        RapidPayEnabled:
          type: boolean
        RapidPayVerificationStatus:
          type: integer
          format: int32
        BankCurrentDate:
          type: string
          format: date-time
  TrustBankRecInitialisationDataLADSTI_400:
    type: object
    properties:
      Message:
        type: string
        description: The request is invalid
      ModelState:
        type: object
        properties:
          statementDate:
            type: array
            items:
              description: The value '20-06-2023' is not valid for DateTime.
  DiaryTaskRequest:
    type: object
    properties:
      assignees:
        description: Any assigned staff members
        type: array
        items:
          properties:
            address:
              type: string
              description: Email address of the assigned staff member
            name:
              type: string
              description: Name of the assigned staff member
            staffId:
              type: string
              description: LEAP staffId of the assigned staff member
            userId:
              type: string
              description: LEAP userId of the assigned staff member
      attachments:
        description: Any attachments
        type: array
        items:
          properties:
            id:
              type: string
              description: LEAP id of the attachment
            name:
              type: string
              description: Name of the attachment
            type:
              type: integer
              description: Type of the attachment
              format: int32
              enum:
                - 0
                - 1
                - 2
            format:
              type: integer
              description: Format of the attachment
              format: int32
              enum:
                - 0
                - 1              
            fileUrl:
              type: string
              description: URL of the attachment
            token:
              type: string
              description: Token of the attachment
            outlookAttachmentId:
              type: string
              description: Outlook attachment ID of the attachment
      body:
        type: string
        description: Body/description of the task
      matterId:
        type: string
        description: LEAP matterId of the matter the task is to be attached to
      owner:
        type: object
        description: Owner of the task
        properties:
          address:
            type: string
            description: Email address of the task owner
          name:
            type: string
            description: Name of the task owner
          staffId:
            type: string
            description: LEAP staffId of the task owner
          userId:
            type: string
            description: LEAP userId of the task owner
      start:
        type: string
        format: date-time
        description: Start time of the task
      due:
        type: string
        format: date-time
        description: Due date of the task
      completed:
        type: string
        format: date-time
        description: Date/time of completion (if relevant)
      status:
        type: string
        description: Current status of the task
      importance:
        type: integer
        description: Importance of the task
        format: int32
        enum:
          - 0
          - 1
          - 2
      subject:
        type: string
        description: Subject line of the task
      matterNo:
        type: string
        description: LEAP Matter number of the task
      criticalDate:
        type: object
        description: Any relevant critical dates
        properties:
          id:
            type: string
          offset:
            type: integer
          offsetUnit:
            type: integer
      timezone:
        description: Timezone the task resides in
        type: string
      reminderDateTime:
        type: string
        format: date-time
        description: Time/date of any reminders
      isBillable:
        type: boolean
        description: Billable status of the task
      clientId:
        type: string
        description: LEAP Id for attached client
      document:
        type: object
        description: Any attached documents
        properties:
          id:
            type: string
          precedentId:
            type: string
          name:
            type: string
          ext:
            type: string
      
        items:
          TrustReceiptItemGUID:
            type: string
            format: uuid
          MatterGUID:
            type: string
            format: uuid
          Amount:
            type: number
            format: double
          Reason:
            type: string
          RowVersion:
            type: integer
            format: int32 
          InterestCalculation:
            type: boolean
          InterestCalculationDate:
            type: string
            format: date-time
  TimeAndFeeRecordedByStaffResponse:
    type: array
    properties:
        items:
          BillableHoursByStaff:
            $ref: '#/definitions/TimeAndFeeRecByStaff'         
          NonBillableHoursByStaff:
            $ref: '#/definitions/TimeAndFeeRecByStaff'       
          TimeRecordedByStaffSummary:
            $ref: '#/definitions/TimeAndFeeRecByStaffSummary'
          FeeRecordedByStaffSummary:
            $ref: '#/definitions/TimeAndFeeRecByStaffSummary'
          AsyncRequestId:
            type: string
            format: uuid         
  TimeAndFeeRecByStaffTimeAndFeeRecByStaff:
    type: array
    properties:
        items:
          Total:
            type: number
            format: double
          StaffName:
            type: string
          Tuesday:
            type: number
            format: double
          Monday:
            type: number
            format: double
          Sunday:
            type: number
            format: double
          Wednesday:
            type: number
            format: double
          Saturday:
            type: number
            format: double
          Thursday:
            type: number
            format: double
          StaffId:
            type: string
            format: uuid
          Friday:
            type: number
            format: double
  TimeAndFeeRecByStaffSummaryTimeAndFeeRecByStaffSummary:
     type: array
     properties:
        items:
          StaffId:
            type: string
            format: uuid
          StaffName:
            type: string
          Billable_MTD:
            type: number
            format: double
          Billable_FYTD:
            type: number
            format: double
          NonBillable_MTD:
            type: number
            format: double
          NonBillable_FYTD:
            type: number
            format: double
  GetTrustBankRegisterRequestLRCR:
     type: object
     properties:
          BankAccountId:
            type: string
            format: uuid
          DateRange:
            properties:
              From:
                type: string
                format: date-time
              To:
                type: string
                format: date-time
  AtDateRequest:
     type: object
     properties:
          AtDate:
            type: string
            format: date-time
  StaffBudgets200:
    type: array
    items:
      properties: 
        StaffId:
          type: string
          format: uuid
          description: LEAP Staff GUID
        FirstName:
          type: string
          description: Staff member first name
        LastName:
          type: string
          description: Staff member last name
        BudgetDetail:
          type: array
          items:
            properties:
              BudgetDate:
                type: string
                format: date-time
                description: Date of the budget entry
              Hours: 
                type: number
                format: double
                description: Budgeted amount of hours
              Amount:
                type: number
                format: double
                description: Budgeted amount of dollars
              NonBillableHoursByStaff: 
                type: number
                format: double
                description: Amount of non-billable hours allocated for the budget
              FeesCollected:
                type: number
                format: double
                description: Budgeted amount of fee collections
                
  SharedCalendarsResponse200:
    type: object
    properties:
      items:
        type: array 
        items:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            owner:
              type: string 
              
  Matter-Correspondences-200:
    type: object
    properties:
      documentId:
        type: string
      documentTypeId:
        type: integer
        format: int32
      toFrom:
        type: string
      docName:
        type: string
      createDate:
        type: string
      transferMode:
        type: string
      staffInitials:
        type: string
      userId:
        type: string
      pin:
        type: string
      latestVersion:
        type: string
      ext:
        type: string
      deleteCode:
        type: integer
        format: int32
      version:
        type: integer
        format: int32
      attachments:
        type: array
        items:
          type: object
          properties:
            name:
              type: string
            attachmentId:
              type: string
            deleteCode:
              type: integer
              format: int32
      lastModified:
        type: string
      signatures:
        type: array
        items:
          type: string
      signatureStatus:
        type: integer
        format: int32
      matterDoxStatus:
        type: string
      desktopOnly:
        type: boolean
      number:
        type: string
      createdByAppId:
        type: string
      modifiedByAppId:
        type: string
  ContentOfIEnumerableOfMatterTypeData:
    type: object
    properties:
      type:
        type: string
      data:
        type: array
        items:
          $ref: '#/definitions/MatterTypeData'
  MatterTypeData:
    type: object
    properties:
      id:
        type: string
      name:
        type: string
      parentId:
        type: string
      shortcutId:
        type: string
      criticalDateSchemeId:
        type: string
      type:
        type: string
      deleteCode:
        type: string
      path:
        type: string
      matterCategoryId:
        type: integer
        format: int32
      categoryName:
        type: string
      states:
        type: array
        items:
          $ref: '#/definitions/MatterTypeStateData'
  MatterTypeStateData:
    type: object
    properties:
      name:
        type: string
      alias:
        type: string
  ProblemDetails:
    type: object
    required:
      - extensions
    properties:
      type:
        type: string
      title:
        type: string
      status:
        type: integer
        format: int32
      detail:
        type: string
      instance:
        type: string
      extensions:
        type: object
  ContentOfMatterTypeScheme:
    type: object
    properties:
      type:
        type: string
      data:
        $ref: '#/definitions/MatterTypeScheme'   
  MatterTypeScheme:
    type: object
    required:
      - application
      - matterCategoryId
    properties:
      id:
        type: string
      name:
        type: string
      deleteCode:
        type: string
      deleteDescription:
        type: string
      matterCategoryId:
        type: integer
        format: int32
      matterCategoryName:
        type: string
      parentId:
        type: string
      shortcutId:
        type: string
      criticalDateSchemeId:
        type: string
      type:
        type: string
      application:
        type: integer
        format: int32
      path:
        type: string
      title:
        $ref: '#/definitions/TitleInfo'
      precedentProfiles:
        type: array
        items:
          type: string
      cards:
        type: array
        items:
          $ref: '#/definitions/Table'
      definableTables:
        type: array
        items:
          $ref: '#/definitions/Table'
      substitutionTables:
        $ref: '#/definitions/SubstitutionTablesData'
      guideRoleOverrides:
        type: array
        items:
          $ref: '#/definitions/GuideRoleOverride2'
      states:
        type: array
        items:
          $ref: '#/definitions/State'
      relations:
        type: array
        items:
          $ref: '#/definitions/Relation'
      ancestors:
        type: object
        additionalProperties:
          $ref: '#/definitions/Ancestor'
      customDescription:
        $ref: '#/definitions/CustomDescriptionInfo'
  TitleInfo:
    type: object
    required:
      - clientPrefix
      - clientSuffix
      - otherPrefix
      - otherSuffix
    properties:
      client:
        type: string
      clientPrefix:
        type: boolean
      clientSuffix:
        type: boolean
      other:
        type: string
      otherPrefix:
        type: boolean
      otherSuffix:
        type: boolean
  Table:
    type: object
    required:
      - default
      - order
    properties:
      matterTypeId:
        type: string
      tableId:
        type: string
      type:
        type: string
      order:
        type: integer
        format: int32
      default:
        type: boolean
      deleteCode:
        type: string
  SubstitutionTablesData:
    type: object
    properties:
      client:
        $ref: "#/definitions/SubstitutionTablesItem"
      otherSide:
        $ref: "#/definitions/SubstitutionTablesItem"
      otherSideSolicitor:
        $ref: "#/definitions/SubstitutionTablesItem"
      otherSideInsurer:
        $ref: "#/definitions/SubstitutionTablesItem"
  SubstitutionTablesItem:
    type: object
    required:
      - mandatory
    properties:
      mandatory:
        type: boolean
      tables:
        type: array
        items:
          $ref: "#/definitions/SubstitutionTable"
  SubstitutionTable:
    type: object
    required:
      - default
    properties:
      tableId:
        type: string
      default:
        type: boolean
  GuideRoleOverride2:
    type: object
    properties:
      matterTypeId:
        type: string
      originalGuideId:
        type: string
      tableId:
        type: string
      replacementGuideId:
        type: string
  State:
    type: object
    properties:
      matterTypeId:
        type: string
      name:
        type: string
      alias:
        type: object
        additionalProperties:
          type: string
  Relation:
    type: object
    required:
      - order
      - singleton
    properties:
      parentTableId:
        type: string
      childTableId:
        type: string
      order:
        type: integer
        format: int32
      singleton:
        type: boolean
  Ancestor:
    type: object
    properties:
      id:
        type: string
      name:
        type: string
      shortcutId:
        type: string
      type:
        type: string
  CustomDescriptionInfo:
    type: object
    properties:
      fieldId:
        type: string
      tableId:
        type: string
  CriticalDateSchemeResponse:
    type: object
    properties:
      id:
        type: string
        description: The unique identifier for the critical date scheme.
      name:
        type: string
        description: The name of the critical date scheme.
      defaultCriticalDateIDs:
        type: array
        items:
          type: string
        description: A list of default critical date IDs associated with the scheme.
      criticalDates:
        type: array
        items:
          $ref: '#/definitions/CriticalDateResponse'
        description: A list of critical dates included in the scheme.
      deleteCode:
        type: string
        description: A code used to mark the scheme for deletion.
      deleteDescription:
        type: string
        description: A description related to the deletion of the scheme.
  CriticalDateResponse:
    type: object
    required:
      - default
      - isConfirmable
      - order
    properties:
      id:
        type: string
        description: The unique identifier for the critical date.
      name:
        type: string
        description: The name of the critical date.
      displayName:
        type: string
        description: The display name of the critical date.
      jsName:
        type: string
        description: The JavaScript name for the critical date.
      status:
        type: string
        description: The current status of the critical date.
      confirmStatus:
        type: string
        description: The confirmation status of the critical date.
      isConfirmable:
        type: boolean
        description: Indicates whether the critical date can be confirmed.
      order:
        type: integer
        format: int32
        description: The order in which the critical date appears.
      deleteCode:
        type: string
        description: A code used to mark the critical date for deletion.
      default:
        type: boolean
        description: Indicates whether the critical date is a default critical date.
      description:
        type: string
        description: A description of the critical date.
  ContentOfIListOfFieldScheme:
    type: object
    properties:
      type:
        type: string
        description: Type of the response content.
      data:
        type: array
        items:
          $ref: '#/definitions/FieldScheme'
        description: List of field schemes.
  FieldScheme:
    type: object
    required:
      - isHidden
    properties:
      id:
        type: string
        description: Unique identifier for the field.
      tableId:
        type: string
        description: Identifier for the table the field belongs to.
      name:
        type: string
        description: Name of the field.
      jsName:
        type: string
        description: JavaScript name for the field.
      docName:
        type: string
        description: Documentation name for the field.
      type:
        type: string
        description: Type of the field.
      dataType:
        type: string
        description: Data type of the field.
      format:
        type: string
        description: Format of the field data.
      isHidden:
        type: boolean
        description: Indicates whether the field is hidden.
  FilteredTablesGetRequestv2:
    type: object
    required:
      - apiTablesRequired
      - legalRatesRequired
      - basedOnCardRequired
      - definableTableRequired
    properties:
      idList:
        type: array
        description: A list of table IDs to filter by.
        items:
          type: string
      nameList:
        type: array
        description: A list of table names to filter by.
        items:
          type: string
      jsNameList:
        type: array
        description: A list of JavaScript names to filter by.
        items:
          type: string
      docNameList:
        type: array
        description: A list of document names to filter by.
        items:
          type: string
      apiTablesRequired:
        type: boolean
      legalRatesRequired:
        type: boolean
      basedOnCardRequired:
        type: boolean
      definableTableRequired:
        type: boolean
      tableType:
        type: string
  FilteredTablesGetRequest:
    type: object
    properties:
      idList:
        type: array
        description: A list of table IDs to filter by.
        items:
          type: string
      nameList:
        type: array
        description: A list of table names to filter by.
        items:
          type: string
      jsNameList:
        type: array
        description: A list of JavaScript names to filter by.
        items:
          type: string
      docNameList:
        type: array
        description: A list of document names to filter by.
        items:
          type: string
  ContentOfIListOfTableListItemScheme:
    type: object
    properties:
      type:
        type: string
        description: The type of content returned.
      data:
        type: array
        description: The list of table items.
        items:
          $ref: '#/definitions/TableListItemScheme'
  TableListItemScheme:
    type: object
    required:
      - isAPITable
      - isBasedOnCard
      - isLegalRates
      - isSingleton
    properties:
      id:
        type: string
        description: The unique identifier of the table.
      name:
        type: string
        description: The name of the table.
      jsName:
        type: string
        description: The JavaScript-friendly name of the table.
      docName:
        type: string
        description: The document-friendly name of the table.
      tableType:
        type: string
        description: The type of table.
      isBasedOnCard:
        type: boolean
        description: Indicates if the table is based on a card.
      isLegalRates:
        type: boolean
        description: Indicates if the table is related to legal rates.
      isAPITable:
        type: boolean
        description: Indicates if the table is used for API purposes.
      isSingleton:
        type: boolean
        description: Indicates if the table is a singleton.
      apiHost:
        type: string
        description: The host for the API.
      apiEndpoint:
        type: string
        description: The API endpoint.
      apiSchema:
        type: string
        description: The schema of the API.

  '301':
    headers:
            Access-Control-Allow-Origin:
              type: string
              description: Allows CORS sharing
    description: Moved Permanently
    content:
      application/json:
        schema:
          properties:
            PreSignedURL:
              type: string
  
securityDefinitions:
  Bearer:
    name: Authorization
    in: header
    type: http
    scheme: bearer
    bearerFormat: JWT
    description: >+ 
      All API endpoints require authorization.
      
      
      For <a href="https://developer.leap.build/knowledge-base/general/creating-your-app/">Public Apps</a>, we recommend using the <a href="https://developer.leap.build/knowledge-base/general/sdk-authorization/">LEAP Host SDK</a>.
      
      
      For <a href="https://developer.leap.build/knowledge-base/general/creating-your-app/">Connector Apps</a>, we recommend using the <a href="https://developer.leap.build/knowledge-base/general/authorization-code-flow/">Authorization Code Flow</a>.
      
      
      Once your App is pre-approved in the LEAP Developer Console, you can generate <a href="https://developer.leap.build/knowledge-base/general/security-api-credentials/">API Credentials</a>.
      
      
      Please see the <a href="https://developer.leap.build/knowledge-base/general/authorization/">LEAP Developer Knowledge Base</a> for further information.
  APIKey:
    name: x-api-key
    in: header
    type: apiKey
    description: >+
      A LEAP API Key is used for client identification, logging and manages
      usage plans.

       Once you have your LEAP API Key, you'll be required to pass it into a `x-api-key` header for <b>all</b> LEAP Service requests;

       

      <b>Example:</b> 

       ```
       curl -X GET https://[API Domain]/api/v2/cards/12345678-687e-4da3-85ac-9cd1db6c2f8c \
       -H 'authorization: Bearer Token' \
       -H 'x-api-key: [LEAP API Key]'
      ```
      
      ##