Reporting
This guide explains the reports SuperAPI delivers to your fund, how to get access to them, and how to load them into your own systems.
About reporting
SuperAPI publishes two reports for your fund:
- Billable events - the events we have charged for over the life of our relationship.
- Default fund relationships - the employers we currently have on record as defaulting to your fund.
Both reports are delivered as CSV snapshots to an SFTP folder we provision for your fund. Each file is a point-in-time view of what is currently in our database, not an incremental feed.
INFO
Because each file is a snapshot, historical rows can change between deliveries (for example, when an event is corrected or a default relationship is reassigned). The recommended pattern is to truncate the destination table and reload from the latest file. See Loading the data below.
Access
Reports are delivered through our managed SFTP server. Access is provisioned per fund, with one SFTP user per fund. Authentication is by SSH key only; passwords are not supported.
Requesting access
Email support@superapi.com.au with the following:
- The SSH public key you would like to use (see below for how to generate one).
- The IP addresses or CIDR ranges that will be connecting. We allowlist these on your SFTP user.
- The list of people at your fund who should hold a copy of the private key.
We will reply with your username and confirm the host details.
Generating an SSH key
We recommend an Ed25519 key. From a terminal:
ssh-keygen -t ed25519 -C "fund-name-superapi-reporting"This produces two files:
id_ed25519- your private key. Keep this secret.id_ed25519.pub- your public key. Send the contents of this file to us.
WARNING
Never share your private key. If you suspect it has been disclosed, contact us and we will rotate the public key on your SFTP user.
Connection details
| Setting | Value |
|---|---|
| Host | services.superapi.com.au |
| Port | 22 |
| Protocol | SFTP |
| Username | Provided by SuperAPI during setup |
| Auth | SSH key (Ed25519 recommended) |
| Allowlist | Connections are restricted to the IPs you supply during setup. |
Folder layout
Once connected, you will see an outgoing/ folder containing the two reports:
outgoing/
billable_events.csv
default_fund_relationships.csvThe same two filenames are used every refresh. Each file is overwritten in place with the latest snapshot.
Refresh cadence
Reports are refreshed at least every 24 hours, and typically every 30 minutes. There is no fixed delivery window; you should poll on a schedule that suits your operations rather than waiting for a specific time of day.
TIP
If you need to know when a file last changed, check the file's modified timestamp via your SFTP client. We do not publish a separate manifest file.
File format
| Property | Value |
|---|---|
| Format | CSV (RFC 4180) |
| Encoding | UTF-8 |
| Header row | Yes, on the first line |
| Quoting | Fields are quoted only when they contain a comma, double quote, or newline |
| Line endings | \n |
| Empty values | Represented as an empty field (i.e. nothing between the delimiters), not the string NULL |
Loading the data
We recommend treating each file as a full snapshot of the underlying database table. Rows can change, be backfilled, or be removed between deliveries, so an incremental approach is not safe.
The simplest reliable pattern is truncate-and-load:
- Download the latest
billable_events.csv(ordefault_fund_relationships.csv). - Load it into a staging table in your warehouse.
- Truncate your destination table.
- Copy the staging rows into the destination table.
- Run any downstream models or reports against the destination table.
You can run this on whatever cadence suits you (hourly, daily, weekly). Because each file is self-contained, missing a cycle is not a problem; the next load will catch you up.
INFO
If you need change tracking (for example, "which billable events appeared since last week?"), keep a dated copy of each snapshot on your side and diff between them. We do not publish a change log.
Security
- Transport: SFTP over SSH. Passwords are not accepted; SSH key authentication only.
- At rest: files are encrypted at rest on our infrastructure.
- Network: connections to your SFTP user are restricted to the IP allowlist you supply during setup. Let us know if your egress IPs change so we can keep the list current.
- Key rotation: contact us to rotate or revoke a public key at any time.
Reports
The sections below describe each report column by column.
Billable events
billable_events.csv contains one row per billable event we have raised against your fund over the life of our relationship. Use this report to reconcile invoices and to track activity by month, event type, or acquisition source.
| Column | Type | Nullable | Description |
|---|---|---|---|
acquisition_source | string | No | How the relationship was acquired. One of default_activate or default_win. |
brand_name | string | No | The fund brand the event was raised against (e.g. HESTA). |
fund_employer_number | string | Yes | Your fund's internal reference for the employer, supplied by the employer when picking your fund as a default. |
billable_event_id | UUID | No | Unique identifier for the billable event. Stable across snapshots. |
billable_event_type | string | No | The type of event that was billed. |
employee_member_number | string | Yes | The fund member number of the employee involved, when the event relates to a member. |
onboarding_session_id | UUID | No | The SuperAPI onboarding session the event originated from. |
employer_name | string | No | The employer's registered or trading name as supplied during onboarding. |
employer_abn | string | No | The employer's 11-digit ABN. |
employer_abn_branch_number | string | Yes | The 3-digit GST branch number, where the employer has one. |
onboarding_session_completed_at | timestamp | No | When the onboarding session completed, in ISO 8601 and UTC (e.g. 2025-10-27T09:35:32). Used as the event date for billing. |
completed_month_code | string | No | The completion month in YYYY_MM form, with the month zero-padded (e.g. 2025_10, 2025_03). Convenient for grouping events by billing month. |
Default fund relationships
default_fund_relationships.csv contains one row per employer we currently have on record as defaulting to your fund. Because this is a snapshot, an employer that no longer defaults to your fund will disappear from the file on the next refresh.
| Column | Type | Nullable | Description |
|---|---|---|---|
acquisition_source | string | No | How the relationship was acquired. One of default_activate or default_win. |
id | UUID | No | The SuperAPI identifier for the employer. Stable across snapshots. |
name | string | No | The employer's registered or trading name as supplied during onboarding. |
abn | string | No | The employer's 11-digit ABN. |
employer_number | string | Yes | Your fund's internal reference for the employer, supplied by the employer when picking your fund as a default. |
Getting help
Stuck with something and need help? Please contact us at support@superapi.com.au or by phone on 0405 472 748 (Sam). Have you setup a shared Slack or Teams channel with us? If not, please reach out so we can provide realtime support.