{ "x-stoplight": { "docs": { "showModels": false, "includeDownloadLink": true } }, "openapi": "3.0.0", "info": { "title": "Frollo - Management API", "description": "This document describes the Frollo Management API. This API is used for host-to-host integrations and allows third parties to create users, accounts, and transactions in the Frollo system. The API is secured by OAuth2 using the Client Credentials authorization flow. The resulting Access Token is then used to access this API.\nThe base URL ", "contact": { "email": "support@frollo.us" }, "version": "2.10" }, "servers": [ { "url": "/api/admin" } ], "security": [ { "application": [ "read", "write" ] } ], "paths": { "/financial_passport": { "get": { "tags": [ "Financial Passport" ], "summary": "Get Financial Passport", "description": "Generate and receive a User's (or Users') Financial Passport.\n", "operationId": "getFinancialPassport", "parameters": [ { "name": "user_ids", "in": "query", "description": "One or more User IDs to generate the Financial Passport for.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "description": "One or more User IDs to generate the Financial Passport for.", "required": true } }, { "name": "user_emails", "in": "query", "description": "One or more User emails to generate the Financial Passport for.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "description": "One or more User emails to generate the Financial Passport for.", "required": true } }, { "name": "advisor_email", "in": "query", "description": "The email of the Advisor access this Financial Passport.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "description": "The email of the Advisor access this Financial Passport." } }, { "name": "account_ids", "in": "query", "description": "One or more Account IDs to generate the Financial Passport for. If not proivded, this defaults to all Accounts the User has.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "description": "One or more Account IDs to generate the Financial Passport for. If not proivded, this defaults to all Accounts the User has." } }, { "name": "from_date", "in": "query", "description": "Start date of the Financial Passport. Defaults to 13 months ago.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "description": "Start date of the Financial Passport. Defaults to 13 months ago." } }, { "name": "to_date", "in": "query", "description": "End date of the Financial Passport. Defaults to today.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "description": "End date of the Financial Passport. Defaults to today." } } ], "responses": { "200": { "description": "The generated Financial Passport.", "content": { "application/json": { "schema": { "type": "object", "properties": { "created_at": { "type": "string", "format": "yyyy-MM-dd HH:mm:ss", "description": "The date and time this report was generated." }, "from_date": { "type": "string", "format": "yyyy-MM-dd", "description": "The start date of this report. Transactions before this date will not be included in the report." }, "to_date": { "type": "string", "format": "yyyy-MM-dd", "description": "The end date of this report. Transactions after this date will not be included in the report." }, "applicants": { "type": "array", "description": "A list of the applicants (Users) that make this report up.", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The ID of the applicant (User). You can retrieve the User via the Get Users API." }, "external_id": { "type": "string", "description": "The external ID of the applicant (User)." }, "accounts": { "type": "array", "description": "A list of the Accounts that make up this report for this User.", "items": { "type": "object", "properties": { "account_id": { "type": "integer", "format": "int64", "description": "The ID of the Account. You can retrieve the Account via the Get Accounts API." }, "account_name": { "type": "string", "description": "The name of the Account." }, "account_number": { "type": "string", "description": "The account number of the Account." }, "bsb": { "type": "string", "description": "The bsb of the Account." }, "consent": { "type": "object", "properties": { "consent_id": { "type": "integer", "format": "int64" }, "sharing_started_at": { "type": "string", "format": "yyyy-MM-dd", "description": "The date the sharing started for this Consent." }, "sharing_expires_at": { "type": "string", "format": "yyyy-MM-dd", "description": "The date the sharing expires for this Consent." } } } } } }, "summary": { "type": "object", "properties": { "totals": { "type": "object", "properties": { "assets": { "type": "string", "description": "The total value of assets over the report period. Note: This is a future attribute and not implemented yet." }, "liabilities": { "type": "string", "description": "The total value of liabilities over the report period. Note: This is a future attribute and not implemented yet." }, "income": { "type": "string", "description": "The total value of income over the report period. Note: This is a future attribute and not implemented yet." }, "expenses": { "type": "string", "description": "The total value of expenses over the report period." } } }, "differences": { "type": "object", "properties": { "assets_liabilities": { "type": "string", "description": "The net difference between the assets and liabilites for the reporting period. Note: This is a future attribute and not implemented yet." }, "income_expenses": { "type": "string", "description": "The net difference between the income and expenses for the reporting period. Note: This is a future attribute and not implemented yet." } } } } }, "expenses": { "type": "object", "properties": { "total": { "type": "string", "description": "The total value of expenses over the report period." }, "breakdown": { "type": "array", "items": { "type": "object", "properties": { "category": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The ID of the Transaction Category this expense breakdown belongs to." }, "name": { "type": "string", "description": "The name of the Transaction Category this expense breakdown belongs to." } } }, "number_of_transactions": { "type": "integer", "description": "The number of Transactions in this expense breakdown." }, "first_transaction_date": { "type": "string", "description": "The date of the first Transaction in this expense breakdown." }, "last_transaction_date": { "type": "string", "description": "The date of the last Transactions in this expense breakdown." }, "averages": { "type": "object", "properties": { "weekly_average": { "type": "string", "description": "The average amount spent each week on this expense breakdown." }, "monthly_average": { "type": "string", "description": "The average amount spent each month on this expense breakdown." } } }, "totals": { "type": "object", "properties": { "weekly": { "type": "string", "description": "The total amount spent in the last week of the reporting period." }, "monthly": { "type": "string", "description": "The total amount spent in the last month of the reporting period (if applicaple)." }, "90_days": { "type": "string", "description": "The total amount spent in the last 90 days of the reporting period (if applicaple)." }, "180_days": { "type": "string", "description": "The total amount spent in the last 180 of the reporting period (if applicaple)." } } }, "transaction_ids": { "type": "array", "items": { "type": "integer", "format": "int64" }, "description": "An array of all Transactions that make up this expense breakdown. These can be used to query the Get Transactions API for more details on the underlying Transactions." } } } } } } } } } } } } } } } } }, "/users": { "get": { "tags": [ "Users" ], "summary": "Get User", "description": "Query for a User in the system. Currently you can query by email.\n", "operationId": "getUsers", "parameters": [ { "name": "email", "in": "query", "description": "Email to search by", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "description": "Email to search by", "required": true } } ], "responses": { "200": { "description": "A list of Users that match the query", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external ID of this User, which will be the Auth0 ID." }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" }, "accounts": { "type": "array", "description": "optional list of accounts created if passed", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "account_name": { "type": "string" }, "account_number": { "type": "string" } } } } } } } } } } } }, "post": { "tags": [ "Users" ], "summary": "Create User", "description": "Create a User within the Frollo system. This API can also be used to create one or more Accounts at the same time. This is achieved by including the account details in the `accounts` property of the request body.\n", "operationId": "create-user", "requestBody": { "content": { "application/json": { "schema": { "required": [ "email", "external_id", "first_name" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "This is the external ID for the User, which will be their Auth0 ID." }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" }, "accounts": { "type": "array", "description": "This property can be used to create an array of Accounts at the same time the User is created. This field is not required, but can be used as a convenient way to create a User and Account(s) in the same API call.", "items": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." } } } } } } } }, "required": true }, "responses": { "201": { "description": "User successfully created", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external ID of this User, which will be the Auth0 ID." }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" }, "accounts": { "type": "array", "description": "optional list of accounts created if passed", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "account_name": { "type": "string" }, "account_number": { "type": "string" } } } } } } } } } } } }, "/users/{id}": { "put": { "tags": [ "Users" ], "summary": "Update User", "description": "Update a User in the Frollo system. This endpoint can be used to update information on that user's profile\n", "operationId": "update-user", "parameters": [ { "name": "id", "in": "path", "description": "ID of the User", "required": true, "style": "simple", "explode": false, "schema": { "type": "integer", "format": "int64", "description": "ID of the User", "required": true } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" } } } } }, "required": true }, "responses": { "200": { "description": "User successfully updated", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external ID of this User, which will be the Auth0 ID." }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" }, "accounts": { "type": "array", "description": "optional list of accounts created if passed", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "account_name": { "type": "string" }, "account_number": { "type": "string" } } } } } } } } }, "404": { "description": "Not Found" } } }, "delete": { "tags": [ "Users" ], "summary": "Delete User", "description": "Delete a User from the Frollo system. This endpoint can be used to clean up Users who are no longer using the Frollo platform. Deleting a User will also delete all Accounts and Transactions that belong to that User.\n", "operationId": "delete-user", "parameters": [ { "name": "id", "in": "path", "description": "ID of the User", "required": true, "style": "simple", "explode": false, "schema": { "type": "integer", "format": "int64", "description": "ID of the User", "required": true } } ], "responses": { "204": { "description": "Success" }, "400": { "description": "Invalid ID supplied" } } } }, "/accounts": { "post": { "tags": [ "Accounts" ], "summary": "Create Account", "description": "Create an account and associate it with one or more users. When associating users with an account roles are defined for that user to determine the level of permissions over that account. All accounts must have at least one user with the role `owner`.\r\n\r\nCurrently only the `owner` role is supported for accounts.\r\n\r\n### Adding a Single Account\r\n\r\nAdding an account for a single user can be done by adding one user with the role `owner`\r\n\r\n```json\r\n\"users\": [\r\n\t{\r\n\t\t\"user_id\": 1,\r\n\t\t\"role\": \"owner\"\r\n\t}\r\n]\r\n```\r\n\r\n### Adding a Joint Account\r\n\r\nAdding a joint account for two users can be done by adding two users, each with the role `owner`\r\n\r\n```json\r\n\"users\": [\r\n\t{\r\n\t\t\"user_id\": 1,\r\n\t\t\"role\": \"owner\"\r\n\t},\r\n\t{\r\n\t\t\"user_id\": 2,\r\n\t\t\"role\": \"owner\"\r\n\t}\r\n]\r\n```", "operationId": "create-account", "requestBody": { "description": "", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." } } }, "example": { "users": [ { "user_id": 1, "role": "owner" } ], "external_id": "ACC1234", "account_number": "123-456", "account_name": "Joe Bloggs", "container": "bank", "account_type": "bank_account", "currency": "AUD", "current_balance": "100", "available_balance": "100", "interest_rate": "1.5" } } } }, "responses": { "201": { "description": "User successfully created", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "type": "object", "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." }, "provider_name": { "type": "string", "description": "The name of the Provider that this Account belogns to.", "example": "Volt Bank" }, "account_status": { "type": "string", "enum": [ "active", "inactive", "to_be_closed", "closed" ] } } } } } } } } }, "/accounts/{id}": { "get": { "tags": [ "Accounts" ], "summary": "Get Account", "description": "Get an existing Account by it's ID in the Frollo system.", "operationId": "get-account", "parameters": [ { "name": "id", "in": "path", "description": "ID of the Account", "required": true, "style": "simple", "explode": false, "schema": { "type": "integer", "format": "int64", "description": "ID of the Account", "required": true } } ], "responses": { "200": { "description": "Account fetched", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "type": "object", "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." }, "provider_name": { "type": "string", "description": "The name of the Provider that this Account belogns to.", "example": "Volt Bank" }, "account_status": { "type": "string", "enum": [ "active", "inactive", "to_be_closed", "closed" ] } } } } } }, "404": { "description": "Not Found" } } }, "put": { "tags": [ "Accounts" ], "summary": "Update Account", "description": "Update an existing account. This API should be used to update the properties of an existing account in the system. Balances, interest rates and metadata can all be updated. Additionally user roles can be added, updated or removed.\r\n\r\nCurrently only the `owner` role is supported for accounts.\r\n\r\n### Adding a user role\r\n\r\nTo add a user with a new role on an account send a list of all users and their roles in the update.\r\n\r\nFor example to add user with ID 2 to an account owned by user 1 send the following request.\r\n\r\n```json\r\n\"users\": [\r\n\t{\r\n\t\t\"user_id\": 1,\r\n\t\t\"role\": \"owner\"\r\n\t},\r\n\t{\r\n\t\t\"user_id\": 2,\r\n\t\t\"role\": \"owner\"\r\n\t}\r\n]\r\n```\r\n\r\n### Updating a user role\r\n\r\nUpdating users roles can be done by sending all existing users associated with the account and their updated roles. \r\n\r\n⚠️ Please note that not including a user will remove their role from the account.\r\n\r\nFor example to update the existing user's role to `owner` send the following request.\r\n\r\n```json\r\n\"users\": [\r\n\t{\r\n\t\t\"user_id\": 1,\r\n\t\t\"role\": \"owner\"\r\n\t}\r\n]\r\n```\r\n\r\n### Removing a user role\r\n\r\nTo remove a user's role on an account update the account with the existing user roles except for the user who's role we are removing.\r\n\r\nFor example if users with IDs 1 and 2 currently have the role `owner` on an account and we want to remove user 1 we should send the following request.\r\n\r\n```json\r\n\"users\": [\r\n\t{\r\n\t\t\"user_id\": 2,\r\n\t\t\"role\": \"owner\"\r\n\t}\r\n]\r\n```", "operationId": "update-account", "parameters": [ { "name": "id", "in": "path", "description": "ID of the Account", "required": true, "style": "simple", "explode": false, "schema": { "type": "integer", "format": "int64", "description": "ID of the Account", "required": true } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "type": "object", "properties": { "users": { "type": "array", "description": "User access to the account will be updated to only the users specified", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "description": "The Frollo ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } } } } } }, "required": true }, "responses": { "200": { "description": "Account successfully updated", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "type": "object", "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." }, "provider_name": { "type": "string", "description": "The name of the Provider that this Account belogns to.", "example": "Volt Bank" }, "account_status": { "type": "string", "enum": [ "active", "inactive", "to_be_closed", "closed" ] } } } } } }, "404": { "description": "Not Found" } } }, "delete": { "tags": [ "Accounts" ], "summary": "Delete Account", "description": "Delete an Account. This will also delete all Transactions associated to that Account.", "operationId": "delete-account", "parameters": [ { "name": "id", "in": "path", "description": "ID of the Account", "required": true, "style": "simple", "explode": false, "schema": { "type": "integer", "format": "int64", "description": "ID of the Account", "required": true } } ], "responses": { "204": { "description": "Success" }, "400": { "description": "Invalid ID supplied" } } } }, "/transactions": { "get": { "tags": [ "Transactions" ], "summary": "List Transactions", "description": "Fetch transactions that have been created in Frollo or aggregated from 3rd parties.", "operationId": "list-transactions", "parameters": [ { "name": "from_date", "in": "query", "description": "From given date", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "2020-02-10", "description": "From given date" } }, { "name": "to_date", "in": "query", "description": "To given date", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "2020-03-10", "description": "To given date" } }, { "name": "account_ids", "in": "query", "description": "Filter transactions by Account IDs", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "2,3,4", "description": "Filter transactions by Account IDs" } }, { "name": "transaction_ids", "in": "query", "description": "Filter by specific Transaction IDs", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "2,3,4", "description": "Filter by specific Transaction IDs" } }, { "name": "accounts_included", "in": "query", "description": "Only include transactions from accounts which are `included` or `excluded`", "required": false, "style": "form", "explode": true, "schema": { "type": "boolean", "example": true, "default": false, "description": "Only include transactions from accounts which are `included` or `excluded`" } }, { "name": "transaction_included", "in": "query", "description": "Only fetch `included` or `excluded` transactions", "required": false, "style": "form", "explode": true, "schema": { "type": "boolean", "example": true, "default": false, "description": "Only fetch `included` or `excluded` transactions" } }, { "name": "after", "in": "query", "description": "Filter results after the given cursor. The API uses cursor pagination, the cursor is a combination of a date and an ID and it is provided in the response object.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "2020-02-02_20", "description": "Filter results after the given cursor. The API uses cursor pagination, the cursor is a combination of a date and an ID and it is provided in the response object." } }, { "name": "before", "in": "query", "description": "Filter results before the given cursor. The API uses cursor pagination, the cursor is a combination of a date and an ID and it is provided in the response object.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "2020-02-02_20", "description": "Filter results before the given cursor. The API uses cursor pagination, the cursor is a combination of a date and an ID and it is provided in the response object." } } ], "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "paging": { "type": "object", "properties": { "cursors": { "type": "object", "properties": { "before": { "type": "string" }, "after": { "type": "string" } } }, "previous": { "type": "string" }, "next": { "type": "string" }, "total": { "type": "string" } } }, "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string" }, "account_id": { "type": "integer", "format": "int64" }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "status": { "type": "string" }, "included": { "type": "string" }, "transaction_date": { "type": "string" }, "posted_date": { "type": "string" }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" }, "amount": { "type": "object", "properties": { "currency": { "type": "string" }, "amount": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string", "description": "The full original descrpiton of the Transaction." }, "simple": { "type": "string", "description": "A simple description of the Tranasction, if one exists." } } }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed." }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } } } } } } } }, "post": { "tags": [ "Transactions" ], "summary": "Create Transaction", "description": "Create a Transaction in the Frollo system. This Transaction is added to the Account specified in the request. Use this to load realtime transaction data into the Frollo platform.\r\n\r\nCreating an individual transaction will result in realtime enrichment but may take longer than Bulk Create Transaction API.\r\n\r\nSee also Bulk Create Transactions for creating lots of transactions at once.", "operationId": "create-transaction", "requestBody": { "content": { "application/json": { "schema": { "required": [ "account_id", "amount", "base_type", "container", "currency", "external_id", "original_description", "transaction_date", "transaction_status" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC", "enum": [ "" ] }, "account_id": { "type": "integer", "description": "The Account ID this Transaction belongs to.", "format": "int64", "default": 42, "enum": [ 1 ] }, "container": { "type": "string", "description": "The container this Transaction belongs to.", "default": "bank", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "default": "debit", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" }, "simple_description": { "type": "string", "description": "A simple description of the Tranasction, if one exists.", "default": "Savings" }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed.", "default": "2000", "enum": [ "" ] }, "category": { "type": "string", "description": "The category of the Transaction.", "default": "" }, "reference": { "type": "string", "description": "Transaction reference from the user" }, "Merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string" }, "account_id": { "type": "integer", "format": "int64" }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "status": { "type": "string" }, "included": { "type": "string" }, "transaction_date": { "type": "string" }, "posted_date": { "type": "string" }, "amount": { "type": "object", "properties": { "currency": { "type": "string" }, "amount": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string", "description": "The full original descrpiton of the Transaction." }, "simple": { "type": "string", "description": "A simple description of the Tranasction, if one exists." } } }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed." }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" } } } } } } } } }, "/transactions/{id}": { "put": { "tags": [ "Transactions" ], "summary": "Update Transaction", "description": "Update a Transaction\n", "operationId": "update-transaction", "parameters": [ { "name": "id", "in": "path", "description": "ID of the Transaction", "required": true, "style": "simple", "explode": false, "schema": { "type": "integer", "format": "int64", "description": "ID of the Transaction", "required": true } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "transaction_status": { "type": "string", "default": "posted", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "transaction_date": { "type": "string", "default": "2020-02-02T00:00:00.000Z", "enum": [ "" ] }, "original_description": { "type": "string", "default": "description" }, "posted_date": { "type": "string", "default": "2020-02-02T00:00:00.000Z", "enum": [ "" ] }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" }, "account_id": { "type": "integer" }, "container": { "type": "string" }, "base_type": { "type": "string" }, "transaction_status": { "type": "string" }, "transaction_date": { "type": "string" }, "post_date": { "type": "string" }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" }, "amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string" }, "simple": { "type": "string" } } }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } } } } }, "delete": { "tags": [ "Transactions" ], "summary": "Delete Transaction", "description": "Delete a Transaction from the Frollo system.", "operationId": "delete-transaction", "parameters": [ { "name": "id", "in": "path", "description": "ID of the Transaction", "required": true, "style": "simple", "explode": false, "schema": { "type": "integer", "format": "int64", "description": "ID of the Transaction", "required": true } } ], "responses": { "204": { "description": "Success" }, "400": { "description": "Invalid ID supplied" } } } }, "/transactions/bulk": { "post": { "tags": [ "Transactions" ], "summary": "Bulk Create Transactions", "description": "Create one or more Transactions in the Frollo system. Each transaction can be against different Accounts. This operation will either wholly succeed or fail.\r\n\r\nUsage of this API will result in asynchronous enrichment. A T_UPDATED event webhook will be fired when enrichment is complete and the enriched transactions can then be fetched.\r\n\r\nSee also Create Transaction for individual transactions.", "operationId": "bulk-create-transactions", "requestBody": { "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "account_id", "amount", "base_type", "container", "currency", "external_id", "original_description", "transaction_date", "transaction_status" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC", "enum": [ "" ] }, "account_id": { "type": "integer", "description": "The Account ID this Transaction belongs to.", "format": "int64", "default": 42, "enum": [ 1 ] }, "container": { "type": "string", "description": "The container this Transaction belongs to.", "default": "bank", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "default": "debit", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" }, "simple_description": { "type": "string", "description": "A simple description of the Tranasction, if one exists.", "default": "Savings" }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed.", "default": "2000", "enum": [ "" ] }, "reference": { "type": "string", "description": "Transaction reference from the user" }, "Merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string" }, "account_id": { "type": "integer", "format": "int64" }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "status": { "type": "string" }, "included": { "type": "string" }, "transaction_date": { "type": "string" }, "posted_date": { "type": "string" }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" }, "amount": { "type": "object", "properties": { "currency": { "type": "string" }, "amount": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string", "description": "The full original descrpiton of the Transaction." }, "simple": { "type": "string", "description": "A simple description of the Tranasction, if one exists." } } }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed." }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } } } } } }, "put": { "tags": [ "Transactions" ], "summary": "Bulk Update Transactions", "description": "Update the details of one or more Transactions to the Frollo system. Each transaction can be against different Accounts. This operation will either wholly succeed or fail.\n", "operationId": "bulk-update-transactions", "requestBody": { "content": { "application/json": { "schema": { "required": [ "transactions" ], "type": "object", "properties": { "transactions": { "type": "array", "items": { "required": [ "amount", "currency", "id", "original_description", "posted_date", "transaction_date", "transaction_status" ], "type": "object", "properties": { "id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC" }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z" }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z" }, "currency": { "type": "string", "default": "aud" }, "amount": { "type": "string", "default": "1000" }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" } } } } } } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "required": [ "transactions" ], "type": "object", "properties": { "transactions": { "type": "array", "items": { "required": [ "amount", "currency", "id", "original_description", "posted_date", "transaction_date", "transaction_status" ], "type": "object", "properties": { "id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC" }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z" }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z" }, "currency": { "type": "string", "default": "aud" }, "amount": { "type": "string", "default": "1000" }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" } } } } } } } } } } }, "delete": { "tags": [ "Transactions" ], "summary": "Bulk Delete Transactions", "description": "Delete an array of Transactions in a single request. A list of Transaction IDs must be sent in the body of this request\n", "operationId": "bulk-delete-transactions", "parameters": [ { "name": "transaction_ids", "in": "query", "description": "IDs of the Transactions", "required": true, "style": "form", "explode": false, "schema": { "type": "integer", "format": "int64", "description": "IDs of the Transactions", "required": true } } ], "responses": { "204": { "description": "Successful operation" } } } } }, "components": { "schemas": { "AffordabilityReport": { "type": "object", "properties": { "created_at": { "type": "string", "format": "yyyy-MM-dd HH:mm:ss", "description": "The date and time this report was generated." }, "from_date": { "type": "string", "format": "yyyy-MM-dd", "description": "The start date of this report. Transactions before this date will not be included in the report." }, "to_date": { "type": "string", "format": "yyyy-MM-dd", "description": "The end date of this report. Transactions after this date will not be included in the report." }, "applicants": { "type": "array", "description": "A list of the applicants (Users) that make this report up.", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The ID of the applicant (User). You can retrieve the User via the Get Users API." }, "external_id": { "type": "string", "description": "The external ID of the applicant (User)." }, "accounts": { "type": "array", "description": "A list of the Accounts that make up this report for this User.", "items": { "type": "object", "properties": { "account_id": { "type": "integer", "format": "int64", "description": "The ID of the Account. You can retrieve the Account via the Get Accounts API." }, "account_name": { "type": "string", "description": "The name of the Account." }, "account_number": { "type": "string", "description": "The account number of the Account." }, "bsb": { "type": "string", "description": "The bsb of the Account." }, "consent": { "type": "object", "properties": { "consent_id": { "type": "integer", "format": "int64" }, "sharing_started_at": { "type": "string", "format": "yyyy-MM-dd", "description": "The date the sharing started for this Consent." }, "sharing_expires_at": { "type": "string", "format": "yyyy-MM-dd", "description": "The date the sharing expires for this Consent." } } } } } }, "summary": { "type": "object", "properties": { "totals": { "type": "object", "properties": { "assets": { "type": "string", "description": "The total value of assets over the report period. Note: This is a future attribute and not implemented yet." }, "liabilities": { "type": "string", "description": "The total value of liabilities over the report period. Note: This is a future attribute and not implemented yet." }, "income": { "type": "string", "description": "The total value of income over the report period. Note: This is a future attribute and not implemented yet." }, "expenses": { "type": "string", "description": "The total value of expenses over the report period." } } }, "differences": { "type": "object", "properties": { "assets_liabilities": { "type": "string", "description": "The net difference between the assets and liabilites for the reporting period. Note: This is a future attribute and not implemented yet." }, "income_expenses": { "type": "string", "description": "The net difference between the income and expenses for the reporting period. Note: This is a future attribute and not implemented yet." } } } } }, "expenses": { "type": "object", "properties": { "total": { "type": "string", "description": "The total value of expenses over the report period." }, "breakdown": { "type": "array", "items": { "type": "object", "properties": { "category": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The ID of the Transaction Category this expense breakdown belongs to." }, "name": { "type": "string", "description": "The name of the Transaction Category this expense breakdown belongs to." } } }, "number_of_transactions": { "type": "integer", "description": "The number of Transactions in this expense breakdown." }, "first_transaction_date": { "type": "string", "description": "The date of the first Transaction in this expense breakdown." }, "last_transaction_date": { "type": "string", "description": "The date of the last Transactions in this expense breakdown." }, "averages": { "type": "object", "properties": { "weekly_average": { "type": "string", "description": "The average amount spent each week on this expense breakdown." }, "monthly_average": { "type": "string", "description": "The average amount spent each month on this expense breakdown." } } }, "totals": { "type": "object", "properties": { "weekly": { "type": "string", "description": "The total amount spent in the last week of the reporting period." }, "monthly": { "type": "string", "description": "The total amount spent in the last month of the reporting period (if applicaple)." }, "90_days": { "type": "string", "description": "The total amount spent in the last 90 days of the reporting period (if applicaple)." }, "180_days": { "type": "string", "description": "The total amount spent in the last 180 of the reporting period (if applicaple)." } } }, "transaction_ids": { "type": "array", "items": { "type": "integer", "format": "int64" }, "description": "An array of all Transactions that make up this expense breakdown. These can be used to query the Get Transactions API for more details on the underlying Transactions." } } } } } } } } } } }, "AffordabilityApplicant": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The ID of the applicant (User). You can retrieve the User via the Get Users API." }, "external_id": { "type": "string", "description": "The external ID of the applicant (User)." }, "accounts": { "type": "array", "description": "A list of the Accounts that make up this report for this User.", "items": { "type": "object", "properties": { "account_id": { "type": "integer", "format": "int64", "description": "The ID of the Account. You can retrieve the Account via the Get Accounts API." }, "account_name": { "type": "string", "description": "The name of the Account." }, "account_number": { "type": "string", "description": "The account number of the Account." }, "bsb": { "type": "string", "description": "The bsb of the Account." }, "consent": { "type": "object", "properties": { "consent_id": { "type": "integer", "format": "int64" }, "sharing_started_at": { "type": "string", "format": "yyyy-MM-dd", "description": "The date the sharing started for this Consent." }, "sharing_expires_at": { "type": "string", "format": "yyyy-MM-dd", "description": "The date the sharing expires for this Consent." } } } } } }, "summary": { "type": "object", "properties": { "totals": { "type": "object", "properties": { "assets": { "type": "string", "description": "The total value of assets over the report period. Note: This is a future attribute and not implemented yet." }, "liabilities": { "type": "string", "description": "The total value of liabilities over the report period. Note: This is a future attribute and not implemented yet." }, "income": { "type": "string", "description": "The total value of income over the report period. Note: This is a future attribute and not implemented yet." }, "expenses": { "type": "string", "description": "The total value of expenses over the report period." } } }, "differences": { "type": "object", "properties": { "assets_liabilities": { "type": "string", "description": "The net difference between the assets and liabilites for the reporting period. Note: This is a future attribute and not implemented yet." }, "income_expenses": { "type": "string", "description": "The net difference between the income and expenses for the reporting period. Note: This is a future attribute and not implemented yet." } } } } }, "expenses": { "type": "object", "properties": { "total": { "type": "string", "description": "The total value of expenses over the report period." }, "breakdown": { "type": "array", "items": { "type": "object", "properties": { "category": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The ID of the Transaction Category this expense breakdown belongs to." }, "name": { "type": "string", "description": "The name of the Transaction Category this expense breakdown belongs to." } } }, "number_of_transactions": { "type": "integer", "description": "The number of Transactions in this expense breakdown." }, "first_transaction_date": { "type": "string", "description": "The date of the first Transaction in this expense breakdown." }, "last_transaction_date": { "type": "string", "description": "The date of the last Transactions in this expense breakdown." }, "averages": { "type": "object", "properties": { "weekly_average": { "type": "string", "description": "The average amount spent each week on this expense breakdown." }, "monthly_average": { "type": "string", "description": "The average amount spent each month on this expense breakdown." } } }, "totals": { "type": "object", "properties": { "weekly": { "type": "string", "description": "The total amount spent in the last week of the reporting period." }, "monthly": { "type": "string", "description": "The total amount spent in the last month of the reporting period (if applicaple)." }, "90_days": { "type": "string", "description": "The total amount spent in the last 90 days of the reporting period (if applicaple)." }, "180_days": { "type": "string", "description": "The total amount spent in the last 180 of the reporting period (if applicaple)." } } }, "transaction_ids": { "type": "array", "items": { "type": "integer", "format": "int64" }, "description": "An array of all Transactions that make up this expense breakdown. These can be used to query the Get Transactions API for more details on the underlying Transactions." } } } } } } } }, "AffordabilityApplicantAccount": { "type": "object", "properties": { "account_id": { "type": "integer", "format": "int64", "description": "The ID of the Account. You can retrieve the Account via the Get Accounts API." }, "account_name": { "type": "string", "description": "The name of the Account." }, "account_number": { "type": "string", "description": "The account number of the Account." }, "bsb": { "type": "string", "description": "The bsb of the Account." }, "consent": { "type": "object", "properties": { "consent_id": { "type": "integer", "format": "int64" }, "sharing_started_at": { "type": "string", "format": "yyyy-MM-dd", "description": "The date the sharing started for this Consent." }, "sharing_expires_at": { "type": "string", "format": "yyyy-MM-dd", "description": "The date the sharing expires for this Consent." } } } } }, "AffordabilityApplicantSummary": { "type": "object", "properties": { "totals": { "type": "object", "properties": { "assets": { "type": "string", "description": "The total value of assets over the report period. Note: This is a future attribute and not implemented yet." }, "liabilities": { "type": "string", "description": "The total value of liabilities over the report period. Note: This is a future attribute and not implemented yet." }, "income": { "type": "string", "description": "The total value of income over the report period. Note: This is a future attribute and not implemented yet." }, "expenses": { "type": "string", "description": "The total value of expenses over the report period." } } }, "differences": { "type": "object", "properties": { "assets_liabilities": { "type": "string", "description": "The net difference between the assets and liabilites for the reporting period. Note: This is a future attribute and not implemented yet." }, "income_expenses": { "type": "string", "description": "The net difference between the income and expenses for the reporting period. Note: This is a future attribute and not implemented yet." } } } } }, "AffordabilityApplicantExpenses": { "type": "object", "properties": { "total": { "type": "string", "description": "The total value of expenses over the report period." }, "breakdown": { "type": "array", "items": { "type": "object", "properties": { "category": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The ID of the Transaction Category this expense breakdown belongs to." }, "name": { "type": "string", "description": "The name of the Transaction Category this expense breakdown belongs to." } } }, "number_of_transactions": { "type": "integer", "description": "The number of Transactions in this expense breakdown." }, "first_transaction_date": { "type": "string", "description": "The date of the first Transaction in this expense breakdown." }, "last_transaction_date": { "type": "string", "description": "The date of the last Transactions in this expense breakdown." }, "averages": { "type": "object", "properties": { "weekly_average": { "type": "string", "description": "The average amount spent each week on this expense breakdown." }, "monthly_average": { "type": "string", "description": "The average amount spent each month on this expense breakdown." } } }, "totals": { "type": "object", "properties": { "weekly": { "type": "string", "description": "The total amount spent in the last week of the reporting period." }, "monthly": { "type": "string", "description": "The total amount spent in the last month of the reporting period (if applicaple)." }, "90_days": { "type": "string", "description": "The total amount spent in the last 90 days of the reporting period (if applicaple)." }, "180_days": { "type": "string", "description": "The total amount spent in the last 180 of the reporting period (if applicaple)." } } }, "transaction_ids": { "type": "array", "items": { "type": "integer", "format": "int64" }, "description": "An array of all Transactions that make up this expense breakdown. These can be used to query the Get Transactions API for more details on the underlying Transactions." } } } } } }, "User": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external ID of this User, which will be the Auth0 ID." }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" }, "accounts": { "type": "array", "description": "optional list of accounts created if passed", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "account_name": { "type": "string" }, "account_number": { "type": "string" } } } } } }, "UserAddress": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "Users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external ID of this User, which will be the Auth0 ID." }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" }, "accounts": { "type": "array", "description": "optional list of accounts created if passed", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "account_name": { "type": "string" }, "account_number": { "type": "string" } } } } } } }, "AccountSummary": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "account_name": { "type": "string" }, "account_number": { "type": "string" } } }, "AccountCore": { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } }, "Account": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "type": "object", "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." }, "provider_name": { "type": "string", "description": "The name of the Provider that this Account belogns to.", "example": "Volt Bank" }, "account_status": { "type": "string", "enum": [ "active", "inactive", "to_be_closed", "closed" ] } } }, "AccountPost": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." } } }, "AccountPut": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "type": "object", "properties": { "users": { "type": "array", "description": "User access to the account will be updated to only the users specified", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "description": "The Frollo ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } } } }, "UserAndAccountPost": { "required": [ "email", "external_id", "first_name" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "This is the external ID for the User, which will be their Auth0 ID." }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" }, "accounts": { "type": "array", "description": "This property can be used to create an array of Accounts at the same time the User is created. This field is not required, but can be used as a convenient way to create a User and Account(s) in the same API call.", "items": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." } } } } } }, "TransactionSingle": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string" }, "account_id": { "type": "integer", "format": "int64" }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "status": { "type": "string" }, "included": { "type": "string" }, "transaction_date": { "type": "string" }, "posted_date": { "type": "string" }, "amount": { "type": "object", "properties": { "currency": { "type": "string" }, "amount": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string", "description": "The full original descrpiton of the Transaction." }, "simple": { "type": "string", "description": "A simple description of the Tranasction, if one exists." } } }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed." }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" } } }, "Transaction": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string" }, "account_id": { "type": "integer", "format": "int64" }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "status": { "type": "string" }, "included": { "type": "string" }, "transaction_date": { "type": "string" }, "posted_date": { "type": "string" }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" }, "amount": { "type": "object", "properties": { "currency": { "type": "string" }, "amount": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string", "description": "The full original descrpiton of the Transaction." }, "simple": { "type": "string", "description": "A simple description of the Tranasction, if one exists." } } }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed." }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } }, "TransactionPaginatedList": { "type": "object", "properties": { "paging": { "type": "object", "properties": { "cursors": { "type": "object", "properties": { "before": { "type": "string" }, "after": { "type": "string" } } }, "previous": { "type": "string" }, "next": { "type": "string" }, "total": { "type": "string" } } }, "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string" }, "account_id": { "type": "integer", "format": "int64" }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "status": { "type": "string" }, "included": { "type": "string" }, "transaction_date": { "type": "string" }, "posted_date": { "type": "string" }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" }, "amount": { "type": "object", "properties": { "currency": { "type": "string" }, "amount": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string", "description": "The full original descrpiton of the Transaction." }, "simple": { "type": "string", "description": "A simple description of the Tranasction, if one exists." } } }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed." }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } } }, "TransactionSingleUpdateResponse": { "type": "object", "properties": { "id": { "type": "integer" }, "account_id": { "type": "integer" }, "container": { "type": "string" }, "base_type": { "type": "string" }, "transaction_status": { "type": "string" }, "transaction_date": { "type": "string" }, "post_date": { "type": "string" }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" }, "amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string" }, "simple": { "type": "string" } } }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } }, "TransactionSingleUpdateBody": { "type": "object", "properties": { "transaction_status": { "type": "string", "default": "posted", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "transaction_date": { "type": "string", "default": "2020-02-02T00:00:00.000Z", "enum": [ "" ] }, "original_description": { "type": "string", "default": "description" }, "posted_date": { "type": "string", "default": "2020-02-02T00:00:00.000Z", "enum": [ "" ] }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } }, "TransactionUpdate": { "required": [ "amount", "currency", "id", "original_description", "posted_date", "transaction_date", "transaction_status" ], "type": "object", "properties": { "id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC" }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z" }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z" }, "currency": { "type": "string", "default": "aud" }, "amount": { "type": "string", "default": "1000" }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" } } }, "TransactionPostSingle": { "required": [ "account_id", "amount", "base_type", "container", "currency", "external_id", "original_description", "transaction_date", "transaction_status" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC", "enum": [ "" ] }, "account_id": { "type": "integer", "description": "The Account ID this Transaction belongs to.", "format": "int64", "default": 42, "enum": [ 1 ] }, "container": { "type": "string", "description": "The container this Transaction belongs to.", "default": "bank", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "default": "debit", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" }, "simple_description": { "type": "string", "description": "A simple description of the Tranasction, if one exists.", "default": "Savings" }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed.", "default": "2000", "enum": [ "" ] }, "category": { "type": "string", "description": "The category of the Transaction.", "default": "" }, "reference": { "type": "string", "description": "Transaction reference from the user" }, "Merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } }, "TransactionPost": { "required": [ "account_id", "amount", "base_type", "container", "currency", "external_id", "original_description", "transaction_date", "transaction_status" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC", "enum": [ "" ] }, "account_id": { "type": "integer", "description": "The Account ID this Transaction belongs to.", "format": "int64", "default": 42, "enum": [ 1 ] }, "container": { "type": "string", "description": "The container this Transaction belongs to.", "default": "bank", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "default": "debit", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" }, "simple_description": { "type": "string", "description": "A simple description of the Tranasction, if one exists.", "default": "Savings" }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed.", "default": "2000", "enum": [ "" ] }, "reference": { "type": "string", "description": "Transaction reference from the user" }, "Merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } }, "TransactionDelete": { "type": "integer" }, "TransactionBulk": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "external_id": { "type": "string" }, "account_id": { "type": "integer", "format": "int64" }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "status": { "type": "string" }, "included": { "type": "string" }, "transaction_date": { "type": "string" }, "posted_date": { "type": "string" }, "category_name": { "type": "string" }, "category_image_url": { "type": "string" }, "merchant_name": { "type": "string" }, "merchant_image_url": { "type": "string" }, "amount": { "type": "object", "properties": { "currency": { "type": "string" }, "amount": { "type": "string" } } }, "description": { "type": "object", "properties": { "original": { "type": "string", "description": "The full original descrpiton of the Transaction." }, "simple": { "type": "string", "description": "A simple description of the Tranasction, if one exists." } } }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed." }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } }, "TransactionBulkPost": { "type": "array", "items": { "required": [ "account_id", "amount", "base_type", "container", "currency", "external_id", "original_description", "transaction_date", "transaction_status" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC", "enum": [ "" ] }, "account_id": { "type": "integer", "description": "The Account ID this Transaction belongs to.", "format": "int64", "default": 42, "enum": [ 1 ] }, "container": { "type": "string", "description": "The container this Transaction belongs to.", "default": "bank", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "default": "debit", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" }, "simple_description": { "type": "string", "description": "A simple description of the Tranasction, if one exists.", "default": "Savings" }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed.", "default": "2000", "enum": [ "" ] }, "reference": { "type": "string", "description": "Transaction reference from the user" }, "Merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } }, "TransactionBulkUpdate": { "required": [ "transactions" ], "type": "object", "properties": { "transactions": { "type": "array", "items": { "required": [ "amount", "currency", "id", "original_description", "posted_date", "transaction_date", "transaction_status" ], "type": "object", "properties": { "id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC" }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z" }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z" }, "currency": { "type": "string", "default": "aud" }, "amount": { "type": "string", "default": "1000" }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" } } } } } }, "TransactionBulkDelete": { "type": "array", "items": { "type": "integer" } }, "TransactionSingle_amount": { "type": "object", "properties": { "currency": { "type": "string" }, "amount": { "type": "string" } } }, "TransactionSingle_description": { "type": "object", "properties": { "original": { "type": "string", "description": "The full original descrpiton of the Transaction." }, "simple": { "type": "string", "description": "A simple description of the Tranasction, if one exists." } } }, "TransactionPaginatedList_paging_cursors": { "type": "object", "properties": { "before": { "type": "string" }, "after": { "type": "string" } } }, "TransactionPaginatedList_paging": { "type": "object", "properties": { "cursors": { "type": "object", "properties": { "before": { "type": "string" }, "after": { "type": "string" } } }, "previous": { "type": "string" }, "next": { "type": "string" }, "total": { "type": "string" } } }, "TransactionSingleUpdateResponse_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "TransactionSingleUpdateResponse_description": { "type": "object", "properties": { "original": { "type": "string" }, "simple": { "type": "string" } } }, "TransactionType": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } }, "requestBodies": { "UserPost": { "content": { "application/json": { "schema": { "required": [ "email", "external_id", "first_name" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "This is the external ID for the User, which will be their Auth0 ID." }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" }, "accounts": { "type": "array", "description": "This property can be used to create an array of Accounts at the same time the User is created. This field is not required, but can be used as a convenient way to create a User and Account(s) in the same API call.", "items": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." } } } } } } } }, "required": true }, "UserPut": { "content": { "application/json": { "schema": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "mobile_number": { "type": "string" }, "primary_currency": { "type": "string", "description": "Defaults to \"AUD\"" }, "gender": { "type": "string", "enum": [ "male", "female", "other" ] }, "date_of_birth": { "type": "string", "format": "yyyy-MM-dd" }, "current_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "previous_address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "suburb": { "type": "string" }, "state": { "type": "string" }, "postcode": { "type": "string" } } }, "marital_status": { "type": "string", "enum": [ "single", "single_parent", "couple", "couple_with_kids" ] }, "household_size": { "type": "integer" } } } } }, "required": true }, "AccountPost": { "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "required": [ "users", "account_type", "container", "current_balance", "external_id" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external reference of this Account object. This can be any string identifier of your choosing (it doesn't have to be the Account Number)." } } } } }, "required": true }, "AccountPut": { "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The users array is not required when creating an account via the Create User API", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "format": "int64", "description": "Internal ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } }, "account_name": { "type": "string", "description": "The name of the account. This could be a user defined name or product description." }, "account_number": { "type": "string", "description": "The account number as used for payments and identification within an institution." }, "container": { "type": "string", "description": "The container this Account belongs to.", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "account_type": { "type": "string", "description": "The type of Account.", "enum": [ "bank_account", "savings", "emergency_fund", "term_deposit", "offset", "credit_card", "balance_transfer_card", "rewards_card", "super_annuation", "shares", "business", "bonds", "mortgage", "personal", "insurance", "line_of_credit" ] }, "current_balance": { "type": "object", "description": "The current balance of the account", "properties": { "amount": { "type": "string" }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" } } }, "available_balance": { "type": "object", "description": "The available balance of the account. This is the amount available to withdraw if a cash account or the amount available to spend for other account types.", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_rate": { "type": "string", "description": "The interest rate the balance accrues at. On a savings account this will be the savings interest rate. On a loan or credit card this will be the interest rate on that line of credit." }, "currency": { "type": "string", "description": "The currency of the Account. Defaults to `AUD`" }, "product_id": { "type": "integer" }, "available_cash": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "available_credit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_cash_limit": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "total_credit_line": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "due_date": { "type": "string" }, "amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "minimum_amount_due": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "interest_total": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "apr": { "type": "string" }, "last_payment_amount": { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } } }, "last_payment_date": { "type": "string" }, "bsb": { "type": "string" } } } ], "type": "object", "properties": { "users": { "type": "array", "description": "User access to the account will be updated to only the users specified", "items": { "type": "object", "required": [ "user_id", "role" ], "properties": { "user_id": { "type": "integer", "description": "The Frollo ID for the user", "minimum": 1 }, "role": { "type": "string", "description": "Level of access that the user has to the account data", "enum": [ "owner" ] } } } } } } } }, "required": true }, "TransactionPost": { "content": { "application/json": { "schema": { "required": [ "account_id", "amount", "base_type", "container", "currency", "external_id", "original_description", "transaction_date", "transaction_status" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC", "enum": [ "" ] }, "account_id": { "type": "integer", "description": "The Account ID this Transaction belongs to.", "format": "int64", "default": 42, "enum": [ 1 ] }, "container": { "type": "string", "description": "The container this Transaction belongs to.", "default": "bank", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "default": "debit", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" }, "simple_description": { "type": "string", "description": "A simple description of the Tranasction, if one exists.", "default": "Savings" }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed.", "default": "2000", "enum": [ "" ] }, "category": { "type": "string", "description": "The category of the Transaction.", "default": "" }, "reference": { "type": "string", "description": "Transaction reference from the user" }, "Merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } }, "required": true }, "TransactionBulkPost": { "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "account_id", "amount", "base_type", "container", "currency", "external_id", "original_description", "transaction_date", "transaction_status" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC", "enum": [ "" ] }, "account_id": { "type": "integer", "description": "The Account ID this Transaction belongs to.", "format": "int64", "default": 42, "enum": [ 1 ] }, "container": { "type": "string", "description": "The container this Transaction belongs to.", "default": "bank", "enum": [ "bank", "credit_card", "investment", "loan" ] }, "base_type": { "type": "string", "default": "debit", "enum": [ "credit", "debit" ] }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" }, "simple_description": { "type": "string", "description": "A simple description of the Tranasction, if one exists.", "default": "Savings" }, "running_balance": { "type": "string", "description": "Indicates the balance of the account after this transaction has completed.", "default": "2000", "enum": [ "" ] }, "reference": { "type": "string", "description": "Transaction reference from the user" }, "Merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } } }, "required": true }, "TransactionSingleUpdateBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "transaction_status": { "type": "string", "default": "posted", "enum": [ "" ] }, "currency": { "type": "string", "default": "aud", "enum": [ "" ] }, "amount": { "type": "string", "default": "1000", "enum": [ "" ] }, "transaction_date": { "type": "string", "default": "2020-02-02T00:00:00.000Z", "enum": [ "" ] }, "original_description": { "type": "string", "default": "description" }, "posted_date": { "type": "string", "default": "2020-02-02T00:00:00.000Z", "enum": [ "" ] }, "merchant": { "type": "object", "properties": { "category_code": { "type": "integer", "format": "int64", "description": "MCC" }, "country_code": { "type": "string", "description": "2 char or 3 char e.g. AUS" }, "name": { "type": "string", "description": "Merchant name if available" }, "mid": { "type": "integer", "format": "int64", "description": "Merchant ID" }, "tid": { "type": "integer", "format": "int64", "description": "Terminal ID" } } }, "cal": { "type": "string", "description": "Card Acceptor / Locator", "default": "COLES 0370 ROCKINGHAM WA" }, "biller": { "type": "object", "properties": { "code": { "type": "string", "example": "BPAY code" }, "name": { "type": "string", "example": "BPAY Biller name" }, "crn": { "type": "string", "example": "Customer Reference Number" }, "apca_number": { "type": "string", "example": "Sender APCA Number" } } }, "payee": { "type": "string", "items": { "type": "string" }, "description": "Receiver of funds" }, "payer": { "type": "string", "items": { "type": "string" }, "description": "Sender of funds" }, "type": { "type": "string", "description": "The type of transaction based on CDR types.\r\n\r\n* `direct_debit` - Direct Debit payment\r\n* `fee` - Fee charged\r\n* `interest_charged` - Interest charged \r\n* `interest_paid` - Interest paid\r\n* `payment` - Payment\r\n* `transfer_outgoing` - Outgoing transfer\r\n* `transfer_incoming` - Incoming transfer\r\n* `other` - Other", "enum": [ "direct_debit", "fee", "interest_charged", "interest_paid", "payment", "transfer_outgoing", "transfer_incoming", "other" ] } } } } }, "required": true }, "TransactionUpdate": { "content": { "application/json": { "schema": { "required": [ "amount", "currency", "id", "original_description", "posted_date", "transaction_date", "transaction_status" ], "type": "object", "properties": { "id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC" }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z" }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z" }, "currency": { "type": "string", "default": "aud" }, "amount": { "type": "string", "default": "1000" }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" } } } } }, "required": true }, "TransactionBulkUpdate": { "content": { "application/json": { "schema": { "required": [ "transactions" ], "type": "object", "properties": { "transactions": { "type": "array", "items": { "required": [ "amount", "currency", "id", "original_description", "posted_date", "transaction_date", "transaction_status" ], "type": "object", "properties": { "id": { "type": "string", "description": "The external ID of this transaction. Must be unique.", "default": "TXN00001ABC" }, "transaction_status": { "type": "string", "default": "posted", "enum": [ "posted", "pending", "scheduled", "unknown", "unauthorised" ] }, "transaction_date": { "type": "string", "default": "2020-01-01T00:00:00.000Z" }, "posted_date": { "type": "string", "description": "The date the transaction was posted.", "default": "2020-01-01T00:00:00.000Z" }, "currency": { "type": "string", "default": "aud" }, "amount": { "type": "string", "default": "1000" }, "original_description": { "type": "string", "description": "The full original descrpiton of the Transaction.", "default": "Transfer to savings January" } } } } } } } }, "required": true }, "TransactionBulkDelete": { "content": { "application/json": { "schema": { "type": "array", "items": { "type": "integer" } } } }, "required": true } }, "securitySchemes": { "application": { "type": "oauth2", "flows": { "clientCredentials": { "tokenUrl": "/oauth/token", "scopes": { "write": "allows modifying resources", "read": "allows reading resources" } } } } } } }