Skip to content

Integrating SuperAPI

The following is a detailed step by step guide on how to integrate SuperAPI into your product.

Getting help

Stuck with something and need help? Please contact us at [email protected] or by phone at 0405 472 748 (Sam)

Document terminology

Throughout this document, we will use consistent terminology to represent the actors or actions involved in our software integration. The following table provides a quick reference to these terms:

TermDescription
SuperAPIThe authors and maintainers of the SuperAPI Embed
SuperAPI EmbedOur embedded super selection tool
3rd Party SoftwareThe software product that hosts the SuperAPI Embed and shows it to Employees
EmployeeThe individual making a super selection via the SuperAPI Embed
EmployerThe organisation that employs the employee
Onboarding SessionAn instance of an Employee onboarding, usually to make a super selection
SuperAPI JavaScript LibraryA JavaScript library enabling 3rd Party Software developers to easily integrate their product with our super selection tool.
3rd Party Software API KeyA secure token provided during the setup of an integration with SuperAPI. All server to server requests to SuperAPI must include this API Key.
Super Fund PartnerA super fund that has partnered with SuperAPI to engage with Employee's when they make a Super Selection Session
MemberAn Employee that belongs to a Super Fund

Changelog

DateChange
10/05/2024valid_until changed to be an ISO8601 timestamp for consistency
08/05/2024Documented disclaimers and bank accounts
07/05/2024Generated PDF super assets moved under the onboarding_session_super_selection
16/04/2024Return more fields on employee_detail's
08/04/2024Add more detail on the expires_at column for onboarding_session's
21/03/2024Added middle_name and has_financial_supplement_debt to employee creation
20/03/2024Added casual and labour_hire pay basis enums
06/03/2024Indicate that the TFN under the super_fund_member_detail response can be null
05/03/2024Modified endpoint from v2.superapi.com.au to api.superapi.com.au
15/02/2024Added other type for gender (free form entry coming soon). Added additional titles.
15/02/2024Converted enums to be lowercase, added additional tax fields to employees and address details to employers
02/02/2024Added an example payload for the onboarding session webhook response
29/01/2024Public release of the docs

Getting setup

Make sure you read the Overview so you have an understanding of how SuperAPI integrates with 3rd party products. This document has been designed to give you a high level overview of how the pieces of software, i.e. your product and SuperAPI, fit together. That high level understanding will make the following detailed process much easier to follow.

Obtaining your API keys

The first step is to obtain your API keys from SuperAPI. These API keys identify your software to SuperAPI and allows you to create and read data from our system. If you have not obtained your keys yet then please email [email protected] to have one provisioned.

Depending on your setup, we can provision keys for your staging and local development environments (it is also possible for developers to share a key). Once you're happy with your implementation of SuperAPI then get in touch with us and we can provision you production keys for use in your live environment.

If your software is not multi-tenanted then please talk to us about how to programatically generate api keys for each of your instances. Ideally you should have only one production key but in some software architectures it may make sense to generate API keys for each instance of your production software.

DANGER

Your api key is sensitive data and should be treated as such. With it, personal information about the sessions your users have created in SuperAPI can be read. Ensure it is not checked into your source code repository.

What is the sandbox?

Sandboxed instances of SuperAPI are made for development and testing purposes. Sandboxed instances have the same functionality as unsandboxed (production) instances. Sandboxed instances are restricted from interacting with external services, such as Super Fund & ATO services. This protects your development & testing environments from accidentally interacting with any external production systems.

This does not impact how you can integrate with SuperAPI, as any required external services are mocked to enable the required functionality within the sandbox. Only the experience that users will have when going through a super selection flow is impacted.

Details needed to create your API key

When we create your API key, we will need some details about you. These are:

FieldDescription
product_nameName of your product that will be using the API key
webhook_urlThe callback URL that will be used to send data as it changes in our system
target_originTarget origin so we can safely broadcast iFrame message to the secured destination (need help? Read the MDN docs on targetOrigin for iFrames)
show_toast_messagesIf we should show toast messages in the iFrame. Disable this if you want to hook our JavaScript API into your toast display system to create seamless notifications.

In addition to the API key, you will also be provided a unique token which has been generated by us that you can use to identify webhook as originating from our system.

SuperAPI Overview

Our REST endpoints

All calls to our Rest endpoints will return the same structured metadata, this is represented as:

FieldKindDescription
dataobjectThe serialised object in our system
versionstringThe version of serialised data. This will match the version in the endpoint that the record was created with

Employer setup process

Each new employer must be setup in SuperAPI before they can begin onboarding their employees. Setting up an employer is a two step process. First the employer must be created via the API. Then the employer embed must be presented to a user of the employer so they can configure their employer settings.

