Welcome to Finmo's REST API guide.
Finmo's Rest API is available in the Brokerage control centre and at the Team level.
The Brokerage API is open to all available data in the brokerage, and the Team level API is solely for that Team.
Here, you will learn how to generate an authentication token, make your first request, and better understand what is possible with the API and some common scenarios you may encounter.
Overview
The REST API works at a brokerage level & team level. At the brokerage level, once you are authenticated, you can make requests to manage all teams, brokers, and deals in your brokerage. You can make requests to manage all team members and deals at the team level.
You will have complete control of the following for any teams associated with either the brokerage or Team API:
Create applications in Finmo
Invite borrowers to an application
Add assets, incomes, liabilities, properties and mortgage information
Manage your teams and any brokers on those teams
To see a list of available endpoints and the relevant request/response payloads, visit our endpoint documentation: https://finmo.readme.io/docs.
Generating a token
Brokerage and team admins can only generate API tokens. Once logged in as a brokerage admin, you can navigate to the brokerage settings integrations page, which looks like this:
Logged into your team account, a Team administrator will be able to see this:
โ
After clicking the "Generate new token" button, a modal will present the token you can copy and save. Once the modal is closed, we will no longer show the token value.
You can only generate two tokens at the brokerage and the team levels.
Authentication
We use bearer token authentication for our REST API. Once you have generated a token, you need to include that token as a header in your API requests, for example:
curl -H 'Authorization: Bearer <token>' 'https://app.finmo.ca/api/v1/applications'
Sample requests
Creating an application and inviting a borrower.
{
"teamId": "<teamId>",
"teamMembers": [
"<brokerId>"
],
"applicant": {
"firstName": "Jane",
"lastName": "Doe",
"email": "JaneDoe@finmo.ca",
"phoneNumber": "6135550117"
},
"sendInvite": true,
"sendSMS": true,
"goal": "purchase",
}
In the above request, we are passing in a field applicant which contains the required information to invite a borrower.
The teamId indicates what team the application should be created for. The teamId can be retrieved using the /api/v1/teams endpoint
The teamMembers field indicates which broker or brokers should be assigned to the deal. To retrieve a broker's id, you can grab the id field for a broker object from the response of the /api/v1/brokers endpoint
Creating an application with an existing borrower
First, you will fetch the userId of the borrower that should be invited using the GET /api/v1/teams/{teamId}/borrowers endpoint
Then you can grab the userId for the borrower in the response and include it in the request payload for creating an application, like so:
{
"teamId": "<teamId>",
"teamMembers": [
"<brokerId>"
],
"applicantId": "<borrower.userId>"
"sendInvite": true,
"sendSMS": true,
"goal": "purchase",
}