Skip to main content

New transaction for reconciliation purposes.

POST 

/transactions

Create a new Transaction that was initiated outside Impact Finance, for reconciliation purposes.
Note 1. Only settled transactions can be created this way. While an externally created transaction is still in a pending state, there is no need to update the state in Impact Finance. Likewise, failed externally created transactions can be ignored.
Note 2. When creating a transaction to or from a SharedSavings account, the balance will automatically be updated. Unless toDreamId or fromDreamId is defined, a residual amount will appear outside any of the Impact Finance that reside on the shared account. The Impact Finance UX will handle this by creating further Internal transactions until the residual is 0. If running Impact Finance without UX ("headless"), it is up to you to decide how to resolve this residual amount. Either by creating Internal transactions automatically according to some algorithm, or by involving the user in the decision.
Note 3. When creating a transaction to or from a Performance account, the previous note does not apply, as these accounts are dedicated to a single, uniquely defined Dream. However, the resulting performance balances such as balanceCents, liquidBalanceCents, etc. are not automatically updated, and must be adjusted with a separate call to PATCH /accounts/{id} for each affected Performance account.

Request

Body

required

Transaction details

    transaction

    object

    oneOf

    type stringrequired

    Possible values: [Deposit]

    externalId stringrequired
    userId uuidrequired
    amountCents integerrequired
    requestedAt RFC3339

    Default value: Time of creation

    settledAt RFC3339

    Default value: Time of creation

    toAccountId uuidrequired
    toDreamId uuid

Responses

Transaction was created

Schema

    transaction

    object

    oneOf

    type stringrequired

    Possible values: [Deposit]

    id stringrequired
    externalId string
    transferConsentId uuid

    user

    object

    required

    type stringrequired
    id stringrequired
    externalId string
    amountCents integerrequired
    state stringrequired

    Possible values: [requested, settled, failed]

    requestedAt RFC3339required
    settledAt RFC3339
    failedAt RFC3339

    toAccount

    object

    required

    type stringrequired
    id stringrequired
    externalId string

    toDream

    object

    type stringrequired
    id stringrequired
    name stringrequired
Loading...