Welcome to Finmo's REST API guide.

Here you will learn how to generate an authentication token, make your first request, and in general get a better idea of what is possible with the API and some common scenarios that you may encounter.

Overview

The REST API works at a brokerage level. This means that once you are authenticated you can make requests to manage all teams, brokers, and deals in your brokerage.

You will have full control to do the following for any teams associated with the brokerage:

  • 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://app.finmo.ca/api/documentation/

Generating a token

API tokens can only be generated by brokerage admins. Once logged in as a brokerage admin, you can navigate to the brokerage settings integrations page, which looks like this:

After clicking the "Generate new token" button a modal will present the token which you can copy and save. Once the modal is closed we will no longer show the token value.

Authentication

We use bearer token authentication for our REST API. Once you have generated a token you simply 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.

POST /api/v1/applications

{
"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:

POST /api/v1/applications

{
"teamId": "<teamId>",
"teamMembers": [
"<brokerId>"
],
"applicantId": "<borrower.userId>"
"sendInvite": true,
"sendSMS": true,
"goal": "purchase",
}

Did this answer your question?