Create report

Create a report. This is used for manual upload of data. For instance if having raw camt.053/mt940 files
but not wanting to set up a connection to automatically fetch them, or, if the atlar/third-party does not support
fetching of the data.

Path Params
string
required
^[a-zA-Z0-9\-]{1,256}$

Atlar connection ID.

Body Params

A manual upload of statement data for a connection.

Use this when Atlar cannot fetch the data itself — a bank with no
automatable channel, or a one-off backfill. What you send is stored
verbatim and stays retrievable as the report's content, so it is the
audit record of the upload.

The JSON body may not exceed 10 MiB. Transactions are what usually push
an upload towards that, so split a large backfill across requests rather
than sending one request per day for a whole year.

statements
array of objects
required
length between 1 and 100

One entry per account and local date. Entries are independent and may
cover different accounts and different dates in the same request; each
becomes its own statement.

The request is accepted or rejected as a whole and forms a single
report, so group everything belonging to one upload together rather
than sending one request per statement. At most 100 entries — split
larger backfills across several requests.

statements*

One account's settled end-of-day position for one local calendar date.

A statement is identified by the account it names plus its local date, and
everything in it — the period and every balance — must refer to that same
local date. All dates are local calendar dates in the account's own
timezone, never UTC; see account.timezone for how that timezone is
resolved and why it matters.

An account and local date can only be recorded once. Uploading a second
statement for a date that already has one does not correct or supersede
it: the request is accepted, but the statement is discarded during
processing and the first upload's balances stand. Get the figures right
before uploading — restating a date that has already been recorded
requires Atlar to intervene.

string
enum
required

Only BOOKED is accepted. What you upload is treated as settled and
final for the day, and safe to reconcile against. Upload intraday
figures once the day has closed rather than as they stand.

Allowed:
period
object
required

The local calendar date the statement covers. Together with the
account's timezone this determines the exact instants Atlar records as
the start and end of the statement.

account
object
required

Which account the statement is for. Atlar matches it against the
accounts on this connection by account identifier, and may discover a
previously unknown account from it — so send what the bank reports
rather than a normalised or internal representation.

holder
object
required

The legal owner of the account. Required even when Atlar already knows
the account, because it forms part of the statement record.

balances
array of objects
required
length ≥ 1

The account's balances for the statement's local date.

Always send at least the day's opening and closing booked balances:
one entry with type: BOOKED and reportedType: OPEN, and one with
type: BOOKED and reportedType: CLOSE. Both are needed for the
statement to be processed — without them the request is accepted and
then fails during processing.

Every entry's localDate must equal period.localDate, and the
combination of type and reportedType must be unique across the
array, so a statement cannot carry two closing booked balances.

balances*

One balance of an account, for one local calendar date.

You supply only a local date and whether the balance opens or closes that
day; Atlar derives the exact instant from the account's timezone, so
OPEN becomes the very start of the local day and CLOSE the very end
of it. That is why there is no timestamp field here.

amount
required

The balance itself, negative when the account is overdrawn.

Supply either value (in the currency's minor units) or
stringValue (a decimal string); if you supply both they must agree
exactly. Must be in the same currency as the statement's
account.currency — a JSON upload in another currency is accepted
and then fails during processing, whereas the CSV upload rejects it
outright.

string
enum
required

Which balance this is.

BOOKED is the settled ledger balance and the only one Atlar
reconciles against, so every statement must carry a BOOKED OPEN
and a BOOKED CLOSE — the day's net movement is derived from those
two. AVAILABLE (what is usable right now, after holds and
overdraft) and BOOKED_ADJUSTED are stored for reference only and
cannot stand in for the booked pair.

Allowed:
string
enum
required

Whether this is the balance the day opened with or the one it closed
with. It is what fixes the balance's timestamp within localDate, so
it has to reflect the real position: one date's closing balance and
the next date's opening balance should normally be equal.

Allowed:
date
required

The local calendar date this balance belongs to, in the account's own
timezone. It must equal the statement's period.localDate; a
statement whose balances do not all share the statement's date is
rejected during processing.

transactions
array of objects
length ≤ 1000

The individual movements the day's booked balances are made up of.
Optional, but send them whenever the source system reports them —
without them a statement only shows that the balance moved, not what
moved it, and nothing can be reconciled against a payment.

When you do send them they must account for the day in full: each
uniqueID may occur only once in the statement, each bookedDate
must equal period.localDate, each amount.currency must equal
account.currency, and the signed sum of the entries — credits
positive, debits negative — must equal the closing booked balance
minus the opening one exactly. A request that breaks any of these is
rejected. At most 1000 entries per statement — a day with more
movements than that cannot be split across two statements, since an
account and local date can only be recorded once, so contact Atlar.

If you omit the array, Atlar reconstructs the day's net movement from
the balances — a single transaction for the closing booked balance
minus the opening one, a credit if that is positive and a debit if it
is negative, dated on the statement's local date. If the two balances
are equal, the day gets no transaction at all.

transactions
Headers
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Responses

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json