Skip to content

Latest commit

 

History

History
650 lines (517 loc) · 29.7 KB

File metadata and controls

650 lines (517 loc) · 29.7 KB

v6.0.0 Lift → http4s Migration: Override Audit & Batch Roadmap

Companion to LIFT_HTTP4S_MIGRATION.md. Generated by static analysis of APIMethods*.scala ResourceDoc declarations across every prior version.

Summary

  • Total v6.0.0 endpoints: 243
  • Overrides (same VERB + URL as an earlier version): 35
    • These MUST be migrated before Http4s600 is wired into Http4sApp.baseServices.
    • Reason: the bridge cascade would otherwise route v6 requests to v5/v4/etc handlers silently. See CLAUDE.md → "Bridge-cascade hijack".
  • Originals (new to v6, no earlier definition): 208
    • Safe to migrate in any order before OR after Http4s600 is wired in.

Verb distribution

Verb Overrides Originals Total
GET 23 100 123
POST 8 51 59
PUT 4 30 34
DELETE 0 27 27
Total 35 208 243

The 35 override endpoints — must migrate before wire-in

Sorted by verb then URL.

# v6 endpoint Verb URL Earlier versions defining same (verb, URL)
1 getScannedApiVersions GET /api/versions v4_0_0
2 getBanks GET /banks v1_2_1, v3_0_0, v4_0_0
3 getBank GET /banks/BANK_ID v1_2_1, v3_0_0, v4_0_0, v5_0_0
4 getAccountsAtBank GET /banks/BANK_ID/accounts v1_2_1, v2_0_0, v4_0_0
5 getPrivateAccountByIdFull GET /banks/BANK_ID/accounts/ACCOUNT_ID/VIEW_ID/account v1_2_1, v2_0_0, v3_0_0, v3_1_0, v4_0_0
6 getTransactionsForBankAccount GET /banks/BANK_ID/accounts/ACCOUNT_ID/VIEW_ID/transactions v1_2_1, v3_0_0
7 getCustomersAtOneBank GET /banks/BANK_ID/customers v2_1_0, v4_0_0, v5_0_0
8 getCustomerByCustomerId GET /banks/BANK_ID/customers/CUSTOMER_ID v3_1_0
9 getProductsV600 GET /banks/BANK_ID/products v1_4_0, v2_1_0, v3_1_0, v4_0_0
10 getCustomersAtAllBanks GET /customers v4_0_0
11 getAggregateMetrics GET /management/aggregate-metrics v3_0_0, v5_1_0
12 getBankLevelDynamicEntities GET /management/banks/BANK_ID/dynamic-entities v4_0_0
13 getConsumer GET /management/consumers/CONSUMER_ID v2_1_0, v3_1_0, v5_1_0
14 getMetrics GET /management/metrics v2_1_0, v5_1_0
15 getTopAPIs GET /management/metrics/top-apis v3_1_0
16 getSystemDynamicEntities GET /management/system-dynamic-entities v4_0_0
17 getCoreAccountByIdV600 GET /my/banks/BANK_ID/accounts/ACCOUNT_ID/account v2_0_0, v3_0_0, v4_0_0
18 getMyDynamicEntities GET /my/dynamic-entities v4_0_0
19 root GET /root v1_2_1, v1_3_0, v1_4_0, v2_0_0, v2_1_0, v2_2_0, v3_0_0, v3_1_0, v4_0_0, v5_0_0, v5_1_0
20 getUsers GET /users v2_1_0, v3_0_0, v4_0_0
21 getUserAttributes GET /users/USER_ID/attributes v4_0_0
22 getCurrentUser GET /users/current v2_0_0, v3_0_0
23 getWebUiProps GET /webui-props v5_1_0
24 createBank POST /banks v2_2_0, v4_0_0, v5_0_0
25 createCustomer POST /banks/BANK_ID/customers v2_0_0, v2_1_0, v3_1_0, v4_0_0, v5_0_0
26 getCustomerByCustomerNumber POST /banks/BANK_ID/customers/customer-number v3_1_0
27 getCustomersByLegalName POST /banks/BANK_ID/customers/legal-name v5_1_0
28 createBankLevelDynamicEntity POST /management/banks/BANK_ID/dynamic-entities v4_0_0
29 createSystemDynamicEntity POST /management/system-dynamic-entities v4_0_0
30 resetPasswordUrl POST /management/user/reset-password-url v4_0_0
31 createUser POST /users v2_0_0
32 updateBankLevelDynamicEntity PUT /management/banks/BANK_ID/dynamic-entities/DYNAMIC_ENTITY_ID v4_0_0
33 updateSystemDynamicEntity PUT /management/system-dynamic-entities/DYNAMIC_ENTITY_ID v4_0_0
34 updateMyDynamicEntity PUT /my/dynamic-entities/DYNAMIC_ENTITY_ID v4_0_0
35 updateSystemView PUT /system-views/VIEW_ID v3_1_0, v5_0_0

