AppApptypeAn application you deploy and use, installed into a system or loaded into an application as a component, rather than a library whose functions you call.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →

@sap/approuter

SAP's Node.js application router: the single entry point in front of a business application's microservices, which authenticates the user, forwards each request to a backend by route and serves static content.

A business application made of several apps needs one address for the browser, a login, and a way to reach each backend without the browser knowing where it runs. The application router is that entry point, configured rather than programmed: an xs-app.json file of routes matches each request path to a destination, a bound service or static resources, and says which routes need authentication. It logs the user in against the SAP Authorization and Trust Management service or SAP Cloud Identity Services, keeps the user session and the backends' session cookies in its own memory, and forwards the user's token onward; with the SAP HTML5 Application Repository service for SAP BTP bound, it reads static content and routes from the repository instead of its own folder. It does not hide the backends: the README says they stay reachable directly and must validate the token themselves, and because sessions are not shared between instances, scaling out needs session stickiness, automatic on Cloud Foundry and set up by hand on Kyma.

Facts

Latestv23.3.0ReleasedLicenceSAP DEVELOPER LICENSE AGREEMENT 3.1

Where it sits

Lives in
Provides
App hostingBTPApp hostingcapabilityWhere a built frontend lives and what serves it — the static files of a frontend application after the build, reachable behind a login and beside the API it talks to, without a web server of your own.AuthenticationBTPAuthenticationcapabilityEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. [Authorization](capability:authorization) decides what that identity may do; [identity provisioning](capability:identity-provisioning) manages its lifecycle across systems.
Runs
Cloud FoundryKymalocal
Requires
SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceartifactAuthenticating the user on the routes configured to require it: the router binds to it as the UAA server, or to Cloud Identity Services instead.Cloud Identity ServicesCloud Identity ServicesartifactAuthenticating the user against Identity Authentication instead of, or alongside, SAP Authorization and Trust Management service. Bound to both, the router picks IAS.SAP Destination serviceSAP Destination serviceartifactReading the destination a route forwards to, where that configuration is not written into the router's own environment.SAP Connectivity serviceSAP Connectivity serviceartifactForwarding to an on-premise backend: the binding is required once a destination sets its ProxyType to on-premise.SAP HTML5 Application Repository service for SAP BTPSAP HTML5 Application Repository service for SAP BTPartifactServing static content from the repository rather than from the router's own folder. Bound, both the files and the xs-app.json routes come from there.
Designs
Generative AI on SAP BTPGenerative AI on SAP BTPreference architectureconsuming application that accesses the HTML5 static content

Who is behind it

SAPSAPOrganisationMaintains this
In the atlas: maintains 137, wrote 14
@SAP
maintainer

What it declares

Every artifact

Type
App
Origin
By SAP
Runtime
Node.js
Runs on
Cloud FoundryKymalocal

As an app

Where it runs
does not say
Distributed through
does not say

For authentication

Supports
Token with no userPasses the user onCorporate IdP behind it
property statedstated nonot said

Tasks this contributes to1Beta

Sign a browser user in to a BTP application and have its backends accept the resultA person opens a deployed SAP BTP application in a browser, logs in once, and each of the application's own backend endpoints accepts the request as that person.Shown workinggateway at the front door
What it does

Is the single entry point: it starts the authentication for the routes that need it, checks for cross-site request forgery, serves the static content and forwards each request onward with the user information.

Remaining work

The backends. Its own README states that they stay directly reachable past the router and must validate the JWT and check the scopes themselves, so the router alone does not make an endpoint safe to expose.

All options on the Authentication page →

Connections27

