Skip to main content

What happened

You submitted a non-intercompany payout with a valid purpose but no valid supporting documents in the documents array. Conduit requires every non-intercompany payout to include at least one document that was uploaded via POST /v2/documents with purpose=transaction_support. This returns HTTP 422 with error code DOCUMENTATION_REQUIRED.
{
  "type": "DOCUMENTATION_REQUIRED",
  "title": "Documentation Required",
  "status": 422,
  "detail": "This payout requires a purpose and at least one supporting document.",
  "resolution": "Upload a document via POST /v2/documents with purpose=transaction_support and include its id in the payout body.",
  "docs": "/errors#documentation-required",
  "instance": "/v2/payouts",
  "correlationId": "corr_xyz789",
  "timestamp": "2026-01-15T09:30:00.000Z"
}

Common causes

  • Missing documentspurpose is present but documents is empty or absent
  • Wrong document purpose — the document exists but was uploaded with a purpose other than transaction_support
This check does not apply to purpose: INTERCOMPANY payouts, which go through a separate recipient whitelisting gate. A missing or invalid purpose value returns HTTP 400 VALIDATION_ERROR, not this error.

Recovery

1. Upload a supporting document with purpose transaction_support Documents are uploaded as multipart/form-data. The file field must be a valid PDF (binary, with %PDF- magic bytes):
curl -X POST https://api.conduit.financial/v2/documents \
  -H "x-api-key: YOUR_API_KEY" \
  -F "file=@invoice.pdf;type=application/pdf" \
  -F "purpose=transaction_support"
Save the returned id (format doc_*). 2. Resubmit the payout with purpose and documents
curl -X POST https://api.conduit.financial/v2/payouts \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: NEW_IDEMPOTENCY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cus_abc123",
    "virtualAccountId": "vac_abc123",
    "assetAmount": {"code": "USD", "amount": "1000.00"},
    "purpose": "TREASURY_MANAGEMENT",
    "documents": ["doc_abc123"],
    "destination": {
      "recipient": {
        "rail": "us",
        "type": "BUSINESS",
        "legalName": "Acme Corp",
        "accountNumber": "1234567890",
        "routingNumber": "021000021",
        "accountType": "CHECKING"
      }
    }
  }'
Use a new Idempotency-Key. The previous key is bound to the rejected 422 response and reusing it would return that same error.

Prevention

  • Always upload documents with purpose=transaction_support before referencing them in a payout
  • Include the returned doc_* id in the payout documents array when submitting a non-intercompany payout
  • For intercompany transfers, use purpose: INTERCOMPANY and pre-register the recipient via POST /v2/customers/:id/whitelist-recipients instead