Skip to main content

Learn how to setup and use the Finmo REST API

Marnie George avatar
Written by Marnie George
Updated over a week ago

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.


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:

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.


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>' ''

Sample requests

Creating an application and inviting a borrower.

"teamId": "<teamId>",
"teamMembers": [
"applicant": {
"firstName": "Jane",
"lastName": "Doe",
"email": "",
"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": [
"applicantId": "<borrower.userId>"
"sendInvite": true,
"sendSMS": true,
"goal": "purchase",

Did this answer your question?