The 208 original endpoints — grouped by domain

Each domain is a natural batch boundary. Recommended PR size: 5–10 endpoints. Buckets are sorted by size (largest domain first).

Bucket summary

Bucket Count Verbs
chat-rooms 26 DELETE:4 GET:9 POST:6 PUT:7
banks/.../chat-rooms 24 DELETE:4 GET:8 POST:5 PUT:7
banks/.../accounts 22 DELETE:2 GET:9 POST:9 PUT:2
users 16 DELETE:2 GET:6 POST:6 PUT:2
banks/.../mandates 10 DELETE:2 GET:4 POST:2 PUT:2
banks/.../api-products 9 DELETE:2 GET:3 POST:2 PUT:2
system 8 GET:8
management/abac-rules 8 DELETE:1 GET:3 POST:3 PUT:1
management/consumers 6 DELETE:1 GET:3 POST:1 PUT:1
management/groups 6 DELETE:1 GET:3 POST:1 PUT:1
signal 6 DELETE:1 GET:4 POST:1
my/personal-data-fields 5 DELETE:1 GET:2 POST:1 PUT:1
banks/.../customer-links 5 DELETE:1 GET:2 POST:1 PUT:1
banks/.../corporate-customers 4 GET:3 POST:1
management/api-collections 4 DELETE:1 GET:1 POST:1 PUT:1
banks/.../customers 3 GET:3
banks/.../retail-customers 3 GET:2 POST:1
management/banks 3 GET:1 POST:2
management/diagnostics 2 DELETE:1 GET:1
management/system-views 2 GET:2
management/webui_props 2 DELETE:1 PUT:1
management/system-dynamic-entities 2 DELETE:1 POST:1
management/abac-policies 2 GET:1 POST:1
oidc 2 GET:1 POST:1
management/connector 2 GET:2
banks/.../products 2 GET:1 PUT:1
features 1 GET:1
consumers 1 GET:1
management/cache 1 POST:1
management/dynamic-entities 1 GET:1
providers 1 GET:1
my/logins 1 POST:1
entitlements 1 DELETE:1
management/roles-with-entitlement-counts 1 GET:1
management/view-permissions 1 GET:1
management/custom-views 1 GET:1
webui-props 1 GET:1
management/abac-rules-schema 1 GET:1
management/dynamic-resource-docs 1 POST:1
message-docs 1 GET:1
personal-dynamic-entities 1 GET:1
api 1 GET:1
api-products 1 GET:1
products 1 GET:1
management/config-props 1 GET:1
app-directory 1 GET:1
my/account-access-requests 1 GET:1
banks/.../account-directory 1 GET:1
banks/.../chat-room-participants 1 POST:1
chat-room-participants 1 POST:1

Full breakdown by bucket

chat-rooms — 26 endpoints

