Skip to main content
The KYB Certificate is a reusable Know Your Business attestation that packages UBO (ultimate beneficial owner), incorporation, and business-identity evidence into a single certificate. Rather than each institution repeating registry lookups, ownership tracing, and risk screening for the same business, a query assembles the verification work already furnished by network participants into one network-issued result.
CategoryIdentity Verification
Use caseCustomer Onboarding
SubjectBusiness
OperationsPOST /v1/products/kyb_certificate/query, POST /v1/products/kyb_certificate/furnish

What’s in the certificate

A KYB certificate consolidates three sub-products, each a block in the query response with its own assertions (what was attested, and when) and data (the supporting attributes):
Sub-productResponse keyWhat it attests
Business identity verificationbusiness_identity_verificationThe legal entity exists and is what it claims — registration, jurisdiction, tax ID validation, operational existence.
Ownership & control verificationbusiness_ownership_control_verificationBeneficial owners, control persons, and authorized representatives were identified and evidenced.
Risk & compliance assessmentbusiness_risk_compliance_assessmentSanctions, adverse media, restricted-activity, and activity-risk screening were performed.
Every populated sub-product carries the furnishing_entity_id of the participant whose data backed it and the attestation_id of their attestation. Shared business descriptors — DBA name, website, jurisdiction of formation, registration identifier — are repeated in each sub-product’s data block so each block stands alone.

Querying

curl -X POST https://api.solo.one/v1/products/kyb_certificate/query \
  -H "Authorization: Bearer $SOLO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "consent_id": "a3f0b9c7-…",
    "policy_id": "5e7d2a14-…",
    "network_ids": ["9f1c0c2e-…"]
  }'
The request follows the standard query anatomy: identify the subject with consent_id (or business_id for direct permissible-purpose lookups), and scope the read with network_ids plus an optional policy_id and furnishing_entity_ids. A 200 OK means a certificate was issued:
{
  "certificate_id": "8d4b2f6a-…",
  "query_event_id": "7b2d9c4e-…",
  "business_id": "b9e1f7c3-…",
  "result": {
    "meta": {
      "network_id": "9f1c0c2e-…",
      "policy_id": "5e7d2a14-…"
    },
    "business_identity_verification": {
      "furnishing_entity_id": "e1d2c3b4-…",
      "attestation_id": "f0a1b2c3-…",
      "assertions": {
        "business_identity_verification_assertion": true,
        "business_identity_verification_performed_timestamp": "2026-05-02T00:00:00Z"
      },
      "data": {
        "business_formation_document_artifact": "articles_of_organization.pdf",
        "business_dba_name": "Acme Coffee",
        "business_website_url": "https://acme.example",
        "business_jurisdiction_of_formation": "DE",
        "business_registration_identifier": "7423918",
        "business_identity_verification_sources": ["state_registry"],
        "business_entity_type": "llc",
        "business_registration_status": "active",
        "business_operational_existence_status": "verified",
        "business_tax_id_validation_result": "match",
        "business_address_verification_result": "match",
        "business_registered_address": null,
        "business_operating_address": null
      }
    },
    "business_ownership_control_verification": {
      "furnishing_entity_id": "e1d2c3b4-…",
      "attestation_id": "f0a1b2c3-…",
      "assertions": {
        "business_ownership_control_verification_assertion": true,
        "business_ownership_control_verification_timestamp": "2026-05-03T00:00:00Z"
      },
      "data": {
        "business_ownership_evidence_artifact": "cap_table.pdf",
        "business_dba_name": "Acme Coffee",
        "business_website_url": "https://acme.example",
        "business_jurisdiction_of_formation": "DE",
        "business_registration_identifier": "7423918",
        "business_ownership_control_verification_overall_status": "complete",
        "business_ownership_control_verification_overall_primary_source": "state_registry",
        "business_authority_determination_basis": "operating_agreement",
        "business_authorized_representatives_identified_count": 2,
        "business_beneficial_owners_identified_count": 1,
        "business_beneficial_ownership_determination_method": "ownership_percentage",
        "business_beneficial_ownership_threshold_applied": "25_percent",
        "business_control_authority_evidence_reviewed_type": "operating_agreement",
        "business_control_determination_basis": "managing_member",
        "business_control_persons_identified_count": 1,
        "business_ownership_evidence_reviewed_type": "cap_table"
      }
    },
    "business_risk_compliance_assessment": {
      "furnishing_entity_id": "e1d2c3b4-…",
      "attestation_id": "f0a1b2c3-…",
      "assertions": {
        "business_risk_compliance_verification_assertion": true,
        "business_risk_compliance_timestamp": "2026-05-03T00:00:00Z"
      },
      "data": {
        "business_dba_name": "Acme Coffee",
        "business_website_url": "https://acme.example",
        "business_jurisdiction_of_formation": "DE",
        "business_registration_identifier": "7423918",
        "business_primary_activity_classification_code": "722515",
        "business_primary_activity_classification_system": "NAICS",
        "business_activity_risk_level": "low",
        "business_sanctions_screening_result": "clear",
        "business_adverse_media_assessment_result": "none_found",
        "business_compliance_screening_scope_applied": "standard",
        "business_restricted_activity_assessment_result": "clear",
        "business_risk_compliance_assessment_overall_primary_source": "third_party",
        "business_risk_compliance_assessment_overall_status": "verified",
        "business_risk_compliance_assessment_timestamp": "2026-05-03T00:00:00Z"
      }
    }
  }
}
  • certificate_id — the issued certificate, recording its as-of date, attestation timestamp, and the network + policy pairs it was resolved under.
  • query_event_id — the billable query event id, also returned in the X-Ref-Id response header.
  • result — the consolidated certificate. Sub-products without qualifying data are null.