Overview

Employer endpoint

Creating employers

An employer object must be created before an employee can be onboarded via SuperAPI. Employer objects contain information about the employer that the employee is onboarding with. This can include the name, abn and default super fund for the employer.

WARNING

If you don't configure an employer and attempt to create an onboarding session, you will receive an error! Please ensure that your system prevents onboarding sessions being created for an employer until the employer object has been created, and you've presented the employer configuration embed to a member of the employer team.

We suggest that you create a table to map the relationship between the employer in your system and the employer object in SuperAPI. In a relational database system, this could look like:

With this join table in place, you will have a way of linking the employer record in your system with the employer object that is in SuperAPI.

Example request

To create an employer object within SuperAPI, you can use an API call like:

bash
curl -X POST https://api.superapi.com.au/api/v1/employer \
  -H "Content-Type: application/json" \
  -H "x-api-key: superapi_yourapikeysDZFUnrDIyNp7YTAPDcJXge" \
  -d '{
    "name": "The company name",
    "abn": "12345",
    "remote_id": "12345"
  }'

INFO

After the api component in the URL you will notice a version. Creating a record under a particular version will affect the format of the data returned to you from the request and in future webhook responses. We will keep you updated about changes to the versions as they occur.

Request payload

When sent, this endpoint will respond with a 201 HTTP status code indicating that the employer object was created.

The request payload of the data is:

FieldKindRequiredDescription
abnstringYesA valid Australian ABN number. This is used when generating the superannuation selection
address_line_1stringYesThe first line of the address
address_line_2stringNoThe second line of the address
contact_emailstringYesThe email address of the primary contact of the business
contact_person_namestringYesThe name of the primary contact of the business
contact_phone_namestringYesThe phone nuimber of the primary contact of the business
localitystringYesThe locality (e.g. suburb) of this employer
namestringYesThe name of the company or organisation being setup
postcodestringYesThe postcode of this employer
remote_idstringYesThe id of the record that this employer is being linked to in your database. This remote_id will be returned to you so that you can map responses back to the record that created them
statestringYesThe state of this employer, one of: nsw, vic, qld, sa, wa, nt, act or tas

Response payload

The response will contain an employer

Onboarding session

The process of onboarding a new employee with SuperAPI is a two step process. First an onboarding session is created, then the employee is presented with the employee embed (iframe), via which they can complete their super selection.

It is assumed that the SuperAPI super selection step is not the first step within your employee onboarding process. Based on this assumption, it is also assumed that you will bootstrap the the onboarding session with employee details that have been collected through the other steps in your employee onboarding journey. The employee details you provide to the onboarding session will be use to prefill any details the employee is required to enter. Some functionality within the employee onboarding session is dependent on employee details (such as stapling / presenting existing super funds) but these features will gracefully degrade is the emloyee details are not provided (or are invalid).

Unlike the employer embed, the onboarding session is ephemeral. It is expected that a user will have at least one onboarding session but may have more. For example, you may want to require the user to come back to your system to make another super selection after a year to ensure they are making optimal choices about the super fund that they use. In this case, the employee would have two onboarding sessions, each a year apart.

Overview

Onboarding sessions endpoint

Creating onboarding sessions

Onboarding sessions are created via the onboarding_session endpoint. An employee can have multiple onboarding sessions (i.e one current session and multiple historic sessions that have been archived). An onboarding session will expire after 7 days. After an onboarding session expires it will be archived and any PII information removed or hashed in the database.

Example request

To create an onboarding session under your account, you can use an API call like:

bash
curl -X POST https://api.superapi.com.au/api/v1/onboarding_session \
  -H "Content-Type: application/json" \
  -H "x-api-key: superapi_yourapikeysDZFUnrDIyNp7YTAPDcJXge" \
  -d '{
    "employer": {
      id: "8f19e887-0530-4e24-af9b-0cb8a6ce5e91",
    },
    "email": "[email protected]",
    "phone_number": "0405472748",
    "remote_id": "12345",
    "employee_detail": {
      "given_name": "The Name"
    }
  }'

INFO

After the api component in the URL you will notice a version. Creating a record under a particular version will affect the format of the data returned to you from the request and in future webhook responses. We will keep you updated about changes to the versions as they occur.

Request Payload

The request payload of the data is:

