Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tesouro.com/llms.txt

Use this file to discover all available pages before exploring further.

Tesouro emits the following event types for embedded banking. Every delivery uses the common envelope; each event type below documents the attributes shape and includes an example payload.
attributes.rawData is a verbatim pass-through from the upstream banking core. Tesouro doesn’t control or guarantee its structure, field names, or stability - it can change without notice. Use the documented attributes fields for business logic. Treat rawData as opaque except for debugging and audit.

LEDGER_TRANSACTION

A monetary transaction posted to the ledger.

Attributes

FieldTypeDescription
businessCustomerIdstring (UUID)Tesouro organization id of the business customer this event applies to.
businessCustomerstringDisplay name of the business customer.
accountNumberstringAccount number associated with the event.
routingNumberstringRouting number (ABA).
eventTypestringMirrors the envelope eventType. Always "LEDGER_TRANSACTION".
rawDataobjectThe original event payload from the upstream banking core, passed through unchanged.

Example

A LEDGER_TRANSACTION delivery for a $50 ACH incoming credit:
{
  "version": "1",
  "deliveryId": "00000000-0000-0000-0000-000000000099",
  "webhookUrl": "https://your-endpoint.example.com/webhooks/tesouro",
  "deliveryDateTimeUtc": "2026-05-08T00:00:00.000000Z",
  "attemptCount": "1",
  "eventType": "LEDGER_TRANSACTION",
  "attributes": {
    "businessCustomerId": "00000000-0000-0000-0000-000000000001",
    "businessCustomer": "Tesouro Test Customer LLC",
    "accountNumber": "9999999999999",
    "routingNumber": "000000000",
    "eventType": "LEDGER_TRANSACTION",
    "rawData": {
      "id": "aabbccdd-1111-2222-3333-444455558888",
      "fisorganizationid": "9700",
      "adtDtl": {
        "evtNme": "monetary_transaction",
        "ver": "1_2_0",
        "msgUuid": "aabbccdd-1111-2222-3333-444455557799",
        "srcId": "BackOffice",
        "applId": "DP_RDP",
        "operTs": "2026-05-07T00:00:00.000000Z",
        "usrId": "MBPAPI_SVC_ACCOUNT",
        "deviceId": "BackOffice",
        "busPrcs": "DPCreateMonetaryTransaction_v2.0.0",
        "pubFeKey": {
          "feId": "9700",
          "sorFe": {
            "sorFeId": "9700",
            "sor": { "prcsrNme": "FIS NextGen", "applNme": "Deposits" }
          }
        },
        "prcsDte": "2026-05-07"
      },
      "mntryTxnKey": {
        "arKey": {
          "entprsArTyp": "Checking",
          "arId": "9999999999999",
          "sor": { "prcsrNme": "FIS NextGen", "applNme": "Deposits" }
        },
        "txnKey": { "txnRefNbr": 9000099999001, "pstId": 7000099999001 }
      },
      "mntryTxnDtl": {
        "pstDtl": {
          "pstCmmnData": {
            "pstStdCde": "ACHIncomingCredit",
            "origAmt": { "amt": 50.00, "crncyCde": "USD" },
            "pstAmt": { "amt": 50.00, "crncyCde": "USD" },
            "baseAmt": { "amt": 50.00, "crncyCde": "USD" },
            "pstEffDte": "2026-05-07",
            "pstEffTme": "00:00:00",
            "pstIntrstValDte": "2026-05-07",
            "pstDfltNarr": "ACH Incoming Credit"
          },
          "pstFeeDtl": []
        },
        "stlmtDtl": {
          "bnkIdTyp": "ABA Number",
          "bnkRefId": "000000000",
          "stlmtAr": {
            "arRefId": {
              "entprsArTyp": "Consumer Checking",
              "arId": "9999999999999",
              "sor": { "prcsrNme": "FIS NextGen", "applNme": "Deposits" }
            },
            "extArRef": { "extArRefIdTyp": "Consumer Checking", "extArRefId": "9999999999999" }
          },
          "stlmtMeth": "ACH",
          "stlmtDte": "2026-05-07",
          "amt": { "amt": 50.00, "crncyCde": "USD" }
        },
        "pubBalDtl": [
          {
            "balCde": "LedgerBalance",
            "balNme": "Ledger Balance",
            "amt": { "amt": 50.00, "crncyCde": "USD" },
            "balTypCde": "LedgerBalance",
            "actgClassCde": "Liability",
            "pmtTyp": "Credit",
            "balChgAmt": { "amt": 50.00, "crncyCde": "USD" },
            "effDte": "2026-05-07",
            "effTme": "00:00:00"
          }
        ],
        "pubPstDtl": {
          "pmtTyp": "Credit",
          "pstDte": "2026-05-07",
          "pstTs": "2026-05-07T00:00:00.100000Z",
          "busEvtCde": "FundsTransfer",
          "busEvtDte": "2026-05-07",
          "txnStat": "Processed",
          "chnlId": "EPS",
          "cshStlmtTypCde": "ACH"
        }
      },
      "adtnlAdtDtl": {
        "bkDte": "2026-05-07",
        "hostTs": "2026-05-07T00:00:00.100000Z",
        "acptTs": "2026-05-07T00:00:00.000000Z",
        "acptTsUtcOfst": "-05:00"
      }
    }
  }
}

