Payments Data Platform | Modernbanc

Introduction

Modernbanc's Timeline feature allows you to view all past updates for many objects (e.g. balances) and reconstruct what they looked like at a certain date/time.

Key Features

Object-Specific Timelines: Each object supporting the timeline feature has a unique timeline, capturing all changes made over time.

Time-Stamped Changes: Changes to an object are time-stamped and added to the object's timeline, providing a clear chronological record.

Record Updates in the Past: Missed an update? Make changes in the past. The timeline will incorporate the change in the correct chronological order.

Snapshot of Specific Moments: Specify a date while retrieving an object from the API to view its state at that specific time. Two different dates can be provided:

  • effective_date_time: The real-world date.
  • system_date_time: The modernbanc database date.

Getting Started

Getting an object at a specified time

Add system_date_time and/or effective_date_time to the GET query parameters to view the object at the specified time. As an example, to list balances as they were on December 31, 2022 we can run

curl --location \
--request GET 'https://api.modernbanc.com/v1/balances?effective_date_time="2022-21-31T23:59:59.999Z"' \
--header 'Authorization: ApiKey <KEY>' \
--header 'x-workspace-id: <WORKSPACE_id>'

Viewing previous updates

To view all previous updates to an object, include updates when making a GET request.

curl --location \
--request GET 'https://api.modernbanc.com/v1/transactions?include={updates:true}' \
--header 'Authorization: ApiKey <KEY>' \
--header 'x-workspace-id: <WORKSPACE_id>'

Record an update in the past

On all POST and PUT endpoints of timeline-supported objects effective_date_time or effective_created_date_time can be provided. As an example, to update the amount of a transaction line in the past we can submit the following request.

curl --location \
--request PUT 'https://api.modernbanc.com/v1/transactions/lines/a5a9941a-3336-468c-bc96-77d04e561101' \
--header 'Content-Type: application/json' \
--header 'Authorization: ApiKey <KEY>' \
--header 'x-workspace-id: <WORKSPACE_id>'
--data-raw '{
    "name": "Changing the amount of this line in the past",
    "amount": "500.00",
    "effective_date_time": "2006-06-12T21:13:24.474Z"
}'

Note - when updating object’s field in the past if no changes have been made to it since then it’ll change the present value.

Check out more advanced examples here

Object Support

Timelines are currently supported on balances, transactions, transaction_lines, and account_relations.