Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Nashboard B2B API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fnashboard.ai%2Fnashboard" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fnashboard.ai%2Fnashboard" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Nashboard B2B API.
Normalize a raw bank transaction descriptor into a merchant identity, category, and hierarchy, with an optional amount, currency, and country hint
Enrich up to 100 transactions in one bulk request, with partial failures that do not roll back successful items
Return categories in a chosen taxonomy such as mcc, naics_2022, isic_rev5, or uk_sic_2026 via the taxonomy query parameter
Upload a receipt image for asynchronous OCR and poll until its status is parsed or failed
GET STARTED
Resolve line items parsed by another OCR tool to a merchant and product_global_id without uploading an image
Report a wrong merchant match as a correction and register HMAC-signed webhooks for receipt results
Mint, list, and revoke scoped API keys and read current-month billable usage
Patterns agents use Nashboard B2B API for, with concrete tasks.
★ Agent-driven spend categorization
A personal finance agent receives raw card descriptors like 'SQ *BLUE BOTTLE 1234 OAKLAND CA' and needs a clean merchant name and category before summarizing spending. Through Jentic the agent searches for 'enrich a bank transaction', loads the Nashboard enrichTransaction operation with its input schema, and sends the raw_descriptor as-is, because Nashboard strips PSP prefixes and store numbers server-side. The API key is attached by your own Jentic One instance at call time.
Call POST /v1/enrich/transaction with raw_descriptor 'SQ *BLUE BOTTLE 1234 OAKLAND CA', amount_minor 650, and currency_code 'USD', then report the returned merchant and category
Bulk categorization in a chosen taxonomy
A fintech importing a month of transactions categorizes them in batches instead of one call per row. The bulk endpoint accepts up to 100 items, bills per successful item, and keeps successes when some items fail, so failed rows can be retried individually with an X-Idempotency-Key. The taxonomy query parameter returns codes in the scheme the downstream ledger expects, such as mcc or nace_rev21.
Send 100 descriptors to POST /v1/enrich/bulk with taxonomy=naics_2022, then retry any failed item through POST /v1/enrich/transaction with an X-Idempotency-Key
Receipt capture for expense tracking
An expense app lets users photograph receipts and needs merchant and line-item detail back. Nashboard accepts a JPEG, PNG, or WebP image up to 10 MB with a required external_user_id, returns a receipt ID immediately, and finishes OCR asynchronously. The app polls the receipt until status is parsed or failed, or registers a webhook and verifies the X-Nashboard-Signature HMAC on each delivery.
Upload a receipt with POST /v1/receipts using external_user_id 'user-42', then poll GET /v1/receipts/{id} until status is parsed and return the line items
Product matching for pre-parsed receipts
A team that already extracts receipt text on-device with another OCR tool still needs to know which merchant and product each line refers to. The receipts:parse operation is stateless: it takes caller-supplied line_items and an optional country_hint and returns a merchant plus a product_global_id per line, billed per request rather than per line.
Call POST /v1/receipts:parse with three line_items and country_hint 'GB', then list the product_global_id returned for each line
19 endpoints — the nashboard b2b api turns raw bank transaction descriptors into a normalized merchant identity, category, and hierarchy, one at a time or up to 100 per bulk request.
METHOD
PATH
DESCRIPTION
/v1/enrich/transaction
Enrich a bank transaction descriptor
/v1/enrich/bulk
Enrich up to 100 transactions
/v1/receipts
Upload a receipt image for OCR
/v1/receipts/{id}
Retrieve a parsed receipt
/v1/receipts:parse
Resolve pre-parsed line items
/v1/corrections
Submit a merchant match correction
/v1/webhooks
Register a webhook subscription
/v1/usage
Get current-month billable usage
/v1/enrich/transaction
Enrich a bank transaction descriptor
/v1/enrich/bulk
Enrich up to 100 transactions
/v1/receipts
Upload a receipt image for OCR
/v1/receipts/{id}
Retrieve a parsed receipt
/v1/receipts:parse
Resolve pre-parsed line items
/v1/corrections
Submit a merchant match correction
/v1/webhooks
Register a webhook subscription
/v1/usage
Get current-month billable usage
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Nashboard by hand means choosing between its bearer and X-API-Key styles, pinning the X-Nashboard-Version header, minting keys with the right scopes, and handling idempotency keys on retries. Through Jentic you install once, import Nashboard from the API Directory, store the key once, and your agent calls it.
Permission scoping
Nashboard puts the receipt id and webhook id in the URL path, so a rule can hold your agent to specific operations and paths, for example reading one receipt by id. You choose the operations it may call, so destructive ones like key revocation or receipt erasure are not included unless you add them.
Credential isolation
Your Nashboard API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'enrich a bank transaction' or 'parse a receipt image', and Jentic returns the matching Nashboard operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Nashboard B2B API through Jentic.
What authentication does the Nashboard B2B API use?
Per its OpenAPI spec, the Nashboard B2B API accepts an API key either as a bearer token in the Authorization header or in the `X-API-Key` header; keys look like nsh_live_ followed by the key. Each key carries scopes such as enrich:transaction or receipts:write, and an operation rejects a key without its required scope. Account signup and the accuracy benchmarks endpoint need no credential. Through Jentic the key is stored encrypted by your own instance and attached per call.
Can I categorize transactions in MCC or NAICS codes with the Nashboard B2B API?
Yes. Both POST /v1/enrich/transaction and POST /v1/enrich/bulk take a taxonomy query parameter with values including mcc, naics_2022, isic_rev5, nace_rev21, uk_sic_2026, and anzsic_2006, so the category comes back in the scheme your ledger uses.
What are the rate limits for the Nashboard B2B API?
The OpenAPI spec does not state request rate limits. It does document billing behaviour: bulk enrichment is billed per successful item, and GET /v1/usage reports the current month's billable calls and your plan quota. Check https://api.nashboard.ai/docs for current limits.
Is there a Nashboard MCP server?
You don't need an MCP server to give your agent Nashboard. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the enrichment and receipt operations it needs, discovered on demand rather than loaded into its context up front.
How do I enrich a bank transaction with the Nashboard B2B API through Jentic?
Import Nashboard from the API Directory in your Jentic One instance and store your key. Your agent then searches for 'enrich a bank transaction', loads POST /v1/enrich/transaction, and sends the raw_descriptor exactly as it appears on the statement. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Can I limit what my agent is allowed to do with the Nashboard B2B API?
Yes. Write a rule that allows only POST /v1/enrich/transaction and POST /v1/enrich/bulk, and the agent can categorize transactions but cannot mint or revoke keys, delete receipts, or change webhook subscriptions. Every call it makes is logged.
How do I get the result of a receipt upload?
POST /v1/receipts returns 202 with a receipt ID. Poll GET /v1/receipts/{id} until status is parsed or failed, or register a webhook with POST /v1/webhooks and verify each delivery's X-Nashboard-Signature HMAC with the secret you supplied.
For Agents
Enrich bank transaction descriptors with merchant identity and category, run OCR on receipt images, and resolve receipt line items to merchants and products.
Use for: I need to identify the merchant behind a bank statement descriptor, Categorize a batch of card transactions using NAICS codes, Extract the line items from a photo of a receipt, Check whether a receipt upload has finished parsing
Not supported: Does not connect to bank accounts, move money, or file taxes. Use for transaction enrichment and receipt parsing only.
The Nashboard B2B API turns raw bank transaction descriptors into a normalized merchant identity, category, and hierarchy, one at a time or up to 100 per bulk request. It also runs asynchronous OCR on uploaded receipt images and resolves line items you have already parsed elsewhere to a merchant and a product_global_id. Categories can be returned in taxonomies such as MCC, NAICS 2022, or ISIC Rev 5, and the merchant reference data is built from openly licensed sources including Overture Maps Places and Wikidata.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>