# AX Check: banno.com
Checked 2026-09-18.

Docs are solid, but Banno pricing is nowhere to be found
Getting-started guides and API references resolve cleanly, but pricing is quote-only — agents found no figures, only a contact form.

## Onboarding needs a login

## Coding sessions
Two of three independent sessions completed the task. Both that reached pricing reported it is not publicly listed and requires contacting sales for a quote, with one session also inferring likely pricing assumptions like per-institution subscriptions. The third session did not finish.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/0c12d738-2bf2-4af9-959f-541a6de26cef) · [Read transcript](https://www.ax-check.com/banno.com/sessions/deepseek.json)

#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent spent the entire visible session researching Banno/Jack Henry documentation, npm packages, GitHub example repos, and OIDC discovery metadata for the Garden demo institution. It never attempted an actual authorization-code or client-credentials flow, never obtained a real client_id/client_secret pair issued to itself, and never made an authenticated call against a hosted Banno API. All 'credentials' seen were placeholder/demo values embedded in a public example repo's config.js, explicitly marked for demonstration only. No operation evidence exists in the transcript.
  Event 57:

  ```text
  client_id: '3f85ce95-00e7-4f3e-abbe-132d95f96d4e', // These credentials are designed for *demonstration* purposes only.
  ```
  Event 135:

  ```text
  async function getAccounts(consumerApiPath, userId, accessToken) {
  38:  const accountsApiResponse = await fetch(`${consumerApiPath}${userId}/accounts`, {
  ```
  Event 112:

  ```text
  Before you get started, you’ll need to get the following from the back office administrator at your financial institution who has access to Users & Groups.
  ```

#### Hallucinated URLs
- **Guessed quickstart slugs for client-credentials flow returned 404**: While searching for a client-credentials command-line quickstart, the agent tried several invented URL slugs on jackhenry.dev that do not correspond to real pages. These were guesses, not linked from any documentation page it had already loaded, and all three failed.
  Event 104:

  ```text
  ---also try guessing---
  authentication-clientcredentials-commandline 404
  authentication-client-credentials 404
  authentication-clientcred-commandline 404
  
  ```

#### Blockers
- **Admin API and Consumer API examples require financial-institution-issued credentials**: Both the Admin API and Consumer API OpenID Connect example READMEs state that a real client_id/client_secret must come from a back-office administrator at a financial institution (or from signing up as a developer separately). This is normal product authentication design, not a defect, but it stopped the agent from progressing to an authenticated call within this session.
  Event 46:

  ```text
  Before you get started, you'll need to have access to the Banno Back Office.
  
  You'll need to get access from the back office administrator at your financial institution.
  ```
  Event 46:

  ```text
  Before you get started, you’ll need to get the following from the back office administrator at your financial institution who has access to Users & Groups.
  ```
- **developer.banno.com does not resolve**: An initial attempt to reach a developer subdomain for Banno failed at the DNS level; this is a test-environment/agent-guess issue since the real docs domain turned out to be jackhenry.dev, not developer.banno.com.
  Event 28:

  ```text
  * Could not resolve host: developer.banno.com
  * Closing connection
  
  ```

#### Suggested Changes
- **Add a direct link from jackhenry.dev getting-started to the client-credentials quickstart**: The agent found an Authorization Code (Command Line) quickstart easily but could not locate a client-credentials command-line quickstart page and had to guess at URL slugs, all of which 404'd. On the Admin API Quickstarts index page (jackhenry.dev/open-api-docs/admin-api/quickstarts/), add a visible link/card for the client-credentials flow so first-time developers do not need to guess URLs. Verify by confirming the link resolves to a 200 page rather than 404.
  Event 104:

  ```text
  authentication-clientcredentials-commandline 404
  authentication-client-credentials 404
  authentication-clientcred-commandline 404
  
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/6fd12fd3-bf1e-4e4e-b255-1ac8513d73f9) · [Read transcript](https://www.ax-check.com/banno.com/sessions/kimi.json)
Pricing section (seq 67) states no figure at all — 'Not publicly listed anywhere,' only describing it as quote-based/enterprise sales, with no cost estimate or plan/region/workload-based figure given.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent explored jackhenry.dev docs but never obtained API credentials or performed any authenticated operation against Banno's Consumer API. The quickstart documentation states client_id/client_secret and a test user must be manually provisioned by a financial institution's back-office admin via Banno People, which is outside the agent's reach. The agent correctly stopped rather than fabricating success.
  Event 65:

  ```text
  You’ll need API credentials to exercise the authorization flow. The Banno People administrator at your financial institution can provide you with a client_id and client_secret that you can use to access the Consumer API in your environment.
  ```
  Event 67:

  ```text
  A client_id and client_secret for an External Application, which must be registered by a back-office admin at a financial institution using Banno People
  ```
  Event 67:

  ```text
  I haven't built the example — it would be untestable boilerplate.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **API credentials require a financial institution admin, not self-service**: Product behavior, not agent error: the Consumer API quickstart explicitly requires a client_id/client_secret and test user provisioned by a bank/credit union's Banno People admin. There is no public self-serve sandbox, so the agent could not obtain credentials or run any authenticated call.
  Event 65:

  ```text
  Before you get started, you’ll need to get these from the back office administrator at your financial institution who has access to Banno People . API Credentials User Account Configured Redirect URI
  ```
  Event 65:

  ```text
  If you are a fintech or other developer working without a financial institution, you are likely using the JackHenry.Dev developer portal . In this case, you will not have access to Banno People, however you will still have the ability to create and configure many aspects of your external application and plugin.
  ```
- **Several guessed quickstart URLs returned 404 before the correct slug was found**: Agent error/trial-and-error: the agent guessed several URL slugs for the command-line quickstart (e.g., hyphenated variants) that 404'd before it found the actual path by scraping links from the quickstarts index page. This is exploratory guessing rather than a documented broken link, and it was self-resolved.
  Event 57:

  ```text
  == https://jackhenry.dev/open-api-docs/consumer-api/quickstarts/authentication-command-line-quickstart/
  404
  == https://jackhenry.dev/open-api-docs/consumer-api/quickstarts/command-line/
  404
  
  ```
  Event 53:

  ```text
  
  
  ```

#### Suggested Changes
- **Publish a clear no-sandbox notice earlier in the Consumer API Getting Started page**: On the Consumer API > Getting Started page (jackhenry.dev/open-api-docs/consumer-api/getting-started/), state upfront -- before the Quickstarts checkpoints -- that independent developers without an FI relationship cannot obtain API credentials or a test user, so they don't invest time working through OAuth quickstarts that dead-end at a credential wall. Verify by having a developer without FI access read the top of the page and confirm they understand within the first screen that self-serve credentials are unavailable.
  Event 44:

  ```text
  Checkpoint Have you signed up for a developer account ? What is its purpose? The Consumer API is intended to be used when an External Application wants to call API endpoints with direct user interaction .
  ```
  Event 65:

  ```text
  You’ll need API credentials to exercise the authorization flow. The Banno People administrator at your financial institution can provide you with a client_id and client_secret
  ```
- **Fix the broken canonical quickstart link path referenced from the quickstarts index page navigation**: On jackhenry.dev/open-api-docs/consumer-api/quickstarts/, the relative link paths (authentication/, authenticationcommandline/) work but do not match the human-readable titles or predictable slug patterns (e.g., authentication-command-line), causing repeated 404s when guessing URLs directly. Align the URL slugs with the page titles or add redirects from the intuitive hyphenated forms. Verify by curling both the hyphenated guess and the actual slug and confirming both return 200.
  Event 57:

  ```text
  == https://jackhenry.dev/open-api-docs/consumer-api/quickstarts/authentication-command-line-quickstart/
  404
  == https://jackhenry.dev/open-api-docs/consumer-api/quickstarts/command-line/
  404
  
  ```
  Event 61:

  ```text
  href=/open-api-docs/consumer-api/quickstarts/authenticationcommandline/
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/d88a4b20-8a46-4c78-a77f-03ec5730f5c6) · [Read transcript](https://www.ax-check.com/banno.com/sessions/qwen.json)
Final output states Banno pricing is not public/quote-only and names the assumptions: free-tier dev/Garden sandbox, per-institution negotiated subscription scaled by member count, fintechs access only via partner institution.
#### End-to-end onboarding
- **Onboarding needs a login**: Discovery worked and the agent got a real 400 invalid_client from the hosted OIDC server, but it never obtained real client_id/client_secret. Signup requires a human with Google login and US-phone SMS 2FA plus manual dashboard clicks (generate test user, enroll in Garden, confirm enrollment). No authenticated accounts/transactions call was ever made; token exchange was only tried with a fake demo-client value that the server correctly rejected.
  Event 68:

  ```text
  {"error":"invalid_client","error_description":"client is invalid","state":"x","iss":"https://digital.garden-fi.com/a/consumer/api/v0/oidc","request_id":"bd9859687514517056c395e6766ee3fd"}
  ```
  Event 38:

  ```text
  You must use a
  United States phone number
  to work with this environment.
  ```
  Event 103:

  ```text
  {"error":"invalid_client","error_description":"client is invalid","state":"2c011139ab3806b7ed730f30b432d611","iss":"https://digital.garden-fi.com/a/consumer/api/v0/oidc","request_id":"701a3891439f9040abeaeaf17dde18ab"}
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Developer signup requires Google login and US-only SMS 2FA**: Product behavior, not agent error: Jack Henry's developer portal mandates Sign in with Google plus a US phone number for two-factor verification before any client_id/client_secret can be issued. This is a normal login/identity requirement, so it counts as a session limitation rather than a product defect, but it fully blocked the agent from completing the OAuth flow or making any authenticated Consumer API call.
  Event 38:

  ```text
  You must use a
  United States phone number
  to work with this environment.
  ```
  Event 119:

  ```text
  Sign up requires **Sign in with Google** (Google-only) and a **US phone number for SMS 2FA**.
  ```

#### Suggested Changes
- **Publish a pricing or packaging summary page for Banno developer offerings**: A request to jackhenry.com/pricing returned a 404, and no pricing/tier info exists in the docs index or developer-account page. Add a public page or docs section summarizing the cost-free sandbox scope versus enterprise/contract commercial access. Verify by confirming a direct pricing URL resolves instead of 404.
  Event 117:

  ```text
  http=404
   /404 Blog Events Fintech Integration Network Build For Developers For Designers Careers For Clients Login
  ```
- **Offer a non-interactive way to obtain sandbox API credentials for automated testing**: The only path to Garden demo credentials is the manual jackhenry.dev dashboard flow (Google sign-in, US-phone SMS 2FA, generate/enroll test user, confirm enrollment). Consider a CLI or API-based credential issuance path for the sandbox only, so CI/agents can provision throwaway test credentials without browser-based 2FA. Verify by confirming an automated script can obtain a working client_id/client_secret against digital.garden-fi.com without browser interaction.
  Event 38:

  ```text
  Press the
  Generate test user
  button in the
  Test user
  card in the developer dashboard.
  ```
  Event 38:

  ```text
  Enter the
  one-time 2FA code
  that you just received, press the
  Verify
  button, then press the
  Done
  button.
  ```

### Task given to each agent
Help me build a simple example using Banno. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: C · 56/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html for a Markdown Accept header; no Markdown representation offered.
  ```

- **Failed** — llms.txt provides an actionable documentation index

  ```text
  https://banno.com/llms.txt returns HTTP 404, so no documentation index exists.
  ```

- **Skipped** — llms.txt provides navigation guidance

  ```text
  llms.txt is missing (404), so its navigation guidance cannot be evaluated.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt is missing (404), so its mention of API, MCP, or skills cannot be evaluated.
  ```

- **Skipped** — A compact guide representation exists

  ```text
  No site-published compact Markdown guide fetched; only HTML docs pages were retrieved.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  Plugin Framework Getting Started is a focused, directly retrievable guide with quickstart pointers.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Getting Started guide is 4113 tokens, well under the 8000-token budget.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Plugin and Consumer API getting-started pages give concrete steps: developer account, quickstarts, auth, configuration.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched getting-started pages resolve 200 and link to quickstarts, tutorials, API reference and guides.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Getting Started pages link named quickstarts: Build Your First Plugin and Authentication (Node.js/CLI).
  ```

- **Skipped** — Installation commands are extractable

  ```text
  Fetched getting-started pages describe concepts but show no installation commands.
  ```

- **Skipped** — Code examples are available without interaction

  ```text
  Fetched pages reference quickstarts and guides but contain no inline code examples.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Consumer API page states OAuth 2.0/OIDC, scopes, and External Application config via Banno People.
  ```


### Pricing
- **Failed** — Agents identify pricing and its assumptions

  ```text
  2 of 3 sessions were judged on pricing; 1 fell short. Kimi K3: Pricing section (seq 67) states no figure at all — 'Not publicly listed anywhere,' only describing it as quote-based/enterprise sales, with no cost estimate or plan/region/workload-based figure given. Qwen 3.8 Max: Final output states Banno pricing is not public/quote-only and names the assumptions: free-tier dev/Garden sandbox, per-institution negotiated subscription scaled by member count, fintechs access only via partner institution. This behavioural item does not affect the fast grade.
  ```

- **Skipped** — Pricing is readable without interaction

  ```text
  Homepage only offers a demo/contact form; no pricing page was fetched.
  ```

- **Skipped** — Prices are stated, not gated

  ```text
  No pricing page fetched; homepage says 'Need pricing?' via contact form.
  ```

- **Skipped** — Pricing units and limits are explicit

  ```text
  No pricing evidence fetched, so units and limits cannot be judged.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  Consumer and Admin API docs link to dedicated API Reference pages; REST endpoints documented.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server mentioned anywhere in the fetched Banno SDK documentation.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path documented; only command-line auth quickstarts referenced.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No registry lookup for @jack-henry/banno-plugin-framework-bridge or other packages supplied.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills published or referenced in the fetched Banno documentation.
  ```



[Full report data](https://www.ax-check.com/banno.com/report.json)
