Introduction
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include a X-Authorization
header with the value "{YOUR_AUTH_KEY}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
You can retrieve your token by visiting your your profile in MonitorBase.com and clicking the icon next to API Key on the bottom left.
Optouts
Create Email Optout
requires authentication
End point to create an email optout within MonitorBase. An, optional header of X-offload = 1 is an option this will offload the prospect for creation and return a response faster.
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/optout/email/create" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"optouts\": [
\"test@example.com\",
\"test2@example.com\"
]
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/optout/email/create"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"optouts": [
"test@example.com",
"test2@example.com"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/optout/email/create';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'optouts' => [
'test@example.com',
'test2@example.com',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/optout/email/create'
payload = {
"optouts": [
"test@example.com",
"test2@example.com"
]
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, optouts offloaded for processing):
{
"status": "success",
"message": "## emails opted out"
}
Example response (200, optouts saved in current call. Response in order of array sent.):
{
{
"status": "success",
"message": "Email Optout Saved"
}
}
Example response (400, optouts array missing):
{
"status": "failed",
"message": "Emails array not set"
}
Example response (403, user not authorized):
{
"error": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Address Optout
requires authentication
End point to create an address optout within MonitorBase. An, optional header of X-offload = 1 is an option this will offload the prospect for creation and return a response faster.
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/optout/address/create" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"optouts\": [
{
\"address\": \"123 Fake Street\",
\"city\": \"Salt Lake City\",
\"state\": \"XX\",
\"zip\": \"84106\",
\"type\": 1
}
]
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/optout/address/create"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"optouts": [
{
"address": "123 Fake Street",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"type": 1
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/optout/address/create';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'optouts' => [
[
'address' => '123 Fake Street',
'city' => 'Salt Lake City',
'state' => 'XX',
'zip' => '84106',
'type' => 1,
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/optout/address/create'
payload = {
"optouts": [
{
"address": "123 Fake Street",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"type": 1
}
]
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, optouts offloaded for processing):
{
"status": "success",
"message": "## addresses opted out"
}
Example response (200, optouts saved in current call. Response in order of array sent. Possible errors: addressErrors, zipErrors, missingType, invalidType):
{
{
"status": "error",
"message": "Missing Address"
},
{
"status": "error",
"message": "Missing Zip Code"
},
{
"status": "error",
"message": "Missing Opt Out Type"
},
{
"status": "error",
"message": "Invalid Opt Out Type"
},
{
"status": "success",
"message": "Optout Saved"
}
}
Example response (400, optouts array missing):
{
"status": "failed",
"message": "Optouts array not set"
}
Example response (403, user not authorized):
{
"error": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Prospects
Show prospects
requires authentication
View all prospects
Example request:
curl --request GET \
--get "https://api.monitorbase.com/api/v1/prospect/get" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api.monitorbase.com/api/v1/prospect/get"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/prospect/get';
$response = $client->get(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/prospect/get'
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id":16,
"alt_id":"",
"user":{
"username":"loanofficer",
"email":"loanofficer@example.com",
"first_name":"Loan",
"last_name":"Officer",
"mobile":"(801) 555-1234",
"NMLS":1234,
"active":1
},
"first_name":"",
"last_name":"",
"middle_name":"",
"email":"",
"gen_code":"",
"addresses": [
{
"address": "123 FAKE ST1632770489",
"city": "SALT LAKE CITY",
"zip": "84106",
"state": "UT",
"address_type": "Primary Residence",
"property_type": "Unknown"
}
],
"custom_1":"",
"custom_2":"",
"custom_3":"",
"custom_4":"",
"custom_5":"",
"created_at":"2021-09-27T19:15:53.000000Z",
"updated_at":"2021-10-13T21:05:20.000000Z",
"tags":[],
"phones": [
"home":"(801) 555-1234",
"cell":"(801) 555-1234",
"work":"(801) 555-1234"
]
},
{
"id":17,
"alt_id":"",
"user":
{
"username":"loanofficer",
"email":"loanofficer@example.com",
"first_name":"Loan",
"last_name":"Officer",
"mobile":"(801) 555-1234",
"NMLS":1234,
"active":1
},
"first_name":"",
"last_name":"",
"middle_name":"",
"email":"",
"gen_code":"",
"addresses":[
{
"address": "123 FAKE ST1632770489",
"city": "SALT LAKE CITY",
"zip": "84106",
"state": "UT",
"address_type": "Primary Residence",
"property_type": "Unknown"
}
],
"custom_1":"",
"custom_2":"",
"custom_3":"",
"custom_4":"",
"custom_5":"",
"created_at":"2021-09-27T19:15:53.000000Z",
"updated_at":"2021-10-13T21:05:17.000000Z",
"tags":[],
"phones": [
"home":"(801) 555-1234",
"cell":"(801) 555-1234",
"work":"(801) 555-1234"
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show paged prospects
requires authentication
Use the next/prev links provided in the data to get the next batch of data
Example request:
curl --request GET \
--get "https://api.monitorbase.com/api/v1/prospect/paged?per_page=6" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api.monitorbase.com/api/v1/prospect/paged"
);
const params = {
"per_page": "6",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/prospect/paged';
$response = $client->get(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'per_page' => '6',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/prospect/paged'
params = {
'per_page': '6',
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": 1234,
"alt_id": "CRMID",
"user": {
"username": "user",
"email": "user@monitorbase.com",
"first_name": "Example",
"last_name": "User",
"mobile": "(801) 555-1234",
"NMLS": 1234,
"active": 1
},
"first_name": "Consumer",
"last_name": "Example",
"middle_name": "D",
"email": "consumer@example.com",
"gen_code": "",
"addresses": [
{
"address": "123 FAKE ST1632770489",
"city": "SALT LAKE CITY",
"zip": "84106",
"state": "UT",
"address_type": "Primary Residence",
"property_type": "Unknown"
}
],
"custom_1": "",
"custom_2": "",
"custom_3": "",
"custom_4": "",
"custom_5": "",
"created_at": "2021-09-27T19:21:29.000000Z",
"updated_at": "2021-10-13T21:03:48.000000Z",
"tags": [],
"phones": [
"home":"(801) 555-1234",
"cell":"(801) 555-1234",
"work":"(801) 555-1234"
]
}
],
"links": {
"first": null,
"last": null,
"prev": null,
"next": "https://api.monitorbase.com/api/v1/prospect/paged?cursor=eyJwcm9zcGVjdHMuaWQiOjE0LCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9"
},
"meta": {
"path": "https://api.monitorbase.com/api/v1/prospect/paged",
"per_page": "15"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
View a prospect
requires authentication
Example request:
curl --request GET \
--get "https://api.monitorbase.com/api/v1/prospect/show/sapiente" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api.monitorbase.com/api/v1/prospect/show/sapiente"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/prospect/show/sapiente';
$response = $client->get(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/prospect/show/sapiente'
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": 1234,
"alt_id": "CRMID",
"user": {
"username": "user",
"email": "user@monitorbase.com",
"first_name": "Example",
"last_name": "User",
"mobile": "(801) 555-1234",
"NMLS": 1234,
"active": 1
},
"first_name": "Consumer",
"last_name": "Example",
"middle_name": "D",
"email": "consumer@example.com",
"gen_code": "",
"addresses": [
{
"address": "123 FAKE ST1632770489",
"city": "SALT LAKE CITY",
"zip": "84106",
"state": "UT",
"address_type": "Primary Residence",
"property_type": "Unknown"
}
],
"custom_1": "",
"custom_2": "",
"custom_3": "",
"custom_4": "",
"custom_5": "",
"created_at": "2021-09-27T19:21:29.000000Z",
"updated_at": "2021-10-13T21:03:48.000000Z",
"tags": [
"tag #1",
"tag #2",
" ..."
],
"phones": [
"home": "(XXX) XXX-XXXX",
"cell": "(XXX) XXX-XXXX",
"work": "(XXX) XXX-XXXX",
],
}
}
Example response (403, not authorized to view prospect):
{
"status": "error",
"message": "Forbidden"
}
Example response (404, prospect not found.):
{
"status": "error",
"message": "Prospect not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Prospect
requires authentication
End point to create/update prospects within MonitorBase. An, optional header of X-offload = 1 is an option this will offload the prospect for creation and return a response faster.
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/prospect/create" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"prospects\": [
{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"address\": \"123 E Fake St\",
\"address_2\": \"Unit #123\",
\"city\": \"Salt Lake City\",
\"state\": \"XX\",
\"zip\": \"84106\",
\"email\": \"consumer@example.com\",
\"birth_day\": \"sapiente\",
\"phones\": {
\"home_phone\": \"801-555-1234\",
\"work_phone\": \"(801) 555-1234\",
\"cell_phone\": \"+18015551234\"
},
\"ssn\": \"123-45-6789\",
\"ssn_hash\": \"hidden\",
\"loan_number\": \"1000493300\",
\"alt_id\": \"A2003 or 100003\",
\"tags\": \"Tag1, Tag2, Tag3\",
\"lo_email\": \"kayleigh.white@example.net\",
\"lo_id\": \"sapiente\",
\"statuses\": [
{
\"date\": \"2020-09-03\",
\"status\": \"Funded\"
}
],
\"notes\": [
{
\"date\": \"YYYY-MM-DD\",
\"note\": \"sapiente\"
}
],
\"loan_info\": [
{
\"interest_rate\": 3.125,
\"loan_type\": \"FHA\",
\"loan_purpose\": \"Purchase\",
\"loan_amount\": 2500000
}
],
\"monitors\": {
\"inquiry\": true,
\"migration\": true,
\"predictive\": true,
\"pre_mover\": true
},
\"update_dupe\": true,
\"update_user\": true,
\"add_tags\": true,
\"remove_tags\": true,
\"monitor_dupes\": true,
\"addresses\": {
\"investment_address\": \"123 E Fake St\",
\"investment_address_2\": \"Unit #123\",
\"investment_city\": \"Salt Lake City\",
\"investment_state\": \"XX\",
\"investment_zip\": \"84106\",
\"second_address\": \"123 E Fake St\",
\"second_address_2\": \"Unit #123\",
\"second_city\": \"Salt Lake City\",
\"second_state\": \"XX\",
\"second_zip\": \"84106\",
\"rental_address\": \"123 E Fake St\",
\"rental_address_2\": \"Unit #123\",
\"rental_city\": \"Salt Lake City\",
\"rental_state\": \"XX\",
\"rental_zip\": \"84106\",
\"mailing_address\": \"123 E Fake St\",
\"mailing_address_2\": \"Unit #123\",
\"mailing_city\": \"Salt Lake City\",
\"mailing_state\": \"XX\",
\"mailing_zip\": \"84106\"
}
}
]
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/prospect/create"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"prospects": [
{
"first_name": "John",
"last_name": "Doe",
"address": "123 E Fake St",
"address_2": "Unit #123",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"email": "consumer@example.com",
"birth_day": "sapiente",
"phones": {
"home_phone": "801-555-1234",
"work_phone": "(801) 555-1234",
"cell_phone": "+18015551234"
},
"ssn": "123-45-6789",
"ssn_hash": "hidden",
"loan_number": "1000493300",
"alt_id": "A2003 or 100003",
"tags": "Tag1, Tag2, Tag3",
"lo_email": "kayleigh.white@example.net",
"lo_id": "sapiente",
"statuses": [
{
"date": "2020-09-03",
"status": "Funded"
}
],
"notes": [
{
"date": "YYYY-MM-DD",
"note": "sapiente"
}
],
"loan_info": [
{
"interest_rate": 3.125,
"loan_type": "FHA",
"loan_purpose": "Purchase",
"loan_amount": 2500000
}
],
"monitors": {
"inquiry": true,
"migration": true,
"predictive": true,
"pre_mover": true
},
"update_dupe": true,
"update_user": true,
"add_tags": true,
"remove_tags": true,
"monitor_dupes": true,
"addresses": {
"investment_address": "123 E Fake St",
"investment_address_2": "Unit #123",
"investment_city": "Salt Lake City",
"investment_state": "XX",
"investment_zip": "84106",
"second_address": "123 E Fake St",
"second_address_2": "Unit #123",
"second_city": "Salt Lake City",
"second_state": "XX",
"second_zip": "84106",
"rental_address": "123 E Fake St",
"rental_address_2": "Unit #123",
"rental_city": "Salt Lake City",
"rental_state": "XX",
"rental_zip": "84106",
"mailing_address": "123 E Fake St",
"mailing_address_2": "Unit #123",
"mailing_city": "Salt Lake City",
"mailing_state": "XX",
"mailing_zip": "84106"
}
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/prospect/create';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'prospects' => [
[
'first_name' => 'John',
'last_name' => 'Doe',
'address' => '123 E Fake St',
'address_2' => 'Unit #123',
'city' => 'Salt Lake City',
'state' => 'XX',
'zip' => '84106',
'email' => 'consumer@example.com',
'birth_day' => 'sapiente',
'phones' => [
'home_phone' => '801-555-1234',
'work_phone' => '(801) 555-1234',
'cell_phone' => '+18015551234',
],
'ssn' => '123-45-6789',
'ssn_hash' => 'hidden',
'loan_number' => '1000493300',
'alt_id' => 'A2003 or 100003',
'tags' => 'Tag1, Tag2, Tag3',
'lo_email' => 'kayleigh.white@example.net',
'lo_id' => 'sapiente',
'statuses' => [
[
'date' => '2020-09-03',
'status' => 'Funded',
],
],
'notes' => [
[
'date' => 'YYYY-MM-DD',
'note' => 'sapiente',
],
],
'loan_info' => [
[
'interest_rate' => 3.125,
'loan_type' => 'FHA',
'loan_purpose' => 'Purchase',
'loan_amount' => 2500000.0,
],
],
'monitors' => [
'inquiry' => true,
'migration' => true,
'predictive' => true,
'pre_mover' => true,
],
'update_dupe' => true,
'update_user' => true,
'add_tags' => true,
'remove_tags' => true,
'monitor_dupes' => true,
'addresses' => [
'investment_address' => '123 E Fake St',
'investment_address_2' => 'Unit #123',
'investment_city' => 'Salt Lake City',
'investment_state' => 'XX',
'investment_zip' => '84106',
'second_address' => '123 E Fake St',
'second_address_2' => 'Unit #123',
'second_city' => 'Salt Lake City',
'second_state' => 'XX',
'second_zip' => '84106',
'rental_address' => '123 E Fake St',
'rental_address_2' => 'Unit #123',
'rental_city' => 'Salt Lake City',
'rental_state' => 'XX',
'rental_zip' => '84106',
'mailing_address' => '123 E Fake St',
'mailing_address_2' => 'Unit #123',
'mailing_city' => 'Salt Lake City',
'mailing_state' => 'XX',
'mailing_zip' => '84106',
],
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/prospect/create'
payload = {
"prospects": [
{
"first_name": "John",
"last_name": "Doe",
"address": "123 E Fake St",
"address_2": "Unit #123",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"email": "consumer@example.com",
"birth_day": "sapiente",
"phones": {
"home_phone": "801-555-1234",
"work_phone": "(801) 555-1234",
"cell_phone": "+18015551234"
},
"ssn": "123-45-6789",
"ssn_hash": "hidden",
"loan_number": "1000493300",
"alt_id": "A2003 or 100003",
"tags": "Tag1, Tag2, Tag3",
"lo_email": "kayleigh.white@example.net",
"lo_id": "sapiente",
"statuses": [
{
"date": "2020-09-03",
"status": "Funded"
}
],
"notes": [
{
"date": "YYYY-MM-DD",
"note": "sapiente"
}
],
"loan_info": [
{
"interest_rate": 3.125,
"loan_type": "FHA",
"loan_purpose": "Purchase",
"loan_amount": 2500000
}
],
"monitors": {
"inquiry": true,
"migration": true,
"predictive": true,
"pre_mover": true
},
"update_dupe": true,
"update_user": true,
"add_tags": true,
"remove_tags": true,
"monitor_dupes": true,
"addresses": {
"investment_address": "123 E Fake St",
"investment_address_2": "Unit #123",
"investment_city": "Salt Lake City",
"investment_state": "XX",
"investment_zip": "84106",
"second_address": "123 E Fake St",
"second_address_2": "Unit #123",
"second_city": "Salt Lake City",
"second_state": "XX",
"second_zip": "84106",
"rental_address": "123 E Fake St",
"rental_address_2": "Unit #123",
"rental_city": "Salt Lake City",
"rental_state": "XX",
"rental_zip": "84106",
"mailing_address": "123 E Fake St",
"mailing_address_2": "Unit #123",
"mailing_city": "Salt Lake City",
"mailing_state": "XX",
"mailing_zip": "84106"
}
}
]
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, prospects offloaded for processing):
{
"status": "success",
"message": "## prospects offloaded"
}
Example response (200, prospects saved in current call. Response in order of array sent. Possible errors: userNotFound, nameErrors, addressErrors, permanentOptOuts):
{
{
"status": "error",
"message": "No LO Email or ID",
"prospect_id": 0
},
{
"status": "success",
"message": "Prospect saved",
"prospect_id": 123456
}
}
Example response (400, prospects array missing):
{
"status": "failed",
"message": "Prospects array not set"
}
Example response (403, user not authorized):
{
"error": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Prospect MB ID
requires authentication
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/prospect/delete" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"id\",
\"value\": \"100030\"
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/prospect/delete"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "id",
"value": "100030"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/prospect/delete';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'type' => 'id',
'value' => '100030',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/prospect/delete'
payload = {
"type": "id",
"value": "100030"
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, success):
{
"status": "success",
"message": "Prospect deleted."
}
Example response (403, user not authorized):
{
"error": "Unauthenticated"
}
Example response (404, prospect not found):
{
"status": "error",
"message": "Prospect not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Generate Api Mapping Your mapping must contain a set 'prospects' that contains partitioned prospects for the mapping to work
requires authentication
After posting to this endpoint you may then proceed to http://my.monitorbase.com/prospects/integration/map to map the latest fields that you've provided to this endpoint to fields that the Create Mapped Prospect endpoint can then use to create prospects
i.e.
contact_first_name -> first_name
contact-last-name -> last_name
contact_street_address -> address
City -> city
STATE -> state
post_code -> zip
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/prospect/sandbox" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"prospects\": [
{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"address\": \"123 E Fake St\",
\"city\": \"Salt Lake City\",
\"state\": \"XX\",
\"zip\": \"84106\",
\"lo_email\": \"kayleigh.white@example.net\"
}
]
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/prospect/sandbox"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"prospects": [
{
"first_name": "John",
"last_name": "Doe",
"address": "123 E Fake St",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"lo_email": "kayleigh.white@example.net"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/prospect/sandbox';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'prospects' => [
[
'first_name' => 'John',
'last_name' => 'Doe',
'address' => '123 E Fake St',
'city' => 'Salt Lake City',
'state' => 'XX',
'zip' => '84106',
'lo_email' => 'kayleigh.white@example.net',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/prospect/sandbox'
payload = {
"prospects": [
{
"first_name": "John",
"last_name": "Doe",
"address": "123 E Fake St",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"lo_email": "kayleigh.white@example.net"
}
]
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (400, prospects array missing):
{
"status": "failed",
"message": "Prospects array not set"
}
Example response (403, user not authorized):
{
"error": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Prospect
requires authentication
End point to update a contact within MonitorBase. Please be careful as there is no undo for this feature. Type can be the contacts email, id (MonitorBase ID) or alt_id (CRM ID)
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/prospect/update/sapiente/sapiente" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"update\": [
{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"address\": \"123 E Fake St\",
\"address_2\": \"Unit #123\",
\"city\": \"Salt Lake City\",
\"state\": \"XX\",
\"zip\": \"84106\",
\"email\": \"consumer@example.com\",
\"birth_day\": \"sapiente\",
\"phones\": {
\"home_phone\": \"801-555-1234\",
\"work_phone\": \"(801) 555-1234\",
\"cell_phone\": \"+18015551234\"
},
\"loan_number\": \"1000493300\",
\"remove_tags\": true,
\"tags\": \"Tag1, Tag2, Tag3\",
\"lo_email\": \"kayleigh.white@example.net\",
\"lo_id\": \"sapiente\",
\"statuses\": [
{
\"date\": \"2020-09-03\",
\"status\": \"Funded\"
}
],
\"notes\": [
{
\"note\": \"sapiente\"
}
],
\"loan_info\": [
{
\"interest_rate\": 3.125,
\"loan_type\": \"FHA\",
\"loan_purpose\": \"Purchase\",
\"loan_amount\": 2500000
}
],
\"monitors\": {
\"inquiry\": true,
\"migration\": true,
\"predictive\": true,
\"pre_mover\": true
},
\"addresses\": {
\"investment_address\": \"123 E Fake St\",
\"investment_address_2\": \"Unit #123\",
\"investment_city\": \"Salt Lake City\",
\"investment_state\": \"XX\",
\"investment_zip\": \"84106\",
\"second_address\": \"123 E Fake St\",
\"second_address_2\": \"Unit #123\",
\"second_city\": \"Salt Lake City\",
\"second_state\": \"XX\",
\"second_zip\": \"84106\",
\"rental_address\": \"123 E Fake St\",
\"rental_address_2\": \"Unit #123\",
\"rental_city\": \"Salt Lake City\",
\"rental_state\": \"XX\",
\"rental_zip\": \"84106\",
\"mailing_address\": \"123 E Fake St\",
\"mailing_address_2\": \"Unit #123\",
\"mailing_city\": \"Salt Lake City\",
\"mailing_state\": \"XX\",
\"mailing_zip\": \"84106\"
}
}
]
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/prospect/update/sapiente/sapiente"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"update": [
{
"first_name": "John",
"last_name": "Doe",
"address": "123 E Fake St",
"address_2": "Unit #123",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"email": "consumer@example.com",
"birth_day": "sapiente",
"phones": {
"home_phone": "801-555-1234",
"work_phone": "(801) 555-1234",
"cell_phone": "+18015551234"
},
"loan_number": "1000493300",
"remove_tags": true,
"tags": "Tag1, Tag2, Tag3",
"lo_email": "kayleigh.white@example.net",
"lo_id": "sapiente",
"statuses": [
{
"date": "2020-09-03",
"status": "Funded"
}
],
"notes": [
{
"note": "sapiente"
}
],
"loan_info": [
{
"interest_rate": 3.125,
"loan_type": "FHA",
"loan_purpose": "Purchase",
"loan_amount": 2500000
}
],
"monitors": {
"inquiry": true,
"migration": true,
"predictive": true,
"pre_mover": true
},
"addresses": {
"investment_address": "123 E Fake St",
"investment_address_2": "Unit #123",
"investment_city": "Salt Lake City",
"investment_state": "XX",
"investment_zip": "84106",
"second_address": "123 E Fake St",
"second_address_2": "Unit #123",
"second_city": "Salt Lake City",
"second_state": "XX",
"second_zip": "84106",
"rental_address": "123 E Fake St",
"rental_address_2": "Unit #123",
"rental_city": "Salt Lake City",
"rental_state": "XX",
"rental_zip": "84106",
"mailing_address": "123 E Fake St",
"mailing_address_2": "Unit #123",
"mailing_city": "Salt Lake City",
"mailing_state": "XX",
"mailing_zip": "84106"
}
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/prospect/update/sapiente/sapiente';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'update' => [
[
'first_name' => 'John',
'last_name' => 'Doe',
'address' => '123 E Fake St',
'address_2' => 'Unit #123',
'city' => 'Salt Lake City',
'state' => 'XX',
'zip' => '84106',
'email' => 'consumer@example.com',
'birth_day' => 'sapiente',
'phones' => [
'home_phone' => '801-555-1234',
'work_phone' => '(801) 555-1234',
'cell_phone' => '+18015551234',
],
'loan_number' => '1000493300',
'remove_tags' => true,
'tags' => 'Tag1, Tag2, Tag3',
'lo_email' => 'kayleigh.white@example.net',
'lo_id' => 'sapiente',
'statuses' => [
[
'date' => '2020-09-03',
'status' => 'Funded',
],
],
'notes' => [
[
'note' => 'sapiente',
],
],
'loan_info' => [
[
'interest_rate' => 3.125,
'loan_type' => 'FHA',
'loan_purpose' => 'Purchase',
'loan_amount' => 2500000.0,
],
],
'monitors' => [
'inquiry' => true,
'migration' => true,
'predictive' => true,
'pre_mover' => true,
],
'addresses' => [
'investment_address' => '123 E Fake St',
'investment_address_2' => 'Unit #123',
'investment_city' => 'Salt Lake City',
'investment_state' => 'XX',
'investment_zip' => '84106',
'second_address' => '123 E Fake St',
'second_address_2' => 'Unit #123',
'second_city' => 'Salt Lake City',
'second_state' => 'XX',
'second_zip' => '84106',
'rental_address' => '123 E Fake St',
'rental_address_2' => 'Unit #123',
'rental_city' => 'Salt Lake City',
'rental_state' => 'XX',
'rental_zip' => '84106',
'mailing_address' => '123 E Fake St',
'mailing_address_2' => 'Unit #123',
'mailing_city' => 'Salt Lake City',
'mailing_state' => 'XX',
'mailing_zip' => '84106',
],
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/prospect/update/sapiente/sapiente'
payload = {
"update": [
{
"first_name": "John",
"last_name": "Doe",
"address": "123 E Fake St",
"address_2": "Unit #123",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"email": "consumer@example.com",
"birth_day": "sapiente",
"phones": {
"home_phone": "801-555-1234",
"work_phone": "(801) 555-1234",
"cell_phone": "+18015551234"
},
"loan_number": "1000493300",
"remove_tags": true,
"tags": "Tag1, Tag2, Tag3",
"lo_email": "kayleigh.white@example.net",
"lo_id": "sapiente",
"statuses": [
{
"date": "2020-09-03",
"status": "Funded"
}
],
"notes": [
{
"note": "sapiente"
}
],
"loan_info": [
{
"interest_rate": 3.125,
"loan_type": "FHA",
"loan_purpose": "Purchase",
"loan_amount": 2500000
}
],
"monitors": {
"inquiry": true,
"migration": true,
"predictive": true,
"pre_mover": true
},
"addresses": {
"investment_address": "123 E Fake St",
"investment_address_2": "Unit #123",
"investment_city": "Salt Lake City",
"investment_state": "XX",
"investment_zip": "84106",
"second_address": "123 E Fake St",
"second_address_2": "Unit #123",
"second_city": "Salt Lake City",
"second_state": "XX",
"second_zip": "84106",
"rental_address": "123 E Fake St",
"rental_address_2": "Unit #123",
"rental_city": "Salt Lake City",
"rental_state": "XX",
"rental_zip": "84106",
"mailing_address": "123 E Fake St",
"mailing_address_2": "Unit #123",
"mailing_city": "Salt Lake City",
"mailing_state": "XX",
"mailing_zip": "84106"
}
}
]
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, prospects saved in current call. Response in order of array sent. Possible errors: userNotFound, nameErrors, addressErrors, permanentOptOuts):
{
{
"status": "error",
"message": "No LO Email or ID",
"prospect_id": 0
},
{
"status": "success",
"message": "Prospect saved",
"prospect_id": 123456
}
}
Example response (400, prospects array missing):
{
"status": "failed",
"message": "Prospects array not set"
}
Example response (403, user not authorized):
{
"error": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Mapped Prospect
requires authentication
End point to create/update prospects within MonitorBase. An, optional header of X-offload = 1 is an option this will offload the prospect for creation and return a response faster.
The mapping will be based off the Authenticated User
A mapping for the body parameters provided for this method must be present to create a prospect in the system.
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/prospect/mapped/create" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"prospects\": [
{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"address\": \"123 E Fake St\",
\"city\": \"Salt Lake City\",
\"state\": \"XX\",
\"zip\": \"84106\",
\"lo_email\": \"kayleigh.white@example.net\"
}
]
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/prospect/mapped/create"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"prospects": [
{
"first_name": "John",
"last_name": "Doe",
"address": "123 E Fake St",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"lo_email": "kayleigh.white@example.net"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/prospect/mapped/create';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'prospects' => [
[
'first_name' => 'John',
'last_name' => 'Doe',
'address' => '123 E Fake St',
'city' => 'Salt Lake City',
'state' => 'XX',
'zip' => '84106',
'lo_email' => 'kayleigh.white@example.net',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/prospect/mapped/create'
payload = {
"prospects": [
{
"first_name": "John",
"last_name": "Doe",
"address": "123 E Fake St",
"city": "Salt Lake City",
"state": "XX",
"zip": "84106",
"lo_email": "kayleigh.white@example.net"
}
]
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, prospects offloaded for processing):
{
"status": "success",
"message": "## prospects offloaded"
}
Example response (200, prospects saved in current call. Response in order of array sent. Possible errors: userNotFound, nameErrors, addressErrors, permanentOptOuts):
{
{
"status": "error",
"message": "No LO Email or ID",
"prospect_id": 0
},
{
"status": "success",
"message": "Prospect saved",
"prospect_id": 123456
}
}
Example response (400, prospects array missing):
{
"status": "failed",
"message": "Prospects array not set"
}
Example response (403, user not authorized):
{
"error": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Teams
Create Branch
requires authentication
Create a new Branch in MoniorBase
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/branch/create" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"branch_id\": \"B1234\"
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/branch/create"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"branch_id": "B1234"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/branch/create';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'branch_id' => 'B1234',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/branch/create'
payload = {
"branch_id": "B1234"
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, branch successfully created):
{
"status": "success",
"message": "Branch created",
"branch_id": "B1234"
}
Example response (400, the required attribute field is missing):
{
"status": "error",
"message": "The {attribute} field is required"
}
Example response (400, The {attribute} field provided is empty/null/void):
{
"status": "error",
"message": "The {attribute} field must not be empty
}
Example response (400, The {attribute} field is either too short or too long):
{
"status": "error",
"message": "The {attribute} field must be between {min} - {max} characters"
}
Example response (400, The {attribute} field is an inappropriate type):
{
"status": "error",
"message": "The {attribute} field must be a {type}"
}
Example response (400, The branch_number field does not match a given pattern):
{
"status": "error",
"message": "The branch_number field is not an appropriate phone number"
}
Example response (400, unable to find division with given ID):
{
"status": "error",
"message": "Division not found"
}
Example response (400, a branch with that branch_id already exists in your company):
{
"status": "error",
"message": "A branch with that branch_id already exists"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Division
requires authentication
Create a new division in MonitorBase.
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/division/create" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"sapiente\",
\"division_id\": \"sapiente\",
\"region_id\": \"sapiente\",
\"address\": \"sapiente\",
\"city\": \"sapiente\",
\"state\": \"XX\",
\"zip\": \"sapiente\"
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/division/create"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "sapiente",
"division_id": "sapiente",
"region_id": "sapiente",
"address": "sapiente",
"city": "sapiente",
"state": "XX",
"zip": "sapiente"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/division/create';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'sapiente',
'division_id' => 'sapiente',
'region_id' => 'sapiente',
'address' => 'sapiente',
'city' => 'sapiente',
'state' => 'XX',
'zip' => 'sapiente',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/division/create'
payload = {
"name": "sapiente",
"division_id": "sapiente",
"region_id": "sapiente",
"address": "sapiente",
"city": "sapiente",
"state": "XX",
"zip": "sapiente"
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, division successfully created):
{
"status": "success",
"message": "Division created"
}
Example response (400, required division name field missing):
{
"status": "error",
"message": "Division name required"
}
Example response (400, required division_id field missing):
{
"status": "error",
"message": "Division ID required"
}
Example response (400, division ID already exits):
{
"status": "error",
"message": "Division ID already exists"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Region
requires authentication
Create a new region in MonitorBase. This is a required step before creating a division.
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/region/create" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"sapiente\",
\"region_id\": \"sapiente\",
\"address\": \"sapiente\",
\"city\": \"sapiente\",
\"state\": \"XX\",
\"zip\": \"sapiente\"
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/region/create"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "sapiente",
"region_id": "sapiente",
"address": "sapiente",
"city": "sapiente",
"state": "XX",
"zip": "sapiente"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/region/create';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'sapiente',
'region_id' => 'sapiente',
'address' => 'sapiente',
'city' => 'sapiente',
'state' => 'XX',
'zip' => 'sapiente',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/region/create'
payload = {
"name": "sapiente",
"region_id": "sapiente",
"address": "sapiente",
"city": "sapiente",
"state": "XX",
"zip": "sapiente"
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, region successfully created):
{
"status": "success",
"message": "Region created"
}
Example response (400, required region name field missing):
{
"status": "error",
"message": "Region name required"
}
Example response (400, required region_id field missing):
{
"status": "error",
"message": "Region ID required"
}
Example response (400, region ID already exits):
{
"status": "error",
"message": "Region ID already exists"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User
Get
requires authentication
Example request:
curl --request GET \
--get "https://api.monitorbase.com/api/v1/user/get/loanofficer@example.com" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api.monitorbase.com/api/v1/user/get/loanofficer@example.com"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/user/get/loanofficer@example.com';
$response = $client->get(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/user/get/loanofficer@example.com'
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200, user successfully updated):
{
"status": "success",
"message": "User found",
"data": {
"email": "lo@example.com",
"first_name": "first",
"last_name": "Last",
"phone_number": "801-555-1234",
"loan_officer": 0,
"lo_id": "ABC123",
"NMLS": 0,
"u_custom_1": "Custom",
"branch": {
"id": 1,
"alt_id": "CCCC1",
"name": "Branch Name"
},
"licensed_state": ["UT", "CA"],
"url": "https://www.example.com"/loan.officer,
"apply_now_url": "https://www.example.com/loan.officer/apply",
}
}
Example response (400, required email field missing):
{
"status": "error",
"message": "The email field is required"
}
Example response (400, The email provided is does not conform to email standards):
{
"status": "error",
"message": "A valid email is required"
}
Example response (400, the email field was empty/null/void):
{
"status": "error",
"message": "The email field must not be empty"
}
Example response (400, No record exists for that user):
{
"status": "error",
"message": "A User with that email does not exist"
}
Example response (401, user authentication failed):
{
"status": "failed",
"message": "Not authorized"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create
requires authentication
Create a new user in MonitorBase. Branch name/ID and email are the only things required other information can be filled out by the user on first login
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/user/create" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"loanofficer@example.com\",
\"branch_id\": \"sapiente\",
\"first_name\": \"sapiente\",
\"last_name\": \"sapiente\",
\"phone_number\": \"##########, ### ### ####, ###-###-####, (###)#######, (###) ### ####, (###)-###-####\",
\"loan_officer\": true,
\"lo_id\": \"sapiente\",
\"NMLS\": \"sapiente\",
\"url\": \"http:\\/\\/www.rolfson.org\\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html\",
\"apply_now_url\": \"http:\\/\\/www.rolfson.org\\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html\",
\"is_manager\": true,
\"send_welcome\": true,
\"licenses[]\": [],
\"u_custom_1\": \"sapiente\"
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/user/create"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "loanofficer@example.com",
"branch_id": "sapiente",
"first_name": "sapiente",
"last_name": "sapiente",
"phone_number": "##########, ### ### ####, ###-###-####, (###)#######, (###) ### ####, (###)-###-####",
"loan_officer": true,
"lo_id": "sapiente",
"NMLS": "sapiente",
"url": "http:\/\/www.rolfson.org\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html",
"apply_now_url": "http:\/\/www.rolfson.org\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html",
"is_manager": true,
"send_welcome": true,
"licenses[]": [],
"u_custom_1": "sapiente"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/user/create';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'loanofficer@example.com',
'branch_id' => 'sapiente',
'first_name' => 'sapiente',
'last_name' => 'sapiente',
'phone_number' => '##########, ### ### ####, ###-###-####, (###)#######, (###) ### ####, (###)-###-####',
'loan_officer' => true,
'lo_id' => 'sapiente',
'NMLS' => 'sapiente',
'url' => 'http://www.rolfson.org/enim-tempore-ad-consequuntur-magni-consectetur-ut.html',
'apply_now_url' => 'http://www.rolfson.org/enim-tempore-ad-consequuntur-magni-consectetur-ut.html',
'is_manager' => true,
'send_welcome' => true,
'licenses[]' => [],
'u_custom_1' => 'sapiente',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/user/create'
payload = {
"email": "loanofficer@example.com",
"branch_id": "sapiente",
"first_name": "sapiente",
"last_name": "sapiente",
"phone_number": "##########, ### ### ####, ###-###-####, (###)#######, (###) ### ####, (###)-###-####",
"loan_officer": true,
"lo_id": "sapiente",
"NMLS": "sapiente",
"url": "http:\/\/www.rolfson.org\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html",
"apply_now_url": "http:\/\/www.rolfson.org\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html",
"is_manager": true,
"send_welcome": true,
"licenses[]": [],
"u_custom_1": "sapiente"
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, user successfully created):
{
"status": "success",
"message": "User created"
}
Example response (400, a required {attribute} field missing was left out of your post):
{
"status": "error",
"message": "The {attribute} field is required"
}
Example response (400, The {attribute} field providied was empty/null/void):
{
"status": "error",
"message": "The {attribute} must not be empty"
}
Example response (400, The {attribute} field is either too short or too long):
{
"status": "error",
"message": "The {attribute} field must be between {min} - {max} characters"
}
Example response (400, The {attribute} field is an inappropriate type):
{
"status": "error",
"message": "The {attribute} field must be a {type}"
}
Example response (400, The email provided is does not conform to email standards):
{
"status": "error",
"message": "A valid email is required"
}
Example response (400, the email provided matched another user's record):
{
"status": "error",
"message": "A User with this email already exists"
}
Example response (400, invalid branch. unable to find the branch based on name or alt_id):
{
"status": "error",
"message": "Invalid branch"
}
Example response (400, user email already exists):
{
"status": "error",
"message": "User with this email already exists"
}
Example response (400, lo_id already exists):
{
"status": "error",
"message": "Loan officer ID already exists"
}
Example response (400):
scenario"One of the states you provided is not a valid US State or Territory" {
"status": "error",
"message": "The licenses.* field is not a valid State or territory"
}
Example response (401, user authentication failed):
{
"status": "failed",
"message": "Not authorized"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Deactivate
requires authentication
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/user/delete" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"loanofficer@example.com\",
\"alt_id\": \"sapiente\"
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/user/delete"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "loanofficer@example.com",
"alt_id": "sapiente"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/user/delete';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'loanofficer@example.com',
'alt_id' => 'sapiente',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/user/delete'
payload = {
"email": "loanofficer@example.com",
"alt_id": "sapiente"
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, user successfully deactivated):
{
"status": "success",
"message": "User deactivated"
}
Example response (400, required email field missing):
{
"status": "error",
"message": "The email field is required"
}
Example response (400, The email provided is does not conform to email standards):
{
"status": "error",
"message": "A valid email is required"
}
Example response (400, the email field was empty/null/void):
{
"status": "error",
"message": "The email field must not be empty"
}
Example response (400, No record exists for that user):
{
"status": "error",
"message": "A User with that email does not exist"
}
Example response (401, user authentication failed):
{
"status": "failed",
"message": "Not authorized"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/user/update/loanofficer@example.com" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"loanofficer@example.com\",
\"branch_id\": \"sapiente\",
\"first_name\": \"sapiente\",
\"last_name\": \"sapiente\",
\"phone_number\": \"##########, ### ### ####, ###-###-####, (###)#######, (###) ### ####, (###)-###-####\",
\"loan_officer\": true,
\"lo_id\": \"sapiente\",
\"NMLS\": \"sapiente\",
\"url\": \"http:\\/\\/www.rolfson.org\\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html\",
\"apply_now_url\": \"http:\\/\\/www.rolfson.org\\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html\",
\"is_manager\": true,
\"send_welcome\": true,
\"licenses[]\": [],
\"u_custom_1\": \"sapiente\"
}"
const url = new URL(
"https://api.monitorbase.com/api/v1/user/update/loanofficer@example.com"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "loanofficer@example.com",
"branch_id": "sapiente",
"first_name": "sapiente",
"last_name": "sapiente",
"phone_number": "##########, ### ### ####, ###-###-####, (###)#######, (###) ### ####, (###)-###-####",
"loan_officer": true,
"lo_id": "sapiente",
"NMLS": "sapiente",
"url": "http:\/\/www.rolfson.org\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html",
"apply_now_url": "http:\/\/www.rolfson.org\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html",
"is_manager": true,
"send_welcome": true,
"licenses[]": [],
"u_custom_1": "sapiente"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/user/update/loanofficer@example.com';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'loanofficer@example.com',
'branch_id' => 'sapiente',
'first_name' => 'sapiente',
'last_name' => 'sapiente',
'phone_number' => '##########, ### ### ####, ###-###-####, (###)#######, (###) ### ####, (###)-###-####',
'loan_officer' => true,
'lo_id' => 'sapiente',
'NMLS' => 'sapiente',
'url' => 'http://www.rolfson.org/enim-tempore-ad-consequuntur-magni-consectetur-ut.html',
'apply_now_url' => 'http://www.rolfson.org/enim-tempore-ad-consequuntur-magni-consectetur-ut.html',
'is_manager' => true,
'send_welcome' => true,
'licenses[]' => [],
'u_custom_1' => 'sapiente',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/user/update/loanofficer@example.com'
payload = {
"email": "loanofficer@example.com",
"branch_id": "sapiente",
"first_name": "sapiente",
"last_name": "sapiente",
"phone_number": "##########, ### ### ####, ###-###-####, (###)#######, (###) ### ####, (###)-###-####",
"loan_officer": true,
"lo_id": "sapiente",
"NMLS": "sapiente",
"url": "http:\/\/www.rolfson.org\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html",
"apply_now_url": "http:\/\/www.rolfson.org\/enim-tempore-ad-consequuntur-magni-consectetur-ut.html",
"is_manager": true,
"send_welcome": true,
"licenses[]": [],
"u_custom_1": "sapiente"
}
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200, user successfully updated):
{
"status": "success",
"message": "User updated"
}
Example response (400, required email field missing):
{
"status": "error",
"message": "The email field is required"
}
Example response (400, The email provided is does not conform to email standards):
{
"status": "error",
"message": "A valid email is required"
}
Example response (400, the email field was empty/null/void):
{
"status": "error",
"message": "The email field must not be empty"
}
Example response (400, No record exists for that user):
{
"status": "error",
"message": "A User with that email does not exist"
}
Example response (401, user authentication failed):
{
"status": "failed",
"message": "Not authorized"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Webhook Out
Alert
requires authentication
Send an Alert to your endpoint. This example is of a json post but you can select in the admin to use POST to send as form_data and content type will be application/x-www-form-urlencoded. The end point in this example is on MonitorBase.com but would be set to your end point you've developed. Additionally, you can setup your own custom header name and value. Shown in this example as token.
Please contact support@monitorbase.com for information on setting up your webhook via the MonitorBase web app.
Possible Types: Inquiry Migration Predictive Premover Payoff
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/alert/webhook/form" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Optional-Header: example"
const url = new URL(
"https://api.monitorbase.com/api/v1/alert/webhook/form"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Optional-Header": "example",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/alert/webhook/form';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Optional-Header' => 'example',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/alert/webhook/form'
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Optional-Header': 'example'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"source": "MonitorBase - Test",
"lo_email": "loan-officer@example.com",
"lo_name": "Loan Officer",
'lo_alt_id': '1234',
"first_name": "Stacey",
"last_name": "Labadie",
"address": "760 Keven Highway Suite 274",
"city": "Jerelshire",
"state": "SC",
"zip": "18805",
"custom_1": "custom-1",
"custom_2": "custom-2",
"custom_3": "custom-3",
"custom_4": "custom-4",
"custom_5": "custom-5",
"home_phone": "1-888-357-7440",
"cell_phone": "1-855-794-9070",
"work_phone": "1-800-728-4989",
"email": "consumer@example.com",
"url": "https://my.monitorbase.com/prospects/show/1955",
"loan_id": "1607110335",
"loan_number": "1607110335",
"prospect_id": "1955",
"alt_id": "25683017",
"type": "Inquiry",
"alert_intel": "Alert Intel: Test Alert Intel Data",
"alert_id": "2364",
"alert_date": "2020-12-04",
"alert_intel_id": 1
"alert_intel_playbook_url": "https://my.monitorbase.com/playbook/1"
"tags": ["tag1","tag2","tag3"]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
SoftPull
requires authentication
Send a SoftPull to your endpoint. This example is of a json post but you can select in the admin to use POST to send as form_data and content type will be application/x-www-form-urlencoded. The end point in this example is on MonitorBase.com but would be set to your end point you've developed. Additionally, you can setup your own custom header name and value. Shown in this example as token.
Please contact support@monitorbase.com for information on setting up your webhook via the MonitorBase web app.
Possible Types: SoftPull Qualified SoftPull Not Qualified
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/softpull/webhook/form" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Optional-Header: example"
const url = new URL(
"https://api.monitorbase.com/api/v1/softpull/webhook/form"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Optional-Header": "example",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/softpull/webhook/form';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Optional-Header' => 'example',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/softpull/webhook/form'
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Optional-Header': 'example'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"source": "MonitorBase - Test",
"lo_email": "loan-officer@example.com",
"lo_name": "Loan Officer",
"first_name": "Jaylan",
"last_name": "Rogahn",
"address": "2754 Frank Lane Suite 517",
"city": "North Jonasburgh",
"state": "NE",
"zip": "13321",
"custom_1": "custom-1",
"custom_2": "custom-2",
"custom_3": "custom-3",
"custom_4": "custom-4",
"custom_5": "custom-5",
"home_phone": "(877) 947-3273",
"cell_phone": "(877) 508-5655",
"work_phone": "(855) 522-3533",
"email": "consumer@example.com",
"url": "https://my.monitorbase.com/prospects/show/3473",
"loan_id": "1607113366",
"loan_number": "1607113366",
"prospect_id": "3473",
"alt_id": "25683017",
"type": "SoftPull Qualified",
"softpull_date": "2020-12-04 13:22:46",
"softpull_source": "Kacey"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Email Actions
requires authentication
Send a email action to your endpoint. The end point in this example is on MonitorBase.com but would be set to your end point you've developed. Additionally, you can setup your own custom header name and value. Shown in this example as token.
Please contact support@monitorbase.com for information on setting up your webhook via the MonitorBase web app.
Possible Types: open viewed clicked apply_now request_call request_email
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/email/actions" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Optional-Header: example"
const url = new URL(
"https://api.monitorbase.com/api/v1/email/actions"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Optional-Header": "example",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/email/actions';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Optional-Header' => 'example',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/email/actions'
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Optional-Header': 'example'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"source": "MonitorBase - Test",
"contact_email": "consumer@example.com",
"contact_id": "AZ1234",
"prospect_id": "Jaylan",
"action": "open"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoints
POST api/v1/pm/inbound
requires authentication
Example request:
curl --request POST \
"https://api.monitorbase.com/api/v1/pm/inbound" \
--header "X-Authorization: {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api.monitorbase.com/api/v1/pm/inbound"
);
const headers = {
"X-Authorization": "{YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.monitorbase.com/api/v1/pm/inbound';
$response = $client->post(
$url,
[
'headers' => [
'X-Authorization' => '{YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.monitorbase.com/api/v1/pm/inbound'
headers = {
'X-Authorization': '{YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.