LIST Loan
curl --request GET \
--url https://api.prophia.com/rest/v2/accounts/{accountId}/loans \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.prophia.com/rest/v2/accounts/{accountId}/loans"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.prophia.com/rest/v2/accounts/{accountId}/loans', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.prophia.com/rest/v2/accounts/{accountId}/loans",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.prophia.com/rest/v2/accounts/{accountId}/loans"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.prophia.com/rest/v2/accounts/{accountId}/loans")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prophia.com/rest/v2/accounts/{accountId}/loans")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"totalCount": 123,
"page": 123,
"limit": 123,
"items": [
{
"id": "<string>",
"name": "<string>",
"loanType": "<string>",
"borrower": "<string>",
"lender": "<string>",
"closingDate": "2023-12-25",
"status": "PENDING",
"url": "<string>",
"collateral": [
{
"buildingId": "<string>",
"buildingName": "<string>",
"propertyId": "<string>",
"propertyName": "<string>"
}
],
"summary": [
{
"id": "<string>",
"tagName": "<string>",
"displayName": "<string>",
"category": "STANDARD",
"value": {
"kind": "date",
"unit": "<string>",
"capturedData": "<string>",
"ocrText": "<string>",
"value": "<string>"
},
"prepaymentPeriods": [
{
"sequence": 123,
"periodType": "<string>",
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"description": "<string>"
}
],
"childTags": "<array>",
"lifecycleStatus": "ACTIVE",
"customLabel": "<string>",
"loanId": "<string>",
"loanDocId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tagSelections": [
{
"docPageId": "<string>",
"boundingBox": {
"x": 123,
"y": 123,
"width": 123,
"height": 123
},
"sequence": 123
}
],
"url": "<string>"
}
],
"covenants": [
{
"id": "<string>",
"tagName": "<string>",
"displayName": "<string>",
"category": "STANDARD",
"value": {
"kind": "date",
"unit": "<string>",
"capturedData": "<string>",
"ocrText": "<string>",
"value": "<string>"
},
"prepaymentPeriods": [
{
"sequence": 123,
"periodType": "<string>",
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"description": "<string>"
}
],
"childTags": "<array>",
"lifecycleStatus": "ACTIVE",
"customLabel": "<string>",
"loanId": "<string>",
"loanDocId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tagSelections": [
{
"docPageId": "<string>",
"boundingBox": {
"x": 123,
"y": 123,
"width": 123,
"height": 123
},
"sequence": 123
}
],
"url": "<string>"
}
],
"deliverables": [
{
"id": "<string>",
"tagName": "<string>",
"displayName": "<string>",
"category": "STANDARD",
"value": {
"kind": "date",
"unit": "<string>",
"capturedData": "<string>",
"ocrText": "<string>",
"value": "<string>"
},
"prepaymentPeriods": [
{
"sequence": 123,
"periodType": "<string>",
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"description": "<string>"
}
],
"childTags": "<array>",
"lifecycleStatus": "ACTIVE",
"customLabel": "<string>",
"loanId": "<string>",
"loanDocId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tagSelections": [
{
"docPageId": "<string>",
"boundingBox": {
"x": 123,
"y": 123,
"width": 123,
"height": 123
},
"sequence": 123
}
],
"url": "<string>"
}
],
"documents": {}
}
],
"hasMore": true
}{
"error": "Invalid Input",
"errorCode": "InvalidInput",
"message": "Unknown include keys: [bogus]; supported: [tags, documents, subleases]",
"status": "400 BAD_REQUEST",
"timestamp": "2026-09-02T20:41:03.118Z",
"localizedMessage": "Unknown include keys: [bogus]; supported: [tags, documents, subleases]"
}{
"error": "JWT authentication is not supported. Use an API key."
}{
"error": "Access Denied",
"errorCode": "AccessDenied",
"message": "Not authorized. Missing capabilities: READ:TAG",
"status": "403 FORBIDDEN",
"timestamp": "2026-09-02T20:41:03.118Z",
"localizedMessage": "Not authorized. Missing capabilities: READ:TAG"
}{
"error": "Entity Not Found",
"errorCode": "EntityNotFound",
"message": "This entity is not found in the system.",
"status": "404 NOT_FOUND",
"timestamp": "2026-09-02T20:41:03.118Z",
"localizedMessage": "This entity is not found in the system."
}Loans
LIST Loan
Returns a paged list of the Loans in the account that the caller can see, each with its collateral buildings. Narrow to the loans secured by a property’s buildings or by one building.
Required capabilities: READ:LOAN
GET
/
rest
/
v2
/
accounts
/
{accountId}
/
loans
LIST Loan
curl --request GET \
--url https://api.prophia.com/rest/v2/accounts/{accountId}/loans \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.prophia.com/rest/v2/accounts/{accountId}/loans"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.prophia.com/rest/v2/accounts/{accountId}/loans', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.prophia.com/rest/v2/accounts/{accountId}/loans",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.prophia.com/rest/v2/accounts/{accountId}/loans"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.prophia.com/rest/v2/accounts/{accountId}/loans")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prophia.com/rest/v2/accounts/{accountId}/loans")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"totalCount": 123,
"page": 123,
"limit": 123,
"items": [
{
"id": "<string>",
"name": "<string>",
"loanType": "<string>",
"borrower": "<string>",
"lender": "<string>",
"closingDate": "2023-12-25",
"status": "PENDING",
"url": "<string>",
"collateral": [
{
"buildingId": "<string>",
"buildingName": "<string>",
"propertyId": "<string>",
"propertyName": "<string>"
}
],
"summary": [
{
"id": "<string>",
"tagName": "<string>",
"displayName": "<string>",
"category": "STANDARD",
"value": {
"kind": "date",
"unit": "<string>",
"capturedData": "<string>",
"ocrText": "<string>",
"value": "<string>"
},
"prepaymentPeriods": [
{
"sequence": 123,
"periodType": "<string>",
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"description": "<string>"
}
],
"childTags": "<array>",
"lifecycleStatus": "ACTIVE",
"customLabel": "<string>",
"loanId": "<string>",
"loanDocId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tagSelections": [
{
"docPageId": "<string>",
"boundingBox": {
"x": 123,
"y": 123,
"width": 123,
"height": 123
},
"sequence": 123
}
],
"url": "<string>"
}
],
"covenants": [
{
"id": "<string>",
"tagName": "<string>",
"displayName": "<string>",
"category": "STANDARD",
"value": {
"kind": "date",
"unit": "<string>",
"capturedData": "<string>",
"ocrText": "<string>",
"value": "<string>"
},
"prepaymentPeriods": [
{
"sequence": 123,
"periodType": "<string>",
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"description": "<string>"
}
],
"childTags": "<array>",
"lifecycleStatus": "ACTIVE",
"customLabel": "<string>",
"loanId": "<string>",
"loanDocId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tagSelections": [
{
"docPageId": "<string>",
"boundingBox": {
"x": 123,
"y": 123,
"width": 123,
"height": 123
},
"sequence": 123
}
],
"url": "<string>"
}
],
"deliverables": [
{
"id": "<string>",
"tagName": "<string>",
"displayName": "<string>",
"category": "STANDARD",
"value": {
"kind": "date",
"unit": "<string>",
"capturedData": "<string>",
"ocrText": "<string>",
"value": "<string>"
},
"prepaymentPeriods": [
{
"sequence": 123,
"periodType": "<string>",
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"description": "<string>"
}
],
"childTags": "<array>",
"lifecycleStatus": "ACTIVE",
"customLabel": "<string>",
"loanId": "<string>",
"loanDocId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tagSelections": [
{
"docPageId": "<string>",
"boundingBox": {
"x": 123,
"y": 123,
"width": 123,
"height": 123
},
"sequence": 123
}
],
"url": "<string>"
}
],
"documents": {}
}
],
"hasMore": true
}{
"error": "Invalid Input",
"errorCode": "InvalidInput",
"message": "Unknown include keys: [bogus]; supported: [tags, documents, subleases]",
"status": "400 BAD_REQUEST",
"timestamp": "2026-09-02T20:41:03.118Z",
"localizedMessage": "Unknown include keys: [bogus]; supported: [tags, documents, subleases]"
}{
"error": "JWT authentication is not supported. Use an API key."
}{
"error": "Access Denied",
"errorCode": "AccessDenied",
"message": "Not authorized. Missing capabilities: READ:TAG",
"status": "403 FORBIDDEN",
"timestamp": "2026-09-02T20:41:03.118Z",
"localizedMessage": "Not authorized. Missing capabilities: READ:TAG"
}{
"error": "Entity Not Found",
"errorCode": "EntityNotFound",
"message": "This entity is not found in the system.",
"status": "404 NOT_FOUND",
"timestamp": "2026-09-02T20:41:03.118Z",
"localizedMessage": "This entity is not found in the system."
}Filters
Filters combine with AND: a result must match every filter you supply.| Filter | Description |
|---|---|
propertyId | Keep only loans with at least one collateral building in this property. |
buildingId | Keep only loans with this building among their collateral. |
name | Case-insensitive contains match on the loan name. |
loanType | Case-insensitive exact match on the loan type, such as ‘Construction Loan’; an unrecognized value returns no results. |
borrower | Case-insensitive contains match on the borrower. |
lender | Case-insensitive contains match on the lender’s legal name. |
closingAfter | Loans closing on or after this calendar date (yyyy-MM-dd); inclusive. |
closingBefore | Loans closing on or before this calendar date (yyyy-MM-dd); inclusive. |
status | Exact match on the loan’s processing status, ignoring case: whether Prophia has read its documents, not whether the loan is active, matured or paid off. |
Authorizations
Query Parameters
Optional collections to populate. Unknown keys are rejected with 400.
summary— adds the loan's consolidated summary terms, the values the loan page shows, with each container's child terms nested in its childTags. Covenants and reporting deliverables are left to their own include keys.- Requires the
READ:TAGcapability.
- Requires the
covenants— adds the loan's covenants: one entry per hardCovenant, softCovenant or otherCovenantReference container, with its terms nested in its childTags. A covenant struck by a later document is kept, with its rightIsStricken child.- Requires the
READ:TAGcapability.
- Requires the
deliverables— adds the loan's financial reporting deliverables: one entry per financialReportingDeliverable container, with its terms nested in its childTags. A deliverable struck by a later document is kept, with its rightIsStricken child.- Requires the
READ:TAGcapability.
- Requires the
documents— adds per-document page geometry keyed by loanDocId, for resolvingtagSelections[].docPageIdreferences.- Requires the
READ:DOCUMENTcapability.
- Requires the
Available options:
summary, covenants, deliverables, documents Response
OK