@sap/approuter connections@sap/approuterFUNCTIONAL→ alternative to1alternative to authoredSAP Application Frontend service→ provides2provides stated Serves a built frontend's static files by route, from its own folder or, with the HTML5 Application Repository bound, from the repository at runtime. @sap/approuter 23.0.0 — README, Integration with HTML5 Application Repository: https://unpkg.com/@sap/approuter@23.0.0/README.mdApp hostingprovides stated Logs the user in for the routes that require it and propagates the user information to the backends it forwards to. It does not stand in front of them: its README states that the backend microservices stay directly reachable past the router and must validate the JWT and check the scopes themselves. @sap/approuter 23.0.0 — README, Overview: https://unpkg.com/@sap/approuter@23.0.0/README.md @sap/approuter 23.0.0 — README, Overview: https://unpkg.com/@sap/approuter@23.0.0/README.md @sap/approuter 23.0.0 — README, Overview: https://unpkg.com/@sap/approuter@23.0.0/README.mdAuthenticationUSED BY← connected from1connected from derived If: the app reads the User API endpoints; the launchpad shell service path makes no call to the router Reading the signed-in user: the app calls `/currentUser` and `/attributes`, which the router serves and which answer with the user's first name, last name and e-mail, and `user_uuid` in the case of `/attributes`. Through: inverted from its connects edge miyasuta/btp-ui5-show-userinfo — README, Overview: https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.md miyasuta/btp-ui5-show-userinfo — README, /attributes Endpoint: https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.mdbtp-ui5-show-userinfoif← needed by5needed by derived The router itself, which the second script starts directly so the showcase can also be run the way a productive setup runs it. Through: inverted from its requires edge approuter — README, getting started: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/approuter approuter — package.json, dependencies: https://raw.githubusercontent.com/ui5-community/ui5-ecosystem-showcase/main/showcases/approuter/package.jsonapprouterneeded by derived The entry point the UI5 app and the CAP service are served behind, and the URL a user opens the tool at. Through: inverted from its requires edge Transporting role collections between BTP subaccounts Part1 : Custom tool — SAP Community: https://community.sap.com/t5/technology-blog-posts-by-members/transporting-role-collections-between-btp-subaccounts-part1-custom-tool/ba-p/13538208auth-transportneeded by derived The entry point in front of the application, which routes the requests under /v2/catalog to the CAP service and forwards the auth token to it. Through: inverted from its requires edge Developing a Fiori elements app with CAP and Fiori Tools — SAP Community: https://community.sap.com/t5/technology-blog-posts-by-members/developing-a-fiori-elements-app-with-cap-and-fiori-tools/ba-p/13487547 miyasuta/blog-bookshop — mta.yaml: https://raw.githubusercontent.com/miyasuta/blog-bookshop/master/mta.yamlblog-bookshopneeded by derived the entry point in front of the chat app and the CAP service, one of the nine MTA modules and also usable locally Through: inverted from its requires edge Agentic AI on BTP: a Single Agent with LangGraph — SAP Community, build and deploy: https://community.sap.com/t5/technology-blog-posts-by-members/agentic-ai-on-btp-a-single-agent-with-langgraph/ba-p/14388025 Agentic AI on BTP: a Single Agent with LangGraph — SAP Community, the client side: https://community.sap.com/t5/technology-blog-posts-by-members/agentic-ai-on-btp-a-single-agent-with-langgraph/ba-p/14388025btp-agentneeded by derived the proxy every scenario is built on, configured per use case in its own directory Through: inverted from its requires edge SAP-samples/btp-private-link-approuter — README, SAP Private Link service with SAP Cloud Integration: https://github.com/SAP-samples/btp-private-link-approuter SAP-samples/btp-private-link-approuter — README, How to achieve this?: https://github.com/SAP-samples/btp-private-link-approuterbtp-private-link-approuter← optionally used by3optionally used by derived If: The system has no BSP applications (SAP BTP, ABAP environment) and the host page is served in front of the system instead; a reverse proxy does the same job. Serving the host page on the same origin as the abap2UI5 service where the system cannot carry it as a BSP. The repository ships an `xs-app.json` example for it and states it is not tested by CI. Through: inverted from its requires edge abap2UI5-addons/office-addin — examples/approuter/README.md: https://raw.githubusercontent.com/abap2UI5-addons/office-addin/main/examples/approuter/README.mdabap2UI5 for Excelifoptionally used by derived If: the User API endpoints are read; the launchpad shell service path needs no router The /currentUser and /attributes endpoints the sample reads are the application router's own, so that half of the sample needs a router in front of the app. Through: inverted from its requires edge miyasuta/btp-ui5-show-userinfo — README, Overview: https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.md miyasuta/btp-ui5-show-userinfo — README, Findings, User API: https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.mdbtp-ui5-show-userinfoifoptionally used by derived If: the Fiori application is deployed rather than run locally with cds watch Routing `/$companion/**` to the CAP backend in a deployed setup, which the plugin states only a standalone approuter can do; a local `cds watch` needs none. Through: inverted from its requires edge sleibach/cap-companion README: https://github.com/sleibach/cap-companion sleibach/cap-companion README — Fiori launchpad integration: https://github.com/sleibach/cap-companioncap-companionif← used by5used by derived The deployment includes an approuter module in front of the CAP service, configured to forward the auth token to it. Through: inverted from its requires edge miyasuta/cap-principal-propagation — mta.yaml: https://raw.githubusercontent.com/miyasuta/cap-principal-propagation/main/mta.yamlcap-principal-propagationused by derived The session being stored is the approuter's own, and the deployment includes the router module that holds the configuration. Through: inverted from its requires edge miyasuta/cap-redis — mta.yaml: https://raw.githubusercontent.com/miyasuta/cap-redis/main/mta.yamlcap-redisused by derived The router it wraps and runs as a development-time process, serving the UI5 and CDS modules a project adds as dependencies. Through: inverted from its requires edge dev-approuter — package.json, description and dependencies: https://raw.githubusercontent.com/ui5-community/ui5-ecosystem-showcase/main/packages/dev-approuter/package.jsondev-approuterused by derived The standalone router the MTA deploys in front of the service, as a module at app/router bound to the auth, destination and HTML5 runtime services. Through: inverted from its requires edge ui5-ai-features-demo — mta.yaml, module ui5-ai-features-demo-approuter: https://raw.githubusercontent.com/lemaiwo/ui5-ai-features-demo/main/mta.yamlui5-ai-features-demoused by derived The router it puts in front of the UI5 dev server, so a dev-time request reaches a Cloud Foundry or XS Advanced destination. Through: inverted from its requires edge ui5-middleware-approuter — package.json, description and dependencies: https://raw.githubusercontent.com/ui5-community/ui5-ecosystem-showcase/main/packages/ui5-middleware-approuter/package.jsonui5-middleware-approuterNEEDS→ connects to5connects to stated If: A route sets authenticationType to `ias`. Logging a user in against Identity Authentication: a route whose authenticationType is `ias` redirects to the IAS login. @sap/approuter 23.0.0 — README, route authenticationType: https://unpkg.com/@sap/approuter@23.0.0/README.mdCloud Identity Servicesifconnects to stated Logging a user in on the routes that require it: the router runs the OAuth2 authorization code flow against the UAA and takes the redirect back at its login callback endpoint. @sap/approuter 23.0.0 — README, login property: https://unpkg.com/@sap/approuter@23.0.0/README.md @sap/approuter 23.0.0 — README, state parameter and PKCE: https://unpkg.com/@sap/approuter@23.0.0/README.mdSAP Authorization and Trust Managementserviceconnects to stated If: The destination's configuration has `proxyType=OnPremise`. Reaching a backend in a private network: the connectivity service proxies the router's requests to the cloud connector, which tunnels them on. @sap/approuter 23.0.0 — README, Connectivity: https://unpkg.com/@sap/approuter@23.0.0/README.md @sap/approuter 23.0.0 — README, Connectivity: https://unpkg.com/@sap/approuter@23.0.0/README.mdSAP Connectivity serviceifconnects to stated Reading the configuration of the destination a route forwards to, where the router's own environment does not define it. @sap/approuter 23.0.0 — README, Destination service: https://unpkg.com/@sap/approuter@23.0.0/README.mdSAP Destination serviceconnects to stated Fetching the static content and the xs-app.json routes of an HTML5 application the repository holds, to serve them. @sap/approuter 23.0.0 — README, Integration with HTML5 Application Repository: https://unpkg.com/@sap/approuter@23.0.0/README.mdSAP HTML5 Application Repositoryservice for SAP BTP→ needs5needs stated Authenticating the user against Identity Authentication instead of, or alongside, [SAP Authorization and Trust Management service](artifact:btp-authorization-and-trust-management). Bound to both, the router picks IAS. @sap/approuter 23.0.0 — README, authenticationType: https://unpkg.com/@sap/approuter@23.0.0/README.mdCloud Identity Servicesneeds stated Authenticating the user on the routes configured to require it: the router binds to it as the UAA server, or to [Cloud Identity Services](artifact:btp-cloud-identity-services) instead. @sap/approuter 23.0.0 — README, user authentication: https://unpkg.com/@sap/approuter@23.0.0/README.mdSAP Authorization and Trust Managementserviceneeds stated Forwarding to an on-premise backend: the binding is required once a destination sets its ProxyType to on-premise. @sap/approuter 23.0.0 — README, destination ProxyType: https://unpkg.com/@sap/approuter@23.0.0/README.mdSAP Connectivity serviceneeds stated Reading the destination a route forwards to, where that configuration is not written into the router's own environment. @sap/approuter 23.0.0 — README, destination configuration: https://unpkg.com/@sap/approuter@23.0.0/README.mdSAP Destination serviceneeds stated Serving static content from the repository rather than from the router's own folder. Bound, both the files and the xs-app.json routes come from there. @sap/approuter 23.0.0 — README, Integration with HTML5 Application Repository: https://unpkg.com/@sap/approuter@23.0.0/README.mdSAP HTML5 Application Repositoryservice for SAP BTP

