Channels
Configure once. Inherit everywhere.
A channel captures scheme, direction, output mode and thresholds once. Every later call just names it — think of it as a CSS cascade for your payment settings.
How every request resolvesTop to bottom, most specific wins.
- channelProfile — the baseline for every setting; registered once, referenced by name.
- processingOptions — overrides chosen settings, for this one call only.
- context — fills any remaining gaps, and writes every field to the audit trail.
A registered channel — a channelProfile in the API — is your stylesheet; processingOptions is an inline override for one call; context is the fallback that also logs everything to audit.
The request shrinks to its essentialsName the channel; send only the payload.
Without a profile — every call repeats the config:
{
"messageType": "pacs.008",
"scheme": "SCT_INST",
"schemeVersion": "SR2026",
"direction": "OUTBOUND",
"targetFormat": "FULLY_STRUCTURED",
"processingOptions": {
"outputMode": "EPC",
"quality": "standard",
"repairConfidenceThreshold": 0.80
},
"messageXml": "<Document>...</Document>"
}
With the sepa-inst-out profile — same call:
{
"channelName": "sepa-inst-out",
"messageXml": "<Document>...</Document>"
}
Starter channelsCopy one, tweak it, register it with EP-25.
These presets are what the old "editions" really were. Each maps to an audience starting point.
sepa-sct-out — SEPA SCT, outbound. Clean, structured pain.001 outbound under SEPA SCT. The corporate-treasury starting point.
{
"channelName": "sepa-sct-out",
"channelSelection": {
"channel": "sepa", "scheme": "SCT", "schemeVersion": "SR2026",
"direction": "OUTBOUND", "pspCountry": "DE", "timezone": "Europe/Berlin"
},
"corridor": { "sendingCountry": "DE", "receivingCountry": "FR", "currency": "EUR" },
"preferences": {
"outputMode": "EPC", "targetFormat": "FULLY_STRUCTURED",
"quality": "standard", "repairConfidenceThreshold": 0.8
}
}
swift-cbpr-in — SWIFT CBPR+, inbound. Repair inbound pacs.008 for screening and legacy systems. The correspondent-bank starting point.
{
"channelName": "swift-cbpr-in",
"channelSelection": {
"channel": "swift", "schemeVersion": "SR2026", "direction": "INBOUND",
"pspCountry": "GB", "timezone": "Europe/London"
},
"corridor": { "sendingCountry": "US", "receivingCountry": "GB", "currency": "USD" },
"preferences": {
"outputMode": "CBPR_PLUS", "autoRepairMode": "STANDARD", "targetFormat": "auto",
"quality": "premium", "repairConfidenceThreshold": 0.85
}
}
corp-host-to-host — host-to-host file, outbound. Bulk file validation a platform runs for the corporates it serves.
{
"channelName": "corp-host-to-host",
"channelSelection": {
"channel": "file", "scheme": "SCT", "schemeVersion": "SR2026",
"direction": "OUTBOUND", "pspCountry": "NL", "timezone": "Europe/Amsterdam"
},
"corridor": { "sendingCountry": "NL", "receivingCountry": "DE", "currency": "EUR" },
"preferences": {
"outputMode": "EPC", "targetFormat": "HYBRID", "autoRepairMode": "CONSERVATIVE",
"quality": "standard", "repairConfidenceThreshold": 0.8
}
}
cop-verify — CoP / VOP address check. Address-level structural checks only — no message scope, pre-check by nature.
{
"channelName": "cop-verify",
"channelSelection": {
"channel": "api", "direction": "INBOUND", "pspCountry": "GB", "timezone": "Europe/London"
},
"preferences": { "quality": "standard", "targetFormat": "auto" }
}
Manage channels — register with EP-25 (POST /channel-profile), update with EP-26 (PATCH /channel-profile/{name}), read with EP-27 (GET /channel-profile/{name}).