Skip to main content
As a fintech you operate inside one or more sponsor banks’ networks. For each applicant you record consent, ask whether your networks can already certify them, verify only what’s missing, and query one certificate built from records across all of those networks. Your sponsor bank’s side is Golden path: sponsor banks; how the two fit together is in the overview. The examples follow one applicant through a fintech that runs programs with two sponsor banks. The applicant is applying through Bank One’s program (network 9f1c0c2e-…), and the fintech also operates in Bank Two’s network (2c7e9b14-…).

Prerequisites

  • Membership with the furnisher role in each sponsor bank’s network you operate in. See Getting access.
  • A sandbox API key exported as SOLO_TOKEN.
  • The network_id of each of those networks.
1

Record consent

Record the applicant’s consent in the network of the program they’re applying through. If a consumer with the same SSN and date of birth is already in your networks, the consent links to them.
Keep the consent_id from the response. The consent is bound to this network, so every query that uses it must include this network in network_ids.
2

Ask whether your networks can already certify the applicant

The soft check is free and runs the same resolution as the query. Name every network you operate in; the first one is the program’s, and its default policy applies to the whole query.
Response
Here Bank One already verified the applicant’s document, selfie, identity and address, so only the liveness check is missing. If issuable is true, skip to the query.
3

Verify only what's missing, and furnish it

Run the missing check yourself, then furnish it into a network you operate in. It can be any of them; this example furnishes into Bank Two’s network.
The record matches the applicant on SSN and date of birth, so the liveness check joins what the networks already hold. A furnish isn’t idempotent: sending the same events again adds them again.
4

Query the certificate

A 200 is one certificate assembled from both networks. Each sub-product names the institution whose record it came from:
Response (excerpt)
document_capture comes from Bank One’s record and liveness_capture from yours. meta.policy_id is Bank One’s default policy, because Bank One’s network is first in network_ids. A 204 means the networks still can’t satisfy the policy; run the soft check again to see what’s missing.

How the certificate is assembled

  • Which records count. For each sub-product, SOLO uses the oldest record that satisfies the policy in any of the networks you named. You can read records you furnished, records the networks’ sponsor banks furnished, and records from institutions that granted you access through consent. Records other fintechs furnished aren’t readable.
  • Which policy applies. With no policy_id, the default policy of the first network in network_ids applies to all of them; with none assigned, the product’s own rules apply. To use another policy your sponsor bank made available to you, pass its policy_id.
  • What’s billed. The soft check is free; the query is billable.

Businesses (KYB)

The same steps apply to business applicants with the KYB endpoints: POST /v1/consent/business_identity, then POST /v1/products/kyb_certificate_snapshot/query/soft, POST /v1/products/kyb_certificate_snapshot/furnish and POST /v1/products/kyb_certificate_snapshot/query. Businesses are matched on EIN plus jurisdiction of formation. See the KYB certificate for the request and response fields.

Golden path: sponsor banks

How your sponsor bank sets the policy you query under.

Querying overview

Request anatomy, 200 vs 204, and policies.