FieldKindRequiredDefaultDescription
emailstringYesThe email address of the employee that is onboarding, used to identify and verify them in some circumstances
email_validatedbooleanNotrueHas the employees email address been validated by you? One of either this or phone_number_validated must be true
employee_detail.address_line_1stringNoThe first line of the employees address (e.g. Apartment 10)
employee_detail.address_line_2stringNoThe second line of the employees address (e.g. 10 The Street)
employee_detail.address_line_3stringNoThe third line of the employees address
employee_detail.address_line_4stringNoThe fourth line of the employees address
employee_detail.date_of_birthstringNoMust be in the format yyyy/mm/dd
employee_detail.family_namestringNoThe last name of the employee
employee_detail.genderstringNoMust be one of male, female or other
employee_detail.given_namestringNoThe given name of the employee, used to prefill fields in our forms
employee_detail.has_financial_supplement_debtbooleanNoDoes this employee have a financial supplement debt?
employee_detail.localitystringNoThe suburb that you are located in, e.g. Footscray
employee_detail.middle_namestringNoThe middle name of the employee
employee_detail.pay_basisstringNoMust be one of: full_time, part_time, casual or labour_hire
employee_detail.postcodestringNoThe postcode of the employee, e.g. 3000 for Melbourne City
employee_detail.previous_family_namestringNoThe previous family name you might have been known by
employee_detail.previous_given_namestringNoThe previous given name you might have been known by
employee_detail.residency_typestringNoMust be one of: australian_resident_for_tax_purposes, foreign_resident or working_holiday_maker
employee_detail.statestringNoWhich state the employee is located in, one of: nsw, vic, qld, sa, wa, nt, act or tas
employee_detail.tfnstringNoThe Tax File Number of the employee
employee_detail.tfn_exemption_typestringNoMust be one of: not_quoted, pending, pensioner or under_eighteen
employee_detail.titlestringNoMust be one of: mr, mrs, miss, ms, dr or other
employer.has_study_and_training_repaymentbooleanNoDoes this employee have any training or loan repayments (e.g. HELP loan)
employer.idstringYesThe id of the employer that this onboarding session is being created for. This was returned to you when an employer was created.
employer.tax_free_threshold_claimedbooleanNoHas this employee claimed the tax free threshold for this employer?
phone_numberstringYesThe mobile phone number of the employee that is onboarding, used to identify and verify them in some circumstances
phone_number_validatedbooleanNofalseHas the employees email address been validated by you? One of either this or email_validated must be true
remote_idstringYesThe id of the record that this employer is being linked to in your database. This remote_id will be returned to you so that you can map responses back to the record that created them

INFO

If optional fields are not provided then the user will have to enter them again. By passing fields when constructing the onboarding session, we avoid double entry of data. The user will also get a chance to amend any details that have been passed into the system. You will receive the updated details via a webhook later if you want to update your own internal systems.

Response Payload

When a valid request is received this endpoint will respond with a 201 HTTP status code indicating that the onboarding session record was created.

The response will contain an onboarding_session

Partner implementation example

Designing database tables to support the SuperAPI onboarding sessions is similar to the way the employer <> SuperAPI relationship works:

UI embeds (iframes)

Once you have created the employer in SuperAPI you are then ready to show the embed which allows the employer to configure themselves in SuperAPI. SuperAPI has been designed to be very easy to integrate into your system and most of the ease comes from the use of our embed system which reduces the amount of code that you need to write and reduces the burden of keeping up to date with our changes.

Creating a UI embed (iframe)

To create the employer embed URL given to our JavaScript library for rendering, you have two options:

  1. Self sign the URL in your system using the signing token. This is fairly complex but it removes the need to make a request to our system.
  2. Use our generate_embed_url endpoint which can provide the signed URL for you. (recommended)

INFO

Signed URLs are a core part of the SuperAPI security infrastructure. They allow you to control how long a URL is valid for and to modify other behaviour around the way the embed works. This configuration is enabled while also preventing any possibility of tampering by users of the system

Example Request

To obtain a self signed URL in our system you will need a SuperAPI employer object ID (see above for how to create this). Once you have this, you can use an API call like:

bash
curl -X POST https://api.superapi.com.au/api/v1/employer/:id/generate-embed-url \
  -H "Content-Type: application/json" \
  -H "x-api-key: superapi_yourapikeysDZFUnrDIyNp7YTAPDcJXge" \
  -d '{
    "options": {
      "valid_until": "2024-05-10T00:10:29Z"
    },
  }'

Request Payload

This request takes an options payload which allows you to customise the way the embed functions. You can control the embed behaviour with the following options:

FieldKindDescription
valid_untilstringAt what point in time does this URL stop functioning in IS8601 format

DANGER

Do not store the generated urls! Rather, create them at the time the page is being rendered. It is important to set a value for the valid_until which is not too far into the future. A suggested value is 30 seconds. It is safe to sign or request a generated URL each time the page is loaded.

