canonical: https://jentic.com/apis/nofrixion.com/nofrixion

# NoFrixion MoneyMoov API

NoFrixion's MoneyMoov API is an embedded-finance and payments platform exposing 168 endpoints across accounts, payouts, beneficiaries, mandates, merchants, transactions, virtual accounts, open banking consents, and webhooks. Merchants and platform operators can manage IBAN-backed accounts, initiate SEPA and Faster Payments payouts, manage beneficiary lists with authorization controls, configure direct-debit mandates, and run open-banking AISP/PISP flows under PSD2 consent. Authentication is by Bearer JWT in the Authorization header. The default base URL points at the sandbox at api-sandbox.nofrixion.com; production tenants substitute the live host.

## For AI agents

Run embedded-finance operations on NoFrixion MoneyMoov - accounts, payouts, mandates, merchants, virtual accounts, and open-banking consents - across 168 endpoints.

## Scope

Does not handle card acquiring, KYC document capture UI, or accounting and tax filing - use for NoFrixion bank-rail accounts, payouts, mandates, and open-banking consents only.

## Capabilities

- Manage IBAN-backed accounts with `/api/v1/accounts` and the paged, archive, and unarchive variants
- Initiate and inspect payouts via `/api/v1/accounts/{accountID}/payouts` and `/api/v1/merchants/{merchantID}/payouts`
- Maintain beneficiary lists with explicit authorise, enable, and disable workflows
- Configure direct-debit mandates through `/api/v1/mandates` and `/api/v1/mandates/{id}`
- Run open-banking consent flows for AISP and PISP via `/api/v1/openbanking/consents` and `/api/v1/openbanking/account/{accountID}`
- Manage merchants, users, tags, and beneficiary groups under `/api/v1/merchants/{merchantID}`

## Use cases

### Embedded Payouts

Platforms paying out to suppliers, sellers, or contractors need a SEPA and Faster Payments rail with multi-step authorisation. NoFrixion's `/api/v1/accounts/{accountID}/payouts` and `/api/v1/beneficiaries/authorise/{id}` endpoints support a four-eyes approval workflow where one user creates a payout and another authorises it before settlement. Failed payouts surface via `/api/v1/accounts/{accountID}/payouts/failed` for retry or cancellation.

Example prompt: POST a payout to `/api/v1/accounts/{accountID}/payouts` referencing a beneficiary, then call `/api/v1/beneficiaries/authorise/{id}` to complete the four-eyes approval

### Direct Debit Collections

Subscription and recurring-billing operators need to set up direct-debit mandates and trigger collections against them. The `/api/v1/mandates` and `/api/v1/mandates/{id}` endpoints expose mandate creation, lookup, and cancellation. Combined with merchant-scoped account endpoints, an operator can run a full collections cycle without leaving the API.

Example prompt: POST a new mandate to `/api/v1/mandates` for a customer, then GET `/api/v1/mandates/{id}` to confirm activation before triggering a collection

### Open Banking Aggregation

Fintech apps building account aggregation or PISP-driven payments need PSD2-compliant consent management and account synchronisation. `/api/v1/openbanking/consents` creates a consent, `/api/v1/openbanking/account/{accountID}/synchronise` refreshes balances and transactions, and `/api/v1/openbanking/accounts/{id}` returns the synced account record. This lets an aggregator pull external account data inside a regulated NoFrixion tenancy.

Example prompt: POST `/api/v1/openbanking/consents` with the merchant and customer email, then call `/api/v1/openbanking/account/{accountID}/synchronise` to refresh balances

### AI Agent Treasury Operator

A treasury agent running across multiple merchants can use Jentic to issue payouts, refresh balances, and check beneficiary status without managing the JWT or remembering 168 paths. Jentic search routes 'initiate a sepa payout' to the right /payouts endpoint, loads the schema, and executes with the bearer JWT injected. The same agent can chain into `/merchants/{merchantID}/transactions` for reconciliation.