LEDGER_POSTING_EXCEPTION

Posting a transaction raised an exception.

Attributes

Same shape as LEDGER_TRANSACTION, with one difference: eventType is always "LEDGER_POSTING_EXCEPTION". rawData carries the upstream exception payload instead of a successful posting.

Example

{
  "version": "1",
  "deliveryId": "00000000-0000-0000-0000-000000000098",
  "webhookUrl": "https://your-endpoint.example.com/webhooks/tesouro",
  "deliveryDateTimeUtc": "2026-05-08T00:00:00.000000Z",
  "attemptCount": "1",
  "eventType": "LEDGER_POSTING_EXCEPTION",
  "attributes": {
    "businessCustomerId": "00000000-0000-0000-0000-000000000001",
    "businessCustomer": "Tesouro Test Customer LLC",
    "accountNumber": "9999999999999",
    "routingNumber": "000000000",
    "eventType": "LEDGER_POSTING_EXCEPTION",
    "rawData": {
      "id": "aabbccdd-1111-2222-3333-555566667777",
      "fisorganizationid": "9700",
      "adtDtl": { "evtNme": "MonetaryTransactionException" },
      "mntryTxnExcpKey": {
        "arKey": { "arId": "9999999999999" },
        "txnKey": { "txnRefNbr": 9000099999002 }
      },
      "mntryTxnExcpDtl": {
        "txnExcpDtl": { "excpStat": "PENDING", "dfltActn": "RETURN" },
        "pubTxnDtl": {
          "stlmtDtl": {
            "bnkRefId": "000000000",
            "stlmtAr": { "arRefId": { "arId": "9999999999999" } }
          }
        }
      }
    }
  }
}

LEDGER_ACCOUNT_EXCEPTION

A ledger account raised an exception.

Attributes

Same shape as LEDGER_TRANSACTION, with two differences: eventType is always "LEDGER_ACCOUNT_EXCEPTION", and routingNumber may be empty. rawData carries the upstream exception payload.

Example

{
  "version": "1",
  "deliveryId": "00000000-0000-0000-0000-000000000097",
  "webhookUrl": "https://your-endpoint.example.com/webhooks/tesouro",
  "deliveryDateTimeUtc": "2026-05-08T00:00:00.000000Z",
  "attemptCount": "1",
  "eventType": "LEDGER_ACCOUNT_EXCEPTION",
  "attributes": {
    "businessCustomerId": "00000000-0000-0000-0000-000000000001",
    "businessCustomer": "Tesouro Test Customer LLC",
    "accountNumber": "9999999999999",
    "routingNumber": "000000000",
    "eventType": "LEDGER_ACCOUNT_EXCEPTION",
    "rawData": {
      "id": "aabbccdd-1111-2222-3333-888899990000",
      "fisorganizationid": "9700",
      "adtDtl": { "evtNme": "MBPPUBARException" },
      "arBusExcp": {
        "arKey": { "entprsArTyp": "Checking", "arId": "9999999999999" },
        "busEvtCde": "FundsTransfer",
        "msg": [
          { "cde": "DP006046", "desc": "Stop Hit occurred", "typ": "Validation Error" }
        ]
      }
    }
  }
}