Install

npm add @sap/approuter

Derived from the package name. No recipe recorded; the README has the configuration.

Learn more1

Readings
  1. SAP Business Technology Platform: Authorization and Trust Management ServiceSekhuteTK, SAP Community
What changed
  1. v8.0.0

    Support for the SAP_JWT_TRUST_ACL environment variable was removed; audience validation of the token takes its place.

    Makes stale:

    Deployments that grant token trust between applications by setting SAP_JWT_TRUST_ACL.

1 earlier
  1. v2.0.0

    The local-* files such as local-destinations and local-plugins can no longer be used for local development; the router reads a single file instead.

    Makes stale:

    Local setups that keep destinations or plugins in local-* files.

README

quoted from @sap/approuter@23.3.0, read
@sap/approuter@23.3.0/README.mdOn npm

@sap/approuter

excerpt, SAP DEVELOPER LICENSE AGREEMENT 3.1, read licencethe rest, on npm

History

Latest

v23.3.0

Fixes 1, Dependencies 3

  1. v23.2.0

    Features 1, Fixes 11, Dependencies 2

  2. v23.1.0

    Features 1, Fixes 2, Dependencies 2

  3. v23.0.0

    Features 2, Fixes 7, Dependencies 2

  4. v22.0.5

    Fixes 8

  5. v22.0.4

    Fixes 7, Dependencies 3

  6. v22.0.3

    Fixes 3

  7. v22.0.2

    Fixes 5, Dependencies 1

  8. v22.0.1

    Fixes 2

  9. v22.0.0

    Features 1, Fixes 5, Dependencies 1

  10. v21.5.0

    Fixes 3, Dependencies 1

  11. v21.4.0

    Features 1, Fixes 5, Dependencies 2

  12. v21.3.0

    Features 2, Fixes 3, Dependencies 1

  13. v21.2.1

    Fixes 2, Dependencies 3

  14. v21.2.0

    Features 2, Fixes 3

  15. v21.1.0

    Features 3, Fixes 1, Dependencies 2

  16. v21.0.0

    Features 3, Fixes 4, Dependencies 3

  17. v20.10.0

    Features 2, Fixes 2, Dependencies 4

  18. v20.9.0

    Features 1, Fixes 3, Dependencies 4

  19. v20.8.8

    Fixes 3, Dependencies 8

  20. v20.8.7

    Features 1, Fixes 2, Dependencies 2

  21. v20.8.6

    Fixes 1, Dependencies 3

  22. v20.8.5

    Fixes 1, Dependencies 5

  23. v20.8.4

    Fixes 6, Dependencies 2

  24. v20.8.3

    Features 1, Fixes 12, Dependencies 1

  25. v20.8.2

    Dependencies 1

  26. v20.8.1

    Fixes 1

  27. v20.8.0

    Features 4, Fixes 8, Dependencies 2

  28. v20.7.1

    Fixes 2, Dependencies 1

  29. v20.7.0

    Features 4, Fixes 2, Dependencies 28

  30. v20.6.1

    Fixes 2

  31. v20.6.0

    Features 4, Fixes 3, Dependencies 1

  32. v20.5.4

    Fixes 4

  33. v20.5.3

    Fixes 3

  34. v20.5.2

    Fixes 1

  35. v20.5.1

    Fixes 1

  36. v20.5.0

    Features 5, Fixes 2

  37. v20.4.0

    Features 2, Fixes 4

  38. v20.3.1

    Fixes 2

  39. v20.3.0

    Features 1, Fixes 4

  40. v20.2.0

    Features 2

  41. v20.1.0

    Features 1, Fixes 1

  42. v20.0.1

    Features 1, Fixes 2

  43. v20.0.0

    Features 2, Dependencies 2

  44. v19.0.4

    Fixes 1

  45. v19.0.3

    Fixes 4, Dependencies 1

  46. v19.0.2

    Fixes 1

  47. v19.0.1

    Fixes 9, Dependencies 2

  48. v19.0.0

    Features 4, Fixes 1, Dependencies 4

  49. v18.0.3

    Fixes 1

  50. v18.0.2

    Fixes 2

  51. v18.0.1

    Fixes 3

  52. v18.0.0

    Features 5, Fixes 6, Dependencies 4

  53. v17.1.0

    Features 4, Fixes 2

  54. v17.0.0

    Fixes 2, Dependencies 3

  55. v16.9.0

    Features 1, Fixes 4

  56. v16.8.2

    Fixes 1

  57. v16.8.1

    Dependencies 2

  58. v16.8.0

    Features 2, Fixes 2, Dependencies 3

  59. v16.7.3

    Fixes 1

  60. v16.7.2

    Fixes 2

  61. v16.7.1

    Fixes 2

  62. v16.7.0

    Features 2, Fixes 4, Dependencies 1

  63. v16.6.2

    Fixes 3

  64. v16.6.1

    Features 1, Fixes 5

  65. v16.6.0

    Features 1, Fixes 2, Dependencies 1

  66. v16.5.2

    Fixes 3

  67. v16.5.1

    Fixes 4

  68. v16.5.0

    Features 3, Fixes 4

  69. v16.4.2

    Fixes 2

  70. v16.4.1

    Fixes 1

  71. v16.4.0

    Features 1, Fixes 3, Dependencies 3

  72. v16.3.0

    Features 1

  73. v16.2.1

    Fixes 4

  74. v16.2.0

    Features 2, Fixes 2

  75. v16.1.1

    Fixes 1

  76. v16.1.0

    Features 1, Fixes 4

  77. v16.0.2

    Dependencies 3

  78. v16.0.1

    Dependencies 1

  79. v16.0.0

    Dependencies 1

  80. v15.0.0

    Features 1, Dependencies 3

  81. v14.4.3

    Fixes 2, Dependencies 1

  82. v14.4.2

    Dependencies 1

  83. v14.4.1

    Features 1, Dependencies 1

  84. v14.4.0

    Features 4, Fixes 1, Dependencies 2

  85. v14.3.4

    Fixes 2, Dependencies 1

  86. v14.3.3

    Features 3, Fixes 1, Dependencies 1

  87. v14.3.2

    Features 2, Fixes 2, Dependencies 1

  88. v14.3.1

    Features 1

  89. v14.3.0

    Features 1

  90. v14.2.1

    Features 1, Fixes 1, Dependencies 1

  91. v14.2.0

    Features 2, Fixes 2

  92. v14.1.2

    Fixes 5

  93. v14.1.1

    Fixes 1

  94. v14.1.0

    Features 1, Fixes 5, Dependencies 1

  95. v14.0.0

    Features 1, Dependencies 1

  96. v13.1.1

    Fixes 1, Dependencies 1

  97. v13.1.0

    Features 1, Fixes 3, Dependencies 2

  98. v13.0.2

    Fixes 1, Dependencies 1

  99. v13.0.1

    Fixes 4, Dependencies 1

  100. v13.0.0

    Features 3, Fixes 4

  101. v12.0.3

    Fixes 1

  102. v12.0.2

    Fixes 1, Dependencies 1

  103. v12.0.1

    Fixes 1, Dependencies 1

  104. v12.0.0

    Features 2, Fixes 1

  105. v11.6.1

    Fixes 3

  106. v11.6.0

    Features 1

  107. v11.5.1

    Fixes 2

  108. v11.5.0

    Features 1, Dependencies 1

  109. v11.4.1

    Fixes 3

  110. v11.4.0

    Features 2

  111. v11.3.4

    Fixes 1

  112. v11.3.3

    Fixes 2

  113. v11.3.2

    Fixes 3

  114. v11.3.1

    Fixes 4

  115. v11.3.0

    Features 2

  116. v11.2.1

    Fixes 1

  117. v11.2.0

    Features 1, Fixes 3

  118. v11.1.0

    Features 2, Fixes 2

  119. v11.0.1

    Fixes 1

  120. v11.0.0

    Features 1, Dependencies 1

  121. v10.15.4

    Fixes 2, Dependencies 2

  122. v10.15.3

    Fixes 1

  123. v10.15.2

    Fixes 2, Dependencies 2

  124. v10.15.1

    Dependencies 5

  125. v10.15.0

    Features 5, Fixes 1, Dependencies 1

  126. v10.14.2

    Dependencies 1

  127. v10.14.1

    Fixes 2

  128. v10.14.0

    Features 1, Fixes 3, Dependencies 1

  129. v10.13.2

    Fixes 2, Dependencies 3

  130. v10.13.1

    Fixes 1

  131. v10.13.0

    Features 1, Fixes 2, Dependencies 2

  132. v10.12.0

    Features 2, Dependencies 1

  133. v10.11.3

    Dependencies 2

  134. v10.11.2

    Dependencies 1

  135. v10.11.1

    Dependencies 1

  136. v10.11.0

    Features 3, Fixes 5, Dependencies 1

  137. v10.10.4

    Fixes 1

  138. v10.10.3

    Features 1, Fixes 4, Dependencies 4

  139. v10.10.2

    Fixes 3, Dependencies 2

  140. v10.10.1

    Fixes 1

  141. v10.10.0

    Features 2, Fixes 3, Dependencies 1

  142. v10.9.2

    Fixes 2, Dependencies 2

  143. v10.9.1

    Fixes 1

  144. v10.9.0

    Features 4, Dependencies 1

  145. v10.8.2

    Fixes 1

  146. v10.8.1

    Features 2, Fixes 2, Dependencies 3

  147. v10.8.0

    Features 1, Fixes 6

  148. v10.7.1

    Features 4

  149. v10.6.1

    Fixes 2

  150. v10.6.0

    Features 1, Fixes 2

  151. v10.5.1

    Fixes 1, Dependencies 1

  152. v10.5.0

    Features 1, Fixes 2

  153. v10.4.3

    Fixes 2

  154. v10.4.2

    Fixes 1

  155. v10.4.1

    Fixes 5, Dependencies 1

  156. v10.4.0

    Features 1, Fixes 2

  157. v10.3.0

    Features 3, Fixes 2, Dependencies 1

  158. v10.2.0

    Features 2, Fixes 5

  159. v10.1.0

    Features 2, Fixes 1

  160. v10.0.0

    Features 1

  161. v9.4.0

    Features 2, Fixes 2, Dependencies 3

  162. v9.3.0

    Features 1, Fixes 2, Dependencies 1

  163. v9.2.0

    Features 1, Fixes 1, Dependencies 2

  164. v9.1.0

    Features 1, Fixes 2, Dependencies 1

  165. v9.0.2

    Fixes 3, Dependencies 1

  166. v9.0.1

    Fixes 1, Dependencies 2

  167. v9.0.0

    Features 4, Dependencies 1

  168. v8.6.1

    Fixes 1

  169. v8.6.0

    Fixes 1

  170. v8.5.5

    Fixes 1

  171. v8.5.4

    Fixes 1

  172. v8.5.3

    Fixes 1

  173. v8.5.2

    Fixes 1

  174. v8.5.1

    Fixes 2, Dependencies 3

  175. v8.5.0

    Fixes 1, Dependencies 5

  176. v8.4.1

    Fixes 1

  177. v8.4.0

    Features 2, Fixes 1

  178. v8.3.1

    Fixes 1

  179. v8.3.0

    Fixes 1

  180. v8.2.2

    Fixes 2

  181. v8.2.1

    Fixes 1

  182. v8.2.0

    Fixes 1, Dependencies 1

  183. v8.1.1

    Fixes 1, Other 1

  184. v8.1.0

    Features 2, Fixes 1

  185. v8.0.0dated in the atlas

    Removed 1, Dependencies 1

  186. v7.1.3

    Features 1

  187. v7.1.2

    Fixes 1

  188. v7.1.1

    Features 3, Fixes 1

  189. v7.1.0

    Features 1, Fixes 1

  190. v7.0.0

    Features 1

  191. v6.8.2

    Fixes 1

  192. v6.8.1

    Fixes 1

  193. v6.8.0

    Features 1

  194. v6.7.2

    Features 1, Dependencies 2

  195. v6.7.1

    Features 1

  196. v6.7.0

    Features 1, Fixes 1

  197. v6.6.0

    Dependencies 2, Other 1

  198. v6.5.1

    Fixes 1

  199. v6.5.0

    Features 1, Fixes 1

  200. v6.4.1

    Fixes 1

  201. v6.4.0

    Features 3

  202. v6.3.0

    Features 1

  203. v6.2.0

    Features 2, Dependencies 1

  204. v6.1.2

    Other 1

  205. v6.1.1

    Other 1

  206. v6.1.0

    Features 2, Fixes 1

  207. v6.0.2

    Fixes 2, Dependencies 1

  208. v6.0.1

    Fixes 2

  209. v6.0.0

    Features 1

  210. v5.15.0

    Features 2

  211. v5.14.1

    Features 1, Fixes 1

  212. v5.14.0

    Features 1, Fixes 1

  213. v5.13.1

    Features 1, Fixes 2, Dependencies 1

  214. v5.13.0

    Features 1

  215. v5.12.0

    Features 1

  216. v5.11.0

    Features 1

  217. v5.10.2

    Fixes 1

  218. v5.10.1

    Fixes 1

  219. v5.10.0

    Features 1

  220. v5.9.0

    Features 3

  221. v5.8.0

    Features 1, Fixes 1, Dependencies 3

  222. v5.7.0

    Features 1

  223. v5.6.4

    Fixes 1, Dependencies 2

  224. v5.6.3

    Fixes 1, Dependencies 2

  225. v5.6.2

    Fixes 1, Dependencies 1

  226. v5.6.1

    Dependencies 7

  227. v5.6.0

    Features 2, Fixes 1

  228. v5.5.0

    Features 2

  229. v5.4.2

    Fixes 3

  230. v5.4.1

    Fixes 1

  231. v5.4.0

    Features 1, Fixes 1

  232. v5.3.0

    Features 2

  233. v5.2.1

    Features 1

  234. v5.2.0

    Features 1, Fixes 1

  235. v5.1.0

    Features 1, Fixes 2

  236. v5.0.0

    Fixes 2

  237. v4.0.1

    Fixes 1

  238. v4.0.0

    Features 1, Fixes 2

  239. v3.0.1

    Removed 1

  240. v2.10.0

    Features 2, Fixes 1

  241. v2.9.1

    Fixes 2

  242. v2.9.0

    Features 1

  243. v2.8.2

    Fixes 2

  244. v2.8.1

    Fixes 2

  245. v2.8.0

    Features 3

  246. v2.7.1

    Fixes 2

  247. v2.7.0

    Features 3, Fixes 3

  248. v2.6.1

    Changed 1

  249. v2.6.0

    Removed 1, Features 3, Fixes 3

  250. v2.5.0

    Features 3, Fixes 5

  251. v2.4.0

    Features 2, Changed 1, Fixes 1

  252. v2.3.4

    Fixes 3

  253. v2.3.3

    Features 1, Fixes 6

  254. v2.3.2

    Fixes 1

  255. v2.3.1

    Fixes 5

  256. v2.3.0

    Features 2, Fixes 1

  257. v2.2.0

    Features 3

  258. v2.1.3

    Features 1

  259. v2.1.2

    Fixes 2

  260. v2.1.1

    Fixes 3

  261. v2.1.0

    Features 4

  262. v2.0.0dated in the atlas

    Removed 1, Features 1