Endpoint Verb URL
deleteSystemChatRoom DELETE /chat-rooms/CHAT_ROOM_ID
deleteSystemChatMessage DELETE /chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID
removeSystemReaction DELETE /chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/reactions/EMOJI
removeSystemChatRoomParticipant DELETE /chat-rooms/CHAT_ROOM_ID/participants/USER_ID
getSystemChatRooms GET /chat-rooms
getSystemChatRoom GET /chat-rooms/CHAT_ROOM_ID
getSystemChatMessages GET /chat-rooms/CHAT_ROOM_ID/messages
getSystemChatMessage GET /chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID
getSystemReactions GET /chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/reactions
getSystemThreadReplies GET /chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/thread
getBulkReactions GET /chat-rooms/CHAT_ROOM_ID/messages/reactions
getSystemChatRoomParticipants GET /chat-rooms/CHAT_ROOM_ID/participants
getSystemTypingUsers GET /chat-rooms/CHAT_ROOM_ID/typing-indicators
createSystemChatRoom POST /chat-rooms
sendSystemChatMessage POST /chat-rooms/CHAT_ROOM_ID/messages
addSystemReaction POST /chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/reactions
replyInSystemThread POST /chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/thread
addSystemChatRoomParticipant POST /chat-rooms/CHAT_ROOM_ID/participants
searchChatRooms POST /chat-rooms/search
updateSystemChatRoom PUT /chat-rooms/CHAT_ROOM_ID
archiveSystemChatRoom PUT /chat-rooms/CHAT_ROOM_ID/archive-status
refreshSystemJoiningKey PUT /chat-rooms/CHAT_ROOM_ID/joining-key
editSystemChatMessage PUT /chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID
setSystemChatRoomOpenRoom PUT /chat-rooms/CHAT_ROOM_ID/open-room
updateSystemParticipantPermissions PUT /chat-rooms/CHAT_ROOM_ID/participants/USER_ID
signalSystemTyping PUT /chat-rooms/CHAT_ROOM_ID/typing-indicators

banks/.../chat-rooms — 24 endpoints

Endpoint Verb URL
deleteBankChatRoom DELETE /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID
deleteBankChatMessage DELETE /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID
removeBankReaction DELETE /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/reactions/EMOJI
removeBankChatRoomParticipant DELETE /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/participants/USER_ID
getBankChatRooms GET /banks/BANK_ID/chat-rooms
getBankChatRoom GET /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID
getBankChatMessages GET /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages
getBankChatMessage GET /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID
getBankReactions GET /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/reactions
getBankThreadReplies GET /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/thread
getBankChatRoomParticipants GET /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/participants
getBankTypingUsers GET /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/typing-indicators
createBankChatRoom POST /banks/BANK_ID/chat-rooms
sendBankChatMessage POST /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages
addBankReaction POST /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/reactions
replyInBankThread POST /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID/thread
addBankChatRoomParticipant POST /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/participants
updateBankChatRoom PUT /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID
archiveBankChatRoom PUT /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/archive-status
refreshBankJoiningKey PUT /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/joining-key
editBankChatMessage PUT /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/messages/CHAT_MESSAGE_ID
setBankChatRoomOpenRoom PUT /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/open-room
updateBankParticipantPermissions PUT /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/participants/USER_ID
signalBankTyping PUT /banks/BANK_ID/chat-rooms/CHAT_ROOM_ID/typing-indicators

banks/.../accounts — 22 endpoints

