Contact Us

Overview

ModernFi's approach to authentication is designed to ensure the security and safety of user data and assets. Follow these steps to get up and running with the ModernFi API.

1. Obtain Client ID and Secret

To get your Client ID and Client Secret, please contact the ModernFi team. ModernFi will onboard your bank to the network and share the corresponding Client ID and Client Secret. Then, you are ready to move onto Step 2 and request an access_token!

2. Request an Access Token

With your Client ID and Client Secret, you can make requests to the ModernFi oauth2/token endpoint. The following snippet outlines how to make a cURL request to the oauth2/token endpoint:

# export client ID / secret as env var
export MODERNFI_CLIENT_ID="my-client-id"
export MODERNFI_CLIENT_SECRET="my-client-secret"
export MODERNFI_AUDIENCE="my-audience"
curl --request POST \
     --url https://auth.modernfi.com/oauth/token \
     --header 'content-type: application/json' \
     --data '{"client_id": $MODERNFI_CLIENT_ID, "client_secret": $MODERNFI_CLIENT_SECRET, "audience": $MODERNFI_AUDIENCE, "grant_type": "client_credentials"}'
import requests

# Define the client credentials and audience
client_id = "my-client-id"
client_secret = "my-client-secret"
audience = "my-audience"

# Prepare the data for the request
data = {
    "client_id": client_id,
    "client_secret": client_secret,
    "audience": audience,
    "grant_type": "client_credentials"
}

# Make the request
response = requests.post(
    "https://auth.modernfi.com/oauth/token",
    json=data,
    headers={"content-type": "application/json"}
)

The response is of the following shape:

{
  "access_token": "eyJraWQiOiI3Yll",
  "expires_in": 86400,
  "token_type": "Bearer"
}

3. Pass the Token in Your API Call Headers

To pass your user token to ModernFi APIs, add it as a header to your API calls in the following format:

Authorization: "Bearer {{your user_token here}}"

If, for example, your API token were eyJraWQiOiI3Yll, your authorization header will be:

Authorization: "Bearer eyJraWQiOiI3Yll"

Here is an example API call which properly sets the authorization header:

curl --request GET \
     --url https://api.modernfi.com/v2/digital-banking/accounts \
     --header 'accept: application/json' \
     --header 'authorization: Bearer eyJraWQiOiI3Yll' \
     --header 'content-type: application/json'
import requests

# Set the access token
access_token = "Bearer eyJraWQiOiI3Yll"

# Make the GET request
response = requests.get(
    "https://api.modernfi.com/v2/digital-banking/accounts",
    headers={
        "accept": "application/json",
        "authorization": access_token,
        "content-type": "application/json"
    }
)

Token Revocation and Expiration

Access Tokens have a TTL of 86400 seconds (24 hours). If you'd like to revoke a token prior to its expiration time, please contact the ModernFi team.