Inging.com
ING's API Design is a genuine strength — the contract is well-shaped, typed, and secured, giving partners a solid foundation to build against. However, two areas are actively blocking partner program growth: operational reliability gaps (no idempotency or rate-limit guidance) mean AI agents will create duplicate writes and get throttled without warning, while the developer experience lacks self-service onboarding and code samples, forcing partners through manual processes before they can make a single call.
API DesignA clean, typed, well-governed API contract agents can reason about1 pass4 warn0 fail88A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| warn | Auth declared & discoverablevia spec | 22.5/25 | Authentication is declared on only 6 of 20 operations, so an agent can't tell which endpoints need credentials. Investigated: spec 90%, docs 80%, wellknown 0%. | Agents can only authenticate when auth is declared, scoped, and discoverable. |
| warn | Schema coverage & depthvia sdk | 22.4/25 | 3 of 125 public signatures use loose types (anyTypeRatio=0.024). Investigated: sdk 90%, spec 67%. | Typed, complete request/response schemas are what make agent function-calling possible. |
| warn | Machine-readable, versioned contractvia spec | 21.3/25 | The API sets a version ("5.0.1") but exposes no versioning scheme in the URL, a header, or the media type, so an agent can't pin to a specific version. Investigated: spec 85%, docs 70%. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, sdk 100%, wellknown 0%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
| warn | Example coveragevia sdk | 5/10 | README is present but has no runnable quickstart. Investigated: sdk 50%, spec 0%, docs 0%. | Examples carry shape semantics schemas under-specify — for humans and agents alike. |
Developer ExperienceThe context both developers and agents need to integrate fast — onboarding, code samples, complete descriptions and worked examples1 pass1 warn3 fail49F
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Description completenessvia spec | 15/15 | Only 83% of operations and parameters have substantive descriptions (6 of 9 ops, 48 of 48 params; target 90%+). Investigated: spec 100%, sdk 76%. | Complete descriptions are the context humans and agents need to use endpoints. |
| warn | Quickstart presentvia docs | 12.5/25 | Quickstart page is reachable at https://developer.ing.com/openbanking/quickstart (12 variants scanned) but has no runnable code sample in its HTML or .md variant, so there's nothing to copy and run. Investigated: docs 50%. | A quickstart is the fastest path from landing page to first successful call. |
| fail | Self-service developer portalvia docs | 0/29 | No self-service signup detected — no signup link on the homepage or docs, and no conventional signup path (/signup, /sign-up, /register, /get-started, /console/signup, /dashboard/signup, /try, /try-free, /free, /free-trial, /start, /start-free, /join, /create-account, /account/signup, /auth/signup, /users/sign_up) resolved — so an agent can't onboard on its own. Investigated: docs 0%. | Self-serve key/account creation is the fast first call for partners, with no sales gate. |
| fail | Code samples in docsvia docs | 0/18 | No code samples detected across 1 sampled docs pages, so a coding agent gets no ready-to-use examples. Investigated: docs 0%. | Multi-language samples shorten time-to-first-call. |
| fail | Changelog publishedvia spec | 0/13 | No changelog link or mention appears in the spec, so an agent can't tell what changed before something breaks. Investigated: spec 0%, docs 0%, sdk 0%. | A published changelog lets partners track changes without surprise. |
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs1 pass2 warn1 fail61C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (websites/devportal_ing_pl, 5 snippets). Investigated: docs 100%, sdk 67%, cli 0%, mcp 0%, wellknown 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| warn | Docs reachable, not hard auth-gatedvia docs | 15/30 | 1 JavaScript redirect(s) detected across 1 pages. Investigated: docs 50%. | Agents can only index and fetch docs they can reach — past auth gates and over correct HTTP semantics. |
| warn | Crawlable / AEOvia wellknown | 6/12 | No sitemap found via robots.txt or /sitemap.xml on the docs host, so AI search engines have no crawl map for your docs. Investigated: wellknown 50%. | Bots allowed plus a fresh sitemap make docs findable by agent crawlers. |
| fail | llms.txt present, valid & comprehensivevia docs | 0/30 | No llms.txt found at any candidate location (https://developer.ing.com/openbanking/llms.txt, https://developer.ing.com/llms.txt, https://developer.ing.com/docs/llms.txt). Investigated: docs 0%, sdk 0%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs1 pass4 warn1 fail76B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable errors (RFC 9457)via docs | 28/28 | Only 2 distinct 4xx/5xx error codes are documented (plus 0 catch-all "default" responses), so an agent has limited failure branching. Investigated: docs 100%, sdk 100%, spec 50%. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| warn | Operation purpose clarityvia sdk | 20.8/25 | Read/write classification is partial: 88/133 classified (46 read, 87 write). Investigated: sdk 83%, spec 40%. | Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice. |
| warn | Agent-navigable, token-efficient docsvia docs | 17.3/22 | No pages support .md URLs (0/1 tested). Investigated: docs 79%. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| warn | Agent instructions file (AGENTS.md)via sdk | 5/10 | No agents.md or skill.md context file found (nice-to-have for agent operation). Investigated: sdk 50%, wellknown 0%. | An AGENTS.md gives coding agents explicit setup, auth, and usage instructions to interpret and operate the API — beyond llms.txt's link index. |
| warn | Description consistency across surfaces | 0.2/7 | Mean pairwise description similarity across 3 surfaces (spec, docs, sdk) is 1% (threshold 35% for full credit). | Every surface tells the same story about what the product is. |
| fail | Docs structured datavia docs | 0/8 | No JSON-LD or OpenGraph/meta tags found across 1 assessed pages (1 JS-rendered), so answer engines have nothing to cite. Investigated: docs 0%. | Structured data (JSON-LD/schema.org) on docs pages gives agents an unambiguous parse target and is what answer engines cite. Detected on the JS-rendered head (Firecrawl) for a bounded page budget, so JS-injected JSON-LD is now caught; pages we can't render are excluded rather than failed. |
Agent UsabilityAgents have the context to use your APIs reliably, not just find them0 pass2 warn2 fail45F
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| warn | Sandbox separationvia sdk | 10/20 | No test-mode flag or sandbox environment is exposed. Investigated: sdk 50%, spec 0%, docs 0%. | An isolated environment lets agents exercise destructive operations safely. |
| warn | Runnable collection with test scriptsvia sdk | 4.5/9 | README is present but has no runnable quickstart. Investigated: sdk 50%, platform 0%. | A public, maintained collection with assertions is runnable truth agents validate against. |
| fail | Idempotency documentedvia spec | 0/27 | Only 0% of mutating operations (0 of 9) document idempotency, so an agent's retries can create duplicate writes. Investigated: spec 0%, docs 0%, sdk 0%. | Documented idempotency lets agents retry safely. |
| fail | Rate-limit signalingvia spec | 0/22 | No rate-limit response headers are documented, so an agent can't tell when it is approaching a limit and will get throttled. Investigated: spec 0%, docs 0%. | Machine-readable rate-limit headers let agents throttle adaptively. |
| na | Pagination documented & consistent | —/22 | No surface produced evidence for this capability in this run. | Consistent, documented pagination lets agents traverse collections. |
Resources Discovered
The public resources we found for Ing — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (5) |
|---|---|
| APIs analyzed | 5 — Payment Initiation API, Payment Request API, Account Information API, OAuth 2.0 API, Showcase API |