Endpoint Verb URL
deleteCounterpartyAttribute DELETE /banks/BANK_ID/accounts/ACCOUNT_ID/counterparties/COUNTERPARTY_ID/attributes/COUNTERPARTY_ATTRIBUTE_ID
deleteMandate DELETE /banks/BANK_ID/accounts/ACCOUNT_ID/mandates/MANDATE_ID
getHoldingAccountByReleaser GET /banks/BANK_ID/accounts/ACCOUNT_ID/VIEW_ID/holding-accounts
getAccountAccessRequestsForAccount GET /banks/BANK_ID/accounts/ACCOUNT_ID/account-access-requests
getAccountAccessRequestById GET /banks/BANK_ID/accounts/ACCOUNT_ID/account-access-requests/ACCOUNT_ACCESS_REQUEST_ID
getAllCounterpartyAttributes GET /banks/BANK_ID/accounts/ACCOUNT_ID/counterparties/COUNTERPARTY_ID/attributes
getCounterpartyAttributeById GET /banks/BANK_ID/accounts/ACCOUNT_ID/counterparties/COUNTERPARTY_ID/attributes/COUNTERPARTY_ATTRIBUTE_ID
getMandates GET /banks/BANK_ID/accounts/ACCOUNT_ID/mandates
getMandate GET /banks/BANK_ID/accounts/ACCOUNT_ID/mandates/MANDATE_ID
hasAccountAccess GET /banks/BANK_ID/accounts/ACCOUNT_ID/views/VIEW_ID/has-account-access
getUsersWithAccountAccess GET /banks/BANK_ID/accounts/ACCOUNT_ID/views/VIEW_ID/users-with-access
createAccountAccessRequest POST /banks/BANK_ID/accounts/ACCOUNT_ID/account-access-requests
approveAccountAccessRequest POST /banks/BANK_ID/accounts/ACCOUNT_ID/account-access-requests/ACCOUNT_ACCESS_REQUEST_ID/approval
rejectAccountAccessRequest POST /banks/BANK_ID/accounts/ACCOUNT_ID/account-access-requests/ACCOUNT_ACCESS_REQUEST_ID/rejection
createCounterpartyAttribute POST /banks/BANK_ID/accounts/ACCOUNT_ID/counterparties/COUNTERPARTY_ID/attributes
createMandate POST /banks/BANK_ID/accounts/ACCOUNT_ID/mandates
createTransactionRequestCardano POST /banks/BANK_ID/accounts/ACCOUNT_ID/owner/transaction-request-types/CARDANO/transaction-requests
createTransactionRequestEthSendRawTransaction POST /banks/BANK_ID/accounts/ACCOUNT_ID/owner/transaction-request-types/ETH_SEND_RAW_TRANSACTION/transaction-requests
createTransactionRequestEthereumeSendTransaction POST /banks/BANK_ID/accounts/ACCOUNT_ID/owner/transaction-request-types/ETH_SEND_TRANSACTION/transaction-requests
createTransactionRequestHold POST /banks/BANK_ID/accounts/ACCOUNT_ID/owner/transaction-request-types/HOLD/transaction-requests
updateCounterpartyAttribute PUT /banks/BANK_ID/accounts/ACCOUNT_ID/counterparties/COUNTERPARTY_ID/attributes/COUNTERPARTY_ATTRIBUTE_ID
updateMandate PUT /banks/BANK_ID/accounts/ACCOUNT_ID/mandates/MANDATE_ID

users — 16 endpoints

Endpoint Verb URL
deleteUserAttribute DELETE /users/USER_ID/attributes/USER_ATTRIBUTE_ID
removeUserFromGroup DELETE /users/USER_ID/group-entitlements/GROUP_ID
getUserAttributeById GET /users/USER_ID/attributes/USER_ATTRIBUTE_ID
getUserGroupMemberships GET /users/USER_ID/group-entitlements
getMyChatRooms GET /users/current/chat-rooms
getMyUnreadCounts GET /users/current/chat-rooms/unread
getMyMentions GET /users/current/mentions
getUserByUserId GET /users/user-id/USER_ID
createUserAttribute POST /users/USER_ID/attributes
addUserToGroup POST /users/USER_ID/group-entitlements
validateUserEmail POST /users/email-validation
resetPasswordComplete POST /users/password
resetPasswordUrlAnonymous POST /users/password-reset-url
verifyUserCredentials POST /users/verify-credentials
updateUserAttribute PUT /users/USER_ID/attributes/USER_ATTRIBUTE_ID
markChatRoomRead PUT /users/current/chat-rooms/CHAT_ROOM_ID/read-marker

