Corgi BankDocumentation
OpenAPI

Independently decide the exact validated filing

POST/bsa-filings/{id}/decisions

Confidential filing API: dedicated compliance:filings staff scope, actual verified staff identity and no API keys. Writes, approval and export require step-up within five minutes; independent approval binds exact immutable content and successful full schema/business-rule validation. XML/source and actual response bytes are encrypted and excluded from ordinary bank records/audit exports. Preparing, downloading or reporting transmission does not establish FinCEN acceptance; exact complete authenticated acknowledgment and matching transmission correlation are required. Test-environment acknowledgments remain explicitly test-only. Bounded profile: complete CTR/SAR batch XML for the configured native rules ID (CTR v1/v2/v3, SAR v1/v2); joint SARs remain unsupported. Manifest inspection is not complete XSD validation.

Path parameters

idstringRequired

Headers

Idempotency-KeystringOptional

Send on every write that creates or changes money or state; a replay with the same key returns the original result with 200.

Body parameters

content_sha256stringRequired
decisionstringRequired
notestringRequired

Returns

200 OK

acknowledgmentobject or nullOptional

Acknowledgment is one complete FinCEN XML 2.0 batch response. Parsing establishes its structure and exact activity membership, not the response's authenticity or that it belongs to a particular submitted file. The filing service must bind the original response bytes to an authenticated transmission receipt before use.

4 child attributes
activitiesarray of objectsRequired
3 child attributes
bsa_idstringRequired
sequenceintegerRequired
warningsarray of objectsRequired
6 child attributes
codestringOptional
contextstringOptional
elementstringOptional
levelstringOptional
sequenceintegerRequired
textstringOptional
batch_sequenceintegerRequired
sha256stringRequired
submission_sequenceintegerRequired
cancellationobject or nullOptional
4 child attributes
actorstringRequired
cancelled_atstring · date-timeRequired
content_sha256stringRequired
reasonstringRequired
content_sha256stringRequired
continuesobject or nullOptional

ContinuingReference names the exact accepted SAR activity a continuing report follows. It is plaintext packet content so admission guards can bind it.

2 child attributes
activity_sequenceintegerRequired
packet_idstringRequired
decisionobject or nullOptional
5 child attributes
actorstringRequired
content_sha256stringRequired
decided_atstring · date-timeRequired
decisionstringRequired
notestringRequired
disposalobject or nullOptional

PacketDisposal marks a packet whose encrypted documents were destroyed.

3 child attributes
disposed_atstring · date-timeRequired
documentsarray of stringsRequired
versionintegerRequired
idstringRequired
manifestobjectRequired
3 child attributes
activitiesarray of objectsRequired
5 child attributes
attachmentstringOptional

SARX only: the named single CSV support document

filing_datestringRequired
prior_bsa_idstringOptional
report_kindstringRequired
sequenceintegerRequired
formstringRequired
sha256stringRequired
nativeobject or nullOptional

NativeProvenance distinguishes an actual source-generated, locally validated form from imported XML and independently authenticated bridge reports.

6 child attributes
guide_sha256stringRequired
input_sha256stringRequired
rules_idstringRequired
source_sha256stringRequired
validation_sha256stringRequired
versionstringRequired
native_validationobject or nullOptional

NativeValidation retains the complete deterministic engine reports without pretending the bank's local validator signed as an independent bridge. Maps marshal canonically across PostgreSQL JSONB key-order normalization.

11 child attributes
batch_sha256stringRequired
businessobjectRequired
formstringRequired
guide_sha256stringRequired
input_sha256stringRequired
rules_idstringRequired
schemaobjectRequired
schema_bundle_sha256stringRequired
source_sha256stringRequired
validated_atstring · date-timeRequired
versionstringRequired
prepared_atstring · date-timeRequired
prepared_bystringRequired
prior_packet_idstringOptional
reasonstringRequired
released_atstring · date-time or nullOptional
responseobject or nullOptional
3 child attributes
receiptobjectRequired
2 child attributes
payloadobjectRequired

BridgePayload attests actual validator or transmission-system evidence. It is not a FinCEN protocol. The bridge must supply the real retained document bytes; a SHA entered by bank staff alone never establishes validation or acceptance.

11 child attributes
batch_sha256stringRequired
correlation_idstringOptional
document_sha256stringRequired
environmentstringRequired
issued_atstring · date-timeRequired
key_idstringRequired
kindstringRequired

Validation, transmission, acknowledgment, rejection

observed_atstring · date-timeRequired
packet_idstringRequired
receipt_idstringRequired

Example achr_2tVh8nqLxq4GbDe0K1F6S9zRcWm

versionstringRequired
signaturestringRequired
recorded_atstring · date-timeRequired
verified_public_keystringRequired
source_document_sha256stringRequired
sourcesarray of objectsRequired
3 child attributes
activity_sequenceintegerRequired
alert_idstringRequired

Example alrt_2tVh8nqLxq4GbDe0K1F6S9zRcWm

sha256stringRequired
statusstringRequired
support_documentobject or nullOptional

SupportDocument is the one CSV attachment a SARX activity names, whether the batch was generated natively or imported with those exact bytes. The SAR XML User Guide 1.6 (section 4.5 and Attachment E) permits one MS Excel-compatible CSV of at most one megabyte per SAR, recorded by its full name in OriginalAttachmentFileName; batch filers place each CSV in the attachment zip file named <activity SeqNum>_<OriginalAttachmentFileName>. The exact bytes are a separate encrypted payload released only with the approved batch naming them.

5 child attributes
activity_sequenceintegerRequired
bytesintegerRequired
file_namestringRequired
sha256stringRequired
submission_file_namestringRequired
transmissionobject or nullOptional
3 child attributes
receiptobjectRequired
2 child attributes
payloadobjectRequired

BridgePayload attests actual validator or transmission-system evidence. It is not a FinCEN protocol. The bridge must supply the real retained document bytes; a SHA entered by bank staff alone never establishes validation or acceptance.

11 child attributes
batch_sha256stringRequired
correlation_idstringOptional
document_sha256stringRequired
environmentstringRequired
issued_atstring · date-timeRequired
key_idstringRequired
kindstringRequired

Validation, transmission, acknowledgment, rejection

observed_atstring · date-timeRequired
packet_idstringRequired
receipt_idstringRequired

Example achr_2tVh8nqLxq4GbDe0K1F6S9zRcWm

versionstringRequired
signaturestringRequired
recorded_atstring · date-timeRequired
verified_public_keystringRequired
validationobject or nullOptional

ValidationReport is the bridge's complete schema + filing-rule result for an immutable configured ruleset. Findings are retained even on failure. The actual validator implementation must run the full schemas and business rules; manifest inspection is not sufficient to issue a successful report.

8 child attributes
batch_sha256stringRequired
business_rules_idstringRequired
business_rules_validbooleanRequired
findingsarray of stringsRequired
formstringRequired
schema_bundle_sha256stringRequired
schema_validbooleanRequired
validator_versionstringRequired
validation_profileobjectRequired
4 child attributes
business_rules_idstringRequired
environmentstringRequired

Test or production, retained with every packet

formstringRequired
schema_bundle_sha256stringRequired

Errors

Every error is a problem document with a stable code. See Errors.

400401403404409412413422424429500503

to move to open esc to close