23,715downloads per week, npm
Weekly downloads for @sap/approuter26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 23715.20 Apr – 26 Apr: 47,85627 Apr – 3 May: 42,0794 May – 10 May: 49,57911 May – 17 May: 48,00118 May – 24 May: 53,04725 May – 31 May: 47,3361 Jun – 7 Jun: 42,3758 Jun – 14 Jun: 49,32615 Jun – 21 Jun: 48,78722 Jun – 28 Jun: 49,52529 Jun – 5 Jul: 47,4586 Jul – 12 Jul: 45,10813 Jul – 19 Jul: 47,32120 Jul – 26 Jul: 47,14327 Jul – 2 Aug: 41,5343 Aug – 9 Aug: 42,58010 Aug – 16 Aug: 36,74817 Aug – 23 Aug: 42,49824 Aug – 30 Aug: 41,14931 Aug – 6 Sept: 37,8527 Sept – 13 Sept: 29,36014 Sept – 20 Sept: 37,94321 Sept – 27 Sept: 43,82828 Sept – 4 Oct: 49,2875 Oct – 11 Oct: 41,85612 Oct – 18 Oct: 23,715

Others providing11

Declared alternative
  1. SAP Application Frontend serviceManaged hosting and routing for built frontends
App hosting
  1. SAP Application Frontend serviceManaged hosting and routing for built frontends
  2. SAP HTML5 Application Repository service for SAP BTPStores UI5 and HTML5 apps and serves them through the approuter