banks/.../mandates — 10 endpoints

Endpoint Verb URL
deleteMandateProvision DELETE /banks/BANK_ID/mandates/MANDATE_ID/provisions/PROVISION_ID
deleteSignatoryPanel DELETE /banks/BANK_ID/mandates/MANDATE_ID/signatory-panels/PANEL_ID
getMandateProvisions GET /banks/BANK_ID/mandates/MANDATE_ID/provisions
getMandateProvision GET /banks/BANK_ID/mandates/MANDATE_ID/provisions/PROVISION_ID
getSignatoryPanels GET /banks/BANK_ID/mandates/MANDATE_ID/signatory-panels
getSignatoryPanel GET /banks/BANK_ID/mandates/MANDATE_ID/signatory-panels/PANEL_ID
createMandateProvision POST /banks/BANK_ID/mandates/MANDATE_ID/provisions
createSignatoryPanel POST /banks/BANK_ID/mandates/MANDATE_ID/signatory-panels
updateMandateProvision PUT /banks/BANK_ID/mandates/MANDATE_ID/provisions/PROVISION_ID
updateSignatoryPanel PUT /banks/BANK_ID/mandates/MANDATE_ID/signatory-panels/PANEL_ID

banks/.../api-products — 9 endpoints

Endpoint Verb URL
deleteApiProduct DELETE /banks/BANK_ID/api-products/API_PRODUCT_CODE
deleteApiProductAttribute DELETE /banks/BANK_ID/api-products/API_PRODUCT_CODE/attributes/API_PRODUCT_ATTRIBUTE_ID
getApiProducts GET /banks/BANK_ID/api-products
getApiProduct GET /banks/BANK_ID/api-products/API_PRODUCT_CODE
getApiProductAttribute GET /banks/BANK_ID/api-products/API_PRODUCT_CODE/attributes/API_PRODUCT_ATTRIBUTE_ID
createApiProduct POST /banks/BANK_ID/api-products/API_PRODUCT_CODE
createApiProductAttribute POST /banks/BANK_ID/api-products/API_PRODUCT_CODE/attribute
createOrUpdateApiProduct PUT /banks/BANK_ID/api-products/API_PRODUCT_CODE
updateApiProductAttribute PUT /banks/BANK_ID/api-products/API_PRODUCT_CODE/attributes/API_PRODUCT_ATTRIBUTE_ID

system — 8 endpoints

Endpoint Verb URL
getCacheConfig GET /system/cache/config
getCacheInfo GET /system/cache/info
getCacheNamespaces GET /system/cache/namespaces
getConnectorMethodNames GET /system/connector-method-names
getConnectors GET /system/connectors
getStoredProcedureConnectorHealth GET /system/connectors/stored_procedure_vDec2019/health
getDatabasePoolInfo GET /system/database/pool
getMigrations GET /system/migrations

management/abac-rules — 8 endpoints

Endpoint Verb URL
deleteAbacRule DELETE /management/abac-rules/ABAC_RULE_ID
getAbacRules GET /management/abac-rules
getAbacRule GET /management/abac-rules/ABAC_RULE_ID
getAbacRulesByPolicy GET /management/abac-rules/policy/POLICY
createAbacRule POST /management/abac-rules
executeAbacRule POST /management/abac-rules/ABAC_RULE_ID/execute
validateAbacRule POST /management/abac-rules/validate
updateAbacRule PUT /management/abac-rules/ABAC_RULE_ID

management/consumers — 6 endpoints