Example prompt: Use Jentic to call `/api/v1/accounts/{accountID}/payouts` to initiate a SEPA payout, then poll `/api/v1/accounts/{accountID}/transactions` until the debit posts

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/v1/accounts` | List IBAN-backed accounts |
| POST | `/api/v1/accounts/{accountID}/payouts` | Initiate a SEPA or Faster Payments payout from an account |
| GET | `/api/v1/accounts/{accountID}/transactions` | List transactions for an account |
| POST | `/api/v1/beneficiaries` | Create a beneficiary on the merchant |
| POST | `/api/v1/beneficiaries/authorise/{id}` | Authorise a beneficiary or payout under four-eyes approval |
| POST | `/api/v1/mandates` | Create a direct-debit mandate |
| POST | `/api/v1/openbanking/consents` | Create an open-banking consent for AISP or PISP |
| POST | `/api/v1/accounts/{accountID}/virtual` | Create a virtual account under a primary IBAN |

## Key resources

- **Accounts** — Manage IBAN-backed accounts including paged listing, archive, and statements
- **Payouts** — Initiate, list, and inspect failed SEPA and Faster Payments payouts
- **Beneficiaries** — Maintain beneficiary lists with authorise, enable, and disable controls
- **Mandates** — Configure and manage direct-debit mandates for recurring collections
- **Merchants** — Operate per-merchant settings, users, tags, accounts, and tokens
- **Virtual Accounts** — Issue virtual accounts under a primary IBAN for sub-ledgering
- **Open Banking** — Manage AISP/PISP consents, account synchronisation, and consent revocation

## Why Jentic

- **Setup:** Wiring NoFrixion MoneyMoov by hand means adding its Authorization header token, choosing the sandbox or production host, and threading the account id through each path yourself. Through Jentic you install once, import the MoneyMoov API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** MoneyMoov puts the account id in the URL path (`/api/v1/accounts/{accountID}/...`), so a rule can pin your agent to one account: it can read that account's transactions and nothing else. You choose the operations it may call, so ones like creating a payout or authorising a beneficiary are not included unless you add them.
- **Credential handling:** Your MoneyMoov token 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.
- **Discovery method:** Agents search Jentic by intent such as 'list bank accounts' or 'read an account's transactions', and Jentic returns the matching MoneyMoov operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **GoCardless API** — GoCardless focuses on SEPA, BACS, and ACH direct-debit collections rather than full embedded-finance accounts.
- **TrueLayer API** — TrueLayer specialises in PSD2 open-banking AISP/PISP across UK and EU.
- **Stripe API** — Stripe handles card acquiring while NoFrixion handles bank-rail payouts, mandates, and embedded accounts.

## FAQ

### What authentication does the NoFrixion MoneyMoov API use?

NoFrixion uses an apiKey-style Authorization header carrying a JWT bearer token. Pass 'Bearer <jwt>' on every request. Through Jentic the JWT is held in the vault and injected at call time so it never enters the agent context.

### Can I initiate SEPA payouts with the NoFrixion API?

Yes. POST to `/api/v1/accounts/{accountID}/payouts` with the beneficiary and amount, then complete the four-eyes flow via `/api/v1/beneficiaries/authorise/{id}` where required. Failed payouts surface on `/api/v1/accounts/{accountID}/payouts/failed.`

### What are the rate limits for the NoFrixion API?

The OpenAPI spec does not declare specific rate limits. NoFrixion enforces tenant-level quotas - Jentic surfaces 429 responses with backoff so retries respect the tenant's budget.

### How do I create a direct-debit mandate with the NoFrixion API through Jentic?

Run pip install jentic, search Jentic for 'create a nofrixion direct debit mandate', load the `/api/v1/mandates` operation, supply the customer and merchant fields, and execute. Jentic attaches the bearer JWT automatically.

### Does the NoFrixion API support open banking?

Yes. `/api/v1/openbanking/consents` handles PSD2 consent creation, `/api/v1/openbanking/account/{accountID}/synchronise` refreshes balances, and `/api/v1/openbanking/accounts/{id}` returns the account record. This covers AISP and PISP use cases under a regulated NoFrixion tenancy.

### Is there a sandbox for the NoFrixion API?

Yes. The default base URL is https://api-sandbox.nofrixion.com. Use sandbox JWTs for development and switch to the production host once your integration is live.

### Can I limit what my agent is allowed to do with the NoFrixion MoneyMoov API?

Yes. Because Jentic One is self-hosted, your own rules decide which MoneyMoov operations and credentials the agent may use. Since the account id lives in the URL path (`/api/v1/accounts/{accountID}/...`), a rule can pin the agent to a single account so it reads only that account's transactions and nothing else. You also choose the exact operations it can call, so sensitive ones like creating a payout at `/api/v1/accounts/{accountID}/payouts` or authorising a beneficiary at `/api/v1/beneficiaries/authorise/{id}` are excluded unless you add them.
