You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "Adam Saghy (Jira)" <ji...@apache.org> on 2026/07/10 09:18:00 UTC
[jira] [Updated] (FINERACT-2603) Add staffId filter parameter to the Retrieve All Clients API
[ https://issues.apache.org/jira/browse/FINERACT-2603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adam Saghy updated FINERACT-2603:
---------------------------------
Fix Version/s: 1.15.0
> Add staffId filter parameter to the Retrieve All Clients API
> ------------------------------------------------------------
>
> Key: FINERACT-2603
> URL: https://issues.apache.org/jira/browse/FINERACT-2603
> Project: Apache Fineract
> Issue Type: Improvement
> Components: Client
> Reporter: Ralph Hopman
> Assignee: Ralph Hopman
> Priority: Minor
> Fix For: 1.15.0
>
>
> As a Fineract API consumer, I want to be able to filter the _Retrieve All Clients_ endpoint by {{{}staffId{}}}, so that I can retrieve only the clients assigned to a specific staff member without having to filter results client-side.
> h2. Background
> The {{GET /clients}} endpoint ({{{}ClientsApiResource#retrieveAll{}}}) currently supports filtering by office, legal form, status, name, and other fields. There is no way to narrow results by the staff member assigned to a client. This forces callers to fetch large result sets and discard unneeded records.
> h2. Acceptance Criteria
> * The {{GET /clients}} endpoint accepts an optional {{staffId}} query parameter (type: {{{}Long{}}}).
> * When {{staffId}} is provided, only clients whose {{staff_id}} matches the given value are returned.
> * When {{staffId}} is omitted or {{{}null{}}}, the existing behaviour is preserved and no additional filtering is applied.
> * {{staffId}} is passed through the call chain: {{ClientsApiResource}} -> {{SearchParameters}} -> {{{}ClientReadPlatformServiceImpl{}}}, where it is applied as a SQL predicate {{{}c.staff_id = ?{}}}.
> * The generated {{ClientApi}} client (retrofit) exposes the new parameter so that integration-test call sites compile and pass {{null}} when the filter is not needed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)