Endpoint Verb URL
deleteCallLimits DELETE /management/consumers/CONSUMER_ID/consumer/rate-limits/RATE_LIMITING_ID
getActiveRateLimitsNow GET /management/consumers/CONSUMER_ID/active-rate-limits
getActiveRateLimitsAtDate GET /management/consumers/CONSUMER_ID/active-rate-limits/DATE_WITH_HOUR
getConsumerCallCounters GET /management/consumers/CONSUMER_ID/call-counters
createCallLimits POST /management/consumers/CONSUMER_ID/consumer/rate-limits
updateRateLimits PUT /management/consumers/CONSUMER_ID/consumer/rate-limits/RATE_LIMITING_ID

management/groups — 6 endpoints

Endpoint Verb URL
deleteGroup DELETE /management/groups/GROUP_ID
getGroups GET /management/groups
getGroup GET /management/groups/GROUP_ID
getGroupEntitlements GET /management/groups/GROUP_ID/entitlements
createGroup POST /management/groups
updateGroup PUT /management/groups/GROUP_ID

signal — 6 endpoints

Endpoint Verb URL
deleteSignalChannel DELETE /signal/channels/CHANNEL_NAME
getSignalChannels GET /signal/channels
getSignalChannelInfo GET /signal/channels/CHANNEL_NAME/info
getSignalMessages GET /signal/channels/CHANNEL_NAME/messages
getSignalStats GET /signal/channels/stats
publishSignalMessage POST /signal/channels/CHANNEL_NAME/messages

my/personal-data-fields — 5 endpoints

Endpoint Verb URL
deletePersonalDataField DELETE /my/personal-data-fields/USER_ATTRIBUTE_ID
getPersonalDataFields GET /my/personal-data-fields
getPersonalDataFieldById GET /my/personal-data-fields/USER_ATTRIBUTE_ID
createPersonalDataField POST /my/personal-data-fields
updatePersonalDataField PUT /my/personal-data-fields/USER_ATTRIBUTE_ID

banks/.../customer-links — 5 endpoints

Endpoint Verb URL
deleteCustomerLink DELETE /banks/BANK_ID/customer-links/CUSTOMER_LINK_ID
getCustomerLinksByBankId GET /banks/BANK_ID/customer-links
getCustomerLinkById GET /banks/BANK_ID/customer-links/CUSTOMER_LINK_ID
createCustomerLink POST /banks/BANK_ID/customer-links
updateCustomerLink PUT /banks/BANK_ID/customer-links/CUSTOMER_LINK_ID

banks/.../corporate-customers — 4 endpoints

Endpoint Verb URL
getCorporateCustomersAtOneBank GET /banks/BANK_ID/corporate-customers
getCorporateCustomerByCustomerId GET /banks/BANK_ID/corporate-customers/CUSTOMER_ID
getCorporateCustomerSubsidiaries GET /banks/BANK_ID/corporate-customers/CUSTOMER_ID/subsidiaries
createCorporateCustomer POST /banks/BANK_ID/corporate-customers

management/api-collections — 4 endpoints

Endpoint Verb URL
deleteFeaturedApiCollection DELETE /management/api-collections/featured/API_COLLECTION_ID
getFeaturedApiCollectionsAdmin GET /management/api-collections/featured
createFeaturedApiCollection POST /management/api-collections/featured
updateFeaturedApiCollection PUT /management/api-collections/featured/API_COLLECTION_ID

banks/.../customers — 3 endpoints

Endpoint Verb URL
getCustomerChildren GET /banks/BANK_ID/customers/CUSTOMER_ID/children
getCustomerLinksByCustomerId GET /banks/BANK_ID/customers/CUSTOMER_ID/customer-links
getCustomerInvestigationReport GET /banks/BANK_ID/customers/CUSTOMER_ID/investigation-report

banks/.../retail-customers — 3 endpoints

Endpoint Verb URL
getRetailCustomersAtOneBank GET /banks/BANK_ID/retail-customers
getRetailCustomerByCustomerId GET /banks/BANK_ID/retail-customers/CUSTOMER_ID
createRetailCustomer POST /banks/BANK_ID/retail-customers

