Skip to content

Matter Controllers

This page provides documentation for some of the matter controllers in the ALP application.

Each controller has its own set of endpoints with specific functionalities.

Disbursement Controller

GetList

Retrieves a paginated list of disbursements for a specific matter.

  • Endpoint: GET /api/matters/{matterId}/disbursements

Create

Creates a new disbursement for a specific matter.

  • Endpoint: POST /api/matters/{matterId}/disbursements

GetById

Retrieves a disbursement by its ID for a specific matter.

  • Endpoint: GET /api/matters/{matterId}/disbursements/{id}

Update

Updates a disbursement for a specific matter.

  • Endpoint: PUT /api/matters/{matterId}/disbursements/{id}

Patch

Partially updates a disbursement for a specific matter using JSON Patch.

  • Endpoint: PATCH /api/matters/{matterId}/disbursements/{id}

Delete

Deletes a disbursement by its ID for a specific matter.

  • Endpoint: DELETE /api/matters/{matterId}/disbursements/{id}

Invoice Controller

GetList

Retrieves a paginated list of invoices based on the specified filters.

  • Endpoint: GET api/invoices

GetAwaitingApprovalList

Retrieves a paginated list of invoices in the "Awaiting Approval" status.

  • Endpoint: GET api/invoices/awaiting-approval

GetApprovedList

Retrieves a paginated list of invoices in the "Approved" status.

  • Endpoint: GET api/invoices/approved

Retrieves a link to download the PDF of a specific invoice.

  • Endpoint: GET api/invoices/pdf/{invoiceId}

Retrieves a link to download the PDF of the Work in Progress (WIP) report for a specific matter.

  • Endpoint: GET api/invoices/pdf/wip/{matterId}

GetFriendlyReminderPDFDownload

Retrieves a link to download the PDF of a friendly reminder for a specific invoice.

  • Endpoint: GET api/invoices/friendly-reminder/pdf/{invoiceId}

GetFirstReminderPDFDownload

Retrieves a link to download the PDF of the first reminder for a specific invoice.

  • Endpoint: GET api/invoices/first-reminder/pdf/{invoiceId}

GetSecondReminderPDFDownload

Retrieves a link to download the PDF of the second reminder for a specific invoice.

  • Endpoint: GET api/invoices/second-reminder/pdf/{invoiceId}

GetInvoiceStatementPDFDownload

Retrieves a link to download the PDF of the invoice statement for a specific client.

  • Endpoint: GET api/invoices/invoicestatement/pdf/{clientId}

SendFriendlyReminderEmail

Sends a friendly reminder email for a specific invoice.

  • Endpoint: GET api/invoices/friendly-reminder/email/{invoiceId}

SendFirstReminderEmail

Sends the first reminder email for a specific invoice.

  • Endpoint: GET api/invoices/first-reminder/email/{invoiceId}

SendSecondReminderEmail

Sends the second reminder email for a specific invoice.

  • Endpoint: GET api/invoices/second-reminder/email/{invoiceId}

SendInvoiceStatementEmail

Sends the invoice statement email for a specific client.

  • Endpoint: GET api/invoices/invoicestatement/email/{clientId}

GetInvoiceLifeTimebyClientId

Retrieves the lifetime value of invoices for a specific client.

  • Endpoint: GET api/invoices/life-time-value/{id}

Create

Creates a new invoice based on the provided input.

  • Endpoint: POST api/invoices

GetById

Retrieves the details of a specific invoice.

  • Endpoint: GET api/invoices/{id}

GetInvoicesForMatter

Retrieves a paginated list of invoices associated with a specific matter.

  • Endpoint: GET api/invoices/formatter/{matterId}

GetInvoicesById

Retrieves a paginated list of invoices associated with a specific client.

  • Endpoint: GET api/invoices/forclient/{clientId}

GetTimeEntries

Retrieves a paginated list of time entries associated with a specific invoice.

  • Endpoint: GET api/invoices/{id}/time-entries

GetAvailableTimeEntries

Retrieves a paginated list of available time entries that can be added to a specific invoice.

  • Endpoint: GET api/invoices/{id}/available-time-entries

AddTimeEntry

Adds a time entry to a specific invoice.

  • Endpoint: PUT api/invoices/{id}/time-entries/{timeEntryId}

