Skip to navigation

Capabilities

What your application may do, how far each thing reaches, and how to ask us for production
View as Markdown

Every application starts able to do everything — in sandbox. A capability works there from the first minute, against rehearsal data, and never reaches a real person. Production reach is the part we grant, one capability at a time, and App Settings → Capabilities is where you see what you hold and ask for the rest.

Sandbox is not a trial version of a capability. It is the same code, the same schemas and the same responses; what differs is who is on the other end. That is why you can build the whole integration before asking us for anything.


The screen

The Capabilities screen in the Console, grouped by family: Direct Executions granted for production, Financial Rider with a request waiting since 26 September, and the rest at sandbox reach with a Request button on each row The Capabilities screen in the Console, grouped by family: Direct Executions granted for production, Financial Rider with a request waiting since 26 September, and the rest at sandbox reach with a Request button on each row

The catalogue is grouped by family, and each row answers three questions:

Reach

SNBX or PRO. Sandbox is where every capability starts; production is the one we grant.

Granted

The day production reach was given. Sandbox from the start means nobody had to give it.

What is in flight

A Request button, or the date somebody asked. Open the date to read the request, change it, or take it back.

Anyone on your team sees this screen. Asking is a manager’s act, because it commits the organization — so a developer reads what the application holds without a Request button, which is the answer to a surprising number of “why am I getting a 403”.


Asking for production

The request dialog over the Capabilities screen: the capability being asked about, an explanation of what production reach means, and an optional message field The request dialog over the Capabilities screen: the capability being asked about, an explanation of what production reach means, and an optional message field
1

Tell us what it is for

The message is optional, and it is the part a person reads before deciding. What you need it for, when you go live, what you have already tested in sandbox: any of it shortens the conversation.

2

It lands in the same queue as everything else

An administrator answers it. While it is open, the row shows the date instead of the button — asking twice for the same capability is refused, so a second click cannot make two of them.

3

Change your mind, or your wording

Open the date. Any manager of the application can correct the message or withdraw the request while it is still open. A withdrawal is not a refusal from us and is not recorded as one — it says there is no longer a question, and you can ask again whenever you like.

Going to production is a separate request, and it asks for capabilities too. Moving the application itself to production needs at least one product enabled — an application that is live but can do nothing is not much use — so that form lets you pick the products in the same act, and raises the requests together.


What each family grants

Product

A product is what the application does. Every application needs at least one to be worth moving to production.

CapabilityWhat it grants
Direct Executions · product:direct_executionsLaunch executions from your own backend and read the results — no hosted screen and no redirect. The whole Direct Executions surface.
Financial Rider · product:financial_riderThe hosted experience over the end user’s banks: we build the screens, you get the data. The whole Financial Rider Flow.
Spain Public Administration · product:es_public_administrationThe hosted experience where the end user connects the Spanish administrations.

Access

How an access is performed, beyond sending the credentials on every run.

CapabilityWhat it grants
Tokenized access · login:tokenized_accessRun an access again later through a token instead of holding the end user’s password — recurring access, on the engines that support it.

Data

A source of ours — data we hold, rather than something extracted from the end user’s own account.

CapabilityWhat it grants
Spanish vehicles registry · data:vehicles_registry_esThe Spanish vehicles registry, keyed by plate or by owner.

Data enrichment

A pass over data that has already been retrieved. Enrichment never fetches anything on its own: it makes more of what an execution already brought back.

CapabilityWhat it grants
Accounts enrichment · data_enrichment:accounts_readCategorisation and everything derived from retrieved accounts and their movements.
Cards enrichment · data_enrichment:cards_readThe same over cards and their transactions.
Labor check · data_enrichment:labor_checkWhat an employment record implies — an income floor, work statuses (labor check).

Where a missing capability shows up

Not as an empty response. An API call that needs production reach your application does not hold is refused with 403 and a detail that names the capability — insufficient_capabilities@ followed by its code, the one beside each name in the tables above, and several separated by commas when more than one is missing (insufficient_capabilities@login:tokenized_access,product:financial_rider). The part before the @ never changes, so branch on it. If you meet one in sandbox, it is not a capability problem: sandbox grants them all.

The screen is the fastest way to check. The row says the reach; if it says SNBX and your call needs production, that is the answer.