management/banks — 3 endpoints

Endpoint Verb URL
getCustomViewById GET /management/banks/BANK_ID/accounts/ACCOUNT_ID/views/VIEW_ID
createCustomViewManagement POST /management/banks/BANK_ID/accounts/ACCOUNT_ID/views
backupBankLevelDynamicEntity POST /management/banks/BANK_ID/dynamic-entities/DYNAMIC_ENTITY_ID/backup

management/diagnostics — 2 endpoints

Endpoint Verb URL
cleanupOrphanedDynamicEntityRecords DELETE /management/diagnostics/dynamic-entities/orphaned-records
getDynamicEntityDiagnostics GET /management/diagnostics/dynamic-entities

management/system-views — 2 endpoints

Endpoint Verb URL
getSystemViews GET /management/system-views
getSystemViewById GET /management/system-views/VIEW_ID

management/webui_props — 2 endpoints

Endpoint Verb URL
deleteWebUiProps DELETE /management/webui_props/WEBUI_PROP_NAME
createOrUpdateWebUiProps PUT /management/webui_props/WEBUI_PROP_NAME

management/system-dynamic-entities — 2 endpoints

Endpoint Verb URL
deleteSystemDynamicEntityCascade DELETE /management/system-dynamic-entities/cascade/DYNAMIC_ENTITY_ID
backupSystemDynamicEntity POST /management/system-dynamic-entities/DYNAMIC_ENTITY_ID/backup

management/abac-policies — 2 endpoints

Endpoint Verb URL
getAbacPolicies GET /management/abac-policies
executeAbacPolicy POST /management/abac-policies/POLICY/execute

oidc — 2 endpoints

Endpoint Verb URL
getOidcClient GET /oidc/clients/CLIENT_ID
verifyOidcClient POST /oidc/clients/verify

management/connector — 2 endpoints

Endpoint Verb URL
getConnectorCallCounts GET /management/connector/metrics/counts
getConnectorTraces GET /management/connector/traces

banks/.../products — 2 endpoints

Endpoint Verb URL
getProductTagsV600 GET /banks/BANK_ID/products/PRODUCT_CODE/tags
updateProductTagsV600 PUT /banks/BANK_ID/products/PRODUCT_CODE/tags

features — 1 endpoints

Endpoint Verb URL
getFeatures GET /features

consumers — 1 endpoints

Endpoint Verb URL
getCurrentConsumer GET /consumers/current

management/cache — 1 endpoints

Endpoint Verb URL
invalidateCacheNamespace POST /management/cache/namespaces/invalidate

management/dynamic-entities — 1 endpoints

Endpoint Verb URL
getReferenceTypes GET /management/dynamic-entities/reference-types

providers — 1 endpoints

Endpoint Verb URL
getProviders GET /providers

my/logins — 1 endpoints

Endpoint Verb URL
directLoginEndpoint POST /my/logins/direct

entitlements — 1 endpoints

Endpoint Verb URL
deleteEntitlement DELETE /entitlements/ENTITLEMENT_ID

management/roles-with-entitlement-counts — 1 endpoints

Endpoint Verb URL
getRolesWithEntitlementCountsAtAllBanks GET /management/roles-with-entitlement-counts

management/view-permissions — 1 endpoints

Endpoint Verb URL
getViewPermissions GET /management/view-permissions

management/custom-views — 1 endpoints

Endpoint Verb URL
getCustomViews GET /management/custom-views

webui-props — 1 endpoints

Endpoint Verb URL
getWebUiProp GET /webui-props/WEBUI_PROP_NAME

management/abac-rules-schema — 1 endpoints

Endpoint Verb URL
getAbacRuleSchema GET /management/abac-rules-schema

management/dynamic-resource-docs — 1 endpoints

