Skip to main content
All Docs
FeaturesmyProp (AgentOS People Portal)Updated April 4, 2026

Bug Fix: FixFlo Override API Path Corrected in v0.1.93

Bug Fix: FixFlo Override API Path Corrected in v0.1.93

Release: v0.1.93
Severity: High — affected all person-level FixFlo maintenance override lookups
Files changed: src/lib/letmc/features.ts, tests/lib/letmc/features.test.ts


What happened

The getPersonFixfloOverride() function in src/lib/letmc/features.ts was constructing the AgentOS API path with its two final segments in the wrong order:

# Incorrect (before v0.1.93)
GET /{clientName}/overrides/fixflo/{personID}

# Correct (from v0.1.93 onwards)
GET /{clientName}/overrides/{personID}/fixflo

The personID and fixflo segments were swapped, so every request hit an endpoint that AgentOS does not recognise — resulting in 404 errors or unexpected data being returned.

Who was affected

Anything that resolves a person-level FixFlo maintenance override was broken. This includes:

  • BFF routePOST /api/bff/overrides/fixflo delegates to getPersonFixfloOverride(). All calls were silently returning null (the function treats API errors as non-critical and returns null rather than throwing).
  • tRPC routerfeatureOverrides.personFixflo has the same dependency and the same silent failure mode.
  • Feature flag resolutionresolveFeatureFlags() calls getPersonFixfloOverride() as part of its priority chain to determine the FixFlo URL surfaced to a portal user. Because the lookup always failed, the person-level override was never applied; the chain fell back to the company-level override (or no URL at all).

The fix

The path construction in getPersonFixfloOverride() was corrected to place personID before fixflo:

// Before
`/${encodeURIComponent(trimmedShortName)}/overrides/fixflo/${encodeURIComponent(trimmedPersonId)}`

// After
`/${encodeURIComponent(trimmedShortName)}/overrides/${encodeURIComponent(trimmedPersonId)}/fixflo`

JSDoc comments in features.ts were also updated to document the correct path format.

Test coverage

The test suite in tests/lib/letmc/features.test.ts was updated to assert the corrected path:

  • Path construction test now verifies the call is made to /acme%20lettings/overrides/person%20123/fixflo (previously asserted the reversed form).
  • 404 and 500 error-handling tests updated to use the correct URL format in mock errors.
  • resolveFeatureFlags tests updated: the path discriminator now matches on path.includes("/fixflo") rather than path.includes("/overrides/fixflo/"), which is correct for the new path shape and avoids false negatives.

Action required

No configuration changes are needed. Upgrading to v0.1.93 is sufficient. Person-level FixFlo override lookups will begin resolving correctly against AgentOS on the next request after deployment.