How the certificate resolves per network

The query gathers furnished business events across every network in network_ids, applies the querying policy’s filters uniformly, and selects the oldest matching event from any allowed network for each sub-product. The result’s meta.network_id is anchored to the first network in your request — list your primary network first. Which fields you ultimately see is shaped by the querying policy and your entitlement.

When you get a 204

The endpoint declares a 204 No Content response: no certificate could be created — the available data did not satisfy the policy requirements. You’ll receive a 204 when:
  • a required sub-product (identity, ownership & control, or risk/compliance) was never furnished for this business in the queried networks, or
  • furnished events exist but fail the policy’s filters (e.g. verification older than the policy’s freshness window), or
  • the policy selected specific data fields that the resolved certificate could not populate.
The body is empty; the X-Ref-Id header is still present and the query event is still recorded. Run a coverage check first to anticipate 204s without spending a billable query.

Furnishing

Participants contribute KYB data with POST /v1/products/kyb_certificate/furnish:
{
  "network_id": "9f1c0c2e-…",
  "program_name": "default",
  "application_date": "2026-05-28",
  "records": [
    {
      "business_legal_name": "Acme Coffee LLC",
      "business_ein": "12-3456789"
    }
  ]
}
The response is {"success": true, "submission_id": "…"}. Bulk contribution is also available via file upload and SFTP; see Furnishing for the full model.

Field reference

The KYB certificate’s data dictionary, model by model. Field is the display name, API name is the field_name used in policies and coverage checks, and Source model is the underlying table the value is drawn from.

Business

FieldAPI nameTypeSource model
Business Legal Namebusiness_legal_nameStringbusiness

BusinessIdentityVerificationEvent

FieldAPI nameTypeSource model
Attestation IDattestation_idUUIDbusiness_identity_verification_event
Furnishing Entity IDfurnishing_entity_idUUIDattestation
Is Identity Verifiedis_identity_verifiedBooleanbusiness_identity_verification_event
Identity Verification Timestampidentity_verification_timestampDatebusiness_identity_verification_event
Identity Verification Overall Statusidentity_verification_overall_statusStringbusiness_identity_verification_event
Identity Verification Overall Primary Sourceidentity_verification_overall_primary_sourceStringbusiness_identity_verification_event
Is Secretary Of State Matchis_secretary_of_state_matchBooleanbusiness_identity_verification_event
Operational Existence Statusoperational_existence_statusStringbusiness_identity_verification_event
Tax ID Validation Resulttax_id_validation_resultStringbusiness_identity_verification_event
Tax Identifier Typetax_identifier_typeStringbusiness_identity_verification_event
Tax Identifier Valuetax_identifier_valueStringbusiness_identity_verification_event
Address Verification Resultaddress_verification_resultStringbusiness_identity_verification_event
DBA Namedba_nameStringbusiness_identity_verification_event
Entity Typeentity_typeStringbusiness_identity_verification_event
Formation Document Artifactformation_document_artifactStringbusiness_identity_verification_event
Jurisdiction Of Formationjurisdiction_of_formationStringbusiness_identity_verification_event
Registration Identifierregistration_identifierStringbusiness_identity_verification_event
Registration Statusregistration_statusStringbusiness_identity_verification_event
Website URLwebsite_urlStringbusiness_identity_verification_event