ACCOUNT_STATUS_CHANGED

A ledger account’s status changed (for example, opened, closed, dormant, or charged off).

Attributes

Same shape as LEDGER_TRANSACTION, with two differences: eventType is always "ACCOUNT_STATUS_CHANGED", and routingNumber is empty. rawData carries the upstream status-change payload, including the new primary and secondary status values.

Example

{
  "version": "1",
  "deliveryId": "00000000-0000-0000-0000-000000000096",
  "webhookUrl": "https://your-endpoint.example.com/webhooks/tesouro",
  "deliveryDateTimeUtc": "2026-05-08T00:00:00.000000Z",
  "attemptCount": "1",
  "eventType": "ACCOUNT_STATUS_CHANGED",
  "attributes": {
    "businessCustomerId": "00000000-0000-0000-0000-000000000001",
    "businessCustomer": "Tesouro Test Customer LLC",
    "accountNumber": "9999999999999",
    "routingNumber": "000000000",
    "eventType": "ACCOUNT_STATUS_CHANGED",
    "rawData": {
      "id": "aabbccdd-1111-2222-3333-111122223333",
      "fisorganizationid": "9700",
      "adtDtl": {
        "evtNme": "account_status_change",
        "ver": "1_2_0",
        "msgUuid": "aabbccdd-1111-2222-3333-111122224444",
        "srcId": "BackOffice",
        "applId": "DP_RDP",
        "operTs": "2026-05-07T00:00:00.000000Z",
        "busPrcs": "DPCasaCreateArrangement_v1.9.0",
        "prcsDte": "2026-05-07"
      },
      "arKey": {
        "entprsArTyp": "Checking",
        "arId": "9999999999999",
        "sor": { "prcsrNme": "FIS NextGen", "applNme": "Deposits" }
      },
      "arStatDtl": {
        "prmyStat": "Active",
        "scndyStat": "Normal",
        "statEffDte": "2026-05-07",
        "custIndcInd": false,
        "adtnlDtl": [
          { "typ": "ProductMarketingCode", "val": "MRKT001" }
        ]
      }
    }
  }
}

ACCOUNT_RESTRICTION_CHANGED

A ledger account’s restrictions changed (for example, an account freeze was added for suspected fraud).

Attributes

Same shape as LEDGER_TRANSACTION, with eventType always "ACCOUNT_RESTRICTION_CHANGED". rawData carries the upstream restriction payload, including the action (actnCde is ADD, CHANGE, or DELETE) and the restriction detail.

Example

{
  "version": "1",
  "deliveryId": "00000000-0000-0000-0000-000000000095",
  "webhookUrl": "https://your-endpoint.example.com/webhooks/tesouro",
  "deliveryDateTimeUtc": "2026-05-08T00:00:00.000000Z",
  "attemptCount": "1",
  "eventType": "ACCOUNT_RESTRICTION_CHANGED",
  "attributes": {
    "businessCustomerId": "00000000-0000-0000-0000-000000000001",
    "businessCustomer": "Tesouro Test Customer LLC",
    "accountNumber": "9999999999999",
    "routingNumber": "000000000",
    "eventType": "ACCOUNT_RESTRICTION_CHANGED",
    "rawData": {
      "id": "aabbccdd-1111-2222-3333-555566669999",
      "fisorganizationid": "9700",
      "adtDtl": {
        "evtNme": "account_restriction",
        "ver": "1_0_0",
        "msgUuid": "aabbccdd-1111-2222-3333-555566660001",
        "srcId": "BackOffice",
        "applId": "DP_RDP",
        "operTs": "2026-05-07T00:00:00.000000Z",
        "busPrcs": "DPRecordArrangementException_v1.2.0",
        "prcsDte": "2026-05-07"
      },
      "acctRstrcKey": {
        "entprsArTyp": "Checking",
        "arId": "9999999999999",
        "sor": { "prcsrNme": "FIS NextGen", "applNme": "Deposits" }
      },
      "acctRstrcDtl": {
        "actnCde": "ADD",
        "arExcpDtl": {
          "cde": "AccountFreeze",
          "resn": "Fraud Is Suspected",
          "desc": "Customer lost wallet",
          "effDte": "2026-05-07",
          "clazz": "Error"
        }
      }
    }
  }
}