Endpoint Verb URL
validateDynamicResourceDoc POST /management/dynamic-resource-docs/validate

message-docs — 1 endpoints

Endpoint Verb URL
getMessageDocsJsonSchema GET /message-docs/CONNECTOR/json-schema

personal-dynamic-entities — 1 endpoints

Endpoint Verb URL
getAvailablePersonalDynamicEntities GET /personal-dynamic-entities/available

api — 1 endpoints

Endpoint Verb URL
getPopularApis GET /api/popular-endpoints

api-products — 1 endpoints

Endpoint Verb URL
getAllApiProductsV600 GET /api-products

products — 1 endpoints

Endpoint Verb URL
getAllProductsV600 GET /products

management/config-props — 1 endpoints

Endpoint Verb URL
getConfigProps GET /management/config-props

app-directory — 1 endpoints

Endpoint Verb URL
getAppDirectory GET /app-directory

my/account-access-requests — 1 endpoints

Endpoint Verb URL
getMyAccountAccessRequests GET /my/account-access-requests

banks/.../account-directory — 1 endpoints

Endpoint Verb URL
getAccountDirectory GET /banks/BANK_ID/account-directory

banks/.../chat-room-participants — 1 endpoints

Endpoint Verb URL
joinBankChatRoom POST /banks/BANK_ID/chat-room-participants

chat-room-participants — 1 endpoints

Endpoint Verb URL
joinSystemChatRoom POST /chat-room-participants

Recommended migration order

Phase 0 — Foundation (1 PR, ~1 day)

  1. Create obp-api/src/main/scala/code/api/v6_0_0/Http4s600.scala skeleton: prefixPath = Root / "obp" / "v6.0.0", empty allRoutes, v600ToV510Bridge (path-rewrite to v5.1.0, then through the existing cascade).
  2. Do NOT add to Http4sApp.baseServices yet — it remains inert.
  3. Add Http4s600.scala registration to OBPAPI6_0_0.allResourceDocs chain for resource-docs aggregation parity, but keep resourceDocs empty.

Phase 1 — Override batch (3–5 PRs, ~2–3 weeks)

Migrate the 35 overrides in 4 PRs by verb cluster, in this order:

  • PR 1: All 23 GET overrides (mechanical, lowest risk)
  • PR 2: 4 PUT overrides
  • PR 3: 8 POST overrides
  • PR 4: Wire Http4s600 into Http4sApp.baseServices + full regression run

After PR 4, the chain is … → Http4s600 → v600ToV510Bridge → Http4s510 → … and overrides are protected.

Phase 2 — Originals by domain (~20 PRs, ~3–5 weeks)

Migrate originals one bucket per PR (or split large buckets):

  • PR 5–6: chat-rooms (26) + banks/.../chat-rooms (24) — biggest domain (50 endpoints)
  • PR 7: banks/.../accounts (22)
  • PR 8: users (16)
  • PR 9: banks/.../mandates (10)
  • PR 10: banks/.../api-products (9) + management/abac-rules (8)
  • PR 11: system (8) — note these are 8 GETs on /system-* paths
  • PR 12–13: remaining management/* buckets
  • PR 14+: smaller buckets in batches of 5–10 endpoints

Phase 3 — Cleanup

  • Audit disableAutoValidateRoles() calls in v6 Lift sources for any inline-role-check patterns (CLAUDE.md "Bypass roles vs required roles").
  • Verify excludeEndpoints list in OBPAPI6_0_0 matches the migrated set.
  • Remove unused Lift implementations as they become dead.

Estimated effort

Using the CLAUDE.md velocity figures (6–8 endpoints/day mutations, faster for GETs):

Phase Endpoints PRs Estimated days
0 — Foundation 0 1 ~1
1 — Override batch 35 3–5 ~7–10
2 — Originals 208 ~20 ~30–40
Total 243 ~25 ~38–51

Roughly 8–10 weeks of focused work.