The other embed available in the system is for the onboarding session. Once you have an onboarding session created, you can create an embed for it using a very similar request to the employer embed:

bash
curl -X POST https://api.superapi.com.au/api/v1/onboarding_session/:id/generate-embed-url \
  -H "Content-Type: application/json" \
  -H "x-api-key: superapi_yourapikeysDZFUnrDIyNp7YTAPDcJXge" \
  -d '{
    "options": {
      "valid_until": "2024-05-10T00:10:29Z"
    },
  }'

The onboarding_session embed takes the same options as the employer embed.

Managing embeds

Once the employer embed URL has been created you can then use our JavaScript library to manage the creation of the embed. This library manages mounting the iFrame containing our UI and provides an interface for easily listening to events that emanate from the iFrame.

See: super-api-embed JavaScript library

Webhooks

Webhooks exist as the primary mechanism to transport data from SuperAPI back to the partner website. Webhooks will always deliver to the same URL (this is configured when we provision your partner account, contact us if you need to update this) but will be wrapped in metadata to help distinguish the event that triggered the webhook.

Response payload

The fields contained in a webhook are:

FieldKindDescription
dataobjectThe serialised object in our system that is related to the webhook being sent
versionstringThe version of serialised data. This will match the version in the endpoint that the record was created with
kindstringThe event kind of the webhook

Types of webhooks

Currently we deliver two webhooks:

NameDescription
employer_settings_changedThe employer changed their settings in SuperAPI (e.g. changed the default super fund for their employees). The data key contains an employer
onboarding_session_completedThe employee has completed onboarding within SuperAPI. The data key contains an onboarding_session. See an example onboarding session webhook

From a programming point of view, it is suggested that within the endpoint controller of the webhook, you match on the kind field (which will always be unique) then dispatch from that as needed.

Response data types

SuperAPI returns a number of different data types. By default, we will automatically unroll the relationships that an object has so it easy for you to access. These data types are identical between our REST API and Webhook requests.

DANGER

We may expand the returned payload with additional fields in the future, it is assumed that this is NOT a breaking change to our API. If fields are required to be removed then they will be deprecated with notice.

employer

Represents an employer that the employee is onboarding to.

FieldKindDescription
iduuidID
abnstringThe ABN of the company that was just created
address_line_1stringThe first line of the employers address
address_line_2stringThe second line of the employers address
contact_emailstringThe contact email for this employer
contact_person_namestringThe name of the person to contact at this employer
contact_phone_numberstringThe contact number of this employer
employer_default_super_fund_productreferenceemployer_default_super_fund_product
last_activity_atstringISO8601 timestamp of the last time the employer interacted with the embed
localitystringLocality (suburb) that the employer is located in
namestringThe name of the company you just created
postcodestringPostcode of the employers location
remote_idstringID that points back to the record in your system
requires_default_fund_selectionbooleanIndicates if a default super fund must be set by the employer before onboarding sessions can be created
statestringWhich state this employer is located in

employer_default_super_fund_product

Details about the default super fund product that the employer has selected.

FieldKindDescription
iduuidID
employer_numberstringAn id for this employer which allows them to be identified by the super fund.
super_fund_product.idreferencesuper_fund_product

super_fund_product

A product offered by a super fund. Often what is considered a "super fund" because of the ABN and USI numbers associated with it.

FieldKindDescription
iduuidID
abnstringThe ABN of the fund
long_descriptionstringA longer of description about the fund, suitable for content in the body of the page
namestringThe name of the fund being offered
short_descriptionstringA shorter description about the fund, suitable for use in a list
usi_numberstringThe unique usi of the fund

onboarding_session

An instance of an employee being taken through our onboarding flow. Currently only super onboarding is supported.

FieldKindDescription
iduuidID
bank_account_collectionreferencebank_account_collection
data_delivery_statestringWhat state is the delivery of the data to you in? This will always be complete
emailstringEmail address of the employee as given when the onboarding session was created
email_validatedbooleanHas this email address been validated as belonging to the employee
employee_detailreferenceemployee_detail
employerobjectContains the same details as the employer webhook. Mirrored here for convenance.
expires_atstringWhat date will this onboarding session expire. Once expired this onboarding session can no longer be used. Additionally, all PII data is removed. Defaults to 30 days from time of creation.
onboarding_session_super_selectionreferenceonboarding_session_super_selection
phone_numberstringMobile number of the employee as given when the onboarding session was created
phone_number_validatedbooleanHas this mobile number been validated as belonging to the employee
super_disclaimerreferencesuper_disclaimer

