The pipeline model
Under the hood, a furnishing policy is a pipeline: an ordered sequence of processing steps that every furnished record runs through. The pipeline for a policy is derived from a product default — a SOLO-maintained template pipeline for the product, identified by the policy’ssource_default_slug
(resolved from the product’s catalogue path when the policy is created).
A policy customizes the default at three levels, which is exactly the surface
the configuration API exposes:
Alongside the steps, a policy carries optional runtime context (named
inputs resolved when the pipeline runs) and an optional filter that rejects
records up front — this is what enforces the application-date windows described
below. You don’t author these directly through the REST API; they come from
the product default and from workbook-based authoring.
The step names and their available settings are product-specific — they come
from the product’s default pipeline. List an existing policy (below) or
consult your SOLO account manager for the step catalogue of the products you
operate.
Policy fields and versioning
Versioning follows a simple rule: activated policies never change. While a
policy is a draft (
active_on unset), its configuration can be replaced
freely. Setting active_on freezes it; further configuration writes are
rejected:
name and a
higher version, configure it, and activate it. When SOLO needs “the current
policy named X in network Y”, it picks the highest-version, non-deprecated
one.
A typical revision cycle looks like this:
Because activation freezes a policy, every furnish is reproducible after the
fact: the policy version that processed a record can be read back exactly as
it was when the record came in. Deprecating the old version (rather than
deleting it) keeps that audit trail intact while taking it out of resolution.
How a policy is resolved at furnish time
Resolution is automatic and happens on every furnish. Three inputs drive it — all from the furnish request:1
Resolve the subnetwork
subnetwork_name is matched to a subnetwork
under network_id. An unknown subnetwork is an error — subnetworks are
introduced ahead of time by the governor.2
Find the subnetwork's assigned policies
Policies are assigned to subnetworks, each assignment carrying an
effective-date window (
effective_from, optional effective_to). Every
non-deprecated policy assigned to the subnetwork for the product is a
candidate.3
Apply the date windows
The record’s
application_date is checked against the policy and
assignment windows. Records that fall outside every window are
filtered — not failed — so a furnish can legitimately result in
“accepted under policy v2, filtered by policy v1”.Managing policies via the API
Five routes cover the lifecycle. Listing and reading are available to any member of the network; creating and configuring are governor operations.List policies in a network
limit accepts 1–100 (default 20); offset ≥ 0 (default 0). Returns an array:
Read a single policy
network_id query parameter scopes the lookup; a policy that exists but
isn’t visible in that network returns 404 RESOURCE_NOT_FOUND.
Create a policy
POST /v1/networks/policies/furnishing creates an empty policy shell for a
(product, network) pair. The server derives source_default_slug from the
product; pipeline steps are added afterwards via configuration (or workbook
ingestion).
Configure a policy
PUT /v1/networks/policies/furnishing/{policy_id}/configuration replaces the
draft policy’s pipeline configuration. enabled_step_names is required; the
rest is optional.
active_on activates the policy, after which it is immutable; deprecated_on
retires it from resolution.
Bulk authoring and ingestion
Furnishing policies sit at the heart of SOLO’s bulk-ingestion paths:- Policy workbooks. Governors can author policies in bulk by uploading a policy workbook (per product) through file upload or SFTP. Each row clones the product default and applies the row’s step selections — equivalent to the create + configure flow above. Workbook ingestion is rejected when the caller doesn’t govern the target network.
- Subnetwork workbooks assign policies (by name, latest non-deprecated version) to the subnetworks they define.
- Data files. Records arriving in bulk — see CSV format and schemas — go through exactly the same resolution and pipeline as API furnishes. There is one set of rules, regardless of transport.
Relationship to other concepts
In the dashboard

KYC product detail — furnishing policies tab

Furnishing policies list

Create KYC furnishing policy — ready to submit

KYC furnishing policy created — detail page

Activate furnishing policy

Furnishing policies list — KYC and KYB policies visible

KYB product detail — Furnishing Policies tab
Related concepts
Furnishing
The furnisher’s view of the same flow.
Querying Policies
Field-level read rules — the other half of policy governance.
SFTP Ingestion
Bulk delivery of subnetworks, policies, and data.
File Upload
Inline workbook and CSV ingestion.