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

    id uuid
    targetCents integer

    Represents how much money (in cents or the smallest currency subunit) the User wants to save to complete this Dream.

    type string
    expiresAt RFC3339

    (Optional) DateTime before which the User wants to complete this Dream.

    achievedAt RFC3339

    Represents when the dream was completed

    name string
    balanceCents integer

    Current balance cents for dream

    deletedAt RFC3339

    Represents when the dream was deleted

    imageUrl string
    activeSavehacksCount integer

    Current count of active savehacks

    user

    object

    type stringrequired
    id stringrequired
    externalId string

    groupDream

    object

    (Optional) GroupDream this Dream is a part of.

    type stringrequired
    id stringrequired

    account

    object

    Identifies the account where all money towards this dream is stored

    type stringrequired
    id stringrequired
    externalId string

    dreamInspiration

    object

    nullable

    (Optional) The Dream Inspiration this Dream was created from.

    id uuidrequired

    translatedName

    object

    [locale] string
    targetCents integer

    Possible values: >= 1 and <= 9223372036854776000

    Default value: 0

    durationSeconds integer
    imageUrl string
    type stringrequired

    Possible values: [DreamInspiration]

Loading...