employee_detail

The details that were passed in about an employee from a partner to bootstrap the data entry in the system.

FieldKindDescription
iduuidID
address_line_1?stringThe first line of the employees address (e.g. Apartment 10)
address_line_2?stringThe second line of the employees address (e.g. 10 The Street)
address_line_3?stringThe third line of the employees address (likely not needed, required for the SuperStream network)
address_line_4?stringThe fourth line of the employees address (likely not needed, required for the SuperStream network)
date_of_birth?stringMust be in the format yyyy/mm/dd
family_name?stringThe last name of the user
gender?stringMust be one of male female or other
given_name?stringThe given name of the employee, used to prefill fields in our forms
has_financial_supplement_debt?booleanDoes this employee have a financial supplement debt?
has_study_and_training_repayment?booleanDoes this employee have any training or loan repayments (e.g. HELP loan)
locality?stringThe suburb that you are located in, e.g. Footscray
middle_name?stringThe middle name of the employee
pay_basis?stringMust be one of: full_time, part_time, casual or labour_hire
previous_given_name?stringThe previous given name of the employee
previous_family_name?stringThe previous family name of the employee
residency_type?stringMust be one of: australian_resident_for_tax_purposes, foreign_resident or working_holiday_maker
postcode?stringThe postcode of the employee, e.g. 3000 for Melbourne City
state?stringWhich state the employee is located in, one of: nsw, vic, qld, sa, wa, nt, act or tas
tax_free_threshold_claimed?stringHas this employee claimed the tax free threshold for this employer?
tfn?stringThe Tax File Number of the employee
title?stringMust be one of: mr, mrs, miss, ms, dr or other

super_disclaimer

Details about the superannuation disclaimer the user has agreed to.

FieldKindDescription
iduuidID
accepted_atdatetimeThe datetime the user accepted the disclaimer notice.

bank_account_collection

The bank accounts that the user has added

FieldKindDescription
iduuidID
bank_accountsarray(reference)bank_Account

bank_account

The bank accounts that the user has added

FieldKindDescription
iduuidID
namestringThe name the user has given to the bank account
rankintegerThe rank the user has order this bank in the set of all bank accounts

onboarding_session_super_selection

The onboarding step related to selecting a super fund.

FieldKindDescription
iduuidID
progress_statestringThe progress state of the user selecting a super fund. Will usually be completed unless a SuperStream MRR request is in flight
select_super_fund_productreferenceselect_super_fund_product
self_managed_super_fundreferenceself_managed_super_fund
super_fund_member_detailreferencesuper_fund_member_detail
generatedreferenceonboarding_session_super_selection_generated

Either a self_managed_super_fund or a select_super_fund_product will be present in the response, but not both.

onboarding_session_super_selection_generated

Generated assets for the onboarding sessions super selection

FieldKindDescription
super_choice_form_pdf_urlstringContains a reference to the generated super choice form PDF. This should be downloaded and stored in your document storage. Expires 6.5 days after the creation of the onboarding session.
compliance_letter_url?stringContains a reference to the compliance letter used to verify the selected super fund. This will be supplied by users in the case of self-managed super funds. This should be downloaded and stored in your document storage. Expires 6.5 days after the creation of the onboarding session. Might be null in the event the user-supplied document is not available.
super_choice_form_pdf_merged_url?stringContains a reference to the generated super choice form PDF merged with the supplied compliance letter. This should be downloaded and stored in your document storage. Expires 6.5 days after the creation of the onboarding session. Might be null in the event the PDF merge process fails.

super_fund_member_detail

The details that have been confirmed by the user about their membership to a super fund. These will likely be close to or identical to the employee_detail however the user has reviewed and possibly amended these details.

FieldKindDescription
iduuidID
address_line_1stringThe first line of the users address (e.g. Apartment 10)
address_line_2stringThe second line of the users address (e.g. 10 The Street)
address_line_3stringThe third line of the users address
address_line_4stringThe fourth line of the users address
date_of_birthstringMust be in the format yyyy/mm/dd
family_namestringThe last name of the user
genderstringMust be one of male, female or other
given_namestringThe given name of the employee, used to prefill fields in our forms
localitystringThe suburb that you are located in, e.g. Footscray
other_namestringAny previous name you might have been known by
postcodestringThe postcode of the employee, e.g. 3000 for Melbourne City
statestringWhich state the employee is located in, one of: nsw, vic, qld, sa, wa, nt, act or tas
tfnstring?The Tax File Number of the employee
titlestringMust be one of: mr, mrs, miss, ms, dr or other

select_super_fund_product