Authentication
  1. @arc-mcp/xsuaa-authXSUAA authentication stack for an MCP server on SAP BTP
  2. SAP Authorization and Trust Management serviceOAuth server issuing JWTs and holding scopes for BTP apps
  3. Cloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant
  4. SAP Customer Identity and Access Management for B2CRegistration, login and consent for customer-facing sites
  5. OAuth 2.0 on SAP BTPOAuth 2.0 grant flows for applications and APIs in Neo regions
  6. abap_cloud_platformTypeScript library reaching ABAP service instances on Cloud Foundry
  7. @marianfoo/sap-mcp-authBrowser login and session module for SAP MCP servers
  8. Cloud ConnectorSAP's on-premises agent linking SAP BTP to customer-network systems
  9. @saptools/cf-xsuaaOAuth2 token fetcher for a Cloud Foundry app's XSUAA binding

Details

Sources3
Added by handdiscovered herechecked
npm registry, @sap/approuterversion, releases, installschecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
deploymentCloud Foundry, Kyma, local
latestv23.3.0
first release
releases and cadence239, ~13d median
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainbtp, ui-and-frontend-bridge
History in the atlas6
  1. the login and where it stops
  2. The UAA sentence was read again in the 23.0.0 README during this pass and was still there.
  3. btp-authorization-and-trust-management, btp-cloud-identity-services, btp-destination, btp-html5-application-repository, btp-connectivity
  4. btp-authorization-and-trust-management, btp-cloud-identity-services, btp-destination, btp-connectivity, btp-html5-application-repository
  5. SAP's own Application Frontend service page names the HTML5 Application Repository and the application router as what to stay on where those meet your needs better, and the service entry already carries the edge to the repository.
  6. First seen.
For your agent
Ref
artifact:sap-approuter
JSON
/artifacts/sap-approuter.json
MCP
Connecting an agent