AddAllTimeEntry

Adds all available time entries to a specific invoice.

  • Endpoint: PUT api/invoices/{id}/all-time-entries

RemoveTimeEntry

Removes a time entry from a specific invoice.

  • Endpoint: DELETE api/invoices/{id}/time-entries/{timeEntryId}

GetDisbursements

Retrieves a paginated list of disbursements associated with a specific invoice.

  • Endpoint: GET api/invoices/{id}/disbursements

GetAvailableDisbursements

Retrieves a paginated list of available disbursements that can be added to a specific invoice.

  • Endpoint: GET api/invoices/{id}/available-disbursements

AddDisbursement

Adds a disbursement to a specific invoice.

  • Endpoint: PUT api/invoices/{id}/disbursements/{disbursementId}

RemoveDisbursement

Removes a disbursement from a specific invoice.

  • Endpoint: DELETE api/invoices/{id}/disbursements/{disbursementId}

Update

Updates a specific disbursement from an invoice based on the provided input.

  • Endpoint: PUT api/invoices/{id}/update-disbursements/{disbursementId}

GetFixedPriceItems

Retrieves a paginated list of fixed price items associated with a specific invoice.

  • Endpoint: GET api/invoices/{id}/fixed-price-items

AddFixedPriceItem

Adds a fixed price item to a specific invoice.

  • Endpoint: POST api/invoices/{id}/fixed-price-items

RemoveFixedPriceItem

Removes a fixed price item from a specific invoice.

  • Endpoint: DELETE api/invoices/{id}/fixed-price-items/{fixedPriceItemId}

Update

Updates a specific fixed price item from an invoice based on the provided input.

  • Endpoint: PUT api/invoices/{id}/fixed-price-items/{fixedPriceItemId}

GetXeroPaymentHistoryFromXero

Retrieves a paginated list of payment history from Xero for a specific invoice.

  • Endpoint: GET api/invoices/get-xero-payment-history-from-xero/{invoiceId}

SyncAllInvoicePaymentsFromXero

Syncs all invoice payments from Xero.

  • Endpoint: POST api/invoices/sync-all-invoice-payments-from-xero

SyncXeroPaymentHistory

Syncs the payment history from Xero for a specific invoice.

  • Endpoint: POST api/invoices/sync-payments-by-invoice-id/{invoiceId}

ReSyncInvoiceToXero

Resyncs a specific invoice to Xero.

  • Endpoint: POST api/invoices/re-sync-to-xero-by-invoice-id/{invoiceId}

GetCredits

Retrieves credits for a specific invoice.

  • Endpoint: GET api/invoices/{id}/credits

Retrieves the preview link for a specific invoice.

  • Endpoint: GET api/invoices/{id}/preview

GetPreviewDownload

Retrieves the preview download for a specific invoice.

  • Endpoint: GET api/invoices/{id}/preview/download

GeneratePreview

Generates a preview for a specific invoice.

  • Endpoint: POST api/invoices/{id}/preview

SendDraftForApproval

Sends a draft invoice for approval.

  • Endpoint: PUT api/invoices/{id}/approval

RejectDraft

Rejects a draft invoice.

  • Endpoint: PUT api/invoices/{id}/reject

ApproveDraft

Approves a draft invoice.

  • Endpoint: PUT api/invoices/{id}/approved

SendInvoice

Sends an invoice.

  • Endpoint: PUT api/invoices/{id}/send

Delete

Deletes a specific invoice.

  • Endpoint: DELETE api/invoices/{id}/delete

UpdateDoNotCollect

Updates the "Do Not Collect" status for a specific invoice.

  • Endpoint: PUT api/invoices/{id}/donotcollect

UpdateInvoiceDate

Updates the invoice date for a specific invoice.

  • Endpoint: POST api/invoices/{id}/invoicedate

StatutoryTrust Controller

CreateTransactionRequest

Creates a statutory trust transaction request.

  • Endpoint: POST api/stautory-trust-accounts

TrustAccount Controller

GetList

Retrieves a paginated list of trust accounts.

  • Endpoint: GET api/trust-accounts

GetById

Retrieves a trust account by ID.

  • Endpoint: GET api/trust-accounts/{id}