Details about the fund the user has selected

FieldKindDescription
iduuidID
member_numberstringThe member number of the user at this fund
super_fund_productreferencesuper_fund_product The product the user selected

self_managed_super_fund

Details about a self managed super fund

FieldKindDescription
iduuidID
bank_account_bsbstringThe BSB of the bank account associated with the self-managed super fund
bank_account_namestringThe name of the bank account associated with the self-managed super fund
bank_account_numberstringThe account number of the bank account associated with the self-managed super fund
fund_abnstringThe self-managed super fund's ABN
fund_electronic_service_addressstringThe self-managed super fund's electronic service address, used to identify the fund for SuperStream
fund_namestringThe name of the self-managed super fund
member_namestringThe full name of the member
member_numberstringThe member number of the user at their self-managed super fund

Examples

Onboarding session webhook

json
{
  "data": {
    "id": "751ff54e-d57f-4c6b-a2a0-4a6a30c4ca09",
    "email": "[email protected]",
    "employer": {
      "id": "815db9d9-d9e0-4528-968e-4f7413a2b02c",
      "abn": "17088268884",
      "name": "SuperSimpleSuperGroup PTY LTD",
      "state": "vic",
      "locality": "Gisborne",
      "postcode": "3437",
      "remote_id": "1234",
      "contact_email": "[email protected]",
      "address_line_1": "1 The Willows",
      "address_line_2": null,
      "last_activity_at": null,
      "contact_person_name": "Riley James",
      "contact_phone_number": "0480586728",
      "requires_default_fund_selection": false,
      "employer_default_super_fund_product": {
        "id": "809ab350-a0ba-4de6-afa1-e79f358d3c65",
        "employer_number": null,
        "super_fund_product": {
          "id": "7fff9db6-3862-40e3-8be9-a7685fde13c6",
          "abn": "60905115063",
          "name": "Australian Retirement Trust",
          "usi_number": "60905115063003",
          "long_description": "Australian Retirement Trust is a leading superannuation fund in Australia, trusted by over 2.2 million members to manage their retirement savings. With a focus on strong performance and a commitment to providing lower fees and better services, Australian Retirement Trust ensures that its members' financial needs are met. As one of the largest super funds in the country, Australian Retirement Trust offers a range of products and services to help individuals plan for their retirement. Their superannuation accounts provide competitive investment performance and low fees, allowing members to grow their savings effectively. The fund also offers income accounts, including transition-to-retirement and retirement income accounts, to help individuals manage their finances during retirement. Australian Retirement Trust has received numerous awards and recognition for its outstanding performance, including the SuperRatings Platinum Performance rating for 20 consecutive years. The fund is dedicated to helping its members make the most of their superannuation, offering exclusive member rewards, a user-friendly mobile app, and access to professional financial advice. Join Australian Retirement Trust today and secure your financial future with one of Australia's largest and most trusted super funds.",
          "short_description": "Join Australian Retirement Trust, one of the largest super funds, taking care of over $240 billion in retirement savings for over 2.2 million members."
        }
      }
    },
    "expires_at": "2024-06-06T23:56:07Z",
    "phone_number": "+61405472748",
    "email_validated": true,
    "employee_detail": {
      "id": "46427539-7042-4595-aca3-c6fb1d7d1d74",
      "tfn": "220114653",
      "state": "vic",
      "title": "mr",
      "gender": "male",
      "locality": "Gisborne",
      "postcode": "3437",
      "pay_basis": "full_time",
      "given_name": "Riley",
      "family_name": "Cocklin",
      "middle_name": null,
      "date_of_birth": "1987-12-28",
      "address_line_1": "1 The Willows",
      "address_line_2": null,
      "address_line_3": null,
      "address_line_4": null,
      "residency_type": "australian_resident_for_tax_purposes",
      "previous_given_name": null,
      "previous_family_name": null,
      "tax_free_threshold_claimed": true,
      "has_financial_supplement_debt": null,
      "has_study_and_training_repayment": null
    },
    "super_disclaimer": {
      "id": "1a307f1b-0039-45e9-9f12-6eb15ffef833",
      "accepted_at": "2024-05-07T23:57:11Z"
    },
    "data_delivery_state": "deliver_output",
    "phone_number_validated": true,
    "bank_account_collection": {
      "id": "628883e0-9776-4341-a09f-137fa1d5b233",
      "bank_accounts": [
        {
          "id": "4b0b13c3-8f7e-4817-8d7f-417c4b7ce7b3",
          "name": "The Bank Account Name",
          "rank": 1,
          "branch": {
            "bsb": "012003",
            "state": "NSW",
            "branch": "Merged",
            "suburb": "Sydney",
            "address": "Refer to BSB 012-019",
            "mnemonic": "ANZ",
            "postcode": "2000"
          }
        }
      ]
    },
    "onboarding_session_super_selection": {
      "id": "ecce0a35-a8e2-47fe-86ad-138145c8560b",
      "generated": {
        "compliance_letter_url": "http://minio:9000/generated-assets/751ff54e-d57f-4c6b-a2a0-4a6a30c4ca09/compliance-letter.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20240508%2Flocal%2Fs3%2Faws4_request&X-Amz-Date=20240508T000214Z&X-Amz-Expires=561600&X-Amz-SignedHeaders=host&X-Amz-Signature=165c7071e88c0979d6fb44abce5dc7a92bdcf05b8e2e973f4144e2248e84defc",
        "super_choice_form_pdf_url": "http://minio:9000/generated-assets/751ff54e-d57f-4c6b-a2a0-4a6a30c4ca09/super-choice-form.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20240508%2Flocal%2Fs3%2Faws4_request&X-Amz-Date=20240508T000214Z&X-Amz-Expires=561600&X-Amz-SignedHeaders=host&X-Amz-Signature=d8a26cf5bd1c1b18f647c50dec3b93dea894a96fc33896b819e7b0273b730b9a",
        "super_choice_form_pdf_merged_url": "http://minio:9000/generated-assets/751ff54e-d57f-4c6b-a2a0-4a6a30c4ca09/super-choice-form-merged.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20240508%2Flocal%2Fs3%2Faws4_request&X-Amz-Date=20240508T000214Z&X-Amz-Expires=561600&X-Amz-SignedHeaders=host&X-Amz-Signature=c90961b7a6e66d120a4864b170725d0954aa76db5e44fe7c5ed5c8374f54d4c0"
      },
      "progress_state": "completed",
      "self_managed_super_fund": null,
      "super_fund_member_detail": {
        "id": "978c4fb1-c6b6-4b50-a9b4-7540cc2dae4c",
        "tfn": "220114653",
        "state": "vic",
        "title": "mr",
        "gender": "male",
        "locality": "Gisborne",
        "postcode": "3437",
        "given_name": "Riley",
        "family_name": "Cocklin",
        "date_of_birth": "1987-12-28",
        "address_line_1": "1 The Willows",
        "address_line_2": null,
        "address_line_3": null,
        "address_line_4": null,
        "previous_given_name": null,
        "previous_family_name": null
      },
      "select_super_fund_product": {
        "id": "6ce11090-a0b0-4079-8c0e-9360e92880f6",
        "member_number": "12345678901234",
        "super_fund_product": {
          "id": "e9d585b4-cedc-45ff-93a1-753ec1f7bf75",
          "abn": "65714394898",
          "name": "Australian Super",
          "usi_number": "STA0100AU",
          "long_description": "AustralianSuper is Australia's largest superannuation fund, dedicated to helping members achieve their best financial position in retirement. As a member-focused organization, AustralianSuper doesn't pay profits or dividends to shareholders. Instead, all the money they make goes back into the fund, ensuring that members receive the maximum benefit. AustralianSuper offers a range of products and services to support their members throughout their superannuation journey. Their offerings include superannuation accounts, retirement solutions, transition-to-retirement options, and business solutions. They provide tools and calculators to help members make informed financial decisions and offer educational resources such as articles, webinars, and forms to further empower their members. The organization is committed to sustainable investments and environmental, social, and governance considerations. They have a diverse workforce, led by their dedicated Executive Team and Board of Directors, who ensure the effective implementation of their business strategy. Through their efforts, AustralianSuper aims to be the leading superannuation fund in Australia, delivering strong, long-term returns to their members.",
          "short_description": "AustralianSuper is run only to benefit members, offering low fees and strong long-term investment returns."
        }
      }
    }
  },
  "kind": "onboarding_session_completed",
  "version": "v1"
}