BusinessOwnershipControlVerificationEvent

FieldAPI nameTypeSource model
Attestation IDattestation_idUUIDbusiness_ownership_control_verification_event
Furnishing Entity IDfurnishing_entity_idUUIDattestation
Is Ownership Control Verifiedis_ownership_control_verifiedBooleanbusiness_ownership_control_verification_event
Ownership Control Verification Timestampownership_control_verification_timestampDatebusiness_ownership_control_verification_event
Ownership Control Verification Overall Statusownership_control_verification_overall_statusStringbusiness_ownership_control_verification_event
Ownership Control Verification Overall Primary Sourceownership_control_verification_overall_primary_sourceStringbusiness_ownership_control_verification_event
Authority Determination Basisauthority_determination_basisStringbusiness_ownership_control_verification_event
Authorized Representatives Identified Countauthorized_representatives_identified_countIntegerbusiness_ownership_control_verification_event
Beneficial Owners Identified Countbeneficial_owners_identified_countIntegerbusiness_ownership_control_verification_event
Beneficial Ownership Determination Methodbeneficial_ownership_determination_methodStringbusiness_ownership_control_verification_event
Beneficial Ownership Threshold Appliedbeneficial_ownership_threshold_appliedStringbusiness_ownership_control_verification_event
Control Authority Evidence Reviewed Typecontrol_authority_evidence_reviewed_typeStringbusiness_ownership_control_verification_event
Control Determination Basiscontrol_determination_basisStringbusiness_ownership_control_verification_event
Control Persons Identified Countcontrol_persons_identified_countIntegerbusiness_ownership_control_verification_event
Is Personally Guaranteedis_personally_guaranteedBooleanbusiness_ownership_control_verification_event
Ownership Evidence Artifactownership_evidence_artifactStringbusiness_ownership_control_verification_event
Ownership Evidence Reviewed Typeownership_evidence_reviewed_typeStringbusiness_ownership_control_verification_event

BusinessRiskComplianceEvent

FieldAPI nameTypeSource model
Attestation IDattestation_idUUIDbusiness_risk_compliance_event
Furnishing Entity IDfurnishing_entity_idUUIDattestation
Is Risk Compliance Assessedis_risk_compliance_assessedBooleanbusiness_risk_compliance_event
Risk Compliance Assessment Timestamprisk_compliance_assessment_timestampDatebusiness_risk_compliance_event
Risk Compliance Assessment Overall Statusrisk_compliance_assessment_overall_statusStringbusiness_risk_compliance_event
Risk Compliance Assessment Overall Primary Sourcerisk_compliance_assessment_overall_primary_sourceStringbusiness_risk_compliance_event
Activity Risk Levelactivity_risk_levelStringbusiness_risk_compliance_event
Sanctions Screening Resultsanctions_screening_resultStringbusiness_risk_compliance_event
Adverse Media Assessment Resultadverse_media_assessment_resultStringbusiness_risk_compliance_event
Compliance Screening Scope Appliedcompliance_screening_scope_appliedStringbusiness_risk_compliance_event
Restricted Activity Assessment Resultrestricted_activity_assessment_resultStringbusiness_risk_compliance_event
Address Verification Resultaddress_verification_resultStringbusiness_risk_compliance_event
Is On AML Watchlistis_on_aml_watchlistBooleanbusiness_risk_compliance_event
Is On OFAC Watchlistis_on_ofac_watchlistBooleanbusiness_risk_compliance_event
Primary Activity Classification Codeprimary_activity_classification_codeStringbusiness_risk_compliance_event
Primary Activity Classification Systemprimary_activity_classification_systemStringbusiness_risk_compliance_event

KybCertificate (policy configuration only)

These certificate-level fields are used when configuring a querying policy — filters over issued certificates, not data projected into the query response.
FieldAPI nameTypeSource model
Certificate As Of Datecertificate_as_of_dateDatekyb_certificate
Certificate Attestation Timestampcertificate_attestation_timestampDatetimekyb_certificate
Days Since Certificate As Of Datedays_since_certificate_as_of_dateIntegerkyb_certificate
Is Business Identity Verification Performedis_business_identity_verification_performedBooleankyb_certificate
Is Business Ownership Control Performedis_business_ownership_control_performedBooleankyb_certificate
Is Business Risk Compliance Assessedis_business_risk_compliance_assessedBooleankyb_certificate

Querying

Request anatomy, 200 vs 204, billing, and the X-Ref-Id header.

Coverage check

Check field coverage before running a billable query.