Create

Creates a trust account.

  • Endpoint: POST api/trust-accounts

GetRequestsPending

Retrieves paginated pending trust transaction requests for a specific trust account.

  • Endpoint: GET api/trust-accounts/{id}/requests

ApproveRequest

Approves a specific trust transaction request.

  • Endpoint: PUT api/trust-accounts/{id}/requests/{requestId}/approve

RejectRequest

Rejects a specific trust transaction request with a reason.

  • Endpoint: POST api/trust-accounts/{id}/requests/{requestId}/reject

GetBankTransactions

Retrieves paginated bank transactions for a specific trust account.

  • Endpoint: GET api/trust-accounts/{id}/bank-transactions

ImportBankTransaction

Imports bank transactions for a specific trust account from a file.

  • Endpoint: POST api/trust-accounts/{id}/bank-transactions/import

GetUnreconciledBankTransactions

Retrieves paginated unreconciled bank transactions for a specific trust account.

  • Endpoint: GET api/trust-accounts/{id}/bank-transactions/unreconciled

RecordUnknownDepositOnBankTransaction

Records an unknown deposit on a specific bank transaction.

  • Endpoint: GET api/trust-accounts/{id}/bank-transactions/{transactionId}/record-unknow-deposit

GetTransactions

Retrieves paginated trust transactions for a specific trust account.

  • Endpoint: GET api/trust-accounts/{id}/transactions

Retrieves the download link for the receipt of a specific trust transaction.

  • Endpoint: GET api/trust-accounts/transactions/{transactionId}/receipt

GetUnreconciledTransactions

Retrieves paginated unreconciled trust transactions for a specific trust account.

  • Endpoint: GET api/trust-accounts/{id}/transactions/unreconciled

ReconcileTransactions

Reconciles trust transactions for a specific trust account.

  • Endpoint: POST api/trust-accounts/{id}/reconcile

GetTrialBalance

Retrieves the trial balance for a specific trust account at a given end date.

  • Endpoint: GET api/trust-accounts/{id}/trial-balance

GetTrialBalanceDownload

Triggers the download of the trial balance report for a specific trust account at a given end date.

  • Endpoint: POST api/trust-accounts/{id}/trial-balance/download

GetStatutoryTrustStatementDownload

Triggers the download of the statutory trust statement for a specific trust account.

  • Endpoint: POST api/trust-accounts/{id}/statement/download

GetNetBalanceForMatter

Retrieves the net balance for a specific matter within a trust account at a given end date.

  • Endpoint: GET api/trust-accounts/{id}/net-balance-for-matter/{matterId}

GetNetBalanceForMatterDownload

Triggers the download of the net balance report for a specific matter within a trust account at a given end date.

  • Endpoint: POST api/trust-accounts/{id}/net-balance-for-matter/{matterId}/download

GetNetBalanceForClient

Retrieves the net balance for a specific client within a trust account at a given end date.

  • Endpoint: GET api/trust-accounts/{id}/net-balance-for-client/{clientId}

GetNetBalanceForClientDownload

Triggers the download of the net balance report for a specific client within a trust account at a given end date.

  • Endpoint: POST api/trust-accounts/{id}/net-balance-for-client/{clientId}/download

GetReconciliationReport

Retrieves the reconciliation report for a specific trust account within a given date range.

  • Endpoint: GET api/trust-accounts/{id}/reconciliation-report

GetReconciliationReportDownload

Triggers the download of the reconciliation report for a specific trust account within a given date range.

  • Endpoint: POST api/trust-accounts/{id}/reconciliation-report/download

GetLedgers

Retrieves paginated trust ledgers.

  • Endpoint: GET api/trust-accounts/ledgers

GetLedgerbyId

Retrieves a trust ledger by ID.

  • Endpoint: GET api/trust-accounts/ledgers/{id}

GetTrustLedgerTransactionRequestsbyId

Retrieves paginated trust transaction requests for a specific trust ledger.

  • Endpoint: GET api/trust-accounts/ledgers/{id}/transaction_requests

GetTrustLedgerTransactionsbyId

Retrieves paginated trust transactions for a specific trust ledger.

  • Endpoint: GET api/trust-accounts/ledgers/{id}/transactions

Released by DevOps Team