Onboarding session webhook containing a self-managed super fund

json
  "data": {
    "id": "54a36ad6-9437-49b8-8b9e-e497a3857b1f",
    "email": "[email protected]",
    "employer": {
      "id": "13d64d65-4291-4b13-bf59-b4df07037284",
      "abn": "11111111138",
      "name": "Demo Company (AU)",
      "requires_default_fund_selection": false,
      "employer_default_super_fund_product": {
        "id": "f93cd690-c527-49dd-a0b2-34f293208fbb",
        "employer_number": "123myNumber",
        "super_fund_product": {
          "id": "25621433-90fa-4e6c-8bdb-774c3d0b82e9",
          "abn": "22599554834",
          "name": "Guildsuper",
          "usi_number": "22599554834401",
          "long_description": "GuildSuper is a brand that focuses on providing superannuation products and services specifically designed for the pharmacy sector, veterinary, and allied health industries. However, what sets GuildSuper apart is its dedication to working for women. They understand the challenges that Australian women face when it comes to saving for retirement, and they aim to help women understand, grow, and protect their super. With a core focus on working for women, GuildSuper is inclusive and for everyone, recognizing that 85% of their members are women. They offer competitive fees and charges, personal assistance, great value insurance, and advice on super accounts at no extra cost. GuildSuper has been recognized as an industry leader in working for women and takes pride in looking after the superannuation savings of over 75,000 members and helping more than 16,000 employers meet their superannuation obligations.",
          "short_description": "At GuildSuper we look after the retirement savings for those who look after others. Our products and services have been designed for caring professions."
        }
      }
    },
    "generated": {
      "super_choice_form_pdf_url": "https://s3.ap-southeast-2.amazonaws.com/superapi-assets/54a36ad6-9437-49b8-8b9e-e497a3857b1f/super-choice-form.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAWQF2CJNHP4TBBAKD%2F20240201%2Fap-southeast-2%2Fs3%2Faws4_request&X-Amz-Date=20240201T222621Z&X-Amz-Expires=561600&X-Amz-SignedHeaders=host&X-Amz-Signature=d37af14f93353255b6972a6a2fe49206322f48b3c0387cd72ba48cfaf014d4fa"
      "compliance_letter_url": "https://s3.ap-southeast-2.amazonaws.com/superapi-assets/54a36ad6-9437-49b8-8b9e-e497a3857b1h/super-choice-form.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAWQF2CJNHP4TBBAKD%2F20240201%2Fap-southeast-2%2Fs3%2Faws4_request&X-Amz-Date=20240201T222621Z&X-Amz-Expires=561600&X-Amz-SignedHeaders=host&X-Amz-Signature=d37af14f93353255b6972a6a2fe49206322f48b3c0387cd72ba48cfaf014d4fa"
      "super_choice_form_pdf_merged_url": "https://s3.ap-southeast-2.amazonaws.com/superapi-assets/54a36ad6-9437-49b8-8b9e-e497a3857b1g/super-choice-form.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAWQF2CJNHP4TBBAKD%2F20240201%2Fap-southeast-2%2Fs3%2Faws4_request&X-Amz-Date=20240201T222621Z&X-Amz-Expires=561600&X-Amz-SignedHeaders=host&X-Amz-Signature=d37af14f93353255b6972a6a2fe49206322f48b3c0387cd72ba48cfaf014d4fa"
    },
    "expires_at": "2024-02-08T22:22:16Z",
    "phone_number": "0405472748",
    "employee_detail": {
      "id": "1a866a87-abb5-4bd8-92c6-331f8244d2c0",
      "tfn": "787800030",
      "state": "vic",
      "title": "mr",
      "gender": "male",
      "locality": "West Footscray",
      "postcode": "3012",
      "given_name": "Testing",
      "other_name": null,
      "family_name": "Embed",
      "date_of_birth": "1980-04-11",
      "address_line_1": "10 Warleigh Road",
      "address_line_2": null,
      "address_line_3": null,
      "address_line_4": null
    },
    "data_delivery_state": "deliver",
    "onboarding_session_super_selection": {
      "id": "8812a824-60e6-4578-a164-826b48056e46",
      "progress_state": "completed",
      "super_fund_member_detail": {
        "id": "dccd5c16-2373-4c32-ae71-e997ce56390d",
        "tfn": null,
        "state": "vic",
        "title": "mr",
        "gender": "male",
        "locality": "West Footscray",
        "postcode": "3012",
        "given_name": "Testing",
        "other_name": null,
        "family_name": "Embed",
        "date_of_birth": "1980-04-11",
        "address_line_1": "10 Warleigh Road",
        "address_line_2": null,
        "address_line_3": null,
        "address_line_4": null
      },
      "select_super_fund_product": null,
      "self_managed_super_fund": {
        id: "f029034f-abd6-4e5a-8b40-ed881984608c",
        bank_account_bsb: "123456",
        bank_account_name: "John Doe",
        bank_account_number: "12345678",
        fund_abn: "12345678901",
        fund_electronic_service_address: "[email protected]",
        fund_name: "John Doe Super Fund",
        member_name: "John Doe",
        member_number: "2"
      }
    }
  },
  "kind": "onboarding_session_completed",
  "version": "v1"
}

The future of super is embedded