Pylon GraphQL API
Welcome to the Pylon GraphQL API Documentation! This reference includes the complete set of GraphQL queries and mutations needed for mortgage - from getting teaser rates to show potential borrowers to getting a rate lock for a borrower at the end of the application process.
API Endpoints
https://pylon.mortgage/graphql
Webhooks
Pylon can notify your application when key events occur inside the platform by delivering signed webhooks over HTTPS.
Configuration
Webhook delivery is configured per customer: an HTTPS callback URL, the set of subscribed events, and a signing secret shared between Pylon and your application. Contact Pylon to enable webhooks for your integration or to rotate your signing secret.
Delivery
Events are delivered as POST requests with a JSON body and these headers:
| Header | Meaning |
|---|---|
X-Pylon-Signature |
Versioned HMAC signature of the request: v1=<hex digest>. |
X-Pylon-Timestamp |
Unix time (seconds) at which the delivery was signed. |
X-Pylon-Idempotency-Key |
Stable identifier for the event; identical across retries. |
Delivery is at-least-once. A 2xx response acknowledges the event. Any other response is treated as a failed delivery and retried with exponential backoff, except statuses in the 4xx range other than 429, which mark the delivery as permanently failed. Because retries can produce duplicate deliveries, deduplicate on X-Pylon-Idempotency-Key (also present in the payload as idempotencyKey).
Verifying signatures
Verify every delivery before trusting it:
- Read the raw request body exactly as received — do not re-serialize the JSON.
- Concatenate the value of
X-Pylon-Timestamp, a period (.), and the raw body. - Compute the HMAC-SHA256 hex digest of that string using your signing secret.
- Compare
v1=<digest>againstX-Pylon-Signaturewith a constant-time comparison. - Reject deliveries whose timestamp is more than 5 minutes from your clock. The timestamp is bound into the signature, so a replayed request cannot present a fresher one.
import { createHmac, timingSafeEqual } from "node:crypto";
function verifyPylonWebhook(headers, rawBody, secret) {
const timestamp = headers["x-pylon-timestamp"] ?? "";
const signature = headers["x-pylon-signature"] ?? "";
if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) {
return false;
}
const digest = createHmac("sha256", secret)
.update(`.`)
.digest("hex");
const expected = Buffer.from(`v1=`);
const received = Buffer.from(signature);
return (
expected.length === received.length &&
timingSafeEqual(expected, received)
);
}
Event: contributor.created
Fired when a contributor — for example a borrower — is created, including when a loan officer creates the borrower from Pylon's Command Center. The payload identifies the surface the contributor was created from via source, so a host application can react specifically to contributors originating in the Command Center.
| Field | Type | Meaning |
|---|---|---|
event |
string | Always contributor.created. |
contributorId |
string | The contributor's Pylon ID — the identifier to store. |
dealId |
string or null | The deal in scope at creation, when one exists. |
role |
string | The contributor's role, e.g. BORROWER. |
customerId |
string | The Pylon customer the contributor belongs to. |
source |
string or null | Creation surface: COMMAND_CENTER, MORTGAGE_PORTAL, or ELEMENTS. null for creations that predate source attribution. |
createdAt |
string | ISO-8601 creation time. |
idempotencyKey |
string | <contributorId>:contributor.created, stable across retries and re-emits. |
{
"event": "contributor.created",
"contributorId": "cont_2q3X8x1JQvXhYw5mZk7Rr",
"dealId": "morwor_5b9Kd2mPnWcVtL4sYq8Hh",
"role": "BORROWER",
"customerId": "cust_7f1Ns6vBqTgXjM3wZp2Ee",
"source": "COMMAND_CENTER",
"createdAt": "2026-07-02T17:24:08.000Z",
"idempotencyKey": "cont_2q3X8x1JQvXhYw5mZk7Rr:contributor.created"
}
Queries
advisorCompletionJob
Response
Returns an AdvisorCompletionJob
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query advisorCompletionJob($id: ID!) {
advisorCompletionJob(id: $id) {
failureMessage
id
status
}
}
Variables
{"id": "4"}
Response
{
"data": {
"advisorCompletionJob": {
"failureMessage": "xyz789",
"id": "4",
"status": "FAILED"
}
}
}
advisorSession
Response
Returns an AdvisorSession
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query advisorSession($id: ID!) {
advisorSession(id: $id) {
createdAt
id
messages {
...AdvisorSessionMessageFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"advisorSession": {
"createdAt": "2007-12-03T10:15:30Z",
"id": 4,
"messages": [AdvisorSessionMessage]
}
}
}
advisorSessions
Response
Returns [AdvisorSession!]
Example
Query
query advisorSessions {
advisorSessions {
createdAt
id
messages {
...AdvisorSessionMessageFragment
}
}
}
Response
{
"data": {
"advisorSessions": [
{
"createdAt": "2007-12-03T10:15:30Z",
"id": "4",
"messages": [AdvisorSessionMessage]
}
]
}
}
analytics
Description
Namespace for analytics queries. Analytics queries are for querying tabular data built from pre-aggregated API entities. The results can be consumed directly or exported in bulk to a file.
Response
Returns an Analytics
Example
Query
query analytics {
analytics {
job {
...AnalyticsExportJobFragment
}
loanApplicationMetrics {
...LoanApplicationAnalyticsMetricsFragment
}
loanApplications {
...LoanApplicationAnalyticsConnectionFragment
}
summary {
...PipelineSummaryResponseFragment
}
}
}
Response
{
"data": {
"analytics": {
"job": AnalyticsExportJob,
"loanApplicationMetrics": LoanApplicationAnalyticsMetrics,
"loanApplications": LoanApplicationAnalyticsConnection,
"summary": PipelineSummaryResponse
}
}
}
appraisal
Description
Appraisal queries.
Response
Returns an AppraisalQueries
Example
Query
query appraisal {
appraisal {
availableAmcs {
...AvailableAmcFragment
}
availableAppraisalTypes {
...AvailableAppraisalTypeFragment
}
}
}
Response
{
"data": {
"appraisal": {
"availableAmcs": [AvailableAmc],
"availableAppraisalTypes": [AvailableAppraisalType]
}
}
}
asset
Description
Get an asset by ID
Example
Query
query asset($id: ID!) {
asset(id: $id) {
amount
assetReportId
borrowerIds
id
nonBorrowerOwnerNames
qualifiedAmount
verifiedAmount
}
}
Variables
{"id": 4}
Response
{
"data": {
"asset": {
"amount": 123,
"assetReportId": 4,
"borrowerIds": [4],
"id": 4,
"nonBorrowerOwnerNames": ["xyz789"],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
}
}
assetTransaction
Description
Get an asset transaction by ID
Response
Returns an AssetTransaction
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query assetTransaction($id: ID!) {
assetTransaction(id: $id) {
amount
assetId
category
date
id
merchantName
}
}
Variables
{"id": 4}
Response
{
"data": {
"assetTransaction": {
"amount": 123,
"assetId": 4,
"category": ["xyz789"],
"date": "2007-12-03",
"id": "4",
"merchantName": "xyz789"
}
}
}
assetTransactions
Description
Get all transactions for an asset
Response
Returns [AssetTransaction!]!
Arguments
| Name | Description |
|---|---|
assetId - ID!
|
Example
Query
query assetTransactions($assetId: ID!) {
assetTransactions(assetId: $assetId) {
amount
assetId
category
date
id
merchantName
}
}
Variables
{"assetId": "4"}
Response
{
"data": {
"assetTransactions": [
{
"amount": 123,
"assetId": 4,
"category": ["abc123"],
"date": "2007-12-03",
"id": "4",
"merchantName": "xyz789"
}
]
}
}
assetVerification
Response
Returns an AssetVerificationQueries
Example
Query
query assetVerification {
assetVerification {
items {
...AssetVerificationItemFragment
}
links {
...AssetVerificationLinkSummaryFragment
}
}
}
Response
{
"data": {
"assetVerification": {
"items": [AssetVerificationItem],
"links": [AssetVerificationLinkSummary]
}
}
}
aus
Description
Fetch AUS information associated with a loan.
Response
Returns an Aus
Example
Query
query aus {
aus {
ausRequiredForLoan
ausRunJob {
...AusRunJobFragment
}
latestAusRunForLoan {
...AusRunJobFragment
}
}
}
Response
{
"data": {
"aus": {
"ausRequiredForLoan": false,
"ausRunJob": AusRunJob,
"latestAusRunForLoan": AusRunJob
}
}
}
auth
Description
Namespace for auth queries.
Response
Returns an AuthQueries
Example
Query
query auth {
auth {
impersonation {
...AuthImpersonationFragment
}
scopes
viewer {
...AuthViewerFragment
}
}
}
Response
{
"data": {
"auth": {
"impersonation": AuthImpersonation,
"scopes": ["abc123"],
"viewer": AuthViewer
}
}
}
borrower
Description
Get a borrower by id
Example
Query
query borrower($id: ID!) {
borrower(id: $id) {
assets {
...AssetFragment
}
borrowerTasks {
...BorrowerTaskFragment
}
createdOn
credit {
...BorrowerCreditFragment
}
creditInquiries {
...CreditInquiryFragment
}
deal {
...DealFragment
}
demographicInfo {
...DemographicInfoFragment
}
dependentAges
emailVerified
externalUserId
financialDeclarations {
...BorrowerFinancialDeclarationsFragment
}
hardCreditConsentDate
hardCreditConsentType
id
incomes {
...IncomeConnectionFragment
}
isFirstTimeHomeBuyer
liabilities {
...LiabilityConnectionFragment
}
mailingAddress {
...AddressFragment
}
maritalStatus
militaryService {
...BorrowerMilitaryServiceFragment
}
militaryServiceDeclaration {
... on MilitaryService {
...MilitaryServiceFragment
}
... on NoMilitaryService {
...NoMilitaryServiceFragment
}
}
ownedProperties {
...OwnedPropertyConnectionFragment
}
personalInformation {
...BorrowerPersonalInformationFragment
}
pointOfContact
propertyDeclarations {
...BorrowerPropertyDeclarationsFragment
}
softCreditConsentDate
softCreditConsentType
spouse {
...BorrowerSpouseFragment
}
useOwnTitleCompany
}
}
Variables
{"id": "4"}
Response
{
"data": {
"borrower": {
"assets": [Asset],
"borrowerTasks": [BorrowerTask],
"createdOn": "2007-12-03T10:15:30Z",
"credit": BorrowerCredit,
"creditInquiries": [CreditInquiry],
"deal": Deal,
"demographicInfo": DemographicInfo,
"dependentAges": [123.45],
"emailVerified": false,
"externalUserId": "xyz789",
"financialDeclarations": BorrowerFinancialDeclarations,
"hardCreditConsentDate": "2007-12-03T10:15:30Z",
"hardCreditConsentType": "ELECTRONIC",
"id": 4,
"incomes": IncomeConnection,
"isFirstTimeHomeBuyer": true,
"liabilities": LiabilityConnection,
"mailingAddress": Address,
"maritalStatus": "DIVORCED",
"militaryService": BorrowerMilitaryService,
"militaryServiceDeclaration": MilitaryService,
"ownedProperties": OwnedPropertyConnection,
"personalInformation": BorrowerPersonalInformation,
"pointOfContact": true,
"propertyDeclarations": BorrowerPropertyDeclarations,
"softCreditConsentDate": "2007-12-03T10:15:30Z",
"softCreditConsentType": "ELECTRONIC",
"spouse": BorrowerSpouse,
"useOwnTitleCompany": false
}
}
}
borrowerUser
Description
Fetch a user in an organization by id
Response
Returns a BorrowerUser
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query borrowerUser($id: ID!) {
borrowerUser(id: $id) {
id
loanApplications {
...BorrowerUserLoanApplicationSummaryFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"borrowerUser": {
"id": 4,
"loanApplications": [
BorrowerUserLoanApplicationSummary
]
}
}
}
commsSettings
Description
Get the comms settings for the current organization. Distinct from the per-template opt-ins: these govern when a communication is triggered, not which templates the customer receives.
Response
Returns a CommsSettings
Example
Query
query commsSettings {
commsSettings {
autoSendBorrowerPortalInvite
customerId
}
}
Response
{
"data": {
"commsSettings": {"autoSendBorrowerPortalInvite": true, "customerId": 4}
}
}
commsTemplate
Description
Get comms template by id
Response
Returns a CommsTemplate
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query commsTemplate($id: ID!) {
commsTemplate(id: $id) {
id
name
recipients
subject
template
}
}
Variables
{"id": 4}
Response
{
"data": {
"commsTemplate": {
"id": 4,
"name": "abc123",
"recipients": ["BORROWER"],
"subject": "xyz789",
"template": "abc123"
}
}
}
commsTemplates
Description
Get all comms templates
Response
Returns [CommsTemplate!]
Example
Query
query commsTemplates {
commsTemplates {
id
name
recipients
subject
template
}
}
Response
{
"data": {
"commsTemplates": [
{
"id": "4",
"name": "xyz789",
"recipients": ["BORROWER"],
"subject": "abc123",
"template": "abc123"
}
]
}
}
company
Description
Get a company by ID
contributor
Response
Returns a Contributor
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query contributor($id: ID!) {
contributor(id: $id) {
contactInfo {
...ContributorContactInfoFragment
}
deals {
...DealConnectionFragment
}
disabledAt
displayName
id
role
roleId
}
}
Variables
{"id": "4"}
Response
{
"data": {
"contributor": {
"contactInfo": ContributorContactInfo,
"deals": DealConnection,
"disabledAt": "2007-12-03T10:15:30Z",
"displayName": "abc123",
"id": 4,
"role": "xyz789",
"roleId": 4
}
}
}
contributorRoles
Response
Returns a ContributorRoleConnection
Arguments
| Name | Description |
|---|---|
after - String
|
A cursor value that indicates the position after which items should be returned. Typically this should be the 'endCursor' of the previous page. |
before - String
|
A cursor value that indicates the position before which items should be returned. Typically this should be the 'startCursor' of the following page. |
first - Int
|
The number of items to be retrieved for forward pagination. Either 'first' or 'last' must be specified, but not both. This value must be between 1 and 500. |
last - Int
|
The number of items to be retrieved for backward pagination. Either 'first' or 'last' must be specified, but not both. This value must be between 1 and 500. |
sortDirection - SortDirection
|
The direction in which the results should be sorted. Defaults to ASC. |
Example
Query
query contributorRoles(
$after: String,
$before: String,
$first: Int,
$last: Int,
$sortDirection: SortDirection
) {
contributorRoles(
after: $after,
before: $before,
first: $first,
last: $last,
sortDirection: $sortDirection
) {
edges {
...ContributorRoleEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
Variables
{
"after": "xyz789",
"before": "abc123",
"first": 987,
"last": 987,
"sortDirection": "ASC"
}
Response
{
"data": {
"contributorRoles": {
"edges": [ContributorRoleEdge],
"pageInfo": PageInfo
}
}
}
contributors
Response
Returns a ContributorConnection
Arguments
| Name | Description |
|---|---|
after - String
|
A cursor value that indicates the position after which items should be returned. Typically this should be the 'endCursor' of the previous page. |
before - String
|
A cursor value that indicates the position before which items should be returned. Typically this should be the 'startCursor' of the following page. |
filterBy - ContributorFilter
|
|
first - Int
|
The number of items to be retrieved for forward pagination. Either 'first' or 'last' must be specified, but not both. This value must be between 1 and 500. |
last - Int
|
The number of items to be retrieved for backward pagination. Either 'first' or 'last' must be specified, but not both. This value must be between 1 and 500. |
sortDirection - SortDirection
|
The direction in which the results should be sorted. Defaults to ASC. |
Example
Query
query contributors(
$after: String,
$before: String,
$filterBy: ContributorFilter,
$first: Int,
$last: Int,
$sortDirection: SortDirection
) {
contributors(
after: $after,
before: $before,
filterBy: $filterBy,
first: $first,
last: $last,
sortDirection: $sortDirection
) {
edges {
...ContributorEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
Variables
{
"after": "abc123",
"before": "xyz789",
"filterBy": ContributorFilter,
"first": 123,
"last": 987,
"sortDirection": "ASC"
}
Response
{
"data": {
"contributors": {
"edges": [ContributorEdge],
"pageInfo": PageInfo
}
}
}
credit
Description
Namespace for credit queries. These allow checking on the status of a credit pull and retrieving the credit report once the credit pull is complete.
Response
Returns a Credit
Example
Query
query credit {
credit {
job {
...CreditPullJobFragment
}
missingFieldsForCreditPull
report {
...CreditReportFragment
}
udnMonitors {
...UdnMonitorGqlFragment
}
}
}
Response
{
"data": {
"credit": {
"job": CreditPullJob,
"missingFieldsForCreditPull": ["BORROWER_CURRENT_ADDRESS"],
"report": CreditReport,
"udnMonitors": [UdnMonitorGql]
}
}
}
creditInquiry
Description
Get a credit inquiry by ID
Response
Returns a CreditInquiry
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query creditInquiry($id: ID!) {
creditInquiry(id: $id) {
creditBusinessType
creditInquiryResultType
date
detailCreditBusinessType
id
name
}
}
Variables
{"id": 4}
Response
{
"data": {
"creditInquiry": {
"creditBusinessType": "ADVERTISING",
"creditInquiryResultType": "ACCOUNT_CLOSED",
"date": "2007-12-03T10:15:30Z",
"detailCreditBusinessType": "ADVERTISING_AGENCIES",
"id": "4",
"name": "xyz789"
}
}
}
currentLoanOfficer
Description
The authenticated user's own GlobalLoanOfficer record, matched by Auth0 email within the current organization. Null when the caller is not a loan officer.
Response
Returns a GlobalLoanOfficer
Example
Query
query currentLoanOfficer {
currentLoanOfficer {
email
firstName
id
lastName
slug
}
}
Response
{
"data": {
"currentLoanOfficer": {
"email": "xyz789",
"firstName": "xyz789",
"id": "4",
"lastName": "abc123",
"slug": "xyz789"
}
}
}
customerCommsOptIns
Description
Get customer comms opt-in status for the current organization
Response
Returns a CustomerCommsOptIns
Example
Query
query customerCommsOptIns {
customerCommsOptIns {
comms {
...CommsWithOptInStatusFragment
}
customerId
customerName
}
}
Response
{
"data": {
"customerCommsOptIns": {
"comms": [CommsWithOptInStatus],
"customerId": "4",
"customerName": "xyz789"
}
}
}
deal
Description
Fetch a deal by id. A deal encapsulates the entire process of getting a mortgage, including situations such as concurrent financing where there could be multiple loans
Example
Query
query deal($id: ID!) {
deal(id: $id) {
borrowers {
...BorrowerConnectionFragment
}
creationTime
friendlyId
id
loans {
...LoanApplicationFragment
}
parties {
...PartyFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"deal": {
"borrowers": BorrowerConnection,
"creationTime": "2007-12-03T10:15:30Z",
"friendlyId": "abc123",
"id": "4",
"loans": [LoanApplication],
"parties": [Party]
}
}
}
deals
Description
List all deals
Response
Returns a DealConnection
Arguments
| Name | Description |
|---|---|
after - String
|
A cursor value that indicates the position after which items should be returned. Typically this should be the 'endCursor' of the previous page. |
before - String
|
A cursor value that indicates the position before which items should be returned. Typically this should be the 'startCursor' of the following page. |
first - Int
|
The number of items to be retrieved for forward pagination. Either 'first' or 'last' must be specified, but not both. This value must be between 1 and 500. |
last - Int
|
The number of items to be retrieved for backward pagination. Either 'first' or 'last' must be specified, but not both. This value must be between 1 and 500. |
sortDirection - SortDirection
|
The direction in which the results should be sorted. Defaults to ASC. |
Example
Query
query deals(
$after: String,
$before: String,
$first: Int,
$last: Int,
$sortDirection: SortDirection
) {
deals(
after: $after,
before: $before,
first: $first,
last: $last,
sortDirection: $sortDirection
) {
edges {
...DealEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"first": 123,
"last": 123,
"sortDirection": "ASC"
}
Response
{
"data": {
"deals": {
"edges": [DealEdge],
"pageInfo": PageInfo
}
}
}
demoSeed
Response
Returns a DemoSeedQueries
Example
Query
query demoSeed {
demoSeed {
ausConditionScenarios {
...DemoAusConditionScenarioFragment
}
wireOutWorksheetScenarios {
...DemoWireOutWorksheetScenarioFragment
}
}
}
Response
{
"data": {
"demoSeed": {
"ausConditionScenarios": [DemoAusConditionScenario],
"wireOutWorksheetScenarios": [
DemoWireOutWorksheetScenario
]
}
}
}
disclosures
disclosuresHistory instead to grab all disclosures, including both recent and historical runs. Response
Returns a Disclosures
Arguments
| Name | Description |
|---|---|
loanId - String!
|
Example
Query
query disclosures($loanId: String!) {
disclosures(loanId: $loanId) {
adverseAction {
...DisclosureFragment
}
closingDisclosure {
...DisclosureFragment
}
initialDisclosure {
...DisclosureFragment
}
redisclosure {
...DisclosureFragment
}
}
}
Variables
{"loanId": "abc123"}
Response
{
"data": {
"disclosures": {
"adverseAction": Disclosure,
"closingDisclosure": Disclosure,
"initialDisclosure": Disclosure,
"redisclosure": Disclosure
}
}
}
disclosuresHistory
Response
Returns a DisclosuresHistory
Arguments
| Name | Description |
|---|---|
loanId - ID!
|
Example
Query
query disclosuresHistory($loanId: ID!) {
disclosuresHistory(loanId: $loanId) {
disclosures {
...DisclosureFragment
}
}
}
Variables
{"loanId": 4}
Response
{
"data": {
"disclosuresHistory": {"disclosures": [Disclosure]}
}
}
disclosuresPreviews
Response
Returns a DisclosuresPreviews
Arguments
| Name | Description |
|---|---|
loanId - String!
|
Example
Query
query disclosuresPreviews($loanId: String!) {
disclosuresPreviews(loanId: $loanId) {
adverseAction {
...DisclosurePreviewFragment
}
closingDisclosure {
...DisclosurePreviewFragment
}
initialDisclosure {
...DisclosurePreviewFragment
}
redisclosure {
...DisclosurePreviewFragment
}
}
}
Variables
{"loanId": "abc123"}
Response
{
"data": {
"disclosuresPreviews": {
"adverseAction": DisclosurePreview,
"closingDisclosure": DisclosurePreview,
"initialDisclosure": DisclosurePreview,
"redisclosure": DisclosurePreview
}
}
}
disclosuresRunStatus
Description
Look up the status of an asynchronous disclosures run by its ID (e.g. the disclosuresRunId returned from floatStructure). Use this to observe whether an enqueued package was actually sent, is still processing, or failed — and, on failure, why.
Response
Returns a DisclosuresRunStatus!
Arguments
| Name | Description |
|---|---|
disclosuresRunId - ID!
|
Example
Query
query disclosuresRunStatus($disclosuresRunId: ID!) {
disclosuresRunStatus(disclosuresRunId: $disclosuresRunId) {
disclosuresRunId
errors
stage
status
}
}
Variables
{"disclosuresRunId": "4"}
Response
{
"data": {
"disclosuresRunStatus": {
"disclosuresRunId": "4",
"errors": ["abc123"],
"stage": "ADVERSE_ACTION_DISCLOSURES",
"status": "FAILED"
}
}
}
documentEvidence
Description
Document evidence queries.
Response
Returns a LoanDocumentQueries
Example
Query
query documentEvidence {
documentEvidence {
documentById {
...LoanDocumentFragment
}
}
}
Response
{
"data": {
"documentEvidence": {"documentById": LoanDocument}
}
}
documentIntake
Description
Per-file document-intake status queries.
Response
Returns a DocumentIntakeQueries
Example
Query
query documentIntake {
documentIntake {
seedOutcome {
...SeedOutcomeResponseFragment
}
seeding {
...DocumentSeedingFragment
}
status {
...DocumentIntakeStatusResponseFragment
}
}
}
Response
{
"data": {
"documentIntake": {
"seedOutcome": SeedOutcomeResponse,
"seeding": DocumentSeeding,
"status": DocumentIntakeStatusResponse
}
}
}
events
Description
Query entity change events. Use the 'next' field to poll for subsequent changes.
Response
Returns an EntityEventsResponse!
Arguments
| Name | Description |
|---|---|
since - String
|
The next cursor from the previous batch, or null to obtain a fresh cursor. |
Example
Query
query events($since: String) {
events(since: $since) {
batch {
...NodeChangedEventBatchFragment
}
next
}
}
Variables
{"since": "abc123"}
Response
{
"data": {
"events": {
"batch": NodeChangedEventBatch,
"next": "xyz789"
}
}
}
extractDocument
Description
Document extraction queries.
Response
Returns an ExtractDocumentQueries
Example
Query
query extractDocument {
extractDocument {
status {
...ExtractDocumentStatusResponseFragment
}
}
}
Response
{
"data": {
"extractDocument": {
"status": ExtractDocumentStatusResponse
}
}
}
featureFlags
Description
Evaluate feature flags by name for the current customer
Response
Returns [FeatureFlagResult!]!
Arguments
| Name | Description |
|---|---|
names - [String!]!
|
Flag names to evaluate |
Example
Query
query featureFlags($names: [String!]!) {
featureFlags(names: $names) {
enabled
name
}
}
Variables
{"names": ["xyz789"]}
Response
{
"data": {
"featureFlags": [
{"enabled": true, "name": "abc123"}
]
}
}
fee
Example
Query
query fee($id: ID!) {
fee(id: $id) {
escrowItemType
feeActualTotalAmount
feeDescription
feePaidToType
feePayments {
...FeePaymentFragment
}
feeSpecifiedFixedAmount
feeTotalPercent
feeType
id
integratedDisclosureSectionType
monthlyAmount
monthsPaid
paidTo {
...PaidToFragment
}
prepaidItemType
}
}
Variables
{"id": 4}
Response
{
"data": {
"fee": {
"escrowItemType": "ASSESSMENT_TAX",
"feeActualTotalAmount": 123,
"feeDescription": "abc123",
"feePaidToType": "BROKER",
"feePayments": [FeePayment],
"feeSpecifiedFixedAmount": 123,
"feeTotalPercent": 123,
"feeType": "APPLICATION_FEE",
"id": 4,
"integratedDisclosureSectionType": "DUE_FROM_BORROWER_AT_CLOSING",
"monthlyAmount": 123,
"monthsPaid": 123,
"paidTo": PaidTo,
"prepaidItemType": "BOROUGH_PROPERTY_TAX"
}
}
}
feeSheet
Description
Fee sheet queries
Response
Returns a FeeSheetQueries
Example
Query
query feeSheet {
feeSheet {
feeSheetRequestStatus {
...FeeSheetRequestStatusFragment
}
}
}
Response
{
"data": {
"feeSheet": {
"feeSheetRequestStatus": FeeSheetRequestStatus
}
}
}
flood
Description
Namespace for flood queries. Allows checking the status of a flood determination order and retrieving its result once completed.
Response
Returns a FloodQueries
Example
Query
query flood {
flood {
floodOrder {
...FloodOrderFragment
}
}
}
Response
{"data": {"flood": {"floodOrder": FloodOrder}}}
funding
Description
Funding queries
Response
Returns a FundingQueries
Example
Query
query funding {
funding {
activity {
...FundingActivityPageFragment
}
}
}
Response
{"data": {"funding": {"activity": FundingActivityPage}}}
geography
Description
Namespace for geography queries. These allow querying state and county information needed for licensing and pre-approval.
Response
Returns a Geography
Example
Query
query geography {
geography {
place {
...PlaceDetailsFragment
}
placeAutocomplete {
...PlaceAutocompleteSuggestionFragment
}
usState {
...UsStateFragment
}
}
}
Response
{
"data": {
"geography": {
"place": PlaceDetails,
"placeAutocomplete": [PlaceAutocompleteSuggestion],
"usState": UsState
}
}
}
income
Description
Get an income by ID
Example
Query
query income($id: ID!) {
income(id: $id) {
averageHoursPerWeek
id
payPeriodFrequency
qualifiedAmount
statedAmount
statedMonthlyAmount
verifiedAmount
voieReportId
}
}
Variables
{"id": 4}
Response
{
"data": {
"income": {
"averageHoursPerWeek": 123,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
}
}
incomeVerification
Response
Returns an IncomeVerificationQueries
Example
Query
query incomeVerification {
incomeVerification {
orders {
...IncomeVerificationOrderSummaryFragment
}
}
}
Response
{
"data": {
"incomeVerification": {
"orders": [IncomeVerificationOrderSummary]
}
}
}
liability
Description
Get a liabilitiy by ID
Example
Query
query liability($id: ID!) {
liability(id: $id) {
accountIdentifier
balance
bankName
creditorName
exclusionReason
id
intent
monthlyPayment
reportType
type
}
}
Variables
{"id": 4}
Response
{
"data": {
"liability": {
"accountIdentifier": "abc123",
"balance": 123.45,
"bankName": "xyz789",
"creditorName": "xyz789",
"exclusionReason": "ASSIGNED_TO_ANOTHER_PARTY",
"id": 4,
"intent": "DO_NOTHING",
"monthlyPayment": 123.45,
"reportType": "CREDIT_REPORT",
"type": "BORROWER_ESTIMATED_TOTAL_MONTHLY_LIABILITY_PAYMENT"
}
}
}
loan
Description
Get a Loan by ID or by friendly ID
Example
Query
query loan($id: ID!) {
loan(id: $id) {
allowedStates
appraisal {
...AppraisalFragment
}
appraisalOrders {
...AppraisalOrderFragment
}
assignedLoanOfficer {
...LoanOfficerFragment
}
availableGlobalLoanOfficers {
...GlobalLoanOfficerFragment
}
availableLoanAssignments {
...LoanAssignmentUserFragment
}
borrowerPreferences {
...BorrowerPreferencesFragment
}
borrowers {
...BorrowerConnectionFragment
}
bulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
cashOutType
changeRequests {
...LoanChangeRequestFragment
}
closingDate
concessions {
...ConcessionLogFragment
}
contacts {
...ContactFragment
}
currentStage
customerPointAdjustments {
...CustomerPointAdjustmentFragment
}
dealId
disclosureDrift {
... on DisclosureDriftAssessed {
...DisclosureDriftAssessedFragment
}
... on DisclosureDriftNoBaseline {
...DisclosureDriftNoBaselineFragment
}
}
documents {
...DocumentFragment
}
duplicateLiabilitySuggestions {
...DuplicateLiabilitySuggestionFragment
}
earnestMoneyDeposit
effectiveAppraisalWaiver
employmentsMissingStartDateCount
estimatedRatios {
...EstimatedLoanRatiosFragment
}
fees {
...FeeFragment
}
friendlyId
fundedDate
fundingSettlement {
...FundingSettlementFragment
}
getAutoConditionalApprovalStatus {
...GetAutoConditionalApprovalStatusResponseFragment
}
id
intentToProceedDate
isClosed
isFirstTimeHomebuyer
isFloated
isFrozen
latestBulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
latestPreApprovalRunTime
latestSuccessfulBulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
liabilities {
...LiabilityFragment
}
loanAssignments {
...LoanAssignmentFragment
}
loanContact {
...LoanContactFragment
}
loanDocuments {
...LoanDocumentFragment
}
loanNumber
loanOfficerDocumentTasks {
...LoanOfficerDocumentTaskFragment
}
loanProcess {
...LoanProcessFragment
}
loanPurpose
loanTermYears
lockedSummary {
...LockedLoanSummaryFragment
}
ltv
maxLoanAmount
maxPurchasePrice
mismoImport {
...MismoImportFragment
}
noteRatePercent
orderOuts {
... on Appraisal {
...AppraisalFragment
}
... on Title {
...TitleFragment
}
}
outOfPocketMax
pointOfContact {
...BorrowerFragment
}
preapprovalProduct {
...ProductFragment
}
pricingFreshness {
...LoanPricingFreshnessFragment
}
productPricingRate {
...ProductPricingRateFragment
}
productStructure {
...ProductPricingRateFragment
}
productStructureDegraded {
...DegradedProductStructureFragment
}
purchasePrice
pylonApproved
rateLock {
...RateLockDetailsFragment
}
rateLockTerm
refinanceCashOutProceeds
sellerCredit
servicers {
...ContactFragment
}
stages {
...LoanStageFragment
}
subjectProperty {
...SubjectPropertyFragment
}
subjectPropertyIntent {
...SubjectPropertyIntentFragment
}
title {
...TitleFragment
}
titleCompanyAttached
totalAssetsAvailable
tridTriggeredDate
underwritingSubmissionGate {
...UnderwritingSubmissionGateFragment
}
useOwnTitleCompany
}
}
Variables
{"id": 4}
Response
{
"data": {
"loan": {
"allowedStates": ["AK"],
"appraisal": Appraisal,
"appraisalOrders": [AppraisalOrder],
"assignedLoanOfficer": LoanOfficer,
"availableGlobalLoanOfficers": [GlobalLoanOfficer],
"availableLoanAssignments": [LoanAssignmentUser],
"borrowerPreferences": BorrowerPreferences,
"borrowers": BorrowerConnection,
"bulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"cashOutType": "CASH_OUT",
"changeRequests": [LoanChangeRequest],
"closingDate": "2007-12-03",
"concessions": [ConcessionLog],
"contacts": [Contact],
"currentStage": "abc123",
"customerPointAdjustments": CustomerPointAdjustment,
"dealId": "abc123",
"disclosureDrift": DisclosureDriftAssessed,
"documents": [Document],
"duplicateLiabilitySuggestions": [
DuplicateLiabilitySuggestion
],
"earnestMoneyDeposit": 123.45,
"effectiveAppraisalWaiver": "AUTOMATED_COLLATERAL_EVALUATION",
"employmentsMissingStartDateCount": 123,
"estimatedRatios": EstimatedLoanRatios,
"fees": [Fee],
"friendlyId": "abc123",
"fundedDate": "2007-12-03",
"fundingSettlement": FundingSettlement,
"getAutoConditionalApprovalStatus": GetAutoConditionalApprovalStatusResponse,
"id": "4",
"intentToProceedDate": "2007-12-03",
"isClosed": false,
"isFirstTimeHomebuyer": true,
"isFloated": false,
"isFrozen": false,
"latestBulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"latestPreApprovalRunTime": "2007-12-03T10:15:30Z",
"latestSuccessfulBulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"liabilities": [Liability],
"loanAssignments": [LoanAssignment],
"loanContact": LoanContact,
"loanDocuments": [LoanDocument],
"loanNumber": "xyz789",
"loanOfficerDocumentTasks": [
LoanOfficerDocumentTask
],
"loanProcess": LoanProcess,
"loanPurpose": "PURCHASE",
"loanTermYears": 123.45,
"lockedSummary": LockedLoanSummary,
"ltv": 123.45,
"maxLoanAmount": 123.45,
"maxPurchasePrice": 123.45,
"mismoImport": MismoImport,
"noteRatePercent": 123.45,
"orderOuts": [Appraisal],
"outOfPocketMax": 123,
"pointOfContact": Borrower,
"preapprovalProduct": Product,
"pricingFreshness": LoanPricingFreshness,
"productPricingRate": ProductPricingRate,
"productStructure": ProductPricingRate,
"productStructureDegraded": DegradedProductStructure,
"purchasePrice": 123,
"pylonApproved": true,
"rateLock": RateLockDetails,
"rateLockTerm": 123,
"refinanceCashOutProceeds": 123,
"sellerCredit": 123,
"servicers": [Contact],
"stages": [LoanStage],
"subjectProperty": SubjectProperty,
"subjectPropertyIntent": SubjectPropertyIntent,
"title": Title,
"titleCompanyAttached": true,
"totalAssetsAvailable": 123,
"tridTriggeredDate": "2007-12-03",
"underwritingSubmissionGate": UnderwritingSubmissionGate,
"useOwnTitleCompany": false
}
}
}
loanByLoanNumber
Description
Get a Loan by its loan number
Example
Query
query loanByLoanNumber($loanNumber: Int!) {
loanByLoanNumber(loanNumber: $loanNumber) {
allowedStates
appraisal {
...AppraisalFragment
}
appraisalOrders {
...AppraisalOrderFragment
}
assignedLoanOfficer {
...LoanOfficerFragment
}
availableGlobalLoanOfficers {
...GlobalLoanOfficerFragment
}
availableLoanAssignments {
...LoanAssignmentUserFragment
}
borrowerPreferences {
...BorrowerPreferencesFragment
}
borrowers {
...BorrowerConnectionFragment
}
bulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
cashOutType
changeRequests {
...LoanChangeRequestFragment
}
closingDate
concessions {
...ConcessionLogFragment
}
contacts {
...ContactFragment
}
currentStage
customerPointAdjustments {
...CustomerPointAdjustmentFragment
}
dealId
disclosureDrift {
... on DisclosureDriftAssessed {
...DisclosureDriftAssessedFragment
}
... on DisclosureDriftNoBaseline {
...DisclosureDriftNoBaselineFragment
}
}
documents {
...DocumentFragment
}
duplicateLiabilitySuggestions {
...DuplicateLiabilitySuggestionFragment
}
earnestMoneyDeposit
effectiveAppraisalWaiver
employmentsMissingStartDateCount
estimatedRatios {
...EstimatedLoanRatiosFragment
}
fees {
...FeeFragment
}
friendlyId
fundedDate
fundingSettlement {
...FundingSettlementFragment
}
getAutoConditionalApprovalStatus {
...GetAutoConditionalApprovalStatusResponseFragment
}
id
intentToProceedDate
isClosed
isFirstTimeHomebuyer
isFloated
isFrozen
latestBulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
latestPreApprovalRunTime
latestSuccessfulBulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
liabilities {
...LiabilityFragment
}
loanAssignments {
...LoanAssignmentFragment
}
loanContact {
...LoanContactFragment
}
loanDocuments {
...LoanDocumentFragment
}
loanNumber
loanOfficerDocumentTasks {
...LoanOfficerDocumentTaskFragment
}
loanProcess {
...LoanProcessFragment
}
loanPurpose
loanTermYears
lockedSummary {
...LockedLoanSummaryFragment
}
ltv
maxLoanAmount
maxPurchasePrice
mismoImport {
...MismoImportFragment
}
noteRatePercent
orderOuts {
... on Appraisal {
...AppraisalFragment
}
... on Title {
...TitleFragment
}
}
outOfPocketMax
pointOfContact {
...BorrowerFragment
}
preapprovalProduct {
...ProductFragment
}
pricingFreshness {
...LoanPricingFreshnessFragment
}
productPricingRate {
...ProductPricingRateFragment
}
productStructure {
...ProductPricingRateFragment
}
productStructureDegraded {
...DegradedProductStructureFragment
}
purchasePrice
pylonApproved
rateLock {
...RateLockDetailsFragment
}
rateLockTerm
refinanceCashOutProceeds
sellerCredit
servicers {
...ContactFragment
}
stages {
...LoanStageFragment
}
subjectProperty {
...SubjectPropertyFragment
}
subjectPropertyIntent {
...SubjectPropertyIntentFragment
}
title {
...TitleFragment
}
titleCompanyAttached
totalAssetsAvailable
tridTriggeredDate
underwritingSubmissionGate {
...UnderwritingSubmissionGateFragment
}
useOwnTitleCompany
}
}
Variables
{"loanNumber": 987}
Response
{
"data": {
"loanByLoanNumber": {
"allowedStates": ["AK"],
"appraisal": Appraisal,
"appraisalOrders": [AppraisalOrder],
"assignedLoanOfficer": LoanOfficer,
"availableGlobalLoanOfficers": [GlobalLoanOfficer],
"availableLoanAssignments": [LoanAssignmentUser],
"borrowerPreferences": BorrowerPreferences,
"borrowers": BorrowerConnection,
"bulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"cashOutType": "CASH_OUT",
"changeRequests": [LoanChangeRequest],
"closingDate": "2007-12-03",
"concessions": [ConcessionLog],
"contacts": [Contact],
"currentStage": "abc123",
"customerPointAdjustments": CustomerPointAdjustment,
"dealId": "abc123",
"disclosureDrift": DisclosureDriftAssessed,
"documents": [Document],
"duplicateLiabilitySuggestions": [
DuplicateLiabilitySuggestion
],
"earnestMoneyDeposit": 123.45,
"effectiveAppraisalWaiver": "AUTOMATED_COLLATERAL_EVALUATION",
"employmentsMissingStartDateCount": 987,
"estimatedRatios": EstimatedLoanRatios,
"fees": [Fee],
"friendlyId": "xyz789",
"fundedDate": "2007-12-03",
"fundingSettlement": FundingSettlement,
"getAutoConditionalApprovalStatus": GetAutoConditionalApprovalStatusResponse,
"id": 4,
"intentToProceedDate": "2007-12-03",
"isClosed": true,
"isFirstTimeHomebuyer": true,
"isFloated": false,
"isFrozen": false,
"latestBulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"latestPreApprovalRunTime": "2007-12-03T10:15:30Z",
"latestSuccessfulBulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"liabilities": [Liability],
"loanAssignments": [LoanAssignment],
"loanContact": LoanContact,
"loanDocuments": [LoanDocument],
"loanNumber": "abc123",
"loanOfficerDocumentTasks": [
LoanOfficerDocumentTask
],
"loanProcess": LoanProcess,
"loanPurpose": "PURCHASE",
"loanTermYears": 123.45,
"lockedSummary": LockedLoanSummary,
"ltv": 123.45,
"maxLoanAmount": 987.65,
"maxPurchasePrice": 987.65,
"mismoImport": MismoImport,
"noteRatePercent": 123.45,
"orderOuts": [Appraisal],
"outOfPocketMax": 123,
"pointOfContact": Borrower,
"preapprovalProduct": Product,
"pricingFreshness": LoanPricingFreshness,
"productPricingRate": ProductPricingRate,
"productStructure": ProductPricingRate,
"productStructureDegraded": DegradedProductStructure,
"purchasePrice": 123,
"pylonApproved": false,
"rateLock": RateLockDetails,
"rateLockTerm": 123,
"refinanceCashOutProceeds": 123,
"sellerCredit": 123,
"servicers": [Contact],
"stages": [LoanStage],
"subjectProperty": SubjectProperty,
"subjectPropertyIntent": SubjectPropertyIntent,
"title": Title,
"titleCompanyAttached": true,
"totalAssetsAvailable": 123,
"tridTriggeredDate": "2007-12-03",
"underwritingSubmissionGate": UnderwritingSubmissionGate,
"useOwnTitleCompany": false
}
}
}
loanEvents
Description
A loan's lifecycle events in append order, oldest first. Pass the returned next cursor back as after to page or poll.
Response
Returns a LoanEventsResponse!
Example
Query
query loanEvents(
$after: String,
$first: Int,
$loanId: ID!
) {
loanEvents(
after: $after,
first: $first,
loanId: $loanId
) {
events {
...LoanEventFragment
}
next
}
}
Variables
{
"after": "xyz789",
"first": 25,
"loanId": 4
}
Response
{
"data": {
"loanEvents": {
"events": [LoanEvent],
"next": "abc123"
}
}
}
loanScript
Response
Returns a LoanScriptQueries
Example
Query
query loanScript {
loanScript {
all {
...LoanScriptFragment
}
byScenarioId {
...LoanScriptFragment
}
stepCatalog {
...LoanScriptStepCatalogEntryFragment
}
}
}
Response
{
"data": {
"loanScript": {
"all": [LoanScript],
"byScenarioId": LoanScript,
"stepCatalog": [LoanScriptStepCatalogEntry]
}
}
}
loans
Description
Get several Loans by ID in one request. Returns the loans the caller may read, in the order requested, with duplicates collapsed. A loan that does not exist or that the caller cannot access is OMITTED rather than returned as null or raised as an error: the response would otherwise distinguish 'no such loan' from 'not yours', which is exactly the existence check a batch endpoint must not hand out. Compare the returned ids against the ids sent to see what was dropped. At most 100 ids per request.
Example
Query
query loans($ids: [ID!]!) {
loans(ids: $ids) {
allowedStates
appraisal {
...AppraisalFragment
}
appraisalOrders {
...AppraisalOrderFragment
}
assignedLoanOfficer {
...LoanOfficerFragment
}
availableGlobalLoanOfficers {
...GlobalLoanOfficerFragment
}
availableLoanAssignments {
...LoanAssignmentUserFragment
}
borrowerPreferences {
...BorrowerPreferencesFragment
}
borrowers {
...BorrowerConnectionFragment
}
bulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
cashOutType
changeRequests {
...LoanChangeRequestFragment
}
closingDate
concessions {
...ConcessionLogFragment
}
contacts {
...ContactFragment
}
currentStage
customerPointAdjustments {
...CustomerPointAdjustmentFragment
}
dealId
disclosureDrift {
... on DisclosureDriftAssessed {
...DisclosureDriftAssessedFragment
}
... on DisclosureDriftNoBaseline {
...DisclosureDriftNoBaselineFragment
}
}
documents {
...DocumentFragment
}
duplicateLiabilitySuggestions {
...DuplicateLiabilitySuggestionFragment
}
earnestMoneyDeposit
effectiveAppraisalWaiver
employmentsMissingStartDateCount
estimatedRatios {
...EstimatedLoanRatiosFragment
}
fees {
...FeeFragment
}
friendlyId
fundedDate
fundingSettlement {
...FundingSettlementFragment
}
getAutoConditionalApprovalStatus {
...GetAutoConditionalApprovalStatusResponseFragment
}
id
intentToProceedDate
isClosed
isFirstTimeHomebuyer
isFloated
isFrozen
latestBulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
latestPreApprovalRunTime
latestSuccessfulBulkLoanDocumentsExportJob {
...BulkLoanDocumentsExportJobFragment
}
liabilities {
...LiabilityFragment
}
loanAssignments {
...LoanAssignmentFragment
}
loanContact {
...LoanContactFragment
}
loanDocuments {
...LoanDocumentFragment
}
loanNumber
loanOfficerDocumentTasks {
...LoanOfficerDocumentTaskFragment
}
loanProcess {
...LoanProcessFragment
}
loanPurpose
loanTermYears
lockedSummary {
...LockedLoanSummaryFragment
}
ltv
maxLoanAmount
maxPurchasePrice
mismoImport {
...MismoImportFragment
}
noteRatePercent
orderOuts {
... on Appraisal {
...AppraisalFragment
}
... on Title {
...TitleFragment
}
}
outOfPocketMax
pointOfContact {
...BorrowerFragment
}
preapprovalProduct {
...ProductFragment
}
pricingFreshness {
...LoanPricingFreshnessFragment
}
productPricingRate {
...ProductPricingRateFragment
}
productStructure {
...ProductPricingRateFragment
}
productStructureDegraded {
...DegradedProductStructureFragment
}
purchasePrice
pylonApproved
rateLock {
...RateLockDetailsFragment
}
rateLockTerm
refinanceCashOutProceeds
sellerCredit
servicers {
...ContactFragment
}
stages {
...LoanStageFragment
}
subjectProperty {
...SubjectPropertyFragment
}
subjectPropertyIntent {
...SubjectPropertyIntentFragment
}
title {
...TitleFragment
}
titleCompanyAttached
totalAssetsAvailable
tridTriggeredDate
underwritingSubmissionGate {
...UnderwritingSubmissionGateFragment
}
useOwnTitleCompany
}
}
Variables
{"ids": [4]}
Response
{
"data": {
"loans": [
{
"allowedStates": ["AK"],
"appraisal": Appraisal,
"appraisalOrders": [AppraisalOrder],
"assignedLoanOfficer": LoanOfficer,
"availableGlobalLoanOfficers": [
GlobalLoanOfficer
],
"availableLoanAssignments": [LoanAssignmentUser],
"borrowerPreferences": BorrowerPreferences,
"borrowers": BorrowerConnection,
"bulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"cashOutType": "CASH_OUT",
"changeRequests": [LoanChangeRequest],
"closingDate": "2007-12-03",
"concessions": [ConcessionLog],
"contacts": [Contact],
"currentStage": "xyz789",
"customerPointAdjustments": CustomerPointAdjustment,
"dealId": "abc123",
"disclosureDrift": DisclosureDriftAssessed,
"documents": [Document],
"duplicateLiabilitySuggestions": [
DuplicateLiabilitySuggestion
],
"earnestMoneyDeposit": 123.45,
"effectiveAppraisalWaiver": "AUTOMATED_COLLATERAL_EVALUATION",
"employmentsMissingStartDateCount": 123,
"estimatedRatios": EstimatedLoanRatios,
"fees": [Fee],
"friendlyId": "xyz789",
"fundedDate": "2007-12-03",
"fundingSettlement": FundingSettlement,
"getAutoConditionalApprovalStatus": GetAutoConditionalApprovalStatusResponse,
"id": "4",
"intentToProceedDate": "2007-12-03",
"isClosed": false,
"isFirstTimeHomebuyer": true,
"isFloated": true,
"isFrozen": true,
"latestBulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"latestPreApprovalRunTime": "2007-12-03T10:15:30Z",
"latestSuccessfulBulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"liabilities": [Liability],
"loanAssignments": [LoanAssignment],
"loanContact": LoanContact,
"loanDocuments": [LoanDocument],
"loanNumber": "xyz789",
"loanOfficerDocumentTasks": [
LoanOfficerDocumentTask
],
"loanProcess": LoanProcess,
"loanPurpose": "PURCHASE",
"loanTermYears": 123.45,
"lockedSummary": LockedLoanSummary,
"ltv": 123.45,
"maxLoanAmount": 987.65,
"maxPurchasePrice": 987.65,
"mismoImport": MismoImport,
"noteRatePercent": 123.45,
"orderOuts": [Appraisal],
"outOfPocketMax": 123,
"pointOfContact": Borrower,
"preapprovalProduct": Product,
"pricingFreshness": LoanPricingFreshness,
"productPricingRate": ProductPricingRate,
"productStructure": ProductPricingRate,
"productStructureDegraded": DegradedProductStructure,
"purchasePrice": 123,
"pylonApproved": true,
"rateLock": RateLockDetails,
"rateLockTerm": 123,
"refinanceCashOutProceeds": 123,
"sellerCredit": 123,
"servicers": [Contact],
"stages": [LoanStage],
"subjectProperty": SubjectProperty,
"subjectPropertyIntent": SubjectPropertyIntent,
"title": Title,
"titleCompanyAttached": true,
"totalAssetsAvailable": 123,
"tridTriggeredDate": "2007-12-03",
"underwritingSubmissionGate": UnderwritingSubmissionGate,
"useOwnTitleCompany": true
}
]
}
}
marketingRates
Description
Namespace for marketing rates queries. Marketing rates take simple borrower profiles and determine the best rates that borrower could get for various loan products.
Response
Returns a MarketingRates
Example
Query
query marketingRates {
marketingRates {
conforming {
...ConformingMarketingRateFragment
}
custom {
...CustomMarketingRateFragment
}
fha {
...FhaMarketingRateFragment
}
jumbo {
...JumboMarketingRateFragment
}
warehousingCosts {
...WarehousingCostsFragment
}
}
}
Response
{
"data": {
"marketingRates": {
"conforming": [ConformingMarketingRate],
"custom": [CustomMarketingRate],
"fha": [FhaMarketingRate],
"jumbo": [JumboMarketingRate],
"warehousingCosts": WarehousingCosts
}
}
}
mismoImport
Description
A MISMO import by id. Null when the id is unknown, when the retention sweep has already removed the import — it is kept for 24 hours — or when it belongs to a loan the caller may not read. The three are deliberately indistinguishable: telling them apart would confirm to an unauthorized caller that a particular import exists.
Response
Returns a MismoImport
Arguments
| Name | Description |
|---|---|
id - ID!
|
The import's id. |
Example
Query
query mismoImport($id: ID!) {
mismoImport(id: $id) {
id
importedAt
loan {
...LoanFragment
}
nonAdoptions {
...MismoNonAdoptionFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"mismoImport": {
"id": "4",
"importedAt": "2007-12-03T10:15:30Z",
"loan": Loan,
"nonAdoptions": [MismoNonAdoption]
}
}
}
node
Description
Get an entity by ID
nonBorrowingOwner
Response
Returns a NonBorrowingOwner
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query nonBorrowingOwner($id: ID!) {
nonBorrowingOwner(id: $id) {
id
personalInformation {
...PersonalInformationFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"nonBorrowingOwner": {
"id": "4",
"personalInformation": PersonalInformation
}
}
}
orgEvents
Description
The organization's loan-lifecycle events across all its loans, in append order. Scoped to the caller's organization; since bounds results to events that occurred at or after the given instant.
Response
Returns a LoanEventsResponse!
Arguments
| Name | Description |
|---|---|
after - String
|
The next cursor from the previous page, or null to start from the beginning of the organization's history. |
first - Int
|
Maximum number of events to return (capped server-side). Default = 25 |
since - DateTimeISO
|
Only return events that occurred at or after this instant. Applies to domain time (occurredAt), not recording time. |
Example
Query
query orgEvents(
$after: String,
$first: Int,
$since: DateTimeISO
) {
orgEvents(
after: $after,
first: $first,
since: $since
) {
events {
...LoanEventFragment
}
next
}
}
Variables
{
"after": "abc123",
"first": 25,
"since": "2007-12-03T10:15:30Z"
}
Response
{
"data": {
"orgEvents": {
"events": [LoanEvent],
"next": "xyz789"
}
}
}
organization
Description
Get the current organization.
Response
Returns an Organization
Example
Query
query organization {
organization {
apiAccessStatus
availableCustomers {
...CustomerMembershipFragment
}
borrowerPortalUrl
branding {
...OrganizationBrandingFragment
}
companyAddress {
...AddressFragment
}
companyLegalName
companyName
companySupportEmail
concessionLimitPerLoan
contacts {
...ContactFragment
}
costAbsorption {
...CostAbsorptionFragment
}
customerShare
customerSlug
defaultLoanChannel
defaultPrimaryLoanContact {
...LoanContactFragment
}
defaultPrimaryLoanContactFallbackEmail
effectiveMargin {
...OrganizationMarginFragment
}
electronicCommunicationsConsentUrl
emailDomains
enableSso
enabledLoanProducts
enabledPlaidProducts
id
margin
marginHistory {
...OrganizationMarginFragment
}
masqueradableCustomers {
...CustomerMembershipFragment
}
mersOrgId
nmlsId
privacyPolicyUrl
share
telephonicCommunicationsConsentEnabled
telephonicCommunicationsConsentUrl
termsOfServiceUrl
}
}
Response
{
"data": {
"organization": {
"apiAccessStatus": "ACTIVE",
"availableCustomers": [CustomerMembership],
"borrowerPortalUrl": "abc123",
"branding": OrganizationBranding,
"companyAddress": Address,
"companyLegalName": "xyz789",
"companyName": "abc123",
"companySupportEmail": "xyz789",
"concessionLimitPerLoan": 987.65,
"contacts": [Contact],
"costAbsorption": [CostAbsorption],
"customerShare": 123.45,
"customerSlug": "xyz789",
"defaultLoanChannel": "Broker",
"defaultPrimaryLoanContact": LoanContact,
"defaultPrimaryLoanContactFallbackEmail": "abc123",
"effectiveMargin": OrganizationMargin,
"electronicCommunicationsConsentUrl": "abc123",
"emailDomains": ["xyz789"],
"enableSso": false,
"enabledLoanProducts": ["BayviewBayviewJumboAus"],
"enabledPlaidProducts": ["ASSETS"],
"id": 4,
"margin": 987.65,
"marginHistory": [OrganizationMargin],
"masqueradableCustomers": [CustomerMembership],
"mersOrgId": 123,
"nmlsId": "abc123",
"privacyPolicyUrl": "abc123",
"share": 987.65,
"telephonicCommunicationsConsentEnabled": true,
"telephonicCommunicationsConsentUrl": "xyz789",
"termsOfServiceUrl": "abc123"
}
}
}
organizationLicensing
Description
Get licensing information for the current organization.
Response
Returns an OrganizationLicensing
Example
Query
query organizationLicensing {
organizationLicensing {
states {
...OrganizationStateWithLicensesFragment
}
}
}
Response
{
"data": {
"organizationLicensing": {
"states": [OrganizationStateWithLicenses]
}
}
}
organizationRole
Description
Fetch a role in an organization by id
Response
Returns an OrganizationRole
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query organizationRole($id: ID!) {
organizationRole(id: $id) {
description
id
name
permissions
}
}
Variables
{"id": "4"}
Response
{
"data": {
"organizationRole": {
"description": "xyz789",
"id": 4,
"name": "abc123",
"permissions": ["abc123"]
}
}
}
organizationRoles
Description
List roles in an organization
Response
Returns an OrganizationRoleConnection
Example
Query
query organizationRoles(
$after: ID,
$first: Int
) {
organizationRoles(
after: $after,
first: $first
) {
edges {
...OrganizationRoleEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
Variables
{"after": null, "first": 100}
Response
{
"data": {
"organizationRoles": {
"edges": [OrganizationRoleEdge],
"pageInfo": PageInfo
}
}
}
organizationUser
Description
Fetch a user in an organization by id
Response
Returns an OrganizationUser
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query organizationUser($id: ID!) {
organizationUser(id: $id) {
companyName
email
firstName
id
individualNmlsId
lastName
licenses {
...OrganizationUserLicenseFragment
}
organizationRoles {
...OrganizationRoleFragment
}
phoneNumber
processorFeeAmount
}
}
Variables
{"id": 4}
Response
{
"data": {
"organizationUser": {
"companyName": "abc123",
"email": "xyz789",
"firstName": "abc123",
"id": "4",
"individualNmlsId": "abc123",
"lastName": "abc123",
"licenses": [OrganizationUserLicense],
"organizationRoles": [OrganizationRole],
"phoneNumber": "abc123",
"processorFeeAmount": 987.65
}
}
}
organizationUsers
Description
List users in an organization
Response
Returns an OrganizationUserConnection
Example
Query
query organizationUsers(
$after: ID,
$first: Int
) {
organizationUsers(
after: $after,
first: $first
) {
edges {
...OrganizationUserEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{"after": null, "first": 100}
Response
{
"data": {
"organizationUsers": {
"edges": [OrganizationUserEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
ownedProperty
Description
Get an owned property by ID
Response
Returns an OwnedProperty
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query ownedProperty($id: ID!) {
ownedProperty(id: $id) {
address {
...AddressFragment
}
currentUsageType
homeInsuranceMonthlyPayment
id
intendedDisposition
intendedUsageType
liabilities {
...LiabilityFragment
}
monthlyAssociationDues
mortgageInsuranceMonthlyPayment
neighborhoodHousingType
nonBorrowingOwners {
...NonBorrowingOwnerFragment
}
pendingNetSaleProceedsAsset {
...AssetFragment
}
propertyTaxMonthlyPayment
propertyValue
purchaseDate
rentalIncome {
...IncomeFragment
}
sellDate
}
}
Variables
{"id": 4}
Response
{
"data": {
"ownedProperty": {
"address": Address,
"currentUsageType": "INVESTMENT",
"homeInsuranceMonthlyPayment": 123,
"id": "4",
"intendedDisposition": "PENDING_SALE",
"intendedUsageType": "INVESTMENT",
"liabilities": [Liability],
"monthlyAssociationDues": 123,
"mortgageInsuranceMonthlyPayment": 123,
"neighborhoodHousingType": "CONDOMINIUM",
"nonBorrowingOwners": [NonBorrowingOwner],
"pendingNetSaleProceedsAsset": Asset,
"propertyTaxMonthlyPayment": 123,
"propertyValue": 123,
"purchaseDate": "2007-12-03",
"rentalIncome": Income,
"sellDate": "2007-12-03"
}
}
}
party
Example
Query
query party($id: ID!) {
party(id: $id) {
address {
...AddressFragment
}
id
individual {
...PartyIndividualFragment
}
legalEntity {
...PartyLegalEntityFragment
}
role
}
}
Variables
{"id": 4}
Response
{
"data": {
"party": {
"address": Address,
"id": "4",
"individual": PartyIndividual,
"legalEntity": PartyLegalEntity,
"role": "APPRAISER"
}
}
}
preQualification
Description
Namespace for pre-qualification queries. These queries allow fetching previously created pre-qualifications
Response
Returns a PreQualification
Example
Query
query preQualification {
preQualification {
conventional {
...ConventionalPreQualificationFragment
}
debug {
...PreQualificationProductResultFragment
}
}
}
Response
{
"data": {
"preQualification": {
"conventional": ConventionalPreQualification,
"debug": [PreQualificationProductResult]
}
}
}
pricing
Description
Namespace for pricing queries. These queries are for experimenting with various pricing scenarios, for example comparing products or understanding how concession points influence the downpayment and rate.
Response
Returns a Pricing
Example
Query
query pricing {
pricing {
dumpParameters {
...ProductPricingParameterDumpFragment
}
fixedLoanAmountProductPricing {
...ProductPricingQueryFragment
}
optimalStructure {
...OptimalStructureFragment
}
productPricing {
...ProductPricingQueryFragment
}
}
}
Response
{
"data": {
"pricing": {
"dumpParameters": ProductPricingParameterDump,
"fixedLoanAmountProductPricing": ProductPricingQuery,
"optimalStructure": OptimalStructure,
"productPricing": ProductPricingQuery
}
}
}
processDocument
Description
Process-document (split) queries.
Response
Returns a ProcessDocumentQueries
Example
Query
query processDocument {
processDocument {
status {
...ProcessDocumentStatusResponseFragment
}
}
}
Response
{
"data": {
"processDocument": {
"status": ProcessDocumentStatusResponse
}
}
}
rates
Description
Namespace for fetching data associated with raw rates.
Response
Returns a Rates
Example
Query
query rates {
rates {
apor {
...AporFragment
}
}
}
Response
{"data": {"rates": {"apor": Apor}}}
recentlyViewedLoans
Description
Loans the current user most recently viewed within their active organization, newest first. Empty for callers without an org-user identity.
Response
Returns [RecentlyViewedLoan!]!
Arguments
| Name | Description |
|---|---|
first - Int
|
Maximum number of loans to return (capped server-side). Default = 25 |
Example
Query
query recentlyViewedLoans($first: Int) {
recentlyViewedLoans(first: $first) {
contactPointFullName
currentStage
friendlyLoanId
loanId
loanNumber
viewedAt
}
}
Variables
{"first": 25}
Response
{
"data": {
"recentlyViewedLoans": [
{
"contactPointFullName": "xyz789",
"currentStage": "xyz789",
"friendlyLoanId": "abc123",
"loanId": 4,
"loanNumber": "xyz789",
"viewedAt": "2007-12-03T10:15:30Z"
}
]
}
}
scenario
Response
Returns a Scenario
Example
Query
query scenario {
scenario {
fixedLoanAmountPurchasePricing {
...ProductPricingQueryFragment
}
pricing {
...ProductPricingQueryFragment
}
purchasePricing {
...ProductPricingQueryFragment
}
purchasePricingNoRestructure {
...ProductPricingQueryFragment
}
refinancePricing {
...ProductPricingQueryFragment
}
}
}
Response
{
"data": {
"scenario": {
"fixedLoanAmountPurchasePricing": ProductPricingQuery,
"pricing": ProductPricingQuery,
"purchasePricing": ProductPricingQuery,
"purchasePricingNoRestructure": ProductPricingQuery,
"refinancePricing": ProductPricingQuery
}
}
}
structureValidation
Response
Returns a StructureValidation!
Example
Query
query structureValidation {
structureValidation {
experiment {
...StructureValidationDebugResultFragment
}
}
}
Response
{
"data": {
"structureValidation": {
"experiment": StructureValidationDebugResult
}
}
}
subjectProperty
Response
Returns a SubjectProperty
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query subjectProperty($id: ID!) {
subjectProperty(id: $id) {
address {
...AddressFragment
}
attachmentType
avmEstimatedValue
avmProvider
borrowerSpecifiedMonthlyPropertyTaxes
firstLienAmount
firstLienLiabilityId
hoaDues
homeInsuranceMonthlyAmount
homeInsuranceMonthlyAmountEstimate
id
isManufacturedHome
isMixedUse
isPlannedUnitDevelopment
liabilities {
...LiabilityFragment
}
manuallyEstimatedValue
neighborhoodHousingType
numberOfUnits
propertyTaxesAndInsuranceIncludedInPayment
rentalEstimatedGrossMonthlyRentAmount
subjectPropertyIntent {
...SubjectPropertyIntentFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"subjectProperty": {
"address": Address,
"attachmentType": "ATTACHED",
"avmEstimatedValue": 123,
"avmProvider": "xyz789",
"borrowerSpecifiedMonthlyPropertyTaxes": 123,
"firstLienAmount": 123,
"firstLienLiabilityId": "4",
"hoaDues": 123,
"homeInsuranceMonthlyAmount": 123,
"homeInsuranceMonthlyAmountEstimate": 123.45,
"id": 4,
"isManufacturedHome": false,
"isMixedUse": true,
"isPlannedUnitDevelopment": false,
"liabilities": [Liability],
"manuallyEstimatedValue": 123,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"propertyTaxesAndInsuranceIncludedInPayment": false,
"rentalEstimatedGrossMonthlyRentAmount": 123,
"subjectPropertyIntent": SubjectPropertyIntent
}
}
}
subjectPropertyIntent
Description
Get a SubjectPropertyIntent by ID
Response
Returns a SubjectPropertyIntent
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query subjectPropertyIntent($id: ID!) {
subjectPropertyIntent(id: $id) {
county {
...CountyFragment
}
id
isPlannedUnitDevelopment
neighborhoodHousingType
propertyUsageType
state
}
}
Variables
{"id": 4}
Response
{
"data": {
"subjectPropertyIntent": {
"county": County,
"id": 4,
"isPlannedUnitDevelopment": false,
"neighborhoodHousingType": "CONDOMINIUM",
"propertyUsageType": "INVESTMENT",
"state": "AK"
}
}
}
support
Description
Namespace for support queries.
Response
Returns a SupportQueries
Example
Query
query support {
support {
issueTypes {
...SupportIssueTypeFragment
}
pylonTeam {
...PylonTeamFragment
}
supportTicket {
...SupportTicketFragment
}
supportTicketMessages {
...SupportTicketMessageFragment
}
supportTickets {
...SupportTicketConnectionFragment
}
supportTicketsForLoan {
...SupportTicketFragment
}
}
}
Response
{
"data": {
"support": {
"issueTypes": [SupportIssueType],
"pylonTeam": PylonTeam,
"supportTicket": SupportTicket,
"supportTicketMessages": [SupportTicketMessage],
"supportTickets": SupportTicketConnection,
"supportTicketsForLoan": [SupportTicket]
}
}
}
supportAdmin
Description
Namespace for Pylon-internal support administration queries.
Response
Returns a SupportAdminQueries
Example
Query
query supportAdmin {
supportAdmin {
issueTypes {
...SupportAdminIssueTypeFragment
}
}
}
Response
{
"data": {
"supportAdmin": {
"issueTypes": [SupportAdminIssueType]
}
}
}
titleVendors
Response
Returns [TitleVendor!]!
Arguments
| Name | Description |
|---|---|
input - TitleVendorsInput!
|
Example
Query
query titleVendors($input: TitleVendorsInput!) {
titleVendors(input: $input) {
contactInfo {
...TitleVendorContactInfoFragment
}
name
relationType
}
}
Variables
{"input": TitleVendorsInput}
Response
{
"data": {
"titleVendors": [
{
"contactInfo": TitleVendorContactInfo,
"name": "xyz789",
"relationType": "CLOSING_ONLY"
}
]
}
}
verify
Description
Namespace for verification queries.
Response
Returns a VerifyQueries
Example
Query
query verify {
verify {
truvVerificationOutcome
}
}
Response
{"data": {"verify": {"truvVerificationOutcome": "COMPLETE"}}}
Mutations
advisor
Response
Returns an AdvisorMutations
Example
Query
mutation advisor {
advisor {
createSession {
...CreateSessionResponseFragment
}
giveMessageFeedback {
...GiveMessageFeedbackResponseFragment
}
sendMessage {
...SendMessageResponseFragment
}
}
}
Response
{
"data": {
"advisor": {
"createSession": CreateSessionResponse,
"giveMessageFeedback": GiveMessageFeedbackResponse,
"sendMessage": SendMessageResponse
}
}
}
analytics
Description
Namespace for analytics mutations. These allow you to export analytics results to file.
Response
Returns an AnalyticsMutations
Example
Query
mutation analytics {
analytics {
startAnalyticsExportJob {
...StartAnalyticsExportJobResponseFragment
}
}
}
Response
{
"data": {
"analytics": {
"startAnalyticsExportJob": StartAnalyticsExportJobResponse
}
}
}
appraisal
Description
Appraisal mutations.
Response
Returns an AppraisalMutations
Example
Query
mutation appraisal {
appraisal {
addOrderComment {
...AddOrderCommentResponseFragment
}
addOrderDocuments {
...AddOrderDocumentsResponseFragment
}
orderAppraisal {
...OrderAppraisalResponseFragment
}
}
}
Response
{
"data": {
"appraisal": {
"addOrderComment": AddOrderCommentResponse,
"addOrderDocuments": AddOrderDocumentsResponse,
"orderAppraisal": OrderAppraisalResponse
}
}
}
approvalProcess
Description
Approval-process mutations namespace.
Response
Returns an ApprovalProcessMutations
Example
Query
mutation approvalProcess {
approvalProcess {
writeDispute {
...WriteDisputeResponseFragment
}
}
}
Response
{
"data": {
"approvalProcess": {
"writeDispute": WriteDisputeResponse
}
}
}
asset
Description
Asset mutations
Response
Returns an AssetMutations
Example
Query
mutation asset {
asset {
addNotableActivity {
...AddNotableActivityResponseFragment
}
attachBorrower {
...AttachBorrowerAssetResponseFragment
}
create {
...CreateAssetResponseFragment
}
delete {
...DeleteAssetResponseFragment
}
deleteNotableActivity {
...DeleteNotableActivityResponseFragment
}
detachBorrower {
...DetachBorrowerAssetResponseFragment
}
explainAssetTransaction {
...ExplainAssetTransactionResponseFragment
}
update {
...UpdateAssetResponseFragment
}
updateNotableActivity {
...UpdateNotableActivityResponseFragment
}
}
}
Response
{
"data": {
"asset": {
"addNotableActivity": AddNotableActivityResponse,
"attachBorrower": AttachBorrowerAssetResponse,
"create": CreateAssetResponse,
"delete": DeleteAssetResponse,
"deleteNotableActivity": DeleteNotableActivityResponse,
"detachBorrower": DetachBorrowerAssetResponse,
"explainAssetTransaction": ExplainAssetTransactionResponse,
"update": UpdateAssetResponse,
"updateNotableActivity": UpdateNotableActivityResponse
}
}
}
assetVerification
Response
Returns an AssetVerificationMutations
Example
Query
mutation assetVerification {
assetVerification {
refreshLink {
...RefreshLinkResponseFragment
}
requestLink {
...RequestLinkResponseFragment
}
}
}
Response
{
"data": {
"assetVerification": {
"refreshLink": RefreshLinkResponse,
"requestLink": RequestLinkResponse
}
}
}
aus
Description
AUS mutations
Response
Returns an AusMutations
Example
Query
mutation aus {
aus {
triggerAusRun {
...TriggerAusRunResponseFragment
}
}
}
Response
{
"data": {
"aus": {"triggerAusRun": TriggerAusRunResponse}
}
}
auth
Description
Namespace for auth mutations. These allow getting temporary authorization for borrowers to access Pylon's API in a restricted fashion
Response
Returns an AuthMutations
Example
Query
mutation auth {
auth {
createLease {
...CreateLeaseResponseFragment
}
}
}
Response
{"data": {"auth": {"createLease": CreateLeaseResponse}}}
borrower
Description
Borrower mutations
Response
Returns a BorrowerMutations
Example
Query
mutation borrower {
borrower {
attachLiabilities {
...AttachBorrowerLiabilitiesResponseFragment
}
attachNonBorrowingSpouse {
...AttachBorrowerNonBorrowingSpouseResponseFragment
}
create {
...CreateBorrowerResponseFragment
}
declareMilitaryService {
...DeclareMilitaryServiceResponseFragment
}
declareNoMilitaryService {
...DeclareNoMilitaryServiceResponseFragment
}
delete {
...DeleteBorrowerResponseFragment
}
detachLiabilities {
...DetachBorrowerLiabilitiesResponseFragment
}
linkBorrowersAsSpouses {
...LinkBorrowersAsSpousesResponseFragment
}
rejectDocument {
...RejectDocumentResponseFragment
}
sendPortalInvite {
...SendBorrowerPortalInviteResponseFragment
}
setEmailVerified {
...SetBorrowerEmailVerifiedResponseFragment
}
unsetMilitaryService {
...UnsetBorrowerMilitaryServiceResponseFragment
}
updateBorrower {
...UpdateBorrowerResponseFragment
}
updateConsent {
...UpdateBorrowerConsentResponseFragment
}
updateDemographicInfo {
...UpdateDemographicInfoResponseFragment
}
updateDependents {
...UpdateBorrowerDependentsResponseFragment
}
updateFinancialDeclarations {
...UpdateBorrowerFinancialDeclarationsResponseFragment
}
updateMailingAddress {
...UpdateBorrowerMailingAddressResponseFragment
}
updateMilitaryService {
...UpdateBorrowerMilitaryServiceResponseFragment
}
updatePersonalInformation {
...UpdateBorrowerPersonalInformationResponseFragment
}
updatePhoneNumber {
...UpdateBorrowerPhoneNumberResponseFragment
}
updatePropertyDeclarations {
...UpdateBorrowerPropertyDeclarationsResponseFragment
}
}
}
Response
{
"data": {
"borrower": {
"attachLiabilities": AttachBorrowerLiabilitiesResponse,
"attachNonBorrowingSpouse": AttachBorrowerNonBorrowingSpouseResponse,
"create": CreateBorrowerResponse,
"declareMilitaryService": DeclareMilitaryServiceResponse,
"declareNoMilitaryService": DeclareNoMilitaryServiceResponse,
"delete": DeleteBorrowerResponse,
"detachLiabilities": DetachBorrowerLiabilitiesResponse,
"linkBorrowersAsSpouses": LinkBorrowersAsSpousesResponse,
"rejectDocument": RejectDocumentResponse,
"sendPortalInvite": SendBorrowerPortalInviteResponse,
"setEmailVerified": SetBorrowerEmailVerifiedResponse,
"unsetMilitaryService": UnsetBorrowerMilitaryServiceResponse,
"updateBorrower": UpdateBorrowerResponse,
"updateConsent": UpdateBorrowerConsentResponse,
"updateDemographicInfo": UpdateDemographicInfoResponse,
"updateDependents": UpdateBorrowerDependentsResponse,
"updateFinancialDeclarations": UpdateBorrowerFinancialDeclarationsResponse,
"updateMailingAddress": UpdateBorrowerMailingAddressResponse,
"updateMilitaryService": UpdateBorrowerMilitaryServiceResponse,
"updatePersonalInformation": UpdateBorrowerPersonalInformationResponse,
"updatePhoneNumber": UpdateBorrowerPhoneNumberResponse,
"updatePropertyDeclarations": UpdateBorrowerPropertyDeclarationsResponse
}
}
}
borrowerAddress
Description
Mutations for borrower addresses
Response
Returns a BorrowerAddressMutations
Example
Query
mutation borrowerAddress {
borrowerAddress {
createPrevious {
...CreatePreviousBorrowerAddressResponseFragment
}
deletePrevious {
...DeletePreviousBorrowerAddressResponseFragment
}
updateCurrent {
...UpdateCurrentBorrowerAddressResponseFragment
}
updatePrevious {
...UpdatePreviousBorrowerAddressResponseFragment
}
}
}
Response
{
"data": {
"borrowerAddress": {
"createPrevious": CreatePreviousBorrowerAddressResponse,
"deletePrevious": DeletePreviousBorrowerAddressResponse,
"updateCurrent": UpdateCurrentBorrowerAddressResponse,
"updatePrevious": UpdatePreviousBorrowerAddressResponse
}
}
}
citations
Description
Citation mutations namespace.
Response
Returns a CitationsMutations
Example
Query
mutation citations {
citations {
createCitation {
...CreateCitationResponseFragment
}
}
}
Response
{
"data": {
"citations": {
"createCitation": CreateCitationResponse
}
}
}
comms
Description
Comms mutations
Response
Returns a CommsMutations
Example
Query
mutation comms {
comms {
toggleCustomerCommsOptIn {
...ToggleCustomerCommsOptInResponseFragment
}
updateCommsRecipients {
...UpdateCommsRecipientsResponseFragment
}
updateCommsSettings {
...UpdateCommsSettingsResponseFragment
}
updateCommsTemplate {
...UpdateCommsTemplateResponseFragment
}
}
}
Response
{
"data": {
"comms": {
"toggleCustomerCommsOptIn": ToggleCustomerCommsOptInResponse,
"updateCommsRecipients": UpdateCommsRecipientsResponse,
"updateCommsSettings": UpdateCommsSettingsResponse,
"updateCommsTemplate": UpdateCommsTemplateResponse
}
}
}
company
Description
Company mutations
Response
Returns a CompanyMutations
Example
Query
mutation company {
company {
create {
...CreateCompanyResponseFragment
}
}
}
Response
{"data": {"company": {"create": CreateCompanyResponse}}}
concession
Response
Returns a ConcessionMutations
Example
Query
mutation concession {
concession {
approveConcession {
...ApproveConcessionResponseFragment
}
requestConcession {
...RequestConcessionResponseFragment
}
revokeConcession {
...RevokeConcessionResponseFragment
}
updateConcession {
...UpdateConcessionResponseFragment
}
}
}
Response
{
"data": {
"concession": {
"approveConcession": ApproveConcessionResponse,
"requestConcession": RequestConcessionResponse,
"revokeConcession": RevokeConcessionResponse,
"updateConcession": UpdateConcessionResponse
}
}
}
contributor
Response
Returns a ContributorMutations
Example
Query
mutation contributor {
contributor {
attachContributorToDeal {
...AttachContributorToDealResponseFragment
}
createContributor {
...CreateContributorResponseFragment
}
createLease {
...ContributorCreateLeaseResponseFragment
}
detachContributorFromDeal {
...DetachContributorFromDealResponseFragment
}
disableContributor {
...DisableContributorResponseFragment
}
enableContributor {
...EnableContributorResponseFragment
}
updateContributor {
...UpdateContributorResponseFragment
}
}
}
Response
{
"data": {
"contributor": {
"attachContributorToDeal": AttachContributorToDealResponse,
"createContributor": CreateContributorResponse,
"createLease": ContributorCreateLeaseResponse,
"detachContributorFromDeal": DetachContributorFromDealResponse,
"disableContributor": DisableContributorResponse,
"enableContributor": EnableContributorResponse,
"updateContributor": UpdateContributorResponse
}
}
}
credit
Description
Namespace for credit mutations. These mutations allow you to initiate credit pulls
Response
Returns a CreditMutations
Example
Query
mutation credit {
credit {
deactivateUdnMonitoring {
...DeactivateUdnMonitoringResponseFragment
}
invalidateCreditCache {
...InvalidateCreditCacheResponseFragment
}
refreshCreditReport {
...RefreshCreditReportResponseFragment
}
startIndividualCreditPullJob {
...StartIndividualCreditPullJobResponseFragment
}
startJointCreditPullJob {
...StartJointCreditPullJobResponseFragment
}
unmergeCreditReport {
...UnmergeCreditReportResponseFragment
}
updateUdnNotificationEmails {
...UpdateUdnNotificationEmailsResponseFragment
}
upgradeCreditReport {
...UpgradeCreditReportResponseFragment
}
}
}
Response
{
"data": {
"credit": {
"deactivateUdnMonitoring": DeactivateUdnMonitoringResponse,
"invalidateCreditCache": InvalidateCreditCacheResponse,
"refreshCreditReport": RefreshCreditReportResponse,
"startIndividualCreditPullJob": StartIndividualCreditPullJobResponse,
"startJointCreditPullJob": StartJointCreditPullJobResponse,
"unmergeCreditReport": UnmergeCreditReportResponse,
"updateUdnNotificationEmails": UpdateUdnNotificationEmailsResponse,
"upgradeCreditReport": UpgradeCreditReportResponse
}
}
}
creditInquiry
Description
CreditInquiry mutations
Response
Returns a CreditInquiryMutations
Example
Query
mutation creditInquiry {
creditInquiry {
updateCreditInquiry {
...UpdateCreditInquiryResponseFragment
}
}
}
Response
{
"data": {
"creditInquiry": {
"updateCreditInquiry": UpdateCreditInquiryResponse
}
}
}
customerProvisioning
Description
Customer provisioning mutations (internal Pylon administrators only).
Response
Returns a CustomerProvisioningMutations
Example
Query
mutation customerProvisioning {
customerProvisioning {
provisionCustomer {
...ProvisionCustomerResponseFragment
}
}
}
Response
{
"data": {
"customerProvisioning": {
"provisionCustomer": ProvisionCustomerResponse
}
}
}
deal
Response
Returns a DealMutations
Example
Query
mutation deal {
deal {
create {
...CreateDealResponseFragment
}
}
}
Response
{"data": {"deal": {"create": CreateDealResponse}}}
dealClaimToken
Response
Returns a DealClaimTokenMutations
Example
Query
mutation dealClaimToken {
dealClaimToken {
claim {
...ClaimDealClaimTokenResponseFragment
}
issue {
...IssueDealClaimTokenResponseFragment
}
}
}
Response
{
"data": {
"dealClaimToken": {
"claim": ClaimDealClaimTokenResponse,
"issue": IssueDealClaimTokenResponse
}
}
}
demoSeed
Response
Returns a DemoSeedMutations
Example
Query
mutation demoSeed {
demoSeed {
seedAusRun {
...SeedAusRunResponseFragment
}
seedWireOutWorksheetCase {
...SeedWireOutWorksheetCaseResponseFragment
}
}
}
Response
{
"data": {
"demoSeed": {
"seedAusRun": SeedAusRunResponse,
"seedWireOutWorksheetCase": SeedWireOutWorksheetCaseResponse
}
}
}
documentIntake
Description
Document-intake mutations namespace.
Response
Returns a DocumentIntakeMutations
Example
Query
mutation documentIntake {
documentIntake {
retry {
...RetryDocumentIntakeResponseFragment
}
seedFromDocuments {
...SeedFromDocumentsResponseFragment
}
seedLoanFromDocuments {
...SeedLoanFromDocumentsResponseFragment
}
}
}
Response
{
"data": {
"documentIntake": {
"retry": RetryDocumentIntakeResponse,
"seedFromDocuments": SeedFromDocumentsResponse,
"seedLoanFromDocuments": SeedLoanFromDocumentsResponse
}
}
}
employmentGap
Description
Employment gap mutations
Response
Returns an EmploymentGapMutations
Example
Query
mutation employmentGap {
employmentGap {
explainEmploymentGap {
...ExplainEmploymentGapResponseFragment
}
}
}
Response
{
"data": {
"employmentGap": {
"explainEmploymentGap": ExplainEmploymentGapResponse
}
}
}
fee
Description
Namespace for mutating fees and closing costs.
Response
Returns a FeeMutations
Example
Query
mutation fee {
fee {
delete {
...DeleteFeeResponseFragment
}
update {
...UpdateFeeResponseFragment
}
}
}
Response
{
"data": {
"fee": {
"delete": DeleteFeeResponse,
"update": UpdateFeeResponse
}
}
}
feeSheet
Description
Fee sheet mutations
Response
Returns a FeeSheetMutations
Example
Query
mutation feeSheet {
feeSheet {
createFeeSheetRequest {
...CreateFeeSheetRequestResponseFragment
}
createFeeSheetRequestForLoan {
...CreateFeeSheetRequestForLoanResponseFragment
}
}
}
Response
{
"data": {
"feeSheet": {
"createFeeSheetRequest": CreateFeeSheetRequestResponse,
"createFeeSheetRequestForLoan": CreateFeeSheetRequestForLoanResponse
}
}
}
flood
Description
Flood mutations.
Response
Returns a FloodMutations
Example
Query
mutation flood {
flood {
cancelFlood {
...CancelFloodResponseFragment
}
orderFlood {
...OrderFloodResponseFragment
}
}
}
Response
{
"data": {
"flood": {
"cancelFlood": CancelFloodResponse,
"orderFlood": OrderFloodResponse
}
}
}
fulfillmentParty
Response
Returns a FulfillmentPartyMutations
Example
Query
mutation fulfillmentParty {
fulfillmentParty {
create {
...CreateFulfillmentPartyResponseFragment
}
delete {
...DeleteFulfillmentPartyResponseFragment
}
}
}
Response
{
"data": {
"fulfillmentParty": {
"create": CreateFulfillmentPartyResponse,
"delete": DeleteFulfillmentPartyResponse
}
}
}
funding
Description
Funding mutations
Response
Returns a FundingMutations
Example
Query
mutation funding {
funding {
correctWireInRemittance {
...CorrectWireInRemittanceResponseFragment
}
correctWireOutRemittance {
...CorrectWireOutRemittanceResponseFragment
}
recordWireInInputs {
...RecordWireInInputsResponseFragment
}
recordWireInRemittance {
...RecordWireInRemittanceResponseFragment
}
recordWireOutRemittance {
...RecordWireOutRemittanceResponseFragment
}
}
}
Response
{
"data": {
"funding": {
"correctWireInRemittance": CorrectWireInRemittanceResponse,
"correctWireOutRemittance": CorrectWireOutRemittanceResponse,
"recordWireInInputs": RecordWireInInputsResponse,
"recordWireInRemittance": RecordWireInRemittanceResponse,
"recordWireOutRemittance": RecordWireOutRemittanceResponse
}
}
}
income
Description
Income mutations
Response
Returns an IncomeMutations
Example
Query
mutation income {
income {
create {
...CreateIncomeResponseFragment
}
delete {
...DeleteIncomeResponseFragment
}
recompute {
...RecomputeIncomeResponseFragment
}
update {
...UpdateIncomeResponseFragment
}
}
}
Response
{
"data": {
"income": {
"create": CreateIncomeResponse,
"delete": DeleteIncomeResponse,
"recompute": RecomputeIncomeResponse,
"update": UpdateIncomeResponse
}
}
}
incomeVerification
Response
Returns an IncomeVerificationMutations
Example
Query
mutation incomeVerification {
incomeVerification {
cancelOrder {
...CancelOrderResponseFragment
}
requestOrder {
...RequestOrderResponseFragment
}
}
}
Response
{
"data": {
"incomeVerification": {
"cancelOrder": CancelOrderResponse,
"requestOrder": RequestOrderResponse
}
}
}
liability
Description
Liability mutations
Response
Returns a LiabilityMutations
Example
Query
mutation liability {
liability {
attachOwnedProperty {
...AttachOwnedPropertyLiabilityResponseFragment
}
create {
...CreateLiabilityResponseFragment
}
delete {
...DeleteLiabilityResponseFragment
}
dismissDuplicateSuggestion {
...DismissDuplicateSuggestionResponseFragment
}
setExclusionReason {
...SetExclusionReasonResponseFragment
}
setIntent {
...SetIntentResponseFragment
}
update {
...UpdateLiabilityResponseFragment
}
}
}
Response
{
"data": {
"liability": {
"attachOwnedProperty": AttachOwnedPropertyLiabilityResponse,
"create": CreateLiabilityResponse,
"delete": DeleteLiabilityResponse,
"dismissDuplicateSuggestion": DismissDuplicateSuggestionResponse,
"setExclusionReason": SetExclusionReasonResponse,
"setIntent": SetIntentResponse,
"update": UpdateLiabilityResponse
}
}
}
loan
Description
Loan mutations
Response
Returns a LoanMutations
Example
Query
mutation loan {
loan {
approveChangeRequest {
...ApproveLoanChangeRequestResponseFragment
}
archive {
... on ArchiveLoanSuccess {
...ArchiveLoanSuccessFragment
}
... on LoanClosedError {
...LoanClosedErrorFragment
}
}
assignLoanOfficer {
...AssignLoanOfficerResponseFragment
}
attachContact {
...AttachLoanContactResponseFragment
}
attachLoanNote {
...AttachLoanNoteResponseFragment
}
attachProductPricingRate {
...AttachProductPricingRateResponseFragment
}
attachSubjectProperty {
...AttachSubjectPropertyResponseFragment
}
attachTitleCompany {
...AttachTitleCompanyResponseFragment
}
confirmRateLock {
...ConfirmRateLockResponseFragment
}
create {
...CreateLoanResponseFragment
}
createLoanAssignment {
...CreateLoanAssignmentResponseFragment
}
denyRateLock {
...DenyRateLockResponseFragment
}
detachContact {
...DetachLoanContactResponseFragment
}
export {
...ExportLoanResponseFragment
}
floatStructure {
...FloatStructureResponseFragment
}
forceGenerateDisclosurePackage {
...ForceGenerateDisclosurePackageResponseFragment
}
freeze {
...FreezeLoanResponseFragment
}
generateClosingDisclosurePreview {
...GenerateClosingDisclosurePreviewResponseFragment
}
generateLoanEstimatePreview {
...GenerateLoanEstimatePreviewResponseFragment
}
openChangeRequest {
...OpenLoanChangeRequestResponseFragment
}
reassignLoanOfficerTasks {
...ReassignLoanOfficerTasksResponseFragment
}
reassignTask {
...ReassignTaskResponseFragment
}
recordLoanView {
...RecordLoanViewResponseFragment
}
redisclose {
...RediscloseResponseFragment
}
removeLoanAssignment {
...RemoveLoanAssignmentResponseFragment
}
requestRateLock {
...RequestRateLockResponseFragment
}
setUseOwnTitleCompany {
...SetUseOwnTitleCompanyResponseFragment
}
startBulkLoanDocumentsExport {
...StartBulkLoanDocumentsExportResponseFragment
}
submitUnderwritingNotes {
...SubmitUnderwritingNotesResponseFragment
}
thaw {
...ThawLoanResponseFragment
}
update {
...UpdateLoanResponseFragment
}
updateBorrowerPreferences {
...UpdateBorrowerPreferencesResponseFragment
}
updateCompanyName {
...UpdateCompanyNameResponseFragment
}
updateProcessorFee {
...UpdateProcessorFeeResponseFragment
}
updateTaskName {
...UpdateTaskNameResponseFragment
}
withdraw {
... on LoanClosedError {
...LoanClosedErrorFragment
}
... on WithdrawLoanSuccess {
...WithdrawLoanSuccessFragment
}
}
}
}
Response
{
"data": {
"loan": {
"approveChangeRequest": ApproveLoanChangeRequestResponse,
"archive": ArchiveLoanSuccess,
"assignLoanOfficer": AssignLoanOfficerResponse,
"attachContact": AttachLoanContactResponse,
"attachLoanNote": AttachLoanNoteResponse,
"attachProductPricingRate": AttachProductPricingRateResponse,
"attachSubjectProperty": AttachSubjectPropertyResponse,
"attachTitleCompany": AttachTitleCompanyResponse,
"confirmRateLock": ConfirmRateLockResponse,
"create": CreateLoanResponse,
"createLoanAssignment": CreateLoanAssignmentResponse,
"denyRateLock": DenyRateLockResponse,
"detachContact": DetachLoanContactResponse,
"export": ExportLoanResponse,
"floatStructure": FloatStructureResponse,
"forceGenerateDisclosurePackage": ForceGenerateDisclosurePackageResponse,
"freeze": FreezeLoanResponse,
"generateClosingDisclosurePreview": GenerateClosingDisclosurePreviewResponse,
"generateLoanEstimatePreview": GenerateLoanEstimatePreviewResponse,
"openChangeRequest": OpenLoanChangeRequestResponse,
"reassignLoanOfficerTasks": ReassignLoanOfficerTasksResponse,
"reassignTask": ReassignTaskResponse,
"recordLoanView": RecordLoanViewResponse,
"redisclose": RediscloseResponse,
"removeLoanAssignment": RemoveLoanAssignmentResponse,
"requestRateLock": RequestRateLockResponse,
"setUseOwnTitleCompany": SetUseOwnTitleCompanyResponse,
"startBulkLoanDocumentsExport": StartBulkLoanDocumentsExportResponse,
"submitUnderwritingNotes": SubmitUnderwritingNotesResponse,
"thaw": ThawLoanResponse,
"update": UpdateLoanResponse,
"updateBorrowerPreferences": UpdateBorrowerPreferencesResponse,
"updateCompanyName": UpdateCompanyNameResponse,
"updateProcessorFee": UpdateProcessorFeeResponse,
"updateTaskName": UpdateTaskNameResponse,
"withdraw": LoanClosedError
}
}
}
loanOfficer
Description
Loan officer mutations
Response
Returns a LoanOfficerMutations
Example
Query
mutation loanOfficer {
loanOfficer {
setLoanOfficerSlug {
...SetLoanOfficerSlugResponseFragment
}
}
}
Response
{
"data": {
"loanOfficer": {
"setLoanOfficerSlug": SetLoanOfficerSlugResponse
}
}
}
loanScript
Response
Returns a LoanScriptMutations
Example
Query
mutation loanScript {
loanScript {
createLoanScript {
...CreateLoanScriptResponseFragment
}
deleteLoanScript {
...DeleteLoanScriptResponseFragment
}
runLoanScript {
...RunLoanScriptResponseFragment
}
updateLoanScript {
...UpdateLoanScriptResponseFragment
}
}
}
Response
{
"data": {
"loanScript": {
"createLoanScript": CreateLoanScriptResponse,
"deleteLoanScript": DeleteLoanScriptResponse,
"runLoanScript": RunLoanScriptResponse,
"updateLoanScript": UpdateLoanScriptResponse
}
}
}
lpaKnownRulesBackfill
Description
Internal LPA known-rules backfill operations.
Response
Returns a LpaKnownRulesBackfillMutations
Example
Query
mutation lpaKnownRulesBackfill {
lpaKnownRulesBackfill {
start {
...StartLpaKnownRulesBackfillResponseFragment
}
status {
...StatusLpaKnownRulesBackfillResponseFragment
}
}
}
Response
{
"data": {
"lpaKnownRulesBackfill": {
"start": StartLpaKnownRulesBackfillResponse,
"status": StatusLpaKnownRulesBackfillResponse
}
}
}
nonBorrowingOwner
Description
NonBorrowingOwner mutations
Response
Returns a NonBorrowingOwnerMutations
Example
Query
mutation nonBorrowingOwner {
nonBorrowingOwner {
create {
...CreateNonBorrowingOwnerResponseFragment
}
delete {
...DeleteNonBorrowingOwnerResponseFragment
}
update {
...UpdateNonBorrowingOwnerResponseFragment
}
}
}
Response
{
"data": {
"nonBorrowingOwner": {
"create": CreateNonBorrowingOwnerResponse,
"delete": DeleteNonBorrowingOwnerResponse,
"update": UpdateNonBorrowingOwnerResponse
}
}
}
organization
Description
Namespace for organization mutations. These allow updating things like your organization's privacy policy url and licensing.
Response
Returns an OrganizationMutations
Example
Query
mutation organization {
organization {
addEmailDomains {
...AddEmailDomainsResponseFragment
}
createContact {
...CreateContactResponseFragment
}
createOrganizationRole {
...CreateOrganizationRoleResponseFragment
}
createOrganizationUser {
...CreateOrganizationUserResponseFragment
}
deleteOrganizationRole {
...DeleteOrganizationRoleResponseFragment
}
deleteOrganizationStateLicenses {
...DeleteOrganizationStateLicensesResponseFragment
}
deleteOrganizationUser {
...DeleteOrganizationUserResponseFragment
}
removeEmailDomains {
...RemoveEmailDomainsResponseFragment
}
requestBrandingLogoUpload {
...RequestBrandingLogoUploadResponseFragment
}
resetOrganizationUserMfa {
...ResetOrganizationUserMfaResponseFragment
}
sendOrganizationUserInvitationEmail {
...SendOrganizationUserInvitationEmailResponseFragment
}
setDefaultPrimaryLoanContact {
...SetDefaultPrimaryLoanContactResponseFragment
}
setOrganizationApiAccessStatus {
...SetOrganizationApiAccessStatusResponseFragment
}
toggleEnabledLoanProduct {
...ToggleEnabledLoanProductResponseFragment
}
togglePlaidProduct {
...TogglePlaidProductResponseFragment
}
updateContact {
...UpdateContactResponseFragment
}
updateCostAbsorption {
...UpdateCostAbsorptionResponseFragment
}
updateCustomerShare {
...UpdateCustomerShareResponseFragment
}
updateOrganization {
...UpdateOrganizationResponseFragment
}
updateOrganizationCustomerMargin {
...UpdateOrganizationCustomerMarginResponseFragment
}
updateOrganizationLicensing {
...UpdateOrganizationLicensingResponseFragment
}
updateOrganizationMargin {
...UpdateOrganizationMarginResponseFragment
}
updateOrganizationOrigination {
...UpdateOrganizationOriginationResponseFragment
}
updateOrganizationRolePermissions {
...UpdateOrganizationRolePermissionsResponseFragment
}
updateOrganizationUserDetails {
...UpdateOrganizationUserDetailsResponseFragment
}
updateOrganizationUserRoles {
...UpdateOrganizationUserRolesResponseFragment
}
}
}
Response
{
"data": {
"organization": {
"addEmailDomains": AddEmailDomainsResponse,
"createContact": CreateContactResponse,
"createOrganizationRole": CreateOrganizationRoleResponse,
"createOrganizationUser": CreateOrganizationUserResponse,
"deleteOrganizationRole": DeleteOrganizationRoleResponse,
"deleteOrganizationStateLicenses": DeleteOrganizationStateLicensesResponse,
"deleteOrganizationUser": DeleteOrganizationUserResponse,
"removeEmailDomains": RemoveEmailDomainsResponse,
"requestBrandingLogoUpload": RequestBrandingLogoUploadResponse,
"resetOrganizationUserMfa": ResetOrganizationUserMfaResponse,
"sendOrganizationUserInvitationEmail": SendOrganizationUserInvitationEmailResponse,
"setDefaultPrimaryLoanContact": SetDefaultPrimaryLoanContactResponse,
"setOrganizationApiAccessStatus": SetOrganizationApiAccessStatusResponse,
"toggleEnabledLoanProduct": ToggleEnabledLoanProductResponse,
"togglePlaidProduct": TogglePlaidProductResponse,
"updateContact": UpdateContactResponse,
"updateCostAbsorption": UpdateCostAbsorptionResponse,
"updateCustomerShare": UpdateCustomerShareResponse,
"updateOrganization": UpdateOrganizationResponse,
"updateOrganizationCustomerMargin": UpdateOrganizationCustomerMarginResponse,
"updateOrganizationLicensing": UpdateOrganizationLicensingResponse,
"updateOrganizationMargin": UpdateOrganizationMarginResponse,
"updateOrganizationOrigination": UpdateOrganizationOriginationResponse,
"updateOrganizationRolePermissions": UpdateOrganizationRolePermissionsResponse,
"updateOrganizationUserDetails": UpdateOrganizationUserDetailsResponse,
"updateOrganizationUserRoles": UpdateOrganizationUserRolesResponse
}
}
}
ownedProperty
Description
Owned property mutations
Response
Returns an OwnedPropertyMutations
Example
Query
mutation ownedProperty {
ownedProperty {
attachLiabilities {
...AttachOwnedPropertyLiabilitiesResponseFragment
}
attachNonBorrowingOwner {
...AttachOwnedPropertyNonBorrowingOwnerResponseFragment
}
create {
...CreateOwnedPropertyResponseFragment
}
delete {
...DeleteOwnedPropertyResponseFragment
}
detachLiabilities {
...DetachOwnedPropertyLiabilitiesResponseFragment
}
update {
...UpdateOwnedPropertyResponseFragment
}
}
}
Response
{
"data": {
"ownedProperty": {
"attachLiabilities": AttachOwnedPropertyLiabilitiesResponse,
"attachNonBorrowingOwner": AttachOwnedPropertyNonBorrowingOwnerResponse,
"create": CreateOwnedPropertyResponse,
"delete": DeleteOwnedPropertyResponse,
"detachLiabilities": DetachOwnedPropertyLiabilitiesResponse,
"update": UpdateOwnedPropertyResponse
}
}
}
party
Response
Returns a PartyMutations
Example
Query
mutation party {
party {
create {
...CreatePartyResponseFragment
}
delete {
...DeletePartyResponseFragment
}
optForDefaultTitleVendor {
...OptForDefaultTitleVendorResponseFragment
}
update {
...UpdatePartyResponseFragment
}
}
}
Response
{
"data": {
"party": {
"create": CreatePartyResponse,
"delete": DeletePartyResponse,
"optForDefaultTitleVendor": OptForDefaultTitleVendorResponse,
"update": UpdatePartyResponse
}
}
}
preApproval
Response
Returns a PreApprovalMutations
Example
Query
mutation preApproval {
preApproval {
createLoanPreApprovalLetter {
...CreateLoanPreApprovalLetterResponseFragment
}
createMaxLoanPreApprovalLetter {
...CreateMaxLoanPreApprovalLetterResponseFragment
}
runLoanPreApproval {
...RunLoanPreApprovalResponseFragment
}
}
}
Response
{
"data": {
"preApproval": {
"createLoanPreApprovalLetter": CreateLoanPreApprovalLetterResponse,
"createMaxLoanPreApprovalLetter": CreateMaxLoanPreApprovalLetterResponse,
"runLoanPreApproval": RunLoanPreApprovalResponse
}
}
}
preQualification
Description
Namespace for pre-qualification mutations. Pre-qualification is a lightweight process for estimating how large of a mortgage a borrower might qualify for based on stated information.
Response
Returns a PreQualificationMutations
Example
Query
mutation preQualification {
preQualification {
conventional {
...ConventionalResponseFragment
}
}
}
Response
{
"data": {
"preQualification": {
"conventional": ConventionalResponse
}
}
}
pricing
Description
Namespace for asynchronous pricing queries. These mutations kick off asynchronous jobs which can be used to price and structure a loan.
Response
Returns a PricingMutations
Example
Query
mutation pricing {
pricing {
calculateOptimalStructure {
...CalculateOptimalStructureResponseFragment
}
}
}
Response
{
"data": {
"pricing": {
"calculateOptimalStructure": CalculateOptimalStructureResponse
}
}
}
reapp
Response
Returns a ReappMutations
Example
Query
mutation reapp {
reapp {
reappLoan {
...ReappLoanResponseFragment
}
}
}
Response
{"data": {"reapp": {"reappLoan": ReappLoanResponse}}}
subjectProperty
Description
SubjectProperty mutations
Response
Returns a SubjectPropertyMutations
Example
Query
mutation subjectProperty {
subjectProperty {
addSubjectPropertyIntent {
...AddSubjectPropertyIntentResponseFragment
}
attachAddress {
...AttachSubjectPropertyAddressResponseFragment
}
attachLiabilities {
...AttachSubjectPropertyLiabilitiesResponseFragment
}
create {
...CreateSubjectPropertyResponseFragment
}
detachAddress {
...DetachSubjectPropertyAddressResponseFragment
}
detachLiabilities {
...DetachSubjectPropertyLiabilitiesResponseFragment
}
setFirstLien {
...SetSubjectPropertyFirstLienResponseFragment
}
unsetFirstLien {
...UnsetSubjectPropertyFirstLienResponseFragment
}
update {
...UpdateSubjectPropertyResponseFragment
}
updateSubjectPropertyIntent {
...UpdateSubjectPropertyIntentResponseFragment
}
}
}
Response
{
"data": {
"subjectProperty": {
"addSubjectPropertyIntent": AddSubjectPropertyIntentResponse,
"attachAddress": AttachSubjectPropertyAddressResponse,
"attachLiabilities": AttachSubjectPropertyLiabilitiesResponse,
"create": CreateSubjectPropertyResponse,
"detachAddress": DetachSubjectPropertyAddressResponse,
"detachLiabilities": DetachSubjectPropertyLiabilitiesResponse,
"setFirstLien": SetSubjectPropertyFirstLienResponse,
"unsetFirstLien": UnsetSubjectPropertyFirstLienResponse,
"update": UpdateSubjectPropertyResponse,
"updateSubjectPropertyIntent": UpdateSubjectPropertyIntentResponse
}
}
}
support
Description
Support ticket mutations.
Response
Returns a SupportMutations
Example
Query
mutation support {
support {
addSupportMessage {
...AddSupportMessageResponseFragment
}
createSupportTicket {
...CreateSupportTicketResponseFragment
}
requestSupportDocumentUpload {
...RequestSupportDocumentUploadResponseFragment
}
}
}
Response
{
"data": {
"support": {
"addSupportMessage": AddSupportMessageResponse,
"createSupportTicket": CreateSupportTicketResponse,
"requestSupportDocumentUpload": RequestSupportDocumentUploadResponse
}
}
}
supportAdmin
Description
Pylon-internal support administration mutations.
Response
Returns a SupportAdminMutations
Example
Query
mutation supportAdmin {
supportAdmin {
addIssueType {
...AddIssueTypeResponseFragment
}
deleteIssueType {
...DeleteIssueTypeResponseFragment
}
importIssueType {
...ImportIssueTypeResponseFragment
}
}
}
Response
{
"data": {
"supportAdmin": {
"addIssueType": AddIssueTypeResponse,
"deleteIssueType": DeleteIssueTypeResponse,
"importIssueType": ImportIssueTypeResponse
}
}
}
underwritingReview
Description
Underwriter review mutations namespace.
Response
Returns an UnderwritingReviewMutations
Example
Query
mutation underwritingReview {
underwritingReview {
addManualRequirement {
...AddManualRequirementResponseFragment
}
confirmAssessment {
...ConfirmAssessmentResponseFragment
}
removeManualRequirement {
...RemoveManualRequirementResponseFragment
}
reopenAssessment {
...ReopenAssessmentResponseFragment
}
requestReconsideration {
...RequestReconsiderationResponseFragment
}
submitCounterAssessment {
...SubmitCounterAssessmentResponseFragment
}
}
}
Response
{
"data": {
"underwritingReview": {
"addManualRequirement": AddManualRequirementResponse,
"confirmAssessment": ConfirmAssessmentResponse,
"removeManualRequirement": RemoveManualRequirementResponse,
"reopenAssessment": ReopenAssessmentResponse,
"requestReconsideration": RequestReconsiderationResponse,
"submitCounterAssessment": SubmitCounterAssessmentResponse
}
}
}
verify
Response
Returns a VerifyMutations
Example
Query
mutation verify {
verify {
createInitializationToken {
... on PlaidLinkToken {
...PlaidLinkTokenFragment
}
... on TruvBridgeToken {
...TruvBridgeTokenFragment
}
}
createUpdateModeToken {
...CreateUpdateModeTokenResponseFragment
}
exchangePublicToken {
... on PlaidItemAccess {
...PlaidItemAccessFragment
}
... on TruvLinkAccess {
...TruvLinkAccessFragment
}
}
getPlaidLayerSession {
...GetPlaidLayerSessionResponseFragment
}
}
}
Response
{
"data": {
"verify": {
"createInitializationToken": PlaidLinkToken,
"createUpdateModeToken": CreateUpdateModeTokenResponse,
"exchangePublicToken": PlaidItemAccess,
"getPlaidLayerSession": GetPlaidLayerSessionResponse
}
}
}
Types
AccessoryUnitIncome
Description
Accessory unit income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
AddAppraisalOrderCommentInput
Description
Input for adding a comment to an appraisal order.
Example
{
"appraisalOrderId": "4",
"comment": "abc123",
"loanId": "4"
}
AddAppraisalOrderDocumentsInput
Description
Input for adding documents to an appraisal order.
Fields
| Input Field | Description |
|---|---|
appraisalOrderId - ID!
|
ID of the appraisal order to attach documents to. |
documents - [AppraisalOrderDocumentInput!]!
|
Documents to upload. |
loanId - ID!
|
ID of the loan application that owns the order. |
Example
{
"appraisalOrderId": "4",
"documents": [AppraisalOrderDocumentInput],
"loanId": "4"
}
AddEmailDomainsInput
Fields
| Input Field | Description |
|---|---|
domains - [String!]!
|
Email domains to add to the organization. Domains are normalized to lowercase. |
Example
{"domains": ["abc123"]}
AddEmailDomainsResponse
Fields
| Field Name | Description |
|---|---|
emailDomains - [String!]!
|
Example
{"emailDomains": ["abc123"]}
AddIssueTypeInput
AddIssueTypeResponse
Description
Response from creating an issue type.
Fields
| Field Name | Description |
|---|---|
label - SupportIssueType!
|
The registered issue type. |
Example
{"label": SupportIssueType}
AddManualRequirementInput
Fields
| Input Field | Description |
|---|---|
citationIds - [ID!]
|
Citations grounding the requirement (created beforehand via createCitation). Every id must resolve to a citation on loanId; duplicates collapse to the first occurrence. Recorded as minting provenance only — citations never affect satisfaction. |
description - String!
|
Human-readable description of the condition. |
loanId - ID!
|
The loan to add the requirement to. |
parentRequirementId - ID
|
Optional composite parent to nest the requirement under. Must be an active requirement on the same loan. |
reasoning - String
|
Why the requirement is being added (minting provenance). |
slug - String!
|
Stable identity slug. The requirement id content-addresses on {slug}, so re-adding the same slug maps to the same requirement (restoring it if it was removed). |
Example
{
"citationIds": [4],
"description": "abc123",
"loanId": 4,
"parentRequirementId": "4",
"reasoning": "xyz789",
"slug": "xyz789"
}
AddManualRequirementResponse
Description
Result of adding a manual requirement.
Fields
| Field Name | Description |
|---|---|
requirement - Requirement
|
The affected requirement's post-reconcile subtree (adversarial-review ruling 2): every review mutation reconciles inline, so the caller can render the new phase without a refetch. Null when the requirement row no longer exists (evicted or not yet minted). |
requirementId - ID!
|
The requirement's stable content-addressed id (req_…). Re-adding the same slug returns the same id. |
warnings - [UnderwritingReviewWarning!]!
|
Non-fatal warnings about the write. Empty on a clean write. |
Example
{
"requirement": Requirement,
"requirementId": 4,
"warnings": ["TARGET_SUPERSEDED"]
}
AddNotableActivityInput
Description
Input to the addNotableActivity mutation.
Fields
| Input Field | Description |
|---|---|
activityType - FinancialAccountActivityType
|
Activity type |
amount - Int
|
The amount of money in dollars |
assetId - ID!
|
|
date - Date
|
The date when the activity occurred |
description - String
|
Description of the activity |
Example
{
"activityType": "LARGE_DEPOSIT",
"amount": 123,
"assetId": 4,
"date": "2007-12-03",
"description": "abc123"
}
AddNotableActivityResponse
Description
Response of the addNotableActivity mutation.
Fields
| Field Name | Description |
|---|---|
activity - FinancialAccountActivity!
|
The FinancialAccountActivity entity that was added to the asset |
Example
{"activity": FinancialAccountActivity}
AddOrderCommentResponse
Description
Response from adding a comment to an appraisal order.
Fields
| Field Name | Description |
|---|---|
success - Boolean!
|
Whether the comment was successfully added. |
Example
{"success": false}
AddOrderDocumentsResponse
Description
Response from adding documents to an appraisal order.
Fields
| Field Name | Description |
|---|---|
success - Boolean!
|
Whether the documents were successfully added. |
Example
{"success": true}
AddSubjectPropertyIntentInput
Fields
| Input Field | Description |
|---|---|
fipsCountyCode - String!
|
County-level FIPS code |
isPlannedUnitDevelopment - Boolean
|
Marks a subject property as being part of a planned unit development |
loanId - ID!
|
The ID or friendly ID of the Loan to which the SubjectPropertyIntent should be added |
neighborhoodHousingType - NeighborhoodHousingType
|
The type of housing |
propertyUsageType - PropertyUsageType
|
How the borrower(s) intend to use the property |
Example
{
"fipsCountyCode": "abc123",
"isPlannedUnitDevelopment": false,
"loanId": 4,
"neighborhoodHousingType": "CONDOMINIUM",
"propertyUsageType": "INVESTMENT"
}
AddSubjectPropertyIntentResponse
Fields
| Field Name | Description |
|---|---|
subjectPropertyIntent - SubjectPropertyIntent!
|
The SubjectPropertyIntent that was added to the loan |
Example
{"subjectPropertyIntent": SubjectPropertyIntent}
AddSupportMessageInput
Description
Input for adding a message to an existing ticket.
Fields
| Input Field | Description |
|---|---|
additionalRecipients - [SupportRecipientInput!]
|
Extra addresses to copy on this message; at most 10. |
attachmentDocumentIds - [ID!]
|
Loan documents to attach: ids returned by requestSupportDocumentUpload's file POST, or document ids from the ticket's loan documents. Documents are reusable across tickets and messages; at most 20 per message. |
body - String!
|
The message body. |
requesterEmail - String!
|
Email of the person posting the message. |
requesterName - String!
|
Name of the person posting the message. |
ticketId - ID!
|
The ticket id (Plain thread id). |
Example
{
"additionalRecipients": [SupportRecipientInput],
"attachmentDocumentIds": [4],
"body": "xyz789",
"requesterEmail": "xyz789",
"requesterName": "xyz789",
"ticketId": 4
}
AddSupportMessageResponse
Description
Response from adding a message to a ticket.
Fields
| Field Name | Description |
|---|---|
ticketId - ID!
|
The ticket the message was added to. |
Example
{"ticketId": 4}
Address
Description
US Address
Example
{
"city": "xyz789",
"country": "abc123",
"line": "xyz789",
"line2": "xyz789",
"state": "AK",
"zipCode": "abc123"
}
AddressInput
Description
US Address Input
Example
{
"city": "abc123",
"country": "abc123",
"line": "abc123",
"line2": "xyz789",
"state": "AK",
"zipCode": "abc123"
}
AdvisorCompletionJob
Fields
| Field Name | Description |
|---|---|
failureMessage - String
|
|
id - ID!
|
|
status - JobStatus!
|
Example
{
"failureMessage": "xyz789",
"id": "4",
"status": "FAILED"
}
AdvisorMutations
Fields
| Field Name | Description |
|---|---|
createSession - CreateSessionResponse
|
|
giveMessageFeedback - GiveMessageFeedbackResponse
|
|
Arguments
|
|
sendMessage - SendMessageResponse
|
|
Arguments
|
|
Example
{
"createSession": CreateSessionResponse,
"giveMessageFeedback": GiveMessageFeedbackResponse,
"sendMessage": SendMessageResponse
}
AdvisorSession
Fields
| Field Name | Description |
|---|---|
createdAt - DateTime!
|
|
id - ID!
|
|
messages - [AdvisorSessionMessage!]!
|
Example
{
"createdAt": "2007-12-03T10:15:30Z",
"id": 4,
"messages": [AdvisorSessionMessage]
}
AdvisorSessionAdvisorMessage
Fields
| Field Name | Description |
|---|---|
advisorSessionId - ID!
|
|
content - String!
|
|
createdAt - DateTime!
|
|
feedback - AdvisorSessionAdvisorMessageFeedback
|
|
id - ID!
|
Example
{
"advisorSessionId": "4",
"content": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"feedback": AdvisorSessionAdvisorMessageFeedback,
"id": "4"
}
AdvisorSessionAdvisorMessageFeedback
Example
{
"advisorSessionId": "4",
"content": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"id": "4",
"note": "abc123",
"sentiment": "NEGATIVE"
}
AdvisorSessionAdvisorMessageFeedbackSentiment
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"NEGATIVE"
AdvisorSessionMessage
AdvisorSessionUserMessage
AgentProvenance
Description
Provenance from an automated interpretation agent. The requirement exists because an agent derived a concrete, loan-specific ask from an automated underwriting finding; a person can waive or retire it like any manually added condition.
Fields
| Field Name | Description |
|---|---|
ausRunId - ID!
|
The automated underwriting run whose finding produced this ask. |
description - String!
|
The agent's reasoning for why this finding binds this loan. |
evidence - [GuidelineReference!]!
|
Supporting evidence. Always empty — the source finding is carried in the typed fields, and document-anchored evidence lives in the requirement's evidence log. |
findingText - String!
|
The verbatim finding text the ask was derived from. |
messageKey - String!
|
Stable key of the source finding's message type. |
mintedAt - DateTimeISO!
|
When the ask was minted. |
model - String!
|
The model that proposed this ask. |
promptName - String!
|
Name of the interpretation prompt that proposed this ask. |
promptVersion - NonNegativeInt!
|
Version of the interpretation prompt. |
traceId - String
|
Observability trace id of the interpretation call, for auditing. |
Example
{
"ausRunId": "4",
"description": "xyz789",
"evidence": [GuidelineReference],
"findingText": "xyz789",
"messageKey": "xyz789",
"mintedAt": "2007-12-03T10:15:30Z",
"model": "xyz789",
"promptName": "abc123",
"promptVersion": 123,
"traceId": "abc123"
}
AlimonyIncome
Description
Alimony income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
Analytics
Fields
| Field Name | Description |
|---|---|
job - AnalyticsExportJob!
|
|
Arguments
|
|
loanApplicationMetrics - LoanApplicationAnalyticsMetrics!
|
|
Arguments |
|
loanApplications - LoanApplicationAnalyticsConnection!
|
|
Arguments
|
|
summary - PipelineSummaryResponse!
|
|
Arguments
|
|
Example
{
"job": AnalyticsExportJob,
"loanApplicationMetrics": LoanApplicationAnalyticsMetrics,
"loanApplications": LoanApplicationAnalyticsConnection,
"summary": PipelineSummaryResponse
}
AnalyticsDateBucket
Description
The calendar period a date dimension is grouped into.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DAY"
AnalyticsExportFile
Fields
| Field Name | Description |
|---|---|
url - String!
|
Example
{"url": "xyz789"}
AnalyticsExportFormat
Values
| Enum Value | Description |
|---|---|
|
|
Example
"CSV"
AnalyticsExportJob
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
result - AnalyticsExportFile
|
|
status - JobStatus!
|
Example
{
"id": 4,
"result": AnalyticsExportFile,
"status": "FAILED"
}
AnalyticsExportRoot
Values
| Enum Value | Description |
|---|---|
|
|
Example
"LOAN_APPLICATIONS"
AnalyticsMutations
Fields
| Field Name | Description |
|---|---|
startAnalyticsExportJob - StartAnalyticsExportJobResponse
|
|
Arguments
|
|
Example
{
"startAnalyticsExportJob": StartAnalyticsExportJobResponse
}
AnyContributor
Possible Types
| AnyContributor Types |
|---|
Example
{
"displayName": "xyz789",
"id": "4"
}
Apor
Description
The average interest rate offered to highly qualified buyers, as published by the FFIEC.
Fields
| Field Name | Description |
|---|---|
amortizationType - AporAmortizationType!
|
Whether this APOR applies to fixed or adjustable-rate mortages. |
date - DateTime!
|
The date this APOR was published. |
loanTermOrYearsToFirstAdjustment - PositiveInt!
|
APOR is calculated in buckets according to term for fixed-rate mortgages, or according to the number of years until the rate may adjust for ARMs. |
rate - PositiveFloat!
|
The average interest rate by amortization type and term/years until adjustment. |
Example
{
"amortizationType": "ADJUSTABLE_RATE",
"date": "2007-12-03T10:15:30Z",
"loanTermOrYearsToFirstAdjustment": 123,
"rate": 123.45
}
AporAmortizationType
Description
The amoritization type of the APOR. The APORs of fixed and ARM mortgages are calculated separately.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ADJUSTABLE_RATE"
AppliedMargin
Description
The customer margin applied to a loan's pricing, without the Pylon/customer split internals.
Fields
| Field Name | Description |
|---|---|
activeAt - DateTime!
|
The instant this margin segment became active (inclusive). |
customerMargin - NonNegativeFloat!
|
The portion of the global margin the customer receives, in points (1.5 = 1.5%). |
endsAt - DateTime
|
The instant this margin segment stops being active (exclusive). Null for the segment active right now. |
globalMargin - NonNegativeFloat!
|
The full margin priced into the loan, in points (1.5 = 1.5%). |
Example
{
"activeAt": "2007-12-03T10:15:30Z",
"customerMargin": 123.45,
"endsAt": "2007-12-03T10:15:30Z",
"globalMargin": 123.45
}
Appraisal
Description
Represents an appraisal order and related property valuation details.
Fields
| Field Name | Description |
|---|---|
actualValueAmount - Float
|
The actual appraised value of the property in dollars. |
appraisalManagementCompanies - [Contact!]!
|
Appraisal management companies (AMCs) on the appraisal. |
appraisalTypeName - String
|
Name of the appraisal type that was ordered, as reported by the appraisal vendor. |
appraisers - [Contact!]!
|
Appraisers assigned on the appraisal. |
assignedAt - DateTime
|
Date the appraiser was assigned. |
avmValueAmount - Float
|
The automated valuation model (AVM) estimated value in dollars. |
deliveredToBorrowerAt - DateTime
|
Date the report was delivered to the borrower. |
documents - [Document!]!
|
Documents associated with the appraisal. |
id - ID!
|
The ID of the appraisal. |
inspectionCompletedAt - DateTime
|
Date the property inspection was completed. |
orderAcceptedAt - DateTime
|
Date the appraisal order was accepted. |
orderCompletedAt - DateTime
|
Date the appraisal order was completed. |
orderStatus - AppraisalOrderStatus
|
Current status of the appraisal order. |
orderedAt - DateTime
|
Date the appraisal was ordered. |
paidAt - Date
|
Date the appraisal order was paid. |
paymentLink - String
|
Link to the payment portal for the appraisal fee. |
paymentStatus - AppraisalPaymentStatus
|
Current status of the appraisal payment. |
receivedAt - DateTime
|
Date the completed report was received. |
reportSignedAt - DateTime
|
Date the report was signed. |
scheduledAt - DateTime
|
Scheduled date of the property inspection by the appraiser. |
valuationMethod - PropertyValuationMethodType
|
Valuation method used to assess the property's value. |
Example
{
"actualValueAmount": 987.65,
"appraisalManagementCompanies": [Contact],
"appraisalTypeName": "xyz789",
"appraisers": [Contact],
"assignedAt": "2007-12-03T10:15:30Z",
"avmValueAmount": 987.65,
"deliveredToBorrowerAt": "2007-12-03T10:15:30Z",
"documents": [Document],
"id": 4,
"inspectionCompletedAt": "2007-12-03T10:15:30Z",
"orderAcceptedAt": "2007-12-03T10:15:30Z",
"orderCompletedAt": "2007-12-03T10:15:30Z",
"orderStatus": "ACCEPTED",
"orderedAt": "2007-12-03T10:15:30Z",
"paidAt": "2007-12-03",
"paymentLink": "xyz789",
"paymentStatus": "NO_AMOUNT_DUE",
"receivedAt": "2007-12-03T10:15:30Z",
"reportSignedAt": "2007-12-03T10:15:30Z",
"scheduledAt": "2007-12-03T10:15:30Z",
"valuationMethod": "AUTOMATED_VALUATION_MODEL"
}
AppraisalMutations
Description
Root type for appraisal mutations.
Fields
| Field Name | Description |
|---|---|
addOrderComment - AddOrderCommentResponse
|
Add a comment to an appraisal order. |
Arguments
|
|
addOrderDocuments - AddOrderDocumentsResponse
|
Add documents to an appraisal order. |
Arguments
|
|
orderAppraisal - OrderAppraisalResponse
|
Order an appraisal for a loan. |
Arguments
|
|
Example
{
"addOrderComment": AddOrderCommentResponse,
"addOrderDocuments": AddOrderDocumentsResponse,
"orderAppraisal": OrderAppraisalResponse
}
AppraisalOrder
Description
An appraisal order placed with a vendor to obtain a property valuation.
Fields
| Field Name | Description |
|---|---|
createdOn - DateTime!
|
When the order was created. |
id - ID!
|
Unique identifier of the appraisal order. |
result - AppraisalOrderResult
|
Appraisal result once completed. |
status - AppraisalOrderStatusEnum!
|
Current lifecycle status of the order. |
vendor - AppraisalVendor!
|
Vendor handling the appraisal order. |
vendorOrderId - Int
|
Vendor-assigned order identifier. |
Example
{
"createdOn": "2007-12-03T10:15:30Z",
"id": 4,
"result": AppraisalOrderResult,
"status": "CANCELLED",
"vendor": "VALUE_LINK",
"vendorOrderId": 123
}
AppraisalOrderDocumentInput
Description
A single document to attach to an appraisal order.
Example
{
"base64Content": "abc123",
"documentTypeId": "xyz789",
"name": "abc123"
}
AppraisalOrderResult
AppraisalOrderStatus
Description
The current status of the appraisal order.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACCEPTED"
AppraisalOrderStatusEnum
Description
Status of an appraisal order through its lifecycle.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
AppraisalPaymentStatus
Description
The current status of payment for the appraisal order.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"NO_AMOUNT_DUE"
AppraisalQueries
Description
Root type for appraisal queries.
Fields
| Field Name | Description |
|---|---|
availableAmcs - [AvailableAmc!]!
|
Available appraisal management companies for a loan and appraisal type, with fees. |
Arguments
|
|
availableAppraisalTypes - [AvailableAppraisalType!]!
|
Available appraisal types for a loan based on property location. |
Arguments
|
|
Example
{
"availableAmcs": [AvailableAmc],
"availableAppraisalTypes": [AvailableAppraisalType]
}
AppraisalVendor
Description
Supported appraisal vendors.
Values
| Enum Value | Description |
|---|---|
|
|
Example
"VALUE_LINK"
AppraisalWaiver
Description
Types of appraisal waivers (e.g., PIW, ACE) that waive the need for an appraisal on eligible loans.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"AUTOMATED_COLLATERAL_EVALUATION"
ApprovalProcessDisputeKind
Description
The dispute action being recorded by an underwriter in approval-process.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CHALLENGE"
ApprovalProcessEvidenceRefInput
Fields
| Input Field | Description |
|---|---|
evidenceId - ID!
|
Content-addressed id of the target assertion edge. The id pins the exact content, so no separate hash is carried. |
Example
{"evidenceId": 4}
ApprovalProcessMutations
Fields
| Field Name | Description |
|---|---|
writeDispute - WriteDisputeResponse
|
Writes a CHALLENGE/REJECTION dispute pinned to an assertion edge, or a WAIVE of a requirement. |
Arguments
|
|
Example
{"writeDispute": WriteDisputeResponse}
ApproveConcessionInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
ApproveConcessionResponse
Fields
| Field Name | Description |
|---|---|
concession - Concession
|
Example
{"concession": Concession}
ApproveLoanChangeRequestInput
Description
Input to the loan.approveChangeRequest mutation.
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the loan change request to approve |
Example
{"id": "4"}
ApproveLoanChangeRequestResponse
Description
Response of the loan.approveChangeRequest mutation.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of the loan change request |
status - LoanChangeRequestStatus!
|
Current status of this change request |
Example
{"id": "4", "status": "APPROVED"}
ApprovedPreApprovalRun
Description
A successful pre-approval
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
loanAmount - NonNegativeInt!
|
|
maxPreApprovalLetterUrl - String
|
A download URL for a pre-approval letter with the maximum pre-approved loan amount and purchase price for the loan. |
salesContractAmount - NonNegativeInt!
|
Example
{
"id": "4",
"loanAmount": 123,
"maxPreApprovalLetterUrl": "xyz789",
"salesContractAmount": 123
}
AprInaccurateReason
Description
§1026.19(f)(2)(ii)(A): the disclosed APR is no longer accurate. A null currentAprPercent is a loan whose APR can no longer be measured, which is reported rather than passed over.
Fields
| Field Name | Description |
|---|---|
currentAprPercent - Float
|
This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
disclosedAprPercent - Float!
|
This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
kind - DisclosureDriftReasonKind!
|
|
thresholdPercent - Float!
|
The §1026.22(a) tolerance applied. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
Example
{
"currentAprPercent": 987.65,
"disclosedAprPercent": 123.45,
"kind": "APR_INACCURATE",
"thresholdPercent": 987.65
}
ArchiveLoanInput
Description
Input to the archiveLoan mutation.
Fields
| Input Field | Description |
|---|---|
id - ID!
|
ID of the loan to archive |
Example
{"id": 4}
ArchiveLoanResponse
Types
| Union Types |
|---|
Example
ArchiveLoanSuccess
ArchiveLoanSuccess
Description
A successful response after a loan has been archived.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
ID of the archived loan |
Example
{"id": 4}
ArchiveReasonCategory
Description
Why a document was archived (e.g. Duplicate, Illegible).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AssociatedToDifferentAspect"
AsianRace
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CHINESE"
Assertion
Description
An authored, reasoned verdict on a requirement, grounded in citations. authoritative marks the assertion that won the requirement's server-side fold — clients must never re-derive it.
Fields
| Field Name | Description |
|---|---|
author - Contributor!
|
WHO authored this assertion — always a Contributor, resolved from the writing context, never client-supplied. |
authoritative - Boolean!
|
True when this assertion won its requirement's authoritative-read fold — server-computed from the reconcile projection pin, never client-derived. |
citations - [Citation!]!
|
The citation rows grounding this assertion. Unresolvable references are skipped (and logged server-side), never surfaced as errors. |
condition - AssertionCondition
|
The open condition this assertion states — what must change for the claim to hold. Null on a FULFILLED verdict (nothing is open) and on authors that record no condition. |
confidence - ConfidenceLevel
|
The author's ordinal confidence in the verdict. Null when the author recorded none. |
createdAt - DateTimeISO!
|
When this assertion was written. |
disputes - [Dispute!]!
|
The dispute acts pinned to this assertion. |
documents - [LoanDocument!]!
|
The input documents this assertion's author consumed. Unresolvable references are skipped (and logged server-side), never surfaced as errors. |
endorsesSuperseded - Boolean!
|
True when this assertion endorses a prior assertion that has been invalidated or is no longer current — the endorsement carries no fold authority. |
id - ID!
|
Stable content-addressed identifier, resolvable via the root node(id) query. |
reasoning - String
|
The author's reasoning narrative. Null when a redaction has tombstoned the text (the entry remains verifiable). |
verdict - AssertionVerdict!
|
The author's verdict on the claim. |
Example
{
"author": Contributor,
"authoritative": true,
"citations": [Citation],
"condition": AssertionCondition,
"confidence": "CERTAIN",
"createdAt": "2007-12-03T10:15:30Z",
"disputes": [Dispute],
"documents": [LoanDocument],
"endorsesSuperseded": false,
"id": "4",
"reasoning": "abc123",
"verdict": "FULFILLED"
}
AssertionCondition
Description
The open condition an unmet assertion states: what must change for the claim to hold. Distinct from reasoning (why the author reached this verdict) — this is the actionable ask.
Example
{
"provenance": "xyz789",
"text": "abc123"
}
AssertionVerdict
Description
An assertion's verdict on its claim: FULFILLED (the claim holds), UNFULFILLED (it does not), NEEDS_HUMAN (a human must judge).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"FULFILLED"
Asset
Description
Interface with fields shared across all asset types
Fields
| Field Name | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Asset ID |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Possible Types
| Asset Types |
|---|
Example
{
"amount": 123,
"assetReportId": "4",
"borrowerIds": ["4"],
"id": "4",
"nonBorrowerOwnerNames": ["abc123"],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
AssetMutations
Description
Asset mutations
Fields
| Field Name | Description |
|---|---|
addNotableActivity - AddNotableActivityResponse
|
Add a notable activity to an asset |
Arguments
|
|
attachBorrower - AttachBorrowerAssetResponse
|
Attach a borrower to an asset |
Arguments
|
|
create - CreateAssetResponse
|
Create an asset |
Arguments
|
|
delete - DeleteAssetResponse
|
Delete an asset |
Arguments
|
|
deleteNotableActivity - DeleteNotableActivityResponse
|
Delete a notable activity |
Arguments
|
|
detachBorrower - DetachBorrowerAssetResponse
|
Detach a borrower from an asset |
Arguments
|
|
explainAssetTransaction - ExplainAssetTransactionResponse
|
Submit an explanation for a large deposit asset transaction |
Arguments
|
|
update - UpdateAssetResponse
|
Update an asset. Fields with non-null values will be updated, the rest will be ignored. The input is a 'oneOf' type where exactly one field must be populated. The populated input field must match the type of the asset to update. |
Arguments
|
|
updateNotableActivity - UpdateNotableActivityResponse
|
Update a notable activity |
Arguments
|
|
Example
{
"addNotableActivity": AddNotableActivityResponse,
"attachBorrower": AttachBorrowerAssetResponse,
"create": CreateAssetResponse,
"delete": DeleteAssetResponse,
"deleteNotableActivity": DeleteNotableActivityResponse,
"detachBorrower": DetachBorrowerAssetResponse,
"explainAssetTransaction": ExplainAssetTransactionResponse,
"update": UpdateAssetResponse,
"updateNotableActivity": UpdateNotableActivityResponse
}
AssetTransaction
Description
A transaction associated with an asset from a Plaid Asset Report
Fields
| Field Name | Description |
|---|---|
amount - Int!
|
Transaction amount in dollars |
assetId - ID!
|
ID of the asset this transaction belongs to |
category - [String!]
|
List of categories associated with the transaction |
date - Date!
|
Date when the transaction occurred |
id - ID!
|
Asset Transaction ID |
merchantName - String
|
Merchant name associated with the transaction |
Example
{
"amount": 123,
"assetId": "4",
"category": ["xyz789"],
"date": "2007-12-03",
"id": 4,
"merchantName": "abc123"
}
AssetVerificationItem
Description
A live linked institution for the refresh list.
Example
{
"accountCount": 123,
"institutionLogo": "xyz789",
"institutionName": "abc123",
"institutionPrimaryColor": "abc123",
"itemId": 4,
"linkedAt": "2007-12-03T10:15:30Z"
}
AssetVerificationLinkKind
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CONNECT"
AssetVerificationLinkStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"COMPLETED"
AssetVerificationLinkSummary
Fields
| Field Name | Description |
|---|---|
createdAt - DateTime!
|
|
expiresAt - DateTime!
|
|
hostedUrl - String
|
The borrower-facing hosted link, null unless the link is pending and unexpired. |
itemId - ID
|
The bank connection this link concerns: set when a refresh link is created or after a connect link adds a bank connection; null until then. |
kind - AssetVerificationLinkKind!
|
Whether this link adds a new bank connection or refreshes an existing bank connection. |
linkId - String!
|
|
status - AssetVerificationLinkStatus!
|
Example
{
"createdAt": "2007-12-03T10:15:30Z",
"expiresAt": "2007-12-03T10:15:30Z",
"hostedUrl": "xyz789",
"itemId": 4,
"kind": "CONNECT",
"linkId": "abc123",
"status": "COMPLETED"
}
AssetVerificationMutations
Fields
| Field Name | Description |
|---|---|
refreshLink - RefreshLinkResponse
|
|
Arguments
|
|
requestLink - RequestLinkResponse
|
|
Arguments
|
|
Example
{
"refreshLink": RefreshLinkResponse,
"requestLink": RequestLinkResponse
}
AssetVerificationQueries
Fields
| Field Name | Description |
|---|---|
items - [AssetVerificationItem!]!
|
|
Arguments
|
|
links - [AssetVerificationLinkSummary!]!
|
Returns the borrower's 10 most recent hosted links, newest first. |
Arguments
|
|
Example
{
"items": [AssetVerificationItem],
"links": [AssetVerificationLinkSummary]
}
AssignLoanOfficerInput
AssignLoanOfficerResponse
AttachBorrowerAssetInput
AttachBorrowerAssetResponse
Description
Response of the attachBorrowerAsset mutation.
Fields
| Field Name | Description |
|---|---|
asset - Asset!
|
The asset that was updated |
Example
{"asset": Asset}
AttachBorrowerLiabilitiesInput
AttachBorrowerLiabilitiesResponse
Fields
| Field Name | Description |
|---|---|
borrower - Borrower!
|
The updated Borrower |
Example
{"borrower": Borrower}
AttachBorrowerNonBorrowingSpouseInput
AttachBorrowerNonBorrowingSpouseResponse
Fields
| Field Name | Description |
|---|---|
borrower - Borrower!
|
The updated Borrower |
Example
{"borrower": Borrower}
AttachContributorToDealInput
AttachContributorToDealResponse
Fields
| Field Name | Description |
|---|---|
contributor - Contributor!
|
|
deal - Deal!
|
Example
{
"contributor": Contributor,
"deal": Deal
}
AttachLoanContactInput
AttachLoanContactResponse
Description
Response of the loan.attachContact mutation.
Fields
| Field Name | Description |
|---|---|
contact - Contact!
|
The contact that was successfully attached to the loan. |
Example
{"contact": Contact}
AttachLoanNoteInput
Description
Input to the attachLoanNote mutation.
Example
{"loanId": 4, "notes": "xyz789"}
AttachLoanNoteResponse
Description
Response of the attachLoanNote mutation.
Fields
| Field Name | Description |
|---|---|
notes - String
|
Note attached to the loan |
Example
{"notes": "abc123"}
AttachOwnedPropertyLiabilitiesInput
AttachOwnedPropertyLiabilitiesResponse
Fields
| Field Name | Description |
|---|---|
ownedProperty - OwnedProperty!
|
The updated OwnedProperty |
Example
{"ownedProperty": OwnedProperty}
AttachOwnedPropertyLiabilityInput
AttachOwnedPropertyLiabilityResponse
Description
Response of the attachOwnedPropertyLiability mutation.
Fields
| Field Name | Description |
|---|---|
liability - Liability!
|
The updated Liability |
Example
{"liability": Liability}
AttachOwnedPropertyNonBorrowingOwnerInput
AttachOwnedPropertyNonBorrowingOwnerResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
AttachProductPricingRateInput
Description
Input to the attachProductPricingRate mutation.
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the product pricing rate to attach |
loanId - ID!
|
The ID or friendly ID of the loan. |
overrideExistingRateLock - Boolean
|
Proceed even though the loan's rate is already locked, replacing the terms the borrower was locked at. Allowed with the process:committed-rate-lock scope, or, for customers with automatic redisclosure enabled, on a loan that is not frozen (Loan.isFrozen is false). A replacement obliges the borrower a revised Loan Estimate, which is raised with the disclosure desk before the new lock commits; for those customers, a confirmation whose disclosed terms are unchanged leaves the existing lock in place instead (see ConfirmRateLockResponse.lockUnchanged). Applies only to a loan that already carries a lock; sending it for a loan's first lock is rejected, since there are no committed terms to replace. |
Example
{
"id": "4",
"loanId": 4,
"overrideExistingRateLock": false
}
AttachProductPricingRateResponse
Description
Response of the attachProductPricingRate mutation.
Fields
| Field Name | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
productPricingRate - ProductPricingRate!
|
The latest pricing run outputs |
productStructure - ProductPricingRate!
|
The latest version of pricing-related fields. |
Example
{
"loanId": 4,
"productPricingRate": ProductPricingRate,
"productStructure": ProductPricingRate
}
AttachSubjectPropertyAddressInput
Description
Input to the attachSubjectPropertyAddress mutation.
Fields
| Input Field | Description |
|---|---|
city - String
|
City |
country - String
|
Country |
fipsCountyCode - String
|
County-level FIPS code |
id - ID!
|
The ID of the subject property to which the address should be attached |
line - String
|
Street address line 1 |
line2 - String
|
Street address line 2 |
zipCode - String
|
Zip code |
Example
{
"city": "abc123",
"country": "xyz789",
"fipsCountyCode": "xyz789",
"id": 4,
"line": "xyz789",
"line2": "xyz789",
"zipCode": "xyz789"
}
AttachSubjectPropertyAddressResponse
Description
Response of the attachSubjectPropertyAddress mutation.
Fields
| Field Name | Description |
|---|---|
subjectProperty - SubjectProperty!
|
The SubjectProperty that was updated |
Example
{"subjectProperty": SubjectProperty}
AttachSubjectPropertyInput
AttachSubjectPropertyLiabilitiesInput
AttachSubjectPropertyLiabilitiesResponse
Fields
| Field Name | Description |
|---|---|
subjectProperty - SubjectProperty!
|
The updated SubjectProperty |
Example
{"subjectProperty": SubjectProperty}
AttachSubjectPropertyResponse
Description
Response of the attachSubjectProperty mutation.
Fields
| Field Name | Description |
|---|---|
loan - PickLoanId!
|
The updated loan |
subjectProperty - PickSubjectPropertyId!
|
The subject property |
Example
{
"loan": PickLoanId,
"subjectProperty": PickSubjectPropertyId
}
AttachTitleCompanyInput
AttachTitleCompanyResponse
AttachmentEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ATTACHED"
Aus
Fields
| Field Name | Description |
|---|---|
ausRequiredForLoan - Boolean!
|
Whether the loan's selected product must pass automated underwriting before it can lock. False for manually underwritten products; true when no rate has been selected yet. |
Arguments
|
|
ausRunJob - AusRunJob
|
Fetch an AUS run by its ID. |
Arguments
|
|
latestAusRunForLoan - AusRunJob
|
Fetch the latest AUS run for a loan. |
Arguments
|
|
Example
{
"ausRequiredForLoan": true,
"ausRunJob": AusRunJob,
"latestAusRunForLoan": AusRunJob
}
AusConditionAgentEvaluation
Description
The evaluation agent's assessment of an AUS condition: verdict, confidence, reasoning, and the passages it relied on. Present once the agent has evaluated the condition against the loan's uploaded documents; null before then.
Fields
| Field Name | Description |
|---|---|
confidence - Float!
|
The agent's calibrated confidence in its verdict, 0–1. |
evidence - [AusConditionEvidenceExcerpt!]!
|
Passages the verdict rests on. Empty when the verdict rests on an absence (nothing to quote). |
reasoning - String!
|
The agent's explanation for the verdict. |
verdict - AusConditionVerdict!
|
Whether the documents satisfy the condition, per the agent. |
Example
{
"confidence": 123.45,
"evidence": [AusConditionEvidenceExcerpt],
"reasoning": "abc123",
"verdict": "FULFILLED"
}
AusConditionEvidenceExcerpt
Description
A verbatim passage the evaluation agent cited from a parsed document to support its verdict. Anchored to a document plus an optional section/page; when the citation resolved to a concrete block it also carries page-space coordinates (boundingBox/polygon) for a reviewer overlay.
Fields
| Field Name | Description |
|---|---|
boundingBox - AusEvidenceBoundingBox
|
Axis-aligned page-space bounding box of the cited block, for a reviewer overlay. Null when the citation did not resolve to a concrete block location. |
documentId - ID!
|
The parsed document the quote was taken from. |
pageHeight - Float
|
Height of the page the boundingBox/polygon coordinates are expressed in, so a consumer can normalize them. Null when unknown. |
pageNumber - NonNegativeInt
|
1-based page number within the document, when known. |
pageWidth - Float
|
Width of the page the boundingBox/polygon coordinates are expressed in, so a consumer can normalize them. Null when unknown. |
polygon - [AusEvidencePagePoint!]
|
Ordered page-space outline (polygon) of the cited block. Null when the citation did not resolve to a concrete block location. |
quote - String!
|
Verbatim passage from the document supporting the verdict. |
section - String
|
Section label within the document, when known. |
Example
{
"boundingBox": AusEvidenceBoundingBox,
"documentId": "4",
"pageHeight": 987.65,
"pageNumber": 123,
"pageWidth": 123.45,
"polygon": [AusEvidencePagePoint],
"quote": "xyz789",
"section": "abc123"
}
AusConditionVerdict
Description
The evaluation agent's three-way verdict on whether the uploaded documents satisfy an AUS condition.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"FULFILLED"
AusEvidenceBoundingBox
Description
Axis-aligned page-space bounding box of a cited block — the simplification of its polygon outline, for a quick rectangular reviewer overlay. Coordinates are in the page coordinate system given by the surrounding evidence's pageWidth/pageHeight. Each edge is null when the citation did not resolve to a concrete block location.
Example
{"bottom": 987.65, "left": 987.65, "right": 987.65, "top": 123.45}
AusEvidencePagePoint
Description
A single vertex of a cited block's outline, in the page coordinate system given by the surrounding evidence's pageWidth/pageHeight. The ordered set of these points is the block's polygon outline; boundingBox is its axis-aligned simplification. Points are concrete — the polygon is only present at all when the citation resolved to a block.
Example
{"x": 123.45, "y": 987.65}
AusFailureBlocker
AusFindingProvenance
Description
Provenance from an automated underwriting finding. The requirement exists because an AUS run (DU/LPA) returned an actionable condition.
Fields
| Field Name | Description |
|---|---|
ausRunId - ID!
|
The AUS run that produced this finding. |
ausSystem - AusSystem!
|
Which automated underwriting system produced the finding (DU vs LPA). |
description - String!
|
Human-readable explanation of WHERE this requirement came from (the AUS run/finding). Distinct from the requirement's own as-seen condition text. |
evidence - [GuidelineReference!]!
|
Supporting evidence. Typically empty for AUS findings. |
messageId - String
|
The vendor message code, when the finding carries one. Null otherwise. |
messageKey - String!
|
The finding's stable message-type identity (the AUS message code, or a content hash when no code is present). |
section - String
|
The section of the AUS response the finding appeared under, as seen. Null when unavailable. |
Example
{
"ausRunId": 4,
"ausSystem": "DESKTOP_ORIGINATOR",
"description": "abc123",
"evidence": [GuidelineReference],
"messageId": "abc123",
"messageKey": "abc123",
"section": "abc123"
}
AusMutations
Fields
| Field Name | Description |
|---|---|
triggerAusRun - TriggerAusRunResponse
|
|
Arguments
|
|
Example
{"triggerAusRun": TriggerAusRunResponse}
AusResult
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACCEPT_ELIGIBLE"
AusRunJob
Fields
| Field Name | Description |
|---|---|
errors - [String!]!
|
|
id - ID!
|
Job ID |
lockAllowed - Boolean
|
|
reportUrl - String
|
|
result - AusResult
|
|
status - JobStatus!
|
Job status |
system - AusSystem!
|
Example
{
"errors": ["xyz789"],
"id": 4,
"lockAllowed": false,
"reportUrl": "xyz789",
"result": "ACCEPT_ELIGIBLE",
"status": "FAILED",
"system": "DESKTOP_ORIGINATOR"
}
AusSystem
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"DESKTOP_ORIGINATOR"
AusUserError
Example
MissingAttachmentTypeError
AuthImpersonation
AuthMutations
Description
Auth mutations
Fields
| Field Name | Description |
|---|---|
createLease - CreateLeaseResponse
|
Create a lease for a borrower. This will automatically create a Pylon user for this borrower if one does not already exist. |
Arguments
|
|
Example
{"createLease": CreateLeaseResponse}
AuthQueries
Description
Auth queries
Fields
| Field Name | Description |
|---|---|
impersonation - AuthImpersonation
|
The active super-admin user impersonation, or null when the caller is simply themselves. |
scopes - [String!]!
|
The scopes (permissions) assigned to the current API user or session. |
viewer - AuthViewer
|
The effective authenticated user — the impersonation target while impersonating, the real user otherwise. Null for machine (M2M) tokens, which act as a customer rather than as a person. |
Example
{
"impersonation": AuthImpersonation,
"scopes": ["xyz789"],
"viewer": AuthViewer
}
AuthViewer
Description
The EFFECTIVE authenticated Command Center user: the impersonation target while a super-admin impersonation is active, the real user otherwise.
Fields
| Field Name | Description |
|---|---|
auth0UserId - ID
|
Auth0 identity id of the effective user, when one is linked. Users-list row ids are auth0_identities_id ?? commandCenterUserId, so a row id may live in either id space — compare it against this AND userId together. Under impersonation this is the TARGET's linked identity, never the actor's. Null when no Auth0 identity is linked. |
customerId - ID!
|
The effective customer id |
customerSlug - String!
|
The effective customer slug |
email - String!
|
Email address of the effective user |
firstName - String
|
First name, if known |
lastName - String
|
Last name, if known |
roleTypes - [String!]!
|
Role types held by the effective user at the effective customer (e.g. "super_admin", "loan") |
userId - ID
|
Command Center user id of the effective user. Null under the legacy customer-level masquerade, which acts as a customer rather than as a specific user. |
Example
{
"auth0UserId": 4,
"customerId": "4",
"customerSlug": "xyz789",
"email": "abc123",
"firstName": "abc123",
"lastName": "xyz789",
"roleTypes": ["abc123"],
"userId": "4"
}
AutoConditionalApprovalBlocker
Description
A blocker preventing automatic conditional approval of a loan application
Fields
| Field Name | Description |
|---|---|
type - String!
|
Possible Types
| AutoConditionalApprovalBlocker Types |
|---|
Example
{"type": "xyz789"}
AutomobileAllowanceIncome
Description
Automobile allowance income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
AutomobileAsset
Description
Automobile asset
Fields
| Field Name | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"amount": 123,
"assetReportId": "4",
"borrowerIds": [4],
"id": 4,
"nonBorrowerOwnerNames": ["xyz789"],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
AvailableAmc
AvailableAmcsInput
AvailableAppraisalType
Description
An appraisal product type available for ordering.
Example
{
"appraisalTypeId": 987,
"estimatedDeliveryDays": 987,
"fee": 987.65,
"name": "abc123"
}
BankruptcyChapterType
Description
The type of bankruptcy filed, if any.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CHAPTER_ELEVEN"
BankruptcyType
Description
Types of bankruptcy
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BankruptcyChapter7"
BlockedLoan
BoarderIncome
Description
Boarder income from renting to boarders
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
BondAsset
Description
Bond asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": 4,
"borrowerIds": ["4"],
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
BonusIncome
Description
Bonus income from employment
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
employmentId - ID
|
The employment this income is associated with |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"employmentId": "4",
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
Boolean
Description
The Boolean scalar type represents true or false.
Example
true
BooleanComparator
Description
Comparisons available on a boolean field.
Fields
| Input Field | Description |
|---|---|
eq - Boolean
|
|
in - [Boolean!]
|
|
isNull - Boolean
|
|
neq - Boolean
|
|
nin - [Boolean!]
|
|
null - Boolean
|
Example
{
"eq": false,
"in": [true],
"isNull": false,
"neq": false,
"nin": [false],
"null": false
}
Borrower
Description
A borrower or potential borrower
Fields
| Field Name | Description |
|---|---|
assets - [Asset!]!
|
|
borrowerTasks - [BorrowerTask!]!
|
|
createdOn - DateTime!
|
|
credit - BorrowerCredit
|
|
creditInquiries - [CreditInquiry!]!
|
|
deal - Deal!
|
|
demographicInfo - DemographicInfo!
|
|
dependentAges - [Float!]
|
|
emailVerified - Boolean!
|
|
externalUserId - String
|
|
financialDeclarations - BorrowerFinancialDeclarations!
|
|
hardCreditConsentDate - DateTimeISO
|
When consent for hard credit pulls was captured. |
hardCreditConsentType - CreditPullConsentType
|
Consent captured for hard credit pulls. |
id - ID!
|
|
incomes - IncomeConnection!
|
|
Arguments
|
|
isFirstTimeHomeBuyer - Boolean
|
|
liabilities - LiabilityConnection!
|
|
Arguments
|
|
mailingAddress - Address
|
|
maritalStatus - MaritalStatusType
|
|
militaryService - BorrowerMilitaryService
|
Use militaryServiceDeclaration instead. |
militaryServiceDeclaration - MilitaryServiceDeclaration
|
The borrower's military service declaration. |
ownedProperties - OwnedPropertyConnection!
|
|
Arguments
|
|
personalInformation - BorrowerPersonalInformation!
|
|
pointOfContact - Boolean!
|
|
propertyDeclarations - BorrowerPropertyDeclarations!
|
|
softCreditConsentDate - DateTimeISO
|
When consent for soft credit pulls was captured. |
softCreditConsentType - CreditPullConsentType
|
Consent captured for soft credit pulls. |
spouse - BorrowerSpouse
|
|
useOwnTitleCompany - Boolean
|
|
Example
{
"assets": [Asset],
"borrowerTasks": [BorrowerTask],
"createdOn": "2007-12-03T10:15:30Z",
"credit": BorrowerCredit,
"creditInquiries": [CreditInquiry],
"deal": Deal,
"demographicInfo": DemographicInfo,
"dependentAges": [123.45],
"emailVerified": true,
"externalUserId": "abc123",
"financialDeclarations": BorrowerFinancialDeclarations,
"hardCreditConsentDate": "2007-12-03T10:15:30Z",
"hardCreditConsentType": "ELECTRONIC",
"id": "4",
"incomes": IncomeConnection,
"isFirstTimeHomeBuyer": false,
"liabilities": LiabilityConnection,
"mailingAddress": Address,
"maritalStatus": "DIVORCED",
"militaryService": BorrowerMilitaryService,
"militaryServiceDeclaration": MilitaryService,
"ownedProperties": OwnedPropertyConnection,
"personalInformation": BorrowerPersonalInformation,
"pointOfContact": true,
"propertyDeclarations": BorrowerPropertyDeclarations,
"softCreditConsentDate": "2007-12-03T10:15:30Z",
"softCreditConsentType": "ELECTRONIC",
"spouse": BorrowerSpouse,
"useOwnTitleCompany": true
}
BorrowerAddress
Description
Borrower Address
Fields
| Field Name | Description |
|---|---|
address - Address!
|
US Address |
borrower - Borrower!
|
The borrower that lives or lived in the address |
id - ID!
|
Borrower Address ID |
isCurrentAddress - Boolean!
|
Indicates if the address is current |
monthlyRentAmount - NonNegativeInt
|
The monthly rental amount in dollars |
moveInDate - Date
|
Move in date |
moveOutDate - Date
|
Move out date |
residencyBasis - BorrowerResidencyBasis
|
The basis on which the borrower lives/lived at this address |
Example
{
"address": Address,
"borrower": Borrower,
"id": 4,
"isCurrentAddress": false,
"monthlyRentAmount": 123,
"moveInDate": "2007-12-03",
"moveOutDate": "2007-12-03",
"residencyBasis": "LIVING_RENT_FREE"
}
BorrowerAddressMutations
Fields
| Field Name | Description |
|---|---|
createPrevious - CreatePreviousBorrowerAddressResponse
|
Create borrower's previous address |
Arguments |
|
deletePrevious - DeletePreviousBorrowerAddressResponse
|
Delete borrower's previous address |
Arguments |
|
updateCurrent - UpdateCurrentBorrowerAddressResponse
|
Update borrower's current address |
Arguments |
|
updatePrevious - UpdatePreviousBorrowerAddressResponse
|
Update borrower's previous address |
Arguments |
|
Example
{
"createPrevious": CreatePreviousBorrowerAddressResponse,
"deletePrevious": DeletePreviousBorrowerAddressResponse,
"updateCurrent": UpdateCurrentBorrowerAddressResponse,
"updatePrevious": UpdatePreviousBorrowerAddressResponse
}
BorrowerBankruptcyBlocker
Description
One or more borrowers have a bankruptcy on record
Fields
| Field Name | Description |
|---|---|
bankruptcyType - BankruptcyType!
|
The type of bankruptcy |
borrowerIds - [ID!]!
|
The IDs of borrowers with bankruptcy |
type - String!
|
Example
{
"bankruptcyType": "BankruptcyChapter7",
"borrowerIds": [4],
"type": "xyz789"
}
BorrowerBusiness
Description
A borrower-owned business
Fields
| Field Name | Description |
|---|---|
address - Address
|
US Address |
businessType - BusinessType!
|
The type of business |
id - ID!
|
Borrower Business ID |
name - String!
|
Name |
ownerships - [BusinessOwnership!]!
|
Borrower ownerships of the business |
Example
{
"address": Address,
"businessType": "CORPORATION",
"id": "4",
"name": "abc123",
"ownerships": [BusinessOwnership]
}
BorrowerConnection
Fields
| Field Name | Description |
|---|---|
edges - [BorrowerEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [BorrowerEdge],
"pageInfo": PageInfo
}
BorrowerCredit
Description
An individual's credit score
Fields
| Field Name | Description |
|---|---|
bankruptcy - Boolean
|
|
creditPullId - ID
|
The ID of the most recent completed credit pull |
creditReport - String
|
|
creditScores - [CreditScore!]!
|
|
frozenBureaus - [CreditBureau!]
|
Bureaus that refused this borrower's credit file because of a security freeze. Empty when the bureaus reported no freeze; null when the latest pull recorded no per-bureau verdict, which readers must render as unknown rather than as no freeze. |
lastPulledDate - DateTime
|
|
lastStatus - JobStatus
|
|
numberOfLatePayments - Int
|
|
pullType - CreditPullType!
|
|
qualifyingScore - Float
|
|
recentLatePayment - String
|
Example
{
"bankruptcy": true,
"creditPullId": 4,
"creditReport": "abc123",
"creditScores": [CreditScore],
"frozenBureaus": ["EQUIFAX"],
"lastPulledDate": "2007-12-03T10:15:30Z",
"lastStatus": "FAILED",
"numberOfLatePayments": 987,
"pullType": "HARD",
"qualifyingScore": 123.45,
"recentLatePayment": "abc123"
}
BorrowerEdge
BorrowerEstimatedTotalMonthlyIncome
Description
Borrower estimated total monthly income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
BorrowerFinancialDeclarations
Description
Borrower financial declarations
Fields
| Field Name | Description |
|---|---|
bankruptcyChapterType - BankruptcyChapterType
|
The type of bankruptcy filed, if any. |
bankruptcyIndicator - Boolean
|
Indicates if the borrower has filed for bankruptcy. |
homeownerPastThreeYears - Boolean
|
Indicates if the borrower has been a homeowner in the past three years. |
intentToOccupy - Boolean
|
Indicates if the borrower intends to occupy the property. |
outstandingJudgmentsIndicator - Boolean
|
Indicates if the borrower has outstanding judgments. |
partyToLawsuitIndicator - Boolean
|
Indicates if the borrower is currently a party to a lawsuit. |
presentlyDelinquentIndicator - Boolean
|
Indicates if the borrower is presently delinquent on any obligations. |
priorPropertyDeedInLieuConveyedIndicator - Boolean
|
Indicates if the borrower has conveyed a prior property deed in lieu of foreclosure. |
priorPropertyForeclosureCompletedIndicator - Boolean
|
Indicates if the borrower has completed a prior property foreclosure. |
priorPropertyShortSaleCompletedIndicator - Boolean
|
Indicates if the borrower has completed a prior property short sale. |
priorPropertyTitleType - PriorPropertyTitleType
|
Indicates the type of title ownership for the borrower's prior property, such as sole ownership or joint ownership. |
priorPropertyUsageType - PriorPropertyUsageType
|
Specifies how the borrower's prior property was used, such as primary residence, investment, or second home. |
undisclosedComakerOfNoteIndicator - Boolean
|
Indicates if the borrower is an undisclosed co-maker of a note. |
undisclosedCreditApplicationIndicator - Boolean
|
Indicates if the borrower has an undisclosed credit application. |
undisclosedMortgageApplicationIndicator - Boolean
|
Indicates if the borrower has an undisclosed mortgage application. |
Example
{
"bankruptcyChapterType": "CHAPTER_ELEVEN",
"bankruptcyIndicator": false,
"homeownerPastThreeYears": false,
"intentToOccupy": false,
"outstandingJudgmentsIndicator": true,
"partyToLawsuitIndicator": false,
"presentlyDelinquentIndicator": true,
"priorPropertyDeedInLieuConveyedIndicator": true,
"priorPropertyForeclosureCompletedIndicator": true,
"priorPropertyShortSaleCompletedIndicator": true,
"priorPropertyTitleType": "JOINT_WITH_OTHER_THAN_SPOUSE",
"priorPropertyUsageType": "FHA_SECONDARY_RESIDENCE",
"undisclosedComakerOfNoteIndicator": false,
"undisclosedCreditApplicationIndicator": true,
"undisclosedMortgageApplicationIndicator": true
}
BorrowerFinancialDeclarationsInput
Fields
| Input Field | Description |
|---|---|
bankruptcyChapterType - BankruptcyChapterType
|
The type of bankruptcy filed, if any. |
bankruptcyIndicator - Boolean
|
Indicates if the borrower has filed for bankruptcy. |
homeownerPastThreeYears - Boolean
|
Indicates if the borrower has been a homeowner in the past three years. |
intentToOccupy - Boolean
|
Indicates if the borrower intends to occupy the property. |
outstandingJudgmentsIndicator - Boolean
|
Indicates if the borrower has outstanding judgments. |
partyToLawsuitIndicator - Boolean
|
Indicates if the borrower is currently a party to a lawsuit. |
presentlyDelinquentIndicator - Boolean
|
Indicates if the borrower is presently delinquent on any obligations. |
priorPropertyDeedInLieuConveyedIndicator - Boolean
|
Indicates if the borrower has conveyed a prior property deed in lieu of foreclosure. |
priorPropertyForeclosureCompletedIndicator - Boolean
|
Indicates if the borrower has completed a prior property foreclosure. |
priorPropertyShortSaleCompletedIndicator - Boolean
|
Indicates if the borrower has completed a prior property short sale. |
priorPropertyTitleType - PriorPropertyTitleType
|
Indicates the type of title ownership for the borrower's prior property, such as sole ownership or joint ownership. |
priorPropertyUsageType - PriorPropertyUsageType
|
Specifies how the borrower's prior property was used, such as primary residence, investment, or second home. |
undisclosedComakerOfNoteIndicator - Boolean
|
Indicates if the borrower is an undisclosed co-maker of a note. |
undisclosedCreditApplicationIndicator - Boolean
|
Indicates if the borrower has an undisclosed credit application. |
undisclosedMortgageApplicationIndicator - Boolean
|
Indicates if the borrower has an undisclosed mortgage application. |
Example
{
"bankruptcyChapterType": "CHAPTER_ELEVEN",
"bankruptcyIndicator": true,
"homeownerPastThreeYears": false,
"intentToOccupy": true,
"outstandingJudgmentsIndicator": false,
"partyToLawsuitIndicator": false,
"presentlyDelinquentIndicator": false,
"priorPropertyDeedInLieuConveyedIndicator": false,
"priorPropertyForeclosureCompletedIndicator": true,
"priorPropertyShortSaleCompletedIndicator": false,
"priorPropertyTitleType": "JOINT_WITH_OTHER_THAN_SPOUSE",
"priorPropertyUsageType": "FHA_SECONDARY_RESIDENCE",
"undisclosedComakerOfNoteIndicator": false,
"undisclosedCreditApplicationIndicator": true,
"undisclosedMortgageApplicationIndicator": false
}
BorrowerIncome
Description
Borrower income interface. This is for income types that area associated with a single borrower. As opposed to other income types such as RentalIncome which can be associated with multiple borrowers.
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Income ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Possible Types
| BorrowerIncome Types |
|---|
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
BorrowerMilitaryService
Description
A borrower's military status
Fields
| Field Name | Description |
|---|---|
militaryServiceExpectedCompletionDate - Date
|
|
militaryStatusType - MilitaryStatusType
|
|
survivingSpouseIndicator - Boolean
|
Example
{
"militaryServiceExpectedCompletionDate": "2007-12-03",
"militaryStatusType": "ACTIVE_DUTY",
"survivingSpouseIndicator": true
}
BorrowerMutations
Fields
| Field Name | Description |
|---|---|
attachLiabilities - AttachBorrowerLiabilitiesResponse
|
Attach liabilities to borrower. |
Arguments
|
|
attachNonBorrowingSpouse - AttachBorrowerNonBorrowingSpouseResponse
|
Attach non borrowing spouse to borrower. |
Arguments |
|
create - CreateBorrowerResponse
|
Create a borrower. When the customer's autoSendBorrowerPortalInvite comms setting is on, an org-user creation also auto-sends the borrower their portal invite email (best-effort; a send failure never fails the creation). |
Arguments
|
|
declareMilitaryService - DeclareMilitaryServiceResponse
|
Declare a borrower's military service details. |
Arguments
|
|
declareNoMilitaryService - DeclareNoMilitaryServiceResponse
|
Declare that a borrower has no military service. |
Arguments
|
|
delete - DeleteBorrowerResponse
|
Delete a borrower |
Arguments
|
|
detachLiabilities - DetachBorrowerLiabilitiesResponse
|
Detach liabilities from borrower. |
Arguments
|
|
linkBorrowersAsSpouses - LinkBorrowersAsSpousesResponse
|
Link 2 borrowers as spouses of each other |
Arguments
|
|
rejectDocument - RejectDocumentResponse
|
Reject a document and update its status |
Arguments
|
|
sendPortalInvite - SendBorrowerPortalInviteResponse
|
Send the borrower their portal invite email carrying a one-time claim link. Gated by the borrower-portal-invite feature flag; each send mints a fresh link that supersedes any prior one. |
Arguments
|
|
setEmailVerified - SetBorrowerEmailVerifiedResponse
|
|
Arguments
|
|
unsetMilitaryService - UnsetBorrowerMilitaryServiceResponse
|
Unset a borrower's military service information. Use declareNoMilitaryService instead. |
Arguments |
|
updateBorrower - UpdateBorrowerResponse
|
Update a borrower's information. Supports isFirstTimeHomeBuyer, maritalStatus, and pointOfContact. |
Arguments
|
|
updateConsent - UpdateBorrowerConsentResponse
|
Update a borrower's consent. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
updateDemographicInfo - UpdateDemographicInfoResponse
|
Update a borrower's demographic info. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
updateDependents - UpdateBorrowerDependentsResponse
|
Update a borrower's dependents. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
updateFinancialDeclarations - UpdateBorrowerFinancialDeclarationsResponse
|
Update a borrower's financial declarations. Fields with non-null values will be updated, the rest will be ignored. |
Arguments |
|
updateMailingAddress - UpdateBorrowerMailingAddressResponse
|
Update a borrower's mailing address. Fields with non-null values will be updated, the rest will be ignored. |
Arguments |
|
updateMilitaryService - UpdateBorrowerMilitaryServiceResponse
|
Update a borrower's military service. Fields with non-null values will be updated, the rest will be ignored. Use declareMilitaryService or declareNoMilitaryService instead. |
Arguments |
|
updatePersonalInformation - UpdateBorrowerPersonalInformationResponse
|
Update a borrower's personal information. Fields with non-null values will be updated, the rest will be ignored. |
Arguments |
|
updatePhoneNumber - UpdateBorrowerPhoneNumberResponse
|
Upsert a borrower's phone number. Creates a new record if the borrower has none, otherwise updates the existing record. Legacy callers may pass id (a phone number id) instead of borrowerId. |
Arguments
|
|
updatePropertyDeclarations - UpdateBorrowerPropertyDeclarationsResponse
|
Update a borrower's declarations. Fields with non-null values will be updated, the rest will be ignored. |
Arguments |
|
Example
{
"attachLiabilities": AttachBorrowerLiabilitiesResponse,
"attachNonBorrowingSpouse": AttachBorrowerNonBorrowingSpouseResponse,
"create": CreateBorrowerResponse,
"declareMilitaryService": DeclareMilitaryServiceResponse,
"declareNoMilitaryService": DeclareNoMilitaryServiceResponse,
"delete": DeleteBorrowerResponse,
"detachLiabilities": DetachBorrowerLiabilitiesResponse,
"linkBorrowersAsSpouses": LinkBorrowersAsSpousesResponse,
"rejectDocument": RejectDocumentResponse,
"sendPortalInvite": SendBorrowerPortalInviteResponse,
"setEmailVerified": SetBorrowerEmailVerifiedResponse,
"unsetMilitaryService": UnsetBorrowerMilitaryServiceResponse,
"updateBorrower": UpdateBorrowerResponse,
"updateConsent": UpdateBorrowerConsentResponse,
"updateDemographicInfo": UpdateDemographicInfoResponse,
"updateDependents": UpdateBorrowerDependentsResponse,
"updateFinancialDeclarations": UpdateBorrowerFinancialDeclarationsResponse,
"updateMailingAddress": UpdateBorrowerMailingAddressResponse,
"updateMilitaryService": UpdateBorrowerMilitaryServiceResponse,
"updatePersonalInformation": UpdateBorrowerPersonalInformationResponse,
"updatePhoneNumber": UpdateBorrowerPhoneNumberResponse,
"updatePropertyDeclarations": UpdateBorrowerPropertyDeclarationsResponse
}
BorrowerPersonalInformation
Description
A borrower's personal information
Fields
| Field Name | Description |
|---|---|
addressHistory - [BorrowerAddress!]!
|
The borrower's address history (current and previous addresses) |
aliases - [String!]
|
|
citizenshipResidencyType - CitizenshipResidencyType
|
|
currentAddress - BorrowerAddress
|
The borrower's current address |
dateOfBirth - Date
|
|
email - String!
|
|
firstName - String!
|
|
lastName - String!
|
|
middleName - String
|
|
phoneNumbers - [BorrowerPhoneNumber!]!
|
|
suffix - String
|
|
taxIdentifierNumber - String
|
Tax identifier number |
taxIdentifierNumberType - TaxIdentifierNumberType
|
Tax identifier number type |
Example
{
"addressHistory": [BorrowerAddress],
"aliases": ["abc123"],
"citizenshipResidencyType": "NON_PERMANENT_RESIDENT_ALIEN",
"currentAddress": BorrowerAddress,
"dateOfBirth": "2007-12-03",
"email": "abc123",
"firstName": "xyz789",
"lastName": "xyz789",
"middleName": "abc123",
"phoneNumbers": [BorrowerPhoneNumber],
"suffix": "xyz789",
"taxIdentifierNumber": "xyz789",
"taxIdentifierNumberType": "INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER"
}
BorrowerPersonalInformationInput
Fields
| Input Field | Description |
|---|---|
aliases - [String!]
|
|
citizenshipResidencyType - CitizenshipResidencyType
|
|
currentAddress - AddressInput
|
|
dateOfBirth - Date
|
|
email - String!
|
|
firstName - String!
|
|
lastName - String!
|
|
middleName - String
|
|
phoneNumber - CreateBorrowerPhoneNumberInput
|
|
socialSecurityNumber - String
|
|
suffix - String
|
|
taxIdentifierNumber - String
|
Tax identifier number |
taxIdentifierNumberType - TaxIdentifierNumberType
|
Tax identifier number type |
Example
{
"aliases": ["abc123"],
"citizenshipResidencyType": "NON_PERMANENT_RESIDENT_ALIEN",
"currentAddress": AddressInput,
"dateOfBirth": "2007-12-03",
"email": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"middleName": "xyz789",
"phoneNumber": CreateBorrowerPhoneNumberInput,
"socialSecurityNumber": "abc123",
"suffix": "abc123",
"taxIdentifierNumber": "abc123",
"taxIdentifierNumberType": "INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER"
}
BorrowerPhoneNumber
Description
A US phone number for a borrower
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Phone number id |
number - String!
|
Phone Number |
type - PhoneNumberType
|
Phone number type |
Example
{
"id": 4,
"number": "abc123",
"type": "CELL"
}
BorrowerPreferences
Description
Borrower preferences related to loan applications.
Fields
| Field Name | Description |
|---|---|
applyOutOfPocketToLoan - Boolean
|
Represents if Out Of Pocket cash will be applied to reduce loan cost |
closingCosts - NonNegativeFloat
|
The maximum allowable closing costs. |
downPaymentAmount - NonNegativeFloat
|
The down payment amount. |
maxDiscountPoints - Float
|
Limit number of rate point buys to not exceed this value. |
maxLtv - NonNegativeFloat
|
Max loan-to-value ratio allowed. Will not override takeout requirements. |
maxOutOfPocket - NonNegativeFloat
|
Out of pocket maximum in dollars. |
monthlyPayment - NonNegativeFloat
|
The maximum allowable monthly payment. |
monthlyPaymentAsPercentageOfIncome - Boolean!
|
Interpret monthly payment field as a percentage instead of dollar amount. |
mortgageInsurance - Boolean
|
Indicates whether mortgage insurance is required. |
principal - NonNegativeFloat
|
The maximum allowable principal amount. |
rate - NonNegativeFloat
|
The preferred interest rate as a percentage (e.g., 5.0 for 5%). |
rollInClosingCosts - Boolean
|
Represents if closing costs will be rolled into loan amount on a ReFi |
totalCost - Float
|
The cost of points for the loan. |
totalPoints - NonNegativeFloat
|
The number of points required for the loan. |
Example
{
"applyOutOfPocketToLoan": true,
"closingCosts": 123.45,
"downPaymentAmount": 123.45,
"maxDiscountPoints": 123.45,
"maxLtv": 123.45,
"maxOutOfPocket": 123.45,
"monthlyPayment": 123.45,
"monthlyPaymentAsPercentageOfIncome": true,
"mortgageInsurance": true,
"principal": 123.45,
"rate": 123.45,
"rollInClosingCosts": true,
"totalCost": 987.65,
"totalPoints": 123.45
}
BorrowerPropertyDeclarations
Description
Borrower property declarations
Fields
| Field Name | Description |
|---|---|
otherMortgageOnSubjectPropertyIndicator - Boolean
|
Is there any other mortgage loan on the subject property? |
propertySubjectToPriorityLienIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
specialBorrowerSellerRelationshipIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
undisclosedBorrowedFundsAmount - Float
|
Flag to indicate whether realtor tasks are complete on this loan |
undisclosedBorrowedFundsIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
Example
{
"otherMortgageOnSubjectPropertyIndicator": true,
"propertySubjectToPriorityLienIndicator": true,
"specialBorrowerSellerRelationshipIndicator": false,
"undisclosedBorrowedFundsAmount": 123.45,
"undisclosedBorrowedFundsIndicator": true
}
BorrowerPropertyDeclarationsInput
Fields
| Input Field | Description |
|---|---|
otherMortgageOnSubjectPropertyIndicator - Boolean
|
Is there any other mortgage loan on the subject property? |
propertySubjectToPriorityLienIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
specialBorrowerSellerRelationshipIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
undisclosedBorrowedFundsAmount - Float
|
Flag to indicate whether realtor tasks are complete on this loan |
undisclosedBorrowedFundsIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
Example
{
"otherMortgageOnSubjectPropertyIndicator": false,
"propertySubjectToPriorityLienIndicator": true,
"specialBorrowerSellerRelationshipIndicator": false,
"undisclosedBorrowedFundsAmount": 987.65,
"undisclosedBorrowedFundsIndicator": true
}
BorrowerResidencyBasis
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"LIVING_RENT_FREE"
BorrowerSpouse
Description
A borrower's spouse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
personalInformation - BorrowerPersonalInformation
|
Example
{
"id": "4",
"personalInformation": BorrowerPersonalInformation
}
BorrowerTask
Description
A borrower's task
Fields
| Field Name | Description |
|---|---|
accessToken - String
|
Access token for SSO PDF viewer or any third-party access, if applicable. |
borrowerFacingDescription - String
|
|
borrowerId - ID!
|
|
completedAt - DateTime
|
|
createdOn - DateTime
|
|
details - TaskEntityDetails
|
Details about the entity this task is associated with Use relatedEntity instead, which resolves the associated entity as a Node whose own fields (including borrower and display name) can be queried directly.
|
documentLinks - [DocumentLink!]!
|
|
documentUploadPath - String
|
|
dueDate - DateTime
|
|
fields - [String!]
|
|
id - ID!
|
|
note - String
|
|
priority - Float
|
|
relatedEntity - Node
|
The entity this task is about (e.g. the Asset for a bank-statement upload task, or the AssetTransaction for a large-deposit task), resolvable as a Node. Prefer this over the deprecated details field. |
relatedEntityId - String
|
Related entity ID (e.g., assetTransactionId for large deposit tasks) Use relatedEntity { id } instead — relatedEntity resolves the entity itself (its id plus all its other fields) in one query.
|
reopenedAt - DateTime
|
When the task was most recently reopened after having been completed or cancelled. Null if the task has never been reopened. |
requiredFor1003Form - Boolean
|
|
status - String!
|
|
title - String
|
|
type - String!
|
Example
{
"accessToken": "xyz789",
"borrowerFacingDescription": "abc123",
"borrowerId": 4,
"completedAt": "2007-12-03T10:15:30Z",
"createdOn": "2007-12-03T10:15:30Z",
"details": TaskEntityDetails,
"documentLinks": [DocumentLink],
"documentUploadPath": "xyz789",
"dueDate": "2007-12-03T10:15:30Z",
"fields": ["xyz789"],
"id": "4",
"note": "abc123",
"priority": 987.65,
"relatedEntity": Node,
"relatedEntityId": "xyz789",
"reopenedAt": "2007-12-03T10:15:30Z",
"requiredFor1003Form": true,
"status": "abc123",
"title": "abc123",
"type": "abc123"
}
BorrowerUser
Description
Borrower user object
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
loanApplications - [BorrowerUserLoanApplicationSummary!]!
|
Example
{
"id": "4",
"loanApplications": [BorrowerUserLoanApplicationSummary]
}
BorrowerUserLoanApplicationSummary
Description
Borrower user object
Example
{
"archiveDate": "2007-12-03",
"creationDate": "2007-12-03",
"currentStage": "abc123",
"friendlyId": 4,
"id": "4",
"submitted": false
}
BrandingLogoExtension
Description
File type of a branding logo asset.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PNG"
BrandingLogoUpload
Description
A target for uploading a branding logo.
Fields
| Field Name | Description |
|---|---|
expiresAt - String!
|
When the upload slot expires if unused (ISO-8601). Slots are single-use. |
uploadId - ID!
|
Id of the minted upload slot. |
uploadUrl - String!
|
URL to POST the file to as multipart/form-data (a single "files" field), authenticated the same way as this request. |
Example
{
"expiresAt": "abc123",
"uploadId": 4,
"uploadUrl": "xyz789"
}
BridgeLoanNotDepositedAsset
Description
Bridge loan not deposited asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": [4],
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
BulkLoanDocumentsExportFailureReason
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BULK_EXPORT_SIZE_LIMIT_EXCEEDED"
BulkLoanDocumentsExportJob
Description
Bulk loan documents export job.
Fields
| Field Name | Description |
|---|---|
completedAt - DateTime
|
When the export finished processing. |
documentCount - NonNegativeInt
|
Number of loan documents included in the export. |
downloadUrl - String
|
A temporary URL for downloading the generated ZIP file. Present only when the job succeeded and the object still exists. |
failureReason - BulkLoanDocumentsExportFailureReason
|
Machine-readable failure reason when the export failed. |
id - ID!
|
Job ID |
status - JobStatus!
|
Job status |
zipSizeBytes - NonNegativeInt
|
Generated ZIP file size in bytes. |
Example
{
"completedAt": "2007-12-03T10:15:30Z",
"documentCount": 123,
"downloadUrl": "xyz789",
"failureReason": "BULK_EXPORT_SIZE_LIMIT_EXCEEDED",
"id": "4",
"status": "FAILED",
"zipSizeBytes": 123
}
BureauFileStatus
Description
Per-bureau file status from a credit pull
Fields
| Field Name | Description |
|---|---|
bureau - String!
|
Bureau name |
errorMessages - [String!]!
|
Error messages from the bureau (may be empty) |
fileReturned - Boolean!
|
Whether the bureau successfully returned a credit file |
message - String
|
LO-friendly error message (null when fileReturned is true) |
resultStatus - String!
|
MISMO CreditFileResultStatusType enum value |
variations - [String!]!
|
Demographic discrepancy flags (e.g. DifferentAddress, DifferentSSN) |
Example
{
"bureau": "abc123",
"errorMessages": ["xyz789"],
"fileReturned": true,
"message": "xyz789",
"resultStatus": "abc123",
"variations": ["abc123"]
}
BusinessOwnership
Fields
| Field Name | Description |
|---|---|
borrower - Borrower!
|
The borrower that owns a percentage of the business |
business - BorrowerBusiness!
|
The borrower business |
percentOwnership - NonNegativeFloat!
|
Percent of the business that the borrower owns. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
Example
{
"borrower": Borrower,
"business": BorrowerBusiness,
"percentOwnership": 123.45
}
BusinessType
Description
The type of business
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CORPORATION"
CalculateOptimalStructureInput
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID of the loan to base calculations off of. |
objectiveIntent - PricingObjectiveIntent
|
Configure the objective function to optimize against. Default = MIN_PITIA |
pricingConstraints - PricingConstraints
|
Configure constraints to run pricing under. Uses the BorrowerPreferences associated with a loan as a fallback if unset. |
Example
{
"loanId": "4",
"objectiveIntent": "MIN_DOWN_PAYMENT",
"pricingConstraints": PricingConstraints
}
CalculateOptimalStructureResponse
Fields
| Field Name | Description |
|---|---|
job - OptimalStructure!
|
Example
{"job": OptimalStructure}
CancelFloodInput
Description
Input for cancelling a flood determination order.
Fields
| Input Field | Description |
|---|---|
floodOrderId - ID!
|
ID of the flood order to cancel. |
Example
{"floodOrderId": 4}
CancelFloodResponse
Description
Response from cancelling a flood determination order.
Fields
| Field Name | Description |
|---|---|
floodOrder - FloodOrder!
|
The flood order being cancelled. |
Example
{"floodOrder": FloodOrder}
CancelOrderInput
Description
Input for cancelling an income verification order.
Fields
| Input Field | Description |
|---|---|
orderId - ID!
|
ID of the income verification order to cancel. |
Example
{"orderId": 4}
CancelOrderResponse
Description
Response from cancelling an income verification order.
Fields
| Field Name | Description |
|---|---|
orderId - ID!
|
ID of the cancelled income verification order. |
status - IncomeVerificationOrderStatus!
|
Current status of the income verification order. |
Example
{"orderId": 4, "status": "CANCELED"}
CapitalGainsIncome
Description
Capital gains income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
CashOnHandAsset
Description
Cash on hand asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": 4,
"borrowerIds": ["4"],
"id": "4",
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
CashOutTypeComparator
Description
Comparisons available on the cash-out type.
Fields
| Input Field | Description |
|---|---|
eq - RefinanceCashOutType
|
|
in - [RefinanceCashOutType!]
|
|
isNull - Boolean
|
|
neq - RefinanceCashOutType
|
|
nin - [RefinanceCashOutType!]
|
|
null - Boolean
|
Example
{
"eq": "CASH_OUT",
"in": ["CASH_OUT"],
"isNull": true,
"neq": "CASH_OUT",
"nin": ["CASH_OUT"],
"null": false
}
CertificateOfDepositTimeDepositAsset
Description
Certificate of deposit or time deposit asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": 4,
"borrowerIds": [4],
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
ChangeOfCircumstanceForm
Description
A Change of Circumstances Request Form as it was filed on the loan.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
ChangeOfCircumstanceReason
Description
TRID's changed-circumstance categories (§1026.19(e)(3)(iv)) — the justifications that permit resetting a fee's tolerance baseline. Pylon's own vocabulary rather than a passthrough of any downstream system's spelling.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CHANGED_CIRCUMSTANCE_AFFECTING_ELIGIBILITY"
ChangeOfCircumstanceRequest
Description
The §1026.19(e)(3)(iv) justification a redisclosure was sent under.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
CheckingAccountAsset
Description
Checking account asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": [4],
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
ChildSupportIncome
Description
Child support income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
Citation
Description
A context-free anchor into a file: geometry and/or text, plus meaning. Citations never reference a requirement — purpose lives on the citing evidence.
Fields
| Field Name | Description |
|---|---|
asOf - DateTimeISO
|
When the observed fact was true (statement date, balance as-of) — the freshness anchor. |
author - Contributor!
|
WHO authored this citation — always a Contributor, resolved from the writing context, never client-supplied. (The spec's AnyContributor interface stands in as the concrete Contributor type until the attribution project ships it.) |
document - LoanDocument!
|
The document this citation anchors into. |
fieldKey - String
|
Namespaced fact-taxonomy or doc-schema key; null = freehand annotation. |
id - ID!
|
Stable identifier for this citation, resolvable via the root node(id) query. |
label - String
|
What the cited region means (e.g. "Dwelling coverage amount"). |
ocrConfidence - Float
|
Measured OCR signal — legitimately numeric, never LLM-invented. |
page - PositiveInt
|
1-based page number; null = text-only citation. |
pageHeight - Float
|
|
pageWidth - Float
|
|
polygon - [PagePoint!]
|
Region outline in scale-1 pdf.js page units, y-down; null = textual/whole-document. |
quotedText - String
|
What the cited region says. |
value - JSONObject
|
Optional typed value the region evidences. |
Example
{
"asOf": "2007-12-03T10:15:30Z",
"author": Contributor,
"document": LoanDocument,
"fieldKey": "xyz789",
"id": 4,
"label": "abc123",
"ocrConfidence": 123.45,
"page": 123,
"pageHeight": 987.65,
"pageWidth": 987.65,
"polygon": [PagePoint],
"quotedText": "xyz789",
"value": {}
}
CitationConnection
Description
A page of citation rows anchored into a document.
Fields
| Field Name | Description |
|---|---|
edges - [CitationEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [CitationEdge],
"pageInfo": PageInfo
}
CitationEdge
CitationsFilterInput
Description
Optional filters for a document's citations. The facts-decomposition pass writes an observation citation per extracted fact, so a long document can carry hundreds of rows; overlays should fetch only the visible page / focused field keys.
Fields
| Input Field | Description |
|---|---|
fieldKey - String
|
Only citations whose fieldKey equals this key. |
page - PositiveInt
|
Only citations anchored on this 1-based page. |
Example
{"fieldKey": "abc123", "page": 123}
CitationsMutations
Description
Citation mutations namespace.
Fields
| Field Name | Description |
|---|---|
createCitation - CreateCitationResponse
|
Persists a citation drawn by an underwriter and returns it typed. |
Arguments
|
|
Example
{"createCitation": CreateCitationResponse}
CitizenshipResidencyType
Description
An individual's US citizenship status
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"NON_PERMANENT_RESIDENT_ALIEN"
ClaimDealClaimTokenInput
Description
Input to the claimDealClaimToken mutation.
Fields
| Input Field | Description |
|---|---|
token - String!
|
The raw claim token the borrower received |
Example
{"token": "xyz789"}
ClaimDealClaimTokenResponse
Description
Result of a borrower claiming a one-time deal claim token
Example
{"dealId": 4, "newlyClaimed": true}
ClosingCostPayer
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"BORROWER"
CommissionsIncome
Description
Commission-based income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
employmentId - ID
|
The employment this income is associated with |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"employmentId": 4,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
CommsMutations
Fields
| Field Name | Description |
|---|---|
toggleCustomerCommsOptIn - ToggleCustomerCommsOptInResponse
|
Toggle customer comms opt-in status for the current organization |
Arguments
|
|
updateCommsRecipients - UpdateCommsRecipientsResponse
|
Update which role types receive a communication |
Arguments
|
|
updateCommsSettings - UpdateCommsSettingsResponse
|
Update the comms settings for the current organization |
Arguments
|
|
updateCommsTemplate - UpdateCommsTemplateResponse
|
Update comms template |
Arguments
|
|
Example
{
"toggleCustomerCommsOptIn": ToggleCustomerCommsOptInResponse,
"updateCommsRecipients": UpdateCommsRecipientsResponse,
"updateCommsSettings": UpdateCommsSettingsResponse,
"updateCommsTemplate": UpdateCommsTemplateResponse
}
CommsRecipient
Description
Role types that can receive communications
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BORROWER"
CommsSettings
Fields
| Field Name | Description |
|---|---|
autoSendBorrowerPortalInvite - Boolean!
|
When on, creating a borrower or co-borrower in Command Center also emails that borrower their portal invite. Off by default, and the only gate on that auto-send — the borrower-portal-invite feature flag governs the explicit borrower.sendPortalInvite mutation, not this. |
customerId - ID!
|
Example
{
"autoSendBorrowerPortalInvite": false,
"customerId": "4"
}
CommsTemplate
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of comms template |
name - String!
|
Name of the comms template |
recipients - [CommsRecipient!]!
|
Role types that receive this communication |
subject - String!
|
Subject line of comms |
template - String!
|
Comms template |
Example
{
"id": 4,
"name": "xyz789",
"recipients": ["BORROWER"],
"subject": "xyz789",
"template": "abc123"
}
CommsWithOptInStatus
Company
Description
Company
Fields
| Field Name | Description |
|---|---|
businessType - BusinessType
|
Business type |
id - ID!
|
The ID of the Company |
name - String
|
Company name |
Example
{
"businessType": "CORPORATION",
"id": 4,
"name": "xyz789"
}
CompanyMutations
Description
Company mutations
Fields
| Field Name | Description |
|---|---|
create - CreateCompanyResponse
|
Create a company |
Arguments
|
|
Example
{"create": CreateCompanyResponse}
CompositeFulfillment
Description
A fulfillment path composed of sub-requirements. Satisfied when every child is resolved, either by satisfaction or waiver.
Fields
| Field Name | Description |
|---|---|
description - String!
|
What this path involves. |
name - String!
|
Short name for this path, e.g. "Complete all checks". |
requirements - [Requirement!]!
|
Child requirements, each with its own phase. A partially-satisfied composite lists SatisfiedRequirement children alongside OpenRequirement ones. |
satisfied - Boolean!
|
Whether every child requirement is resolved, either by satisfaction or waiver. |
Example
{
"description": "xyz789",
"name": "xyz789",
"requirements": [Requirement],
"satisfied": true
}
Concession
Example
{
"amount": 123,
"approvedAt": "2007-12-03T10:15:30Z",
"approvedBy": "xyz789",
"id": "4",
"loanId": 4,
"reason": "abc123",
"requestedAt": "2007-12-03T10:15:30Z",
"requestedBy": "xyz789",
"revocationReason": "BETTER_LOAN_STRUCTURE",
"revokedAt": "2007-12-03T10:15:30Z",
"revokedBy": "xyz789"
}
ConcessionExceedsCompensationViolation
Description
The concession exceeds the lender-paid compensation available after the underwriting fee, so the loan would fund at negative net revenue.
Fields
| Field Name | Description |
|---|---|
concessionReductionNeeded - Float!
|
Dollars by which the concession must be reduced so that lender-paid compensation still covers the underwriting fee. |
Example
{"concessionReductionNeeded": 987.65}
ConcessionLog
Fields
| Field Name | Description |
|---|---|
amount - NonNegativeInt
|
|
approvedAt - DateTime
|
|
approvedBy - String
|
|
history - [ConcessionLogItem!]
|
|
id - ID!
|
|
loanId - ID
|
|
reason - String
|
|
requestedAt - DateTime
|
|
requestedBy - String
|
|
revocationReason - ConcessionRevocationReason
|
|
revokedAt - DateTime
|
|
revokedBy - String
|
Example
{
"amount": 123,
"approvedAt": "2007-12-03T10:15:30Z",
"approvedBy": "xyz789",
"history": [ConcessionLogItem],
"id": 4,
"loanId": 4,
"reason": "xyz789",
"requestedAt": "2007-12-03T10:15:30Z",
"requestedBy": "xyz789",
"revocationReason": "BETTER_LOAN_STRUCTURE",
"revokedAt": "2007-12-03T10:15:30Z",
"revokedBy": "abc123"
}
ConcessionLogItem
Fields
| Field Name | Description |
|---|---|
amount - NonNegativeInt
|
|
approvedAt - DateTime
|
|
approvedBy - String
|
|
reason - String
|
|
requestedAt - DateTime
|
|
requestedBy - String
|
|
revocationReason - ConcessionRevocationReason
|
|
revokedAt - DateTime
|
|
revokedBy - String
|
Example
{
"amount": 123,
"approvedAt": "2007-12-03T10:15:30Z",
"approvedBy": "xyz789",
"reason": "abc123",
"requestedAt": "2007-12-03T10:15:30Z",
"requestedBy": "abc123",
"revocationReason": "BETTER_LOAN_STRUCTURE",
"revokedAt": "2007-12-03T10:15:30Z",
"revokedBy": "xyz789"
}
ConcessionMutations
Fields
| Field Name | Description |
|---|---|
approveConcession - ApproveConcessionResponse
|
|
Arguments
|
|
requestConcession - RequestConcessionResponse
|
|
Arguments
|
|
revokeConcession - RevokeConcessionResponse
|
|
Arguments
|
|
updateConcession - UpdateConcessionResponse
|
|
Arguments
|
|
Example
{
"approveConcession": ApproveConcessionResponse,
"requestConcession": RequestConcessionResponse,
"revokeConcession": RevokeConcessionResponse,
"updateConcession": UpdateConcessionResponse
}
ConcessionRevocationReason
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"BETTER_LOAN_STRUCTURE"
ConfidenceLevel
Description
Ordinal author confidence in an assertion: CERTAIN, HIGH, MODERATE, LOW.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CERTAIN"
ConfirmAssessmentInput
ConfirmAssessmentResponse
Description
Result of confirming an assessment.
Fields
| Field Name | Description |
|---|---|
evidenceId - ID!
|
The endorsement assertion's content-addressed edge id. A re-confirm of the same target by the same author returns the same id (no-op). |
requirement - Requirement
|
The affected requirement's post-reconcile subtree (adversarial-review ruling 2): every review mutation reconciles inline, so the caller can render the new phase without a refetch. Null when the requirement row no longer exists (evicted or not yet minted). |
warnings - [UnderwritingReviewWarning!]!
|
Non-fatal warnings about the write. Empty on a clean write. |
Example
{
"evidenceId": 4,
"requirement": Requirement,
"warnings": ["TARGET_SUPERSEDED"]
}
ConfirmRateLockInput
Description
Input to the confirmRateLock mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
overrideExistingRateLock - Boolean
|
Proceed even though the loan's rate is already locked, replacing the terms the borrower was locked at. Allowed with the process:committed-rate-lock scope, or, for customers with automatic redisclosure enabled, on a loan that is not frozen (Loan.isFrozen is false). A replacement obliges the borrower a revised Loan Estimate, which is raised with the disclosure desk before the new lock commits; for those customers, a confirmation whose disclosed terms are unchanged leaves the existing lock in place instead (see ConfirmRateLockResponse.lockUnchanged). Applies only to a loan that already carries a lock; sending it for a loan's first lock is rejected, since there are no committed terms to replace. |
overrideIneligibility - Boolean
|
If set to true, this mutation ignores the ineligibility status of the chosen rate and allows it to be locked. Only available to internal Pylon admins. |
Example
{"loanId": 4, "overrideExistingRateLock": true, "overrideIneligibility": true}
ConfirmRateLockResponse
Description
Response of the confirmRateLock mutation.
Fields
| Field Name | Description |
|---|---|
changeOfCircumstanceTicketId - ID
|
The support ticket opened for the revised Loan Estimate this lock owes the borrower, when the lock was a change of circumstance — either locking a floated loan, or replacing a committed lock. Null when nothing already disclosed changed, so no revised estimate is due. Present only once the ticket exists: the lock is refused if it cannot be opened. |
loanId - ID!
|
The ID or friendly ID of the loan. |
lockUnchanged - Boolean!
|
True when a committed lock's replacement was confirmed against terms identical to what was last disclosed, so the existing lock, its expiration and its disclosures were left in place and no change of circumstance was raised. Only for customers with automatic redisclosure enabled; always false otherwise, and for a loan's first lock. |
Example
{
"changeOfCircumstanceTicketId": "4",
"loanId": 4,
"lockUnchanged": true
}
ConformingMarketingRate
Description
Conforming marketing rate
Fields
| Field Name | Description |
|---|---|
apr - Float!
|
|
discountPointsTotal - Float!
|
|
discountPointsTotalAmount - Int!
|
|
fipsCountyCode - String!
|
|
loanAmount - NonNegativeInt!
|
|
ltv - Float!
|
|
propertyUsageType - PropertyUsageType!
|
|
qualifyingFicoScore - Int!
|
|
rate - Float!
|
|
salesContractAmount - NonNegativeInt!
|
The amount of money that the property will be purchased for. Also called the purchase price. |
Example
{
"apr": 987.65,
"discountPointsTotal": 987.65,
"discountPointsTotalAmount": 987,
"fipsCountyCode": "abc123",
"loanAmount": 123,
"ltv": 123.45,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 987,
"rate": 987.65,
"salesContractAmount": 123
}
ConformingMarketingRateInput
Description
Conforming marketing rate input
Fields
| Input Field | Description |
|---|---|
calculateApr - Boolean
|
Should closing costs be fetched in order to calculate an APR?. Default = true |
concessions - NonNegativeInt
|
Lender concession in dollars. Reduces the rate cost (points) the borrower would otherwise pay, but never below zero. Default = 0 |
fipsCountyCode - String!
|
The five-digit FIPS county code based on ANSI standard (INCITS 31:2009) |
loanAmount - NonNegativeInt!
|
Amount of the loan in dollars, also called principal |
loanTermYears - Float!
|
Loan term, in years. Default = 30 |
ltv - Float!
|
Loan to value ratio. Lower values get better rates. A typical value for a conforming conventional loan would be 0.8; values over that usually require mortgage insurance. |
maxDiscountPointsTotal - Float
|
Maximum total discount points. Default = 0 |
propertyUsageType - PropertyUsageType
|
|
qualifyingFicoScore - Int
|
FICO score used to determine loan eligibility and interest rate |
rateLockDays - Float!
|
How long to lock the rate, in days. Default = 30 |
Example
{
"calculateApr": false,
"concessions": 123,
"fipsCountyCode": "abc123",
"loanAmount": 123,
"loanTermYears": 987.65,
"ltv": 987.65,
"maxDiscountPointsTotal": 987.65,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rateLockDays": 123.45
}
Contact
Description
Represents a contact entity with details like name, email, phone, company, address, and role.
Fields
| Field Name | Description |
|---|---|
address - Address
|
Address of the contact |
companyLicenseNumber - String
|
License number of the company the contact represents |
companyLicenseState - StateAbbreviated
|
State where the company's license was issued |
companyName - String
|
Company which the contact is from |
email - String
|
Email address of the contact |
firstName - String
|
First name of the contact |
hazardInsuranceCoverage - HazardInsuranceCoverageType
|
Coverage provided by a hazard insurer |
id - ID!
|
id of the contact |
individualLicenseNumber - String
|
Professional license number of the individual contact |
individualLicenseState - StateAbbreviated
|
State where the individual's professional license was issued |
lastName - String
|
Last name of the contact |
middleName - String
|
Middle name of the contact |
phoneNumber - String
|
Phone number of the contact |
role - ContactRole
|
Role of the contact |
Example
{
"address": Address,
"companyLicenseNumber": "abc123",
"companyLicenseState": "AK",
"companyName": "xyz789",
"email": "abc123",
"firstName": "abc123",
"hazardInsuranceCoverage": "EARTHQUAKE",
"id": "4",
"individualLicenseNumber": "abc123",
"individualLicenseState": "AK",
"lastName": "abc123",
"middleName": "abc123",
"phoneNumber": "xyz789",
"role": "APPRAISER"
}
ContactRole
Description
Role of the contact in the context of a loan application.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"APPRAISER"
ContractBasisIncome
Description
Contract-based employment income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
Contributor
Fields
| Field Name | Description |
|---|---|
contactInfo - ContributorContactInfo!
|
|
deals - DealConnection
|
|
Arguments
|
|
disabledAt - DateTime
|
|
displayName - String!
|
|
id - ID!
|
|
role - String!
|
|
roleId - ID!
|
|
Example
{
"contactInfo": ContributorContactInfo,
"deals": DealConnection,
"disabledAt": "2007-12-03T10:15:30Z",
"displayName": "abc123",
"id": 4,
"role": "abc123",
"roleId": "4"
}
ContributorConnection
Fields
| Field Name | Description |
|---|---|
edges - [ContributorEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [ContributorEdge],
"pageInfo": PageInfo
}
ContributorContactInfo
ContributorCreateLeaseInput
Description
Input to create a contributor lease
Fields
| Input Field | Description |
|---|---|
contributorId - ID!
|
Example
{"contributorId": 4}
ContributorCreateLeaseResponse
Description
Contributor lease response
Fields
| Field Name | Description |
|---|---|
lease - ContributorLease
|
Lease that was created |
Example
{"lease": ContributorLease}
ContributorEdge
Fields
| Field Name | Description |
|---|---|
cursor - ID!
|
|
node - Contributor!
|
Example
{
"cursor": "4",
"node": Contributor
}
ContributorFilter
Fields
| Input Field | Description |
|---|---|
email - String
|
Example
{"email": "abc123"}
ContributorLease
ContributorMutations
Fields
| Field Name | Description |
|---|---|
attachContributorToDeal - AttachContributorToDealResponse
|
|
Arguments
|
|
createContributor - CreateContributorResponse
|
|
Arguments
|
|
createLease - ContributorCreateLeaseResponse
|
|
Arguments
|
|
detachContributorFromDeal - DetachContributorFromDealResponse
|
|
Arguments
|
|
disableContributor - DisableContributorResponse
|
|
Arguments
|
|
enableContributor - EnableContributorResponse
|
|
Arguments
|
|
updateContributor - UpdateContributorResponse
|
|
Arguments
|
|
Example
{
"attachContributorToDeal": AttachContributorToDealResponse,
"createContributor": CreateContributorResponse,
"createLease": ContributorCreateLeaseResponse,
"detachContributorFromDeal": DetachContributorFromDealResponse,
"disableContributor": DisableContributorResponse,
"enableContributor": EnableContributorResponse,
"updateContributor": UpdateContributorResponse
}
ContributorRole
ContributorRoleConnection
Fields
| Field Name | Description |
|---|---|
edges - [ContributorRoleEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [ContributorRoleEdge],
"pageInfo": PageInfo
}
ContributorRoleEdge
Fields
| Field Name | Description |
|---|---|
cursor - ID!
|
|
node - ContributorRole!
|
Example
{"cursor": 4, "node": ContributorRole}
ContributorSource
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"COMMAND_CENTER"
ConventionalPreQualification
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Job ID |
parameters - ConventionalPreQualificationParameters!
|
|
productBreakdown - [PreQualificationProductResult!]!
|
|
result - PreQualificationBestEligibleResult
|
|
status - JobStatus!
|
Job status |
Example
{
"id": 4,
"parameters": ConventionalPreQualificationParameters,
"productBreakdown": [PreQualificationProductResult],
"result": PreQualificationBestEligibleResult,
"status": "FAILED"
}
ConventionalPreQualificationInput
Fields
| Input Field | Description |
|---|---|
fipsCountyCode - String!
|
|
hoaDues - NonNegativeInt
|
|
maxDiscountPointsTotal - Float
|
|
neighborhoodHousingType - NeighborhoodHousingType
|
|
propertyUsageType - PropertyUsageType
|
|
qualifyingAssetsTotalAmount - NonNegativeInt!
|
|
qualifyingFicoScore - Int!
|
|
qualifyingMonthlyExpenses - NonNegativeInt!
|
|
qualifyingMonthlyIncome - NonNegativeInt!
|
Example
{
"fipsCountyCode": "abc123",
"hoaDues": 123,
"maxDiscountPointsTotal": 123.45,
"neighborhoodHousingType": "CONDOMINIUM",
"propertyUsageType": "INVESTMENT",
"qualifyingAssetsTotalAmount": 123,
"qualifyingFicoScore": 123,
"qualifyingMonthlyExpenses": 123,
"qualifyingMonthlyIncome": 123
}
ConventionalPreQualificationParameters
Fields
| Field Name | Description |
|---|---|
fipsCountyCode - String!
|
|
hoaDues - NonNegativeInt!
|
|
maxDiscountPointsTotal - Float!
|
|
neighborhoodHousingType - NeighborhoodHousingType!
|
|
propertyUsageType - PropertyUsageType!
|
|
qualifyingAssetsTotalAmount - NonNegativeInt!
|
|
qualifyingFicoScore - Int!
|
|
qualifyingMonthlyExpenses - NonNegativeInt!
|
|
qualifyingMonthlyIncome - NonNegativeInt!
|
Example
{
"fipsCountyCode": "xyz789",
"hoaDues": 123,
"maxDiscountPointsTotal": 987.65,
"neighborhoodHousingType": "CONDOMINIUM",
"propertyUsageType": "INVESTMENT",
"qualifyingAssetsTotalAmount": 123,
"qualifyingFicoScore": 987,
"qualifyingMonthlyExpenses": 123,
"qualifyingMonthlyIncome": 123
}
ConventionalPreQualificationResult
Types
| Union Types |
|---|
Example
EligiblePreQualification
ConventionalResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
CorrectWireInRemittanceInput
Fields
| Input Field | Description |
|---|---|
effectiveDate - Date
|
The accounting date for the correction. Defaults to today's date in Pylon's local time zone when omitted. |
idempotencyKey - String!
|
A retry key unique to this loan's wire-in records. |
loanId - ID!
|
The loan with the recorded remittance. |
reason - FundingCorrectionReason!
|
Why Pylon is negating the recorded remittance. |
remittanceId - ID!
|
The ordinary wire-in remittance to negate. |
Example
{
"effectiveDate": "2007-12-03",
"idempotencyKey": "abc123",
"loanId": "4",
"reason": "DUPLICATE_REPORT",
"remittanceId": 4
}
CorrectWireInRemittanceResponse
Fields
| Field Name | Description |
|---|---|
correction - FundingRemittance!
|
|
fundingSettlement - FundingSettlement!
|
Example
{
"correction": FundingRemittance,
"fundingSettlement": FundingSettlement
}
CorrectWireOutRemittanceInput
Fields
| Input Field | Description |
|---|---|
effectiveDate - Date
|
The accounting date for the correction. Defaults to today's date in Pylon's local time zone when omitted. |
idempotencyKey - String!
|
A retry key unique to this loan's wire-out records. |
loanId - ID!
|
The loan with the reported remittance. |
reason - FundingCorrectionReason!
|
Why Pylon is negating the reported remittance. |
remittanceId - ID!
|
The ordinary wire-out remittance to negate. |
Example
{
"effectiveDate": "2007-12-03",
"idempotencyKey": "abc123",
"loanId": 4,
"reason": "DUPLICATE_REPORT",
"remittanceId": "4"
}
CorrectWireOutRemittanceResponse
Fields
| Field Name | Description |
|---|---|
correction - FundingRemittance!
|
|
fundingSettlement - FundingSettlement!
|
Example
{
"correction": FundingRemittance,
"fundingSettlement": FundingSettlement
}
CostAbsorption
Description
Organization cost absorptions per product.
Fields
| Field Name | Description |
|---|---|
points - NonNegativeFloat!
|
|
product - String!
|
Example
{"points": 123.45, "product": "abc123"}
CounterAssessmentCitationInput
Description
A citation grounding a counter-assessment: a region on a document page, plus optional meaning.
Fields
| Input Field | Description |
|---|---|
documentId - ID!
|
The document being cited. |
label - String
|
What the region means (e.g. "Dwelling coverage amount"). |
page - PositiveInt!
|
1-based page number. |
pageHeight - Float!
|
|
pageWidth - Float!
|
|
polygon - [PagePointInput!]!
|
Region outline in scale-1 pdf.js page units, y-down. |
quotedText - String
|
What the region says. |
value - JSONObject
|
Optional typed value the region evidences. |
Example
{
"documentId": "4",
"label": "abc123",
"page": 123,
"pageHeight": 123.45,
"pageWidth": 123.45,
"polygon": [PagePointInput],
"quotedText": "abc123",
"value": {}
}
County
Description
US County
Fields
| Field Name | Description |
|---|---|
fipsCountyCode - String!
|
County-level FIPS code |
name - String!
|
County name |
state - StateAbbreviated!
|
Abbreviated US state name (including DC) |
Example
{
"fipsCountyCode": "xyz789",
"name": "xyz789",
"state": "AK"
}
CreateAccessoryUnitIncomeInput
Description
Input for creating an AccessoryUnitIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateAlimonyIncomeInput
Description
Input for creating an AlimonyIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateAssetInput
Description
Input to the createAsset mutation. This is a 'oneOf' type where exactly one field must be populated.
Fields
Example
{
"automobile": CreateAutomobileAssetInput,
"bond": CreateBondAssetInput,
"bridgeLoanNotDeposited": CreateBridgeLoanNotDepositedAssetInput,
"cashOnHand": CreateCashOnHandAssetInput,
"certificateOfDepositTimeDeposit": CreateCertificateOfDepositTimeDepositAssetInput,
"checkingAccount": CreateCheckingAccountAssetInput,
"cryptocurrency": CreateCryptocurrencyAssetInput,
"gift": CreateGiftAssetInput,
"grant": CreateGrantAssetInput,
"individualDevelopmentAccount": CreateIndividualDevelopmentAccountAssetInput,
"lifeInsurance": CreateLifeInsuranceAssetInput,
"moneyMarketFund": CreateMoneyMarketFundAssetInput,
"mutualFund": CreateMutualFundAssetInput,
"other": CreateOtherAssetInput,
"pendingNetSaleProceedsFromRealEstate": CreatePendingNetSaleProceedsFromRealEstateAssetInput,
"proceedsFromSaleOfNonRealEstateAsset": CreateProceedsFromSaleOfNonRealEstateAssetInput,
"proceedsFromSecuredLoan": CreateProceedsFromSecuredLoanAssetInput,
"proceedsFromUnsecuredLoan": CreateProceedsFromUnsecuredLoanAssetInput,
"retirementFund": CreateRetirementFundAssetInput,
"savingsAccount": CreateSavingsAccountAssetInput,
"stock": CreateStockAssetInput,
"stockOptions": CreateStockOptionsAssetInput,
"trustAccount": CreateTrustAccountAssetInput
}
CreateAssetResponse
Description
Response of the createAsset mutation
Fields
| Field Name | Description |
|---|---|
asset - Asset!
|
The created asset |
Example
{"asset": Asset}
CreateAutomobileAllowanceIncomeInput
Description
Input for creating an AutomobileAllowanceIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateAutomobileAssetInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"amount": 123,
"borrowerIds": [4],
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateBoarderIncomeInput
Description
Input for creating a BoarderIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateBondAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"]
}
CreateBonusIncomeInput
Description
Input for creating a BonusIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
employmentId - ID
|
The employment this income is associated with |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"employmentId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateBorrowerEstimatedTotalMonthlyIncomeInput
Description
Input for creating a BorrowerEstimatedTotalMonthlyIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateBorrowerInput
Fields
| Input Field | Description |
|---|---|
dealId - ID!
|
ID of the deal |
dependentAges - [Float!]
|
|
financialDeclarations - BorrowerFinancialDeclarationsInput
|
|
mailingAddress - AddressInput
|
|
personalInformation - BorrowerPersonalInformationInput!
|
|
pointOfContact - Boolean
|
|
propertyDeclarations - BorrowerPropertyDeclarationsInput
|
Example
{
"dealId": "4",
"dependentAges": [123.45],
"financialDeclarations": BorrowerFinancialDeclarationsInput,
"mailingAddress": AddressInput,
"personalInformation": BorrowerPersonalInformationInput,
"pointOfContact": false,
"propertyDeclarations": BorrowerPropertyDeclarationsInput
}
CreateBorrowerPhoneNumberInput
Description
A phone number
Fields
| Input Field | Description |
|---|---|
number - String!
|
Phone Number |
type - PhoneNumberType
|
Phone number type |
Example
{"number": "xyz789", "type": "CELL"}
CreateBorrowerResponse
Description
Response of the create borrower mutation.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
ID of the borrower |
Example
{"id": 4}
CreateBridgeLoanNotDepositedAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateCapitalGainsIncomeInput
Description
Input for creating a CapitalGainsIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateCashOnHandAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateCertificateOfDepositTimeDepositAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateCheckingAccountAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"]
}
CreateChildSupportIncomeInput
Description
Input for creating a ChildSupportIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateCitationInput
Description
A citation drawn by an underwriter: a region on a document page, plus optional meaning. Geometry is required — freehand text-only notes are not part of this input (they arrive with the assertion write surface).
Fields
| Input Field | Description |
|---|---|
documentId - ID!
|
The document being cited. |
label - String
|
What the region means (e.g. "Dwelling coverage amount"). |
page - PositiveInt!
|
1-based page number. |
pageHeight - Float!
|
|
pageWidth - Float!
|
|
polygon - [PagePointInput!]!
|
Region outline in scale-1 pdf.js page units, y-down. |
quotedText - String
|
What the region says. |
value - JSONObject
|
Optional typed value the region evidences. |
Example
{
"documentId": "4",
"label": "xyz789",
"page": 123,
"pageHeight": 987.65,
"pageWidth": 123.45,
"polygon": [PagePointInput],
"quotedText": "abc123",
"value": {}
}
CreateCitationResponse
Description
Result of creating a citation.
Fields
| Field Name | Description |
|---|---|
citation - Citation!
|
The persisted citation, typed. |
Example
{"citation": Citation}
CreateCommissionsIncomeInput
Description
Input for creating a CommissionsIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
employmentId - ID
|
The employment this income is associated with |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"employmentId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateCompanyInput
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
Company address |
businessType - BusinessType
|
Business type |
dealId - ID!
|
ID of the deal |
name - String
|
Company name |
Example
{
"address": AddressInput,
"businessType": "CORPORATION",
"dealId": 4,
"name": "xyz789"
}
CreateCompanyResponse
Fields
| Field Name | Description |
|---|---|
company - Company!
|
Example
{"company": Company}
CreateContactInput
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
Optional U.S. address to create with the contact. |
companyLicenseNumber - String
|
License number of the company the contact represents |
companyLicenseState - StateAbbreviated
|
State where the company's license was issued |
companyName - String
|
Company which the contact is from |
email - String
|
Email address of the contact |
firstName - String
|
First name of the contact |
hazardInsuranceCoverage - HazardInsuranceCoverageType
|
Coverage provided by a hazard insurer |
individualLicenseNumber - String
|
Professional license number of the individual contact |
individualLicenseState - StateAbbreviated
|
State where the individual's professional license was issued |
lastName - String
|
Last name of the contact |
middleName - String
|
Middle name of the contact |
phoneNumber - String
|
Phone number of the contact |
role - OrganizationContactRole!
|
Contact's role, limited to supported values. |
Example
{
"address": AddressInput,
"companyLicenseNumber": "abc123",
"companyLicenseState": "AK",
"companyName": "xyz789",
"email": "abc123",
"firstName": "abc123",
"hazardInsuranceCoverage": "EARTHQUAKE",
"individualLicenseNumber": "abc123",
"individualLicenseState": "AK",
"lastName": "xyz789",
"middleName": "abc123",
"phoneNumber": "abc123",
"role": "ATTORNEY"
}
CreateContactResponse
Fields
| Field Name | Description |
|---|---|
created - Contact!
|
The newly created contact. |
Example
{"created": Contact}
CreateContractBasisIncomeInput
Description
Input for creating a ContractBasisIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateContributorContactInfoInput
CreateContributorInput
Fields
| Input Field | Description |
|---|---|
contactInfo - CreateContributorContactInfoInput!
|
|
role - String
|
|
roleId - ID
|
|
source - ContributorSource
|
Example
{
"contactInfo": CreateContributorContactInfoInput,
"role": "abc123",
"roleId": "4",
"source": "COMMAND_CENTER"
}
CreateContributorResponse
Fields
| Field Name | Description |
|---|---|
contributor - Contributor!
|
Example
{"contributor": Contributor}
CreateCryptocurrencyAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
description - String
|
Description of the asset (e.g. coin and platform) |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"description": "xyz789",
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateDealResponse
Fields
| Field Name | Description |
|---|---|
deal - Deal!
|
Example
{"deal": Deal}
CreateDefinedContributionPlanIncomeInput
Description
Input for creating a DefinedContributionPlanIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateDisabilityIncomeInput
Description
Input for creating a DisabilityIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateDividendsInterestIncomeInput
Description
Input for creating a DividendsInterestIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateEmploymentRelatedAccountIncomeInput
Description
Input for creating an EmploymentRelatedAccountIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateFeeSheetRequestForLoanInput
Description
Input for requesting a fee sheet for a loan. Pricing parameters are derived server-side from the loan's own data.
Example
{
"loanId": "4",
"productStructureId": "4"
}
CreateFeeSheetRequestForLoanResponse
Description
Response for a loan fee sheet request
Example
{
"errorMessage": "xyz789",
"feeSheetRequestId": 4
}
CreateFeeSheetRequestInput
Description
Input for requesting a fee sheet
Fields
| Input Field | Description |
|---|---|
productStructure - FeeSheetStructureInput!
|
Product structure for the fee sheet |
purchasePricing - FeeSheetPurchasePricingInput
|
Purchase pricing details |
refinancePricing - FeeSheetRefinancePricingInput
|
Refinance pricing details |
Example
{
"productStructure": FeeSheetStructureInput,
"purchasePricing": FeeSheetPurchasePricingInput,
"refinancePricing": FeeSheetRefinancePricingInput
}
CreateFeeSheetRequestResponse
CreateFosterCareIncomeInput
Description
Input for creating a FosterCareIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateFulfillmentPartyInput
Fields
| Input Field | Description |
|---|---|
companyId - ID
|
The ID of the associated company |
dealId - ID!
|
|
role - FulfillmentPartyRole
|
The role of the fulfillment party |
Example
{"companyId": 4, "dealId": 4, "role": "NOTARY"}
CreateFulfillmentPartyResponse
Fields
| Field Name | Description |
|---|---|
fulfillmentParty - FulfillmentParty!
|
Example
{"fulfillmentParty": FulfillmentParty}
CreateGiftAssetInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
dateOfTransfer - Date
|
The date when the gift/grant funds were transferred into the borrower's account |
donorEmployeeIdentificationNumber - String
|
Employer Identification Number (EIN) of the gift/grant donor |
donorName - String
|
Full name of the person providing the gift/grant |
donorPhoneNumber - String
|
The phone number of the person providing the gift/grant |
isIncludedInAssetAccount - Boolean
|
Indicates whether the gift/grant funds have already been included as part of an asset account considered for the loan |
isSellerFunded - Boolean
|
Indicates whether the gift/grant is funded by the seller |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
source - GiftSource
|
Gift/Grant source |
Example
{
"amount": 123,
"borrowerIds": [4],
"dateOfTransfer": "2007-12-03",
"donorEmployeeIdentificationNumber": "xyz789",
"donorName": "xyz789",
"donorPhoneNumber": "xyz789",
"isIncludedInAssetAccount": false,
"isSellerFunded": false,
"nonBorrowerOwnerNames": ["xyz789"],
"source": "COMMUNITY_NON_PROFIT"
}
CreateGrantAssetInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
dateOfTransfer - Date
|
The date when the gift/grant funds were transferred into the borrower's account |
donorEmployeeIdentificationNumber - String
|
Employer Identification Number (EIN) of the gift/grant donor |
donorName - String
|
Full name of the person providing the gift/grant |
donorPhoneNumber - String
|
The phone number of the person providing the gift/grant |
isIncludedInAssetAccount - Boolean
|
Indicates whether the gift/grant funds have already been included as part of an asset account considered for the loan |
isSellerFunded - Boolean
|
Indicates whether the gift/grant is funded by the seller |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
source - GiftSource
|
Gift/Grant source |
Example
{
"amount": 123,
"borrowerIds": ["4"],
"dateOfTransfer": "2007-12-03",
"donorEmployeeIdentificationNumber": "xyz789",
"donorName": "abc123",
"donorPhoneNumber": "abc123",
"isIncludedInAssetAccount": true,
"isSellerFunded": false,
"nonBorrowerOwnerNames": ["abc123"],
"source": "COMMUNITY_NON_PROFIT"
}
CreateHousingAllowanceIncomeInput
Description
Input for creating a HousingAllowanceIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateHousingChoiceVoucherProgramIncomeInput
Description
Input for creating a HousingChoiceVoucherProgramIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateIncomeInput
Description
Input to the createIncome mutation. This is a 'oneOf' type where exactly one field must be populated.
Fields
Example
{
"accessoryUnitIncome": CreateAccessoryUnitIncomeInput,
"alimony": CreateAlimonyIncomeInput,
"automobileAllowance": CreateAutomobileAllowanceIncomeInput,
"boarder": CreateBoarderIncomeInput,
"bonus": CreateBonusIncomeInput,
"borrowerEstimatedTotalMonthlyIncome": CreateBorrowerEstimatedTotalMonthlyIncomeInput,
"capitalGains": CreateCapitalGainsIncomeInput,
"childSupport": CreateChildSupportIncomeInput,
"commissions": CreateCommissionsIncomeInput,
"contractBasis": CreateContractBasisIncomeInput,
"definedContributionPlan": CreateDefinedContributionPlanIncomeInput,
"disability": CreateDisabilityIncomeInput,
"dividendsInterest": CreateDividendsInterestIncomeInput,
"employmentRelatedAccount": CreateEmploymentRelatedAccountIncomeInput,
"fosterCare": CreateFosterCareIncomeInput,
"housingAllowance": CreateHousingAllowanceIncomeInput,
"housingChoiceVoucherProgram": CreateHousingChoiceVoucherProgramIncomeInput,
"militaryBasePay": CreateMilitaryBasePayIncomeInput,
"militaryClothesAllowance": CreateMilitaryClothesAllowanceIncomeInput,
"militaryCombatPay": CreateMilitaryCombatPayIncomeInput,
"militaryFlightPay": CreateMilitaryFlightPayIncomeInput,
"militaryHazardPay": CreateMilitaryHazardPayIncomeInput,
"militaryOverseasPay": CreateMilitaryOverseasPayIncomeInput,
"militaryPropPay": CreateMilitaryPropPayIncomeInput,
"militaryQuartersAllowance": CreateMilitaryQuartersAllowanceIncomeInput,
"militaryRationsAllowance": CreateMilitaryRationsAllowanceIncomeInput,
"militaryVariableHousingAllowance": CreateMilitaryVariableHousingAllowanceIncomeInput,
"miscellaneousIncome": CreateMiscellaneousIncomeInput,
"mortgageCreditCertificate": CreateMortgageCreditCertificateIncomeInput,
"mortgageDifferential": CreateMortgageDifferentialIncomeInput,
"netRentalIncome": CreateNetRentalIncomeInput,
"nonBorrowerContribution": CreateNonBorrowerContributionIncomeInput,
"nonBorrowerHouseholdIncome": CreateNonBorrowerHouseholdIncomeInput,
"notesReceivableInstallment": CreateNotesReceivableInstallmentIncomeInput,
"other": CreateOtherIncomeInput,
"overtime": CreateOvertimeIncomeInput,
"pension": CreatePensionIncomeInput,
"proposedGrossRentForSubjectProperty": CreateProposedGrossRentForSubjectPropertyIncomeInput,
"publicAssistance": CreatePublicAssistanceIncomeInput,
"realEstateOwnedGrossRentalIncome": CreateRealEstateOwnedGrossRentalIncomeInput,
"retirement": CreateRetirementIncomeInput,
"royalties": CreateRoyaltiesIncomeInput,
"selfEmployment": CreateSelfEmploymentIncomeInput,
"selfEmploymentLoss": CreateSelfEmploymentLossIncomeInput,
"separateMaintenance": CreateSeparateMaintenanceIncomeInput,
"socialSecurity": CreateSocialSecurityIncomeInput,
"standardEmployment": CreateStandardEmploymentIncomeInput,
"subjectPropertyNetCashFlow": CreateSubjectPropertyNetCashFlowIncomeInput,
"temporaryLeave": CreateTemporaryLeaveIncomeInput,
"tipIncome": CreateTipIncomeInput,
"trailingCoBorrower": CreateTrailingCoBorrowerIncomeInput,
"trust": CreateTrustIncomeInput,
"unemployment": CreateUnemploymentIncomeInput,
"vaBenefitsNonEducational": CreateVaBenefitsNonEducationalIncomeInput,
"workersCompensation": CreateWorkersCompensationIncomeInput
}
CreateIncomeResponse
Description
Response of the createIncome mutation
Fields
| Field Name | Description |
|---|---|
income - Income!
|
The income entity that was created |
Example
{"income": Income}
CreateIndividualDevelopmentAccountAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"]
}
CreateInitializationTokenInput
Description
Input to the createInitializationToken mutation.
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
ID of the borrower |
clientUserId - String
|
Client user ID for Plaid Layer |
templateId - String
|
Optional Template ID for Plaid Layer integration |
vendor - VendorName!
|
Vendor to use (PLAID or TRUV) |
Example
{
"borrowerId": 4,
"clientUserId": "abc123",
"templateId": "xyz789",
"vendor": "PLAID"
}
CreateInitializationTokenResponse
Description
Token for initializing verification widget
Types
| Union Types |
|---|
Example
PlaidLinkToken
CreateLeaseInput
Description
Input to create a borrower lease
Example
{
"email": "xyz789",
"externalUserId": "abc123",
"firstName": "xyz789",
"lastName": "abc123"
}
CreateLeaseResponse
Description
Borrower lease response
Fields
| Field Name | Description |
|---|---|
lease - Lease
|
Lease that was created |
Example
{"lease": Lease}
CreateLiabilityInput
Description
Input to the createLiability mutation.
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
Account identifier |
balance - NonNegativeFloat
|
Unpaid balance |
bankName - String
|
Bank name |
borrowerIds - [ID!]!
|
Liability-owning borrower IDs |
exclusionReason - LiabilityExclusionReason
|
The reason this liability should be excluded from total debt |
intent - LiabilityIntent
|
The intent regarding liability |
monthlyPayment - NonNegativeFloat
|
Monthly payment |
type - LiabilityType
|
The type of liability |
Example
{
"accountIdentifier": "abc123",
"balance": 123.45,
"bankName": "abc123",
"borrowerIds": [4],
"exclusionReason": "ASSIGNED_TO_ANOTHER_PARTY",
"intent": "DO_NOTHING",
"monthlyPayment": 123.45,
"type": "BORROWER_ESTIMATED_TOTAL_MONTHLY_LIABILITY_PAYMENT"
}
CreateLiabilityResponse
Description
Response of the createLiability mutation.
Fields
| Field Name | Description |
|---|---|
liability - Liability!
|
The created liability |
Example
{"liability": Liability}
CreateLifeInsuranceAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"]
}
CreateLoanAssignmentInput
CreateLoanAssignmentResponse
Fields
| Field Name | Description |
|---|---|
assignment - LoanAssignment
|
|
feeWaived - Boolean!
|
True when the assignment succeeded but the processor's fee was not applied because initial disclosures have already been sent. The processor is still added to the loan team without the fee. |
userErrors - [UserError!]!
|
Example
{
"assignment": LoanAssignment,
"feeWaived": false,
"userErrors": [UserError]
}
CreateLoanInput
Description
Input to the createLoan mutation.
Fields
| Input Field | Description |
|---|---|
cashOutType - RefinanceCashOutType
|
LO-set refinance/cash-out type (distinct from the pricing-derived value) |
closingDate - Date
|
The date that the purchase is set to close. |
dealId - ID!
|
|
loanPurpose - LoanPurposeType
|
The purpose for which the loan proceeds will be used. |
loanTermYears - PositiveFloat
|
The term of this loan in years. Default = 30 |
outOfPocketMax - NonNegativeInt
|
The maximum amount of assets (in dollars) to be used towards the loan. |
purchasePrice - NonNegativeInt
|
The actual purchase price (in dollars). |
refinanceCashOutProceeds - NonNegativeInt
|
Refinance cash out proceeds not used towards paying off existing liens. |
source - ContributorSource
|
Origin system attributed to the loan's contributor (e.g. COMMAND_CENTER). |
Example
{
"cashOutType": "CASH_OUT",
"closingDate": "2007-12-03",
"dealId": 4,
"loanPurpose": "PURCHASE",
"loanTermYears": 123.45,
"outOfPocketMax": 123,
"purchasePrice": 123,
"refinanceCashOutProceeds": 123,
"source": "COMMAND_CENTER"
}
CreateLoanPreApprovalLetterError
Description
Union of possible user errors that can occur during execution of the createLoanPreApprovalLetter mutation.
Example
ExpiredCreditPullError
CreateLoanPreApprovalLetterInput
Description
Input to the createLoanPreApprovalLetter mutation.
Fields
| Input Field | Description |
|---|---|
loanAmount - NonNegativeInt!
|
Loan amount (in dollars) to display on the letter. Cannot exceed the maximum pre-approved loan amount. |
loanId - ID!
|
The ID or friendly ID of the loan. |
purchasePrice - NonNegativeInt!
|
Purchase price (in dollars) to display on the letter. Cannot exceed the maximum pre-approved purchase price. |
Example
{
"loanAmount": 123,
"loanId": "4",
"purchasePrice": 123
}
CreateLoanPreApprovalLetterResponse
Description
Response of the createLoanPreApprovalLetter mutation.
Fields
| Field Name | Description |
|---|---|
letterUrl - String
|
A download URL for the pre-approval letter. The value will be null if the loan has not been pre-approved. |
userErrors - [CreateLoanPreApprovalLetterError!]!
|
A list of user errors that occurred while executing the createLoanPreApprovalLetter mutation. |
Example
{
"letterUrl": "abc123",
"userErrors": [ExpiredCreditPullError]
}
CreateLoanResponse
Description
Response of the createLoan mutation.
Fields
| Field Name | Description |
|---|---|
loan - Loan!
|
The newly created loan. |
Example
{"loan": Loan}
CreateLoanScriptInput
Description
Input for creating a loan script.
Fields
| Input Field | Description |
|---|---|
description - String!
|
What the script builds and verifies. |
scenarioId - String!
|
Unique, stable identifier for the new script. |
spec - JSONObject!
|
The script payload (steps, and assertions and/or expected). Validated against the strict loan-script schema. |
Example
{
"description": "abc123",
"scenarioId": "xyz789",
"spec": {}
}
CreateLoanScriptResponse
Description
Result of creating a loan script.
Fields
| Field Name | Description |
|---|---|
loanScript - LoanScript!
|
The created script. |
Example
{"loanScript": LoanScript}
CreateMaxLoanPreApprovalLetterError
Description
Union of possible user errors that can occur during execution of the createMaxLoanPreApprovalLetter mutation.
Example
ExpiredCreditPullError
CreateMaxLoanPreApprovalLetterInput
Description
Input to the createMaxLoanPreApprovalLetter mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": 4}
CreateMaxLoanPreApprovalLetterResponse
Description
Response of the createMaxLoanPreApprovalLetter mutation.
Fields
| Field Name | Description |
|---|---|
letterUrl - String
|
A download URL for a pre-approval letter with the maximum pre-approved loan amount and purchase price for the loan. |
userErrors - [CreateMaxLoanPreApprovalLetterError!]!
|
A list of user errors that occurred while executing the createMaxLoanPreApprovalLetter mutation. |
Example
{
"letterUrl": "abc123",
"userErrors": [ExpiredCreditPullError]
}
CreateMilitaryBasePayIncomeInput
Description
Input for creating a MilitaryBasePayIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryClothesAllowanceIncomeInput
Description
Input for creating a MilitaryClothesAllowanceIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryCombatPayIncomeInput
Description
Input for creating a MilitaryCombatPayIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryFlightPayIncomeInput
Description
Input for creating a MilitaryFlightPayIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryHazardPayIncomeInput
Description
Input for creating a MilitaryHazardPayIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryOverseasPayIncomeInput
Description
Input for creating a MilitaryOverseasPayIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryPropPayIncomeInput
Description
Input for creating a MilitaryPropPayIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryQuartersAllowanceIncomeInput
Description
Input for creating a MilitaryQuartersAllowanceIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryRationsAllowanceIncomeInput
Description
Input for creating a MilitaryRationsAllowanceIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMilitaryVariableHousingAllowanceIncomeInput
Description
Input for creating a MilitaryVariableHousingAllowanceIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMiscellaneousIncomeInput
Description
Input for creating a MiscellaneousIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMoneyMarketFundAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateMortgageCreditCertificateIncomeInput
Description
Input for creating a MortgageCreditCertificateIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
percentageOfInterest - NonNegativeFloat
|
The percentage of interest that the mortgage credit certificate will cover. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"percentageOfInterest": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMortgageDifferentialIncomeInput
Description
Input for creating a MortgageDifferentialIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateMutualFundAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateNetRentalIncomeInput
Description
Input for creating a NetRentalIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
ownedPropertyId - ID!
|
The owned property to link this rental income to |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"ownedPropertyId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateNonBorrowerContributionIncomeInput
Description
Input for creating a NonBorrowerContributionIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateNonBorrowerHouseholdIncomeInput
Description
Input for creating a NonBorrowerHouseholdIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateNonBorrowingOwnerInput
Fields
| Input Field | Description |
|---|---|
dealId - ID!
|
|
personalInformation - PersonalInformationInput!
|
Example
{
"dealId": 4,
"personalInformation": PersonalInformationInput
}
CreateNonBorrowingOwnerResponse
Fields
| Field Name | Description |
|---|---|
nonBorrowingOwner - NonBorrowingOwner!
|
Example
{"nonBorrowingOwner": NonBorrowingOwner}
CreateNotesReceivableInstallmentIncomeInput
Description
Input for creating a NotesReceivableInstallmentIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateOrganizationRoleInput
Fields
| Input Field | Description |
|---|---|
description - String!
|
|
name - String!
|
|
permissions - [String!]!
|
Example
{
"description": "xyz789",
"name": "xyz789",
"permissions": ["xyz789"]
}
CreateOrganizationRoleResponse
Fields
| Field Name | Description |
|---|---|
organizationRole - OrganizationRole
|
|
userErrors - [GenericUserError!]!
|
Example
{
"organizationRole": OrganizationRole,
"userErrors": [GenericUserError]
}
CreateOrganizationUserInput
Fields
| Input Field | Description |
|---|---|
accessType - OrganizationUserAccessType
|
Whether to provision the user with Command Center access (login + internal) or as an internal-only record. Defaults to Command Center access. Default = CommandCenterAccess |
companyAddress - AddressInput
|
The company's NMLS address. We auto-fill company fields like this one from your organization's records to the best of our ability; supply this field to override the value we have on file. |
companyName - String
|
Payee company name for processor-type roles. Only applicable when the assigned role is processor or third_party_processor. |
email - String!
|
|
firstName - String!
|
|
individualNmlsId - String
|
The user's individual NMLS identifier. |
lastName - String!
|
|
licenses - [OrganizationUserLicenseInput!]
|
Individual state licenses for the user. Required for loan officers, optional for admins, and rejected for all other roles. |
organizationRoles - [ID!]!
|
|
phoneNumber - String
|
The user's phone number. |
processorFeeAmount - Float
|
Processing fee in dollars for processor-type roles. Only applicable when the assigned role is processor or third_party_processor. |
Example
{
"accessType": "CommandCenterAccess",
"companyAddress": AddressInput,
"companyName": "xyz789",
"email": "xyz789",
"firstName": "abc123",
"individualNmlsId": "abc123",
"lastName": "abc123",
"licenses": [OrganizationUserLicenseInput],
"organizationRoles": [4],
"phoneNumber": "xyz789",
"processorFeeAmount": 987.65
}
CreateOrganizationUserResponse
Fields
| Field Name | Description |
|---|---|
internalUserCreated - Boolean!
|
True when a new internal user was successfully created as part of this operation. For users without a Command Center login, this is the primary success signal since there is no organizationUser to return. |
organizationUser - OrganizationUser
|
|
userErrors - [GenericUserError!]!
|
Example
{
"internalUserCreated": true,
"organizationUser": OrganizationUser,
"userErrors": [GenericUserError]
}
CreateOtherAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
description - String
|
Description of the asset |
institutionName - String
|
Institution name |
isLiquid - Boolean
|
Indicates whether or not the asset is liquid |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"description": "xyz789",
"institutionName": "xyz789",
"isLiquid": true,
"nonBorrowerOwnerNames": ["abc123"]
}
CreateOtherIncomeInput
Description
Input for creating an OtherIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
description - String
|
Information about the income type |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"description": "xyz789",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateOvertimeIncomeInput
Description
Input for creating an OvertimeIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
employmentId - ID
|
The employment this income is associated with |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"employmentId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateOwnedPropertyInput
Description
Input to the createOwnedProperty mutation.
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
US Address |
currentUsageType - PropertyUsageType
|
How the owner is using this property. |
homeInsuranceMonthlyPayment - NonNegativeInt
|
The dollar amount of monthly home insurance premium. |
intendedDisposition - PropertyDisposition
|
The intended disposition of the property. Indicates whether the borrowers will be retaining or selling (or sold) the property. |
intendedUsageType - PropertyUsageType
|
How the owner intends to use this property. |
monthlyAssociationDues - NonNegativeInt
|
Monthly association dues (in dollars) |
monthlyRentalIncome - NonNegativeInt
|
The expected monthly rental income (in dollars) |
mortgageInsuranceMonthlyPayment - NonNegativeInt
|
The dollar amount of monthly mortgage insurance monthly premium. |
neighborhoodHousingType - NeighborhoodHousingType
|
The type of housing (e.g. single or multi-family) |
ownerIds - [ID!]!
|
IDs of the borrowers who own this property |
propertyTaxMonthlyPayment - NonNegativeInt
|
The dollar amount of property taxes due per month. |
propertyValue - NonNegativeInt
|
The estimated value of the owned property, in whole dollars |
purchaseDate - Date
|
The date when the property was originally purchased. |
sellDate - Date
|
The date when the property was sold. Only relevant for previously owned properties. |
Example
{
"address": AddressInput,
"currentUsageType": "INVESTMENT",
"homeInsuranceMonthlyPayment": 123,
"intendedDisposition": "PENDING_SALE",
"intendedUsageType": "INVESTMENT",
"monthlyAssociationDues": 123,
"monthlyRentalIncome": 123,
"mortgageInsuranceMonthlyPayment": 123,
"neighborhoodHousingType": "CONDOMINIUM",
"ownerIds": ["4"],
"propertyTaxMonthlyPayment": 123,
"propertyValue": 123,
"purchaseDate": "2007-12-03",
"sellDate": "2007-12-03"
}
CreateOwnedPropertyResponse
Description
Response of the createOwnedProperty mutation.
Fields
| Field Name | Description |
|---|---|
ownedProperty - OwnedProperty!
|
The created OwnedProperty |
Example
{"ownedProperty": OwnedProperty}
CreatePartyInput
Fields
| Input Field | Description |
|---|---|
dealId - ID!
|
The ID of the deal to which the party will be associated. Note that the deal must have exactly one loan already. In the future, attaching a party to a loan will be done explicitly. |
party - CreatePartyInputParty!
|
Example
{"dealId": 4, "party": CreatePartyInputParty}
CreatePartyInputParty
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
US address to update. Fields with non-null values will be updated, the rest will be ignored. |
individual - PartyIndividualInput
|
Details about the party, if the party is an individual (rather than a company) |
legalEntity - PartyLegalEntityInput
|
Details about the party, if the party is a legal entity |
role - PartyRole
|
Indicates the type of relationship between the party and the loan. |
Example
{
"address": AddressInput,
"individual": PartyIndividualInput,
"legalEntity": PartyLegalEntityInput,
"role": "APPRAISER"
}
CreatePartyResponse
Fields
| Field Name | Description |
|---|---|
party - Party
|
|
userErrors - [UserError!]!
|
Example
{
"party": Party,
"userErrors": [UserError]
}
CreatePendingNetSaleProceedsFromRealEstateAssetInput
Description
Input for creating a PendingNetSaleProceedsFromRealEstateAsset. The amount is the expected proceeds from the sale and should be less than or equal to the salePrice.
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
ownedPropertyId - ID
|
The ID of the associated OwnedProperty that is pending sale |
salePrice - NonNegativeInt
|
Sale price of the property in dollars. The salePrice must be greater than or equal to the asset amount (the expected proceeds). |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"],
"ownedPropertyId": 4,
"salePrice": 123
}
CreatePensionIncomeInput
Description
Input for creating a PensionIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreatePreviousBorrowerAddressInput
Description
Create previous borrower address input
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
US address to update |
borrowerId - ID!
|
Borrower ID |
monthlyRentAmount - NonNegativeInt
|
The monthly rental amount in dollars |
moveInDate - Date
|
Move in date |
moveOutDate - Date
|
Move out date |
residencyBasis - BorrowerResidencyBasis
|
The basis on which the borrower lives/lived at this address |
Example
{
"address": AddressInput,
"borrowerId": "4",
"monthlyRentAmount": 123,
"moveInDate": "2007-12-03",
"moveOutDate": "2007-12-03",
"residencyBasis": "LIVING_RENT_FREE"
}
CreatePreviousBorrowerAddressResponse
Fields
| Field Name | Description |
|---|---|
address - Address!
|
US Address |
id - ID!
|
Node ID |
monthlyRentAmount - NonNegativeInt
|
The monthly rental amount in dollars |
moveInDate - Date
|
Move in date |
moveOutDate - Date
|
Move out date |
residencyBasis - BorrowerResidencyBasis
|
The basis on which the borrower lives/lived at this address |
Example
{
"address": Address,
"id": "4",
"monthlyRentAmount": 123,
"moveInDate": "2007-12-03",
"moveOutDate": "2007-12-03",
"residencyBasis": "LIVING_RENT_FREE"
}
CreateProceedsFromSaleOfNonRealEstateAssetInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"amount": 123,
"borrowerIds": [4],
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateProceedsFromSecuredLoanAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateProceedsFromUnsecuredLoanAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateProposedGrossRentForSubjectPropertyIncomeInput
Description
Input for creating a ProposedGrossRentForSubjectPropertyIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
ownedPropertyId - ID!
|
The owned property to link this rental income to |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"ownedPropertyId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreatePublicAssistanceIncomeInput
Description
Input for creating a PublicAssistanceIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateRealEstateOwnedGrossRentalIncomeInput
Description
Input for creating a RealEstateOwnedGrossRentalIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
ownedPropertyId - ID!
|
The owned property to link this rental income to |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"ownedPropertyId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateRetirementFundAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"]
}
CreateRetirementIncomeInput
Description
Input for creating a RetirementIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateRoyaltiesIncomeInput
Description
Input for creating a RoyaltiesIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateSavingsAccountAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"]
}
CreateSelfEmploymentIncomeInput
Description
Input for creating a SelfEmploymentIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
business - SelfEmploymentBusinessInput
|
The associated self-employment business (if one exists) |
employmentClassification - EmploymentClassificationType!
|
Whether this is the borrower's primary or secondary employer. Default = PRIMARY |
endDate - Date
|
End date. A value of null indicates that the employment is current. |
externalId - String
|
External ID from third-party services |
isCurrentEmployment - Boolean
|
Is the employment current? |
numberOfMonthsInLineOfWork - NonNegativeInt
|
The total number of months the borrower has been employed in this line of work, regardless of employer |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
position - String
|
A name or description of the employment position or job title |
startDate - Date
|
Start date |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"business": SelfEmploymentBusinessInput,
"employmentClassification": "PRIMARY",
"endDate": "2007-12-03",
"externalId": "xyz789",
"isCurrentEmployment": false,
"numberOfMonthsInLineOfWork": 123,
"payPeriodFrequency": "ANNUALLY",
"position": "xyz789",
"startDate": "2007-12-03",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateSelfEmploymentLossIncomeInput
Description
Input for creating a SelfEmploymentLossIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateSeparateMaintenanceIncomeInput
Description
Input for creating a SeparateMaintenanceIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateSessionResponse
Fields
| Field Name | Description |
|---|---|
advisorSession - AdvisorSession!
|
Example
{"advisorSession": AdvisorSession}
CreateSocialSecurityIncomeInput
Description
Input for creating a SocialSecurityIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateStandardEmploymentIncomeInput
Description
Input for creating a StandardEmploymentIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerHasSpecialRelationshipWithEmployer - Boolean!
|
When true, indicates that the borrower has a special relationship with the employer, such as familial ties. Default = false |
borrowerId - ID!
|
The borrower associated with the income |
employer - EmployerInput
|
Employer details |
employmentClassification - EmploymentClassificationType!
|
Whether this is the borrower's primary or secondary employer. Default = PRIMARY |
endDate - Date
|
End date. A value of null indicates that the employment is current. |
externalId - String
|
External ID from third-party services |
incomePayType - IncomePayType
|
The type of pay (hourly or salaried) |
isCurrentEmployment - Boolean
|
Is the employment current? |
numberOfMonthsInLineOfWork - NonNegativeInt
|
The total number of months the borrower has been employed in this line of work, regardless of employer |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
position - String
|
A name or description of the employment position or job title |
startDate - Date
|
Start date |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerHasSpecialRelationshipWithEmployer": false,
"borrowerId": 4,
"employer": EmployerInput,
"employmentClassification": "PRIMARY",
"endDate": "2007-12-03",
"externalId": "abc123",
"incomePayType": "HOURLY",
"isCurrentEmployment": true,
"numberOfMonthsInLineOfWork": 123,
"payPeriodFrequency": "ANNUALLY",
"position": "xyz789",
"startDate": "2007-12-03",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateStockAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateStockOptionsAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": ["4"],
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
CreateSubjectPropertyInput
Description
Input to the createSubjectProperty mutation
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
US Address |
attachmentType - AttachmentEnum
|
Whether the property is physically attached to neighboring units |
dealId - ID!
|
The ID of the deal |
manuallyEstimatedValue - NonNegativeInt
|
The manually estimated value of the property |
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Is Property taxes and insurance included in payment |
rentalEstimatedGrossMonthlyRentAmount - NonNegativeInt
|
The estimated gross monthly rent amount (for investment properties) |
Example
{
"address": AddressInput,
"attachmentType": "ATTACHED",
"dealId": "4",
"manuallyEstimatedValue": 123,
"propertyTaxesAndInsuranceIncludedInPayment": false,
"rentalEstimatedGrossMonthlyRentAmount": 123
}
CreateSubjectPropertyNetCashFlowIncomeInput
Description
Input for creating a SubjectPropertyNetCashFlowIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateSubjectPropertyResponse
Description
Response of the createSubjectProperty mutation
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of the SubjectProperty that was created |
Example
{"id": 4}
CreateSupportTicketInput
Description
Input for filing a loan-specific support ticket.
Fields
| Input Field | Description |
|---|---|
additionalRecipients - [SupportRecipientInput!]
|
Extra addresses to copy on the ticket's opening message; at most 10. Later messages carry the recipients given to addSupportMessage. |
attachmentDocumentIds - [ID!]
|
Loan documents to attach: ids returned by requestSupportDocumentUpload's file POST, or document ids from this loan's documents. Documents are reusable across tickets and messages; at most 20 per message. |
body - String!
|
The question / ticket body. |
issueType - ID!
|
Key of the issue type uniquely identifying this ticket (from the issueTypes query, e.g. PRE_LOCK). |
loanApplicationId - ID!
|
The loan this ticket is about: its Pylon id or friendly loan id. |
requesterEmail - String!
|
Email of the person filing the ticket. |
requesterName - String!
|
Name of the person filing the ticket (the LO or processor). |
Example
{
"additionalRecipients": [SupportRecipientInput],
"attachmentDocumentIds": [4],
"body": "abc123",
"issueType": "4",
"loanApplicationId": "4",
"requesterEmail": "abc123",
"requesterName": "xyz789"
}
CreateSupportTicketResponse
Description
Response from filing a support ticket.
Fields
| Field Name | Description |
|---|---|
ticket - SupportTicket!
|
The created ticket. |
Example
{"ticket": SupportTicket}
CreateTemporaryLeaveIncomeInput
Description
Input for creating a TemporaryLeaveIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateTipIncomeInput
Description
Input for creating a TipIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
employmentId - ID
|
The employment this income is associated with |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"employmentId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateTrailingCoBorrowerIncomeInput
Description
Input for creating a TrailingCoBorrowerIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateTrustAccountAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
borrowerIds - [ID!]!
|
Asset-owning borrower IDs |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
trusteeName - String
|
The legal name of the trustee |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"borrowerIds": [4],
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"],
"trusteeName": "xyz789"
}
CreateTrustIncomeInput
Description
Input for creating a TrustIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateUnemploymentIncomeInput
Description
Input for creating an UnemploymentIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateUpdateModeTokenInput
CreateUpdateModeTokenResponse
Description
Response for createUpdateModeToken mutation
Fields
| Field Name | Description |
|---|---|
linkToken - String!
|
Link token for Plaid Link update mode |
Example
{"linkToken": "abc123"}
CreateVaBenefitsNonEducationalIncomeInput
Description
Input for creating a VaBenefitsNonEducationalIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
CreateWorkersCompensationIncomeInput
Description
Input for creating a WorkersCompensationIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID!
|
The borrower associated with the income |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
Credit
Description
Credit related fields
Fields
| Field Name | Description |
|---|---|
job - CreditPullJob
|
Credit pull job |
Arguments
|
|
missingFieldsForCreditPull - [CreditPullRequiredField!]!
|
Required fields that are missing for a credit pull. Empty array means all required fields are present. |
Arguments
|
|
report - CreditReport
|
Credit report |
Arguments
|
|
udnMonitors - [UdnMonitorGql!]
|
|
Arguments
|
|
Example
{
"job": CreditPullJob,
"missingFieldsForCreditPull": ["BORROWER_CURRENT_ADDRESS"],
"report": CreditReport,
"udnMonitors": [UdnMonitorGql]
}
CreditBureau
Description
The name of a credit bureau
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"EQUIFAX"
CreditBusinessType
Description
The business type of a credit inquiry
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ADVERTISING"
CreditExpiryStatus
Description
Expiry status of a credit report based on days since pull
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACTIVE"
CreditInquiry
Description
Credit inquiry type
Fields
| Field Name | Description |
|---|---|
creditBusinessType - CreditBusinessType
|
The business type of the credit inquiry |
creditInquiryResultType - CreditInquiryResultType
|
The result type of the credit inquiry |
date - DateTime
|
Date of the credit inquiry |
detailCreditBusinessType - DetailCreditBusinessType
|
The detailed business type of the credit inquiry |
id - ID!
|
Credit inquiry ID |
name - String
|
Name of the creditor |
Example
{
"creditBusinessType": "ADVERTISING",
"creditInquiryResultType": "ACCOUNT_CLOSED",
"date": "2007-12-03T10:15:30Z",
"detailCreditBusinessType": "ADVERTISING_AGENCIES",
"id": 4,
"name": "abc123"
}
CreditInquiryMutations
Fields
| Field Name | Description |
|---|---|
updateCreditInquiry - UpdateCreditInquiryResponse
|
Update a credit inquiry with an explanation and generate a Letter of Explanation PDF |
Arguments
|
|
Example
{"updateCreditInquiry": UpdateCreditInquiryResponse}
CreditInquiryResultType
Description
The result type of a credit inquiry
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACCOUNT_CLOSED"
CreditMutations
Description
Credit mutations
Fields
| Field Name | Description |
|---|---|
deactivateUdnMonitoring - DeactivateUdnMonitoringResponse
|
Deactivate UDN monitoring for a borrower |
Arguments
|
|
invalidateCreditCache - InvalidateCreditCacheResponse
|
Invalidate cached credit pull results for the given borrower(s). Future credit pulls will perform a fresh pull instead of returning cached results. |
Arguments
|
|
refreshCreditReport - RefreshCreditReportResponse
|
Refresh an existing completed credit report |
Arguments
|
|
startIndividualCreditPullJob - StartIndividualCreditPullJobResponse
|
Start a hard credit pull for an individual |
Arguments |
|
startJointCreditPullJob - StartJointCreditPullJobResponse
|
Start a joint hard credit pull for two co-borrowers on the same loan application |
Arguments
|
|
unmergeCreditReport - UnmergeCreditReportResponse
|
Unmerge a joint credit report into individual reports |
Arguments
|
|
updateUdnNotificationEmails - UpdateUdnNotificationEmailsResponse
|
Update notification emails for a UDN monitor |
Arguments |
|
upgradeCreditReport - UpgradeCreditReportResponse
|
Upgrade an existing credit report to include all three bureaus |
Arguments
|
|
Example
{
"deactivateUdnMonitoring": DeactivateUdnMonitoringResponse,
"invalidateCreditCache": InvalidateCreditCacheResponse,
"refreshCreditReport": RefreshCreditReportResponse,
"startIndividualCreditPullJob": StartIndividualCreditPullJobResponse,
"startJointCreditPullJob": StartJointCreditPullJobResponse,
"unmergeCreditReport": UnmergeCreditReportResponse,
"updateUdnNotificationEmails": UpdateUdnNotificationEmailsResponse,
"upgradeCreditReport": UpgradeCreditReportResponse
}
CreditPullBorrowerInput
Description
Borrower with fields required for a credit pull
Fields
| Input Field | Description |
|---|---|
consentType - CreditPullConsentType
|
Credit pull consent type |
id - ID!
|
Borrower ID |
taxIdentifierNumber - String
|
Tax identifier number |
taxIdentifierNumberType - TaxIdentifierNumberType
|
Tax identifier number type |
Example
{
"consentType": "ELECTRONIC",
"id": 4,
"taxIdentifierNumber": "xyz789",
"taxIdentifierNumberType": "INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER"
}
CreditPullConsentType
Description
Credit pull consent type
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ELECTRONIC"
CreditPullJob
Description
Credit pull job
Fields
| Field Name | Description |
|---|---|
failureReason - String
|
Human-readable reason the credit pull failed. Populated only when status is FAILED; null otherwise. |
id - ID!
|
Job ID |
result - CreditReport
|
The credit report. This field will be populated only if the credit pull job status is SUCCEEDED. Otherwise it will be null. |
status - JobStatus!
|
Job status |
Example
{
"failureReason": "abc123",
"id": "4",
"result": CreditReport,
"status": "FAILED"
}
CreditPullRequiredField
Description
Required fields for a credit pull
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BORROWER_CURRENT_ADDRESS"
CreditPullType
Description
The type of credit pull performed on a borrower
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"HARD"
CreditReport
Description
Credit report
Fields
| Field Name | Description |
|---|---|
bureauStatuses - [BureauFileStatus!]
|
Per-bureau file statuses. Null for legacy pulls that predate bureau status tracking. |
expiryStatus - CreditExpiryStatus!
|
Expiry status derived from pullTime: ACTIVE (<83d), EXPIRING_SOON (83-89d), EXPIRED (90-119d), CONSENT_EXPIRED (120d+, consent re-gating required). |
id - ID!
|
Credit report ID |
pullTime - DateTime!
|
Time of credit pull |
Example
{
"bureauStatuses": [BureauFileStatus],
"expiryStatus": "ACTIVE",
"id": 4,
"pullTime": "2007-12-03T10:15:30Z"
}
CreditScore
Description
An individual's credit score as reported by a specific credit bureau
Fields
| Field Name | Description |
|---|---|
bureau - CreditBureau!
|
|
score - Float!
|
Example
{"bureau": "EQUIFAX", "score": 987.65}
CryptocurrencyAsset
Description
Cryptocurrency holdings
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
description - String
|
Description of the asset (e.g. coin and platform) |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": 4,
"borrowerIds": [4],
"description": "xyz789",
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
CustomMarketingRate
Description
Custom marketing rate
Fields
| Field Name | Description |
|---|---|
apr - Float!
|
|
discountPointsTotal - Float!
|
|
discountPointsTotalAmount - Int!
|
|
fipsCountyCode - String!
|
|
loanAmount - NonNegativeInt!
|
|
ltv - Float!
|
|
propertyUsageType - PropertyUsageType!
|
|
qualifyingFicoScore - Int!
|
|
rate - Float!
|
|
salesContractAmount - NonNegativeInt!
|
The amount of money that the property will be purchased for. Also called the purchase price. |
Example
{
"apr": 123.45,
"discountPointsTotal": 987.65,
"discountPointsTotalAmount": 987,
"fipsCountyCode": "abc123",
"loanAmount": 123,
"ltv": 123.45,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rate": 123.45,
"salesContractAmount": 123
}
CustomMarketingRateInput
Description
Custom marketing rate input
Fields
| Input Field | Description |
|---|---|
calculateApr - Boolean
|
Should closing costs be fetched in order to calculate an APR?. Default = true |
concessions - NonNegativeInt
|
Lender concession in dollars. Reduces the rate cost (points) the borrower would otherwise pay, but never below zero. Default = 0 |
fipsCountyCode - String!
|
The five-digit FIPS county code based on ANSI standard (INCITS 31:2009) |
loanAmount - NonNegativeInt!
|
Amount of the loan in dollars, also called principal |
loanTermYears - Float!
|
Loan term, in years. Default = 30 |
ltv - Float!
|
Loan to value ratio. Lower values get better rates. A typical value for a conforming conventional loan would be 0.8; values over that usually require mortgage insurance. |
maxDiscountPointsTotal - Float
|
Maximum total discount points. Default = 0 |
propertyUsageType - PropertyUsageType
|
|
qualifyingFicoScore - Int
|
FICO score used to determine loan eligibility and interest rate |
rateLockDays - Float!
|
How long to lock the rate, in days. Default = 30 |
Example
{
"calculateApr": true,
"concessions": 123,
"fipsCountyCode": "abc123",
"loanAmount": 123,
"loanTermYears": 123.45,
"ltv": 987.65,
"maxDiscountPointsTotal": 987.65,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rateLockDays": 123.45
}
CustomerApiAccessStatus
Description
Whether an organization's API access is active, paused, or inactive.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ACTIVE"
CustomerCommsOptIns
Fields
| Field Name | Description |
|---|---|
comms - [CommsWithOptInStatus!]!
|
|
customerId - ID!
|
|
customerName - String!
|
Example
{
"comms": [CommsWithOptInStatus],
"customerId": "4",
"customerName": "abc123"
}
CustomerMembership
CustomerPointAdjustment
Fields
| Field Name | Description |
|---|---|
costAbsorption - [CostAbsorption!]
|
The cost absorption from the customer on the loan |
costMultiplier - Float!
|
Determines if we should apply warehousing costs or not |
margin - Float
|
The margin from the customer on the loan |
Example
{
"costAbsorption": [CostAbsorption],
"costMultiplier": 987.65,
"margin": 123.45
}
CustomerProvisioningMutations
Description
Customer provisioning mutations (internal Pylon administrators only).
Fields
| Field Name | Description |
|---|---|
provisionCustomer - ProvisionCustomerResponse
|
Provision a new customer: creates the customer record (and default related rows) plus a machine-to-machine Auth0 application for direct API access. Only available to internal Pylon administrators. |
Arguments
|
|
Example
{"provisionCustomer": ProvisionCustomerResponse}
DataEntryResolution
Description
Resolved by data entry — fields were filled in directly. No evidence produced.
Fields
| Field Name | Description |
|---|---|
assertions - [Assertion!]!
|
The satisfying assertion(s) pinned at resolution time. Always empty for data-entry resolutions, which produce no evidence. |
description - String!
|
Human-readable summary. |
method - String!
|
Resolution method identifier. Superseded by assertions. Retained temporarily for already-shipped clients and removed after one release.
|
Example
{
"assertions": [Assertion],
"description": "xyz789",
"method": "xyz789"
}
Date
Description
A date string, such as 2007-12-03, compliant with the full-date format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
Example
"2007-12-03"
DateTime
Description
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
Example
"2007-12-03T10:15:30Z"
DateTimeComparator
Description
Comparisons available on an instant-valued field. Bounds may be absolute or given as an ISO 8601 duration relative to now.
Fields
| Input Field | Description |
|---|---|
eq - RelativeDateTime
|
|
gt - RelativeDateTime
|
|
gte - RelativeDateTime
|
|
in - [RelativeDateTime!]
|
|
isNull - Boolean
|
|
lt - RelativeDateTime
|
|
lte - RelativeDateTime
|
|
neq - RelativeDateTime
|
|
nin - [RelativeDateTime!]
|
|
null - Boolean
|
Example
{
"eq": RelativeDateTime,
"gt": RelativeDateTime,
"gte": RelativeDateTime,
"in": [RelativeDateTime],
"isNull": false,
"lt": RelativeDateTime,
"lte": RelativeDateTime,
"neq": RelativeDateTime,
"nin": [RelativeDateTime],
"null": false
}
DateTimeISO
Description
An exact point in time, serialized as an ISO 8601 / RFC 3339 compliant UTC date-time string (e.g. 2007-12-03T10:15:30Z).
Example
"2007-12-03T10:15:30Z"
DayComparator
Description
Comparisons on a field that is stored as an instant but read back as a calendar day. Bounds are days, in UTC, so a value read off a row can be handed straight back.
Example
{
"eq": "2007-12-03",
"gt": "2007-12-03",
"gte": "2007-12-03",
"isNull": true,
"lt": "2007-12-03",
"lte": "2007-12-03",
"null": true
}
DeactivateUdnMonitoringInput
Description
Input to deactivate UDN monitoring
Fields
| Input Field | Description |
|---|---|
monitorId - ID!
|
The UDN monitor ID to deactivate |
Example
{"monitorId": "4"}
DeactivateUdnMonitoringResponse
Deal
Fields
| Field Name | Description |
|---|---|
borrowers - BorrowerConnection!
|
|
Arguments
|
|
creationTime - DateTime!
|
The time when the deal was created |
friendlyId - String!
|
An alternative ID that might be more aesthetically pleasing. |
id - ID!
|
Deal ID |
loans - [LoanApplication!]!
|
|
parties - [Party!]
|
|
Example
{
"borrowers": BorrowerConnection,
"creationTime": "2007-12-03T10:15:30Z",
"friendlyId": "abc123",
"id": 4,
"loans": [LoanApplication],
"parties": [Party]
}
DealClaimTokenMutations
Description
One-time deal claim-link mutations
Fields
| Field Name | Description |
|---|---|
claim - ClaimDealClaimTokenResponse
|
|
Arguments
|
|
issue - IssueDealClaimTokenResponse
|
|
Arguments
|
|
Example
{
"claim": ClaimDealClaimTokenResponse,
"issue": IssueDealClaimTokenResponse
}
DealConnection
Fields
| Field Name | Description |
|---|---|
edges - [DealEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [DealEdge],
"pageInfo": PageInfo
}
DealEdge
DealMutations
Fields
| Field Name | Description |
|---|---|
create - CreateDealResponse
|
Example
{"create": CreateDealResponse}
DebtToIncomeViolation
Description
Optimizer could not find a solution without exceeding the DTI limit.
Fields
| Field Name | Description |
|---|---|
debtExceededDollars - Float!
|
Minimum dollar amount needed in monthly debt reduction get to the allowed DTI. |
dti - Float!
|
Borrower's DTI in decimals, including this product. |
dtiLimit - Float!
|
Maximum allowed DTI in decimals, per the guidelines. |
increaseMonthlyIncome - Float!
|
Minimum dollar amount of extra monthly income needed to reach DTI limit. |
Example
{
"debtExceededDollars": 987.65,
"dti": 987.65,
"dtiLimit": 987.65,
"increaseMonthlyIncome": 123.45
}
DeclareMilitaryServiceInput
Description
Input to declare a borrower's military service details.
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
ID of the borrower to update |
militaryServiceExpectedCompletionDate - Date
|
|
militaryStatusType - MilitaryStatusType!
|
|
survivingSpouseIndicator - Boolean
|
Example
{
"borrowerId": 4,
"militaryServiceExpectedCompletionDate": "2007-12-03",
"militaryStatusType": "ACTIVE_DUTY",
"survivingSpouseIndicator": true
}
DeclareMilitaryServiceResponse
Description
Response from the declareMilitaryService mutation.
Fields
| Field Name | Description |
|---|---|
militaryServiceDeclaration - MilitaryServiceDeclaration
|
Example
{"militaryServiceDeclaration": MilitaryService}
DeclareNoMilitaryServiceInput
DeclareNoMilitaryServiceResponse
Description
Response from the declareNoMilitaryService mutation.
Fields
| Field Name | Description |
|---|---|
militaryServiceDeclaration - MilitaryServiceDeclaration
|
Example
{"militaryServiceDeclaration": MilitaryService}
DeclinedPreApprovalRun
Description
A declined pre-approval run
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
ineligibleProducts - [IneligibleProduct!]!
|
Example
{
"id": "4",
"ineligibleProducts": [IneligibleProduct]
}
DefinedContributionPlanIncome
Description
Income from defined contribution plans
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
DegradedProductStructure
Description
A loan's attached product structure rendered without its rate-sheet detail, because the pinned rate could not be resolved. Deal facts come from the structure's own row; rate-derived fields are absent. Surface as a degraded card, not an error page.
Fields
| Field Name | Description |
|---|---|
apr - Float!
|
The APR at which the deal was priced. |
closingCosts - Float!
|
The closing costs, in dollars. |
downPaymentAmount - Float!
|
The down payment, in dollars. |
dti - Float!
|
The debt-to-income ratio, as a percentage. |
id - ID!
|
The unique ID of this product structure. |
interest - PositiveInt!
|
The total interest over the life of the loan, in dollars. |
loanTermYears - PositiveInt!
|
The loan term, in whole years. |
ltv - Float!
|
The loan-to-value ratio, as a percentage. |
monthlyPayment - Float!
|
The monthly payment, in dollars. |
pricedAsOf - DateTime
|
When the rate sheet these figures were priced against was received, when the structure recorded it. |
principal - PositiveFloat!
|
The total principal, in dollars. |
rateDetailUnavailable - Boolean!
|
Always true on this type: the pinned rate could not be resolved, so rate-sheet-derived detail is unavailable. Render a degraded card. |
rateId - ID!
|
The ID of the pinned rate that could not be resolved. |
totalPoints - Float!
|
The total points paid, as a percentage of the principal. |
Example
{
"apr": 123.45,
"closingCosts": 987.65,
"downPaymentAmount": 987.65,
"dti": 123.45,
"id": 4,
"interest": 123,
"loanTermYears": 123,
"ltv": 123.45,
"monthlyPayment": 123.45,
"pricedAsOf": "2007-12-03T10:15:30Z",
"principal": 123.45,
"rateDetailUnavailable": false,
"rateId": "4",
"totalPoints": 987.65
}
DelegatedBorrowerContributor
DeleteAssetInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the asset to delete |
Example
{"id": 4}
DeleteAssetResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of the asset that was deleted |
Example
{"id": 4}
DeleteBorrowerInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
ID of the borrower to delete |
Example
{"id": 4}
DeleteBorrowerResponse
Description
Response of the delete borrower mutation.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
ID of the borrower that was deleted |
Example
{"id": "4"}
DeleteFeeInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
DeleteFeeResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
DeleteFulfillmentPartyInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
DeleteFulfillmentPartyResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
DeleteIncomeInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
ID of the income to delete |
Example
{"id": 4}
DeleteIncomeResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
ID of the deleted income |
Example
{"id": "4"}
DeleteIssueTypeInput
Description
Input for deleting an issue type.
Fields
| Input Field | Description |
|---|---|
key - ID!
|
Key of the issue type to retire. |
Example
{"key": "4"}
DeleteIssueTypeResponse
Description
Response from deleting an issue type.
Fields
| Field Name | Description |
|---|---|
label - SupportIssueType!
|
The retired issue type. |
Example
{"label": SupportIssueType}
DeleteLiabilityInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Liability ID |
Example
{"id": 4}
DeleteLiabilityResponse
Description
Response of the deleteLiability mutation.
Fields
| Field Name | Description |
|---|---|
id - ID
|
Liability ID |
userErrors - [GenericUserError!]!
|
Example
{
"id": "4",
"userErrors": [GenericUserError]
}
DeleteLoanScriptInput
Description
Input for deleting a loan script.
Fields
| Input Field | Description |
|---|---|
scenarioId - String!
|
The scenarioId of the script to delete. |
Example
{"scenarioId": "abc123"}
DeleteLoanScriptResponse
Description
Result of deleting a loan script.
Fields
| Field Name | Description |
|---|---|
loanScript - LoanScript!
|
The script as it was at deletion. |
Example
{"loanScript": LoanScript}
DeleteNonBorrowingOwnerInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
DeleteNonBorrowingOwnerResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
DeleteNotableActivityInput
Description
Input to the deleteNotableActivity mutation.
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the activity to delete |
Example
{"id": "4"}
DeleteNotableActivityResponse
Description
Response of the deleteNotableActivity mutation.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of the activity that was deleted |
Example
{"id": "4"}
DeleteOrganizationRoleInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
DeleteOrganizationRoleResponse
Fields
| Field Name | Description |
|---|---|
deletedOrganizationRole - DeletedOrganizationRole!
|
Example
{"deletedOrganizationRole": DeletedOrganizationRole}
DeleteOrganizationStateLicensesInput
Fields
| Input Field | Description |
|---|---|
stateLicenses - [ID!]!
|
Example
{"stateLicenses": [4]}
DeleteOrganizationStateLicensesResponse
Fields
| Field Name | Description |
|---|---|
licensing - OrganizationLicensing
|
|
userErrors - [GenericUserError!]!
|
Example
{
"licensing": OrganizationLicensing,
"userErrors": [GenericUserError]
}
DeleteOrganizationUserInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
DeleteOrganizationUserResponse
Fields
| Field Name | Description |
|---|---|
deletedOrganizationUser - DeletedOrganizationUser!
|
Use deletedUser. Selecting this field discards userErrors on a refused delete, because it cannot be null.
|
deletedUser - DeletedOrganizationUser
|
Identity of the removed user, or null when the delete was refused (see userErrors). |
userErrors - [GenericUserError!]!
|
Example
{
"deletedOrganizationUser": DeletedOrganizationUser,
"deletedUser": DeletedOrganizationUser,
"userErrors": [GenericUserError]
}
DeleteOwnedPropertyInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
ID of the owned property to delete |
Example
{"id": "4"}
DeleteOwnedPropertyResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
ID of the deleted owned property |
Example
{"id": "4"}
DeletePartyInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
DeletePartyResponse
Fields
| Field Name | Description |
|---|---|
party - Party!
|
Example
{"party": Party}
DeletePreviousBorrowerAddressInput
Description
Delete previous borrower address Input
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Borrower Address ID |
Example
{"id": "4"}
DeletePreviousBorrowerAddressResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Borrower Address ID |
Example
{"id": "4"}
DeletedOrganizationRole
Fields
| Field Name | Description |
|---|---|
name - String!
|
Example
{"name": "abc123"}
DeletedOrganizationUser
DelinquentLiabilityBlocker
Description
A liability has a delinquent status
Fields
| Field Name | Description |
|---|---|
delinquencyType - DelinquentReportStatus!
|
The type of delinquency |
liabilityId - ID!
|
The ID of the delinquent liability |
type - String!
|
Example
{
"delinquencyType": "Delinquent30",
"liabilityId": 4,
"type": "abc123"
}
DelinquentReportStatus
Description
Types of delinquent liability report statuses
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Delinquent30"
DemoAusConditionPreview
Description
A single AUS condition preview within a scenario.
Example
{
"fallbackKey": "xyz789",
"section": "abc123",
"text": "xyz789"
}
DemoAusConditionScenario
Description
A named AUS-condition scenario available for seeding.
Fields
| Field Name | Description |
|---|---|
conditions - [DemoAusConditionPreview!]!
|
The conditions this scenario will seed. |
description - String!
|
Human-readable description of the scenario. |
name - String!
|
The unique scenario key. |
Example
{
"conditions": [DemoAusConditionPreview],
"description": "abc123",
"name": "xyz789"
}
DemoSeedMutations
Description
Root object for demo seed mutations (internal use only).
Fields
| Field Name | Description |
|---|---|
seedAusRun - SeedAusRunResponse
|
Seed a SUCCEEDED LPA AUS run + actionable conditions onto a loan so AUS_CONDITION requirements surface, then reconcile. Internal use only. |
Arguments
|
|
seedWireOutWorksheetCase - SeedWireOutWorksheetCaseResponse
|
Populate a fresh development loan with a synthetic wire-out case copied from the funding worksheet. Internal use only. |
Arguments
|
|
Example
{
"seedAusRun": SeedAusRunResponse,
"seedWireOutWorksheetCase": SeedWireOutWorksheetCaseResponse
}
DemoSeedQueries
Description
Root object for demo seed queries (internal use only).
Fields
| Field Name | Description |
|---|---|
ausConditionScenarios - [DemoAusConditionScenario!]!
|
List all available AUS-condition scenarios for seeding. |
wireOutWorksheetScenarios - [DemoWireOutWorksheetScenario!]!
|
List the synthetic wire-out cases available from the funding worksheet. |
Example
{
"ausConditionScenarios": [DemoAusConditionScenario],
"wireOutWorksheetScenarios": [
DemoWireOutWorksheetScenario
]
}
DemoWireOutWorksheetScenario
Description
A synthetic wire-out case copied from the funding worksheet.
Fields
| Field Name | Description |
|---|---|
expectedWireOutAmount - MonetaryAmount!
|
The wire-out amount expected for this case. |
sourceRow - Int!
|
The source worksheet row number. |
Example
{
"expectedWireOutAmount": MonetaryAmount,
"sourceRow": 987
}
DemographicInfo
Description
Demographic information
Fields
| Field Name | Description |
|---|---|
asianOther - String
|
|
asianRace - [AsianRace!]
|
|
ethnicity - [Ethnicity!]
|
|
ethnicityNotDisclosed - Boolean
|
|
hispanicOrigin - [HispanicOrigin!]
|
|
hispanicOther - String
|
|
pacificIslanderOther - String
|
|
pacificIslanderRace - [PacificIslanderRace!]
|
|
race - [Race!]
|
|
raceNotDisclosed - Boolean
|
|
sex - [Sex!]
|
|
sexNotDisclosed - Boolean
|
|
tribe - String
|
Example
{
"asianOther": "xyz789",
"asianRace": ["CHINESE"],
"ethnicity": ["HISPANIC"],
"ethnicityNotDisclosed": false,
"hispanicOrigin": ["CUBA"],
"hispanicOther": "xyz789",
"pacificIslanderOther": "xyz789",
"pacificIslanderRace": ["GUAMANIAN_OR_CHAMORRO"],
"race": ["AM_INDIAN_ALASKAN"],
"raceNotDisclosed": false,
"sex": ["FEMALE"],
"sexNotDisclosed": true,
"tribe": "xyz789"
}
DenyRateLockInput
Description
Input to the denyRateLock mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": "4"}
DenyRateLockResponse
Description
Response of the denyRateLock mutation.
Fields
| Field Name | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": "4"}
DependencyProvenance
Description
Provenance from a data dependency. The process needs this information to proceed.
Fields
| Field Name | Description |
|---|---|
description - String!
|
Human-readable explanation. |
evidence - [GuidelineReference!]!
|
Supporting evidence. Typically empty. |
Example
{
"description": "xyz789",
"evidence": [GuidelineReference]
}
DetachBorrowerAssetInput
DetachBorrowerAssetResponse
Description
Response of the detachBorrowerAsset mutation.
Fields
| Field Name | Description |
|---|---|
asset - Asset!
|
The asset that was updated |
Example
{"asset": Asset}
DetachBorrowerLiabilitiesInput
DetachBorrowerLiabilitiesResponse
Fields
| Field Name | Description |
|---|---|
borrower - Borrower!
|
The updated Borrower |
Example
{"borrower": Borrower}
DetachContributorFromDealInput
DetachContributorFromDealResponse
Fields
| Field Name | Description |
|---|---|
contributor - Contributor!
|
|
deal - Deal!
|
Example
{
"contributor": Contributor,
"deal": Deal
}
DetachLoanContactInput
DetachLoanContactResponse
Description
Response of the loan.detachContact mutation.
Fields
| Field Name | Description |
|---|---|
contact - Contact!
|
The contact that was successfully detached from the loan. |
Example
{"contact": Contact}
DetachOwnedPropertyLiabilitiesInput
DetachOwnedPropertyLiabilitiesResponse
Fields
| Field Name | Description |
|---|---|
ownedProperty - OwnedProperty!
|
The updated OwnedPropertyIntent |
Example
{"ownedProperty": OwnedProperty}
DetachSubjectPropertyAddressInput
Description
Input to the detachSubjectPropertyAddress mutation.
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the subject property from which the address should be detached |
Example
{"id": 4}
DetachSubjectPropertyAddressResponse
Description
Response of the detachSubjectPropertyAddress mutation.
Fields
| Field Name | Description |
|---|---|
subjectProperty - SubjectProperty!
|
The SubjectProperty that was updated |
Example
{"subjectProperty": SubjectProperty}
DetachSubjectPropertyLiabilitiesInput
DetachSubjectPropertyLiabilitiesResponse
Fields
| Field Name | Description |
|---|---|
subjectProperty - SubjectProperty!
|
The updated SubjectProperty |
Example
{"subjectProperty": SubjectProperty}
DetailCreditBusinessType
Description
The detailed business type of a credit inquiry
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ADVERTISING_AGENCIES"
DisabilityIncome
Description
Disability income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
DisableContributorInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
DisableContributorResponse
Fields
| Field Name | Description |
|---|---|
contributor - Contributor!
|
Example
{"contributor": Contributor}
DisclosedAmortizationType
Description
The loan type half of TRID's Product (§1026.37(a)(10)(ii)). A normalization of MISMO's AmortizationType — OTHER is a product outside TRID's loan types, not an absent value.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ADJUSTABLE_RATE"
DisclosedAmountChange
Description
One money figure a disclosure printed, beside where the loan stands now. A null on either side is a figure that side did not state, which stays distinguishable from a real zero.
Fields
| Field Name | Description |
|---|---|
currentAmount - MonetaryAmount
|
|
disclosedAmount - MonetaryAmount
|
|
figureType - DisclosedFigureType!
|
Never NOTE_RATE_PERCENT, which is not money. |
Example
{
"currentAmount": MonetaryAmount,
"disclosedAmount": MonetaryAmount,
"figureType": "CASH_TO_CLOSE_TOTAL"
}
DisclosedFee
Description
One fee line as a disclosure package printed it, kept verbatim from the MISMO FEE_DETAIL rather than mapped onto the closing-cost vocabulary.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
DisclosedFigureChange
Types
| Union Types |
|---|
Example
DisclosedAmountChange
DisclosedFigureType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CASH_TO_CLOSE_TOTAL"
DisclosedFormType
Description
Which of the two TRID forms a disclosure package printed.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CLOSING_DISCLOSURE"
DisclosedLoanProduct
Description
TRID's Product (§1026.37(a)(10)) on one side of a comparison: the loan type, and the payment features that qualify it. A null component is one that side did not state, and is compared as unstated rather than as false.
Fields
| Field Name | Description |
|---|---|
amortizationType - DisclosedAmortizationType
|
|
balloonIndicator - Boolean
|
|
interestOnlyIndicator - Boolean
|
|
negativeAmortizationIndicator - Boolean
|
|
seasonalPaymentFeatureIndicator - Boolean
|
Example
{
"amortizationType": "ADJUSTABLE_RATE",
"balloonIndicator": true,
"interestOnlyIndicator": false,
"negativeAmortizationIndicator": false,
"seasonalPaymentFeatureIndicator": false
}
DisclosedLoanStructure
Description
A TRID package as it was recorded: the terms and fee lines that package printed.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Example
{"id": 4}
DisclosedRateChange
Description
The note rate a disclosure printed, beside the loan's current rate.
Fields
| Field Name | Description |
|---|---|
currentRatePercent - Float
|
This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
disclosedRatePercent - Float
|
This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
figureType - DisclosedFigureType!
|
Always NOTE_RATE_PERCENT. |
Example
{
"currentRatePercent": 123.45,
"disclosedRatePercent": 123.45,
"figureType": "CASH_TO_CLOSE_TOTAL"
}
Disclosure
Fields
| Field Name | Description |
|---|---|
cancelledOn - DateTime
|
|
combinedPdfDownloadUrl - String
|
Presigned download URL for the combined signed-package PDF — every document in the package merged into one file, with the e-sign certificate as the final section. Null until the package is fully signed and the certificate has been received, at which point the artifact is generated automatically. |
completedOn - DateTime
|
|
createdOn - DateTime
|
When the package was generated, as reported by the document provider. Every package reachable through disclosuresHistory has one, so this is the only moment guaranteed to be present — notably on manually delivered (wet-sign) packages, which report SENT with a null sentOn. |
documentLinks - [DocumentLink!]
|
|
electronicToPaperSentOn - DateTime
|
When the package was re-sent to the recipient on paper after electronic delivery, if tracked by the provider. |
id - ID!
|
The ID of the disclosure. |
packageType - DisclosurePackageType!
|
|
provider - String!
|
|
receivedOn - DateTime
|
|
recipients - [DisclosureRecipient!]
|
|
sentOn - DateTime
|
|
status - DisclosureStatus
|
The status of the disclosure package. For manually delivered packages (e.g. wet-sign closings in states that do not permit eClosings), a package that has been generated but not yet marked delivered is reported as SENT with a null sentOn. |
Example
{
"cancelledOn": "2007-12-03T10:15:30Z",
"combinedPdfDownloadUrl": "xyz789",
"completedOn": "2007-12-03T10:15:30Z",
"createdOn": "2007-12-03T10:15:30Z",
"documentLinks": [DocumentLink],
"electronicToPaperSentOn": "2007-12-03T10:15:30Z",
"id": 4,
"packageType": "ADVERSE_ACTION",
"provider": "xyz789",
"receivedOn": "2007-12-03T10:15:30Z",
"recipients": [DisclosureRecipient],
"sentOn": "2007-12-03T10:15:30Z",
"status": "CANCELLED"
}
DisclosureDrift
Description
What measuring the loan against its baseline concluded.
Types
| Union Types |
|---|
Example
DisclosureDriftAssessed
DisclosureDriftAssessed
Description
The loan was measured against its most recently disclosed package. An empty reasons is the genuine 'nothing drifted'.
Fields
| Field Name | Description |
|---|---|
baseline - DisclosureDriftBaseline!
|
|
outcome - DisclosureDriftOutcome!
|
|
reasons - [DisclosureDriftReason!]!
|
Example
{
"baseline": DisclosureDriftBaseline,
"outcome": "ASSESSED",
"reasons": [AprInaccurateReason]
}
DisclosureDriftBaseline
Description
The disclosure package the assessment measured drift against.
Fields
| Field Name | Description |
|---|---|
disclosedLoanStructure - DisclosedLoanStructure!
|
The recorded package the drift was measured against. |
disclosedOn - DateTimeISO!
|
|
formType - DisclosedFormType!
|
|
packageType - DisclosurePackageType!
|
Always one of the four package types that print TRID terms. |
Example
{
"disclosedLoanStructure": DisclosedLoanStructure,
"disclosedOn": "2007-12-03T10:15:30Z",
"formType": "CLOSING_DISCLOSURE",
"packageType": "ADVERSE_ACTION"
}
DisclosureDriftFeeIdentity
Description
Enough of a fee line to name it in a reason. Exactly one of disclosedFee and closingCost is set: a closingCost names a charge the loan carries that the disclosure never printed.
Fields
| Field Name | Description |
|---|---|
closingCost - Fee
|
The closing cost the reason cites, set only where there is no disclosed line to cite instead. |
disclosedFee - DisclosedFee
|
The disclosed line the reason cites. Null when the loan carries a charge the disclosure never printed. |
feeDescription - String
|
|
feeType - FeeType
|
|
integratedDisclosureLineNumberValue - String
|
The only stable line identity across two disclosures. |
integratedDisclosureSectionType - IntegratedDisclosureSectionType
|
Example
{
"closingCost": Fee,
"disclosedFee": DisclosedFee,
"feeDescription": "abc123",
"feeType": "APPLICATION_FEE",
"integratedDisclosureLineNumberValue": "xyz789",
"integratedDisclosureSectionType": "DUE_FROM_BORROWER_AT_CLOSING"
}
DisclosureDriftNoBaseline
Description
The loan has no recorded TRID package, so it owes an initial Loan Estimate rather than a redisclosure. Not the same as nothing having drifted.
Fields
| Field Name | Description |
|---|---|
outcome - DisclosureDriftOutcome!
|
Example
{"outcome": "ASSESSED"}
DisclosureDriftOutcome
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ASSESSED"
DisclosureDriftReason
Example
AprInaccurateReason
DisclosureDriftReasonKind
Description
Discriminates a DisclosureDriftReason, so a consumer can branch without an inline fragment per member.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"APR_INACCURATE"
DisclosureLink
DisclosurePackageType
Description
Stage of a disclosure package.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ADVERSE_ACTION"
DisclosurePreview
Fields
| Field Name | Description |
|---|---|
createdOn - DateTime
|
|
documentLinks - [DocumentLink!]
|
Example
{
"createdOn": "2007-12-03T10:15:30Z",
"documentLinks": [DocumentLink]
}
DisclosureRecipient
Description
A recipient of a disclosure package.
Fields
| Field Name | Description |
|---|---|
displayName - String
|
The full name of the disclosure recipient. |
email - String
|
The email address of the disclosure recipient. |
link - DisclosureLink
|
Link with access information for the disclosure recipient. May be null if the signing URL is not yet available. |
linkExpiresOn - DateTime
|
When this recipient's signing link expires, if tracked by the provider. |
receivedOn - DateTime
|
When this recipient received (was sent) the disclosure package, if tracked by the provider. |
signatureRequired - Boolean!
|
Indicates whether the recipient is required to sign the disclosure. Some recipients receive a package for reference only and are never expected to sign it (for example, the lender on a redisclosure); for those, signed stays false without the package being incomplete. |
signed - Boolean!
|
Indicates whether the recipient has signed the disclosure. |
signedOn - DateTime
|
When this recipient signed/completed the disclosure package, if tracked by the provider. |
type - DisclosureRecipientType
|
The enum type of the disclosure recipient. |
Example
{
"displayName": "abc123",
"email": "abc123",
"link": DisclosureLink,
"linkExpiresOn": "2007-12-03T10:15:30Z",
"receivedOn": "2007-12-03T10:15:30Z",
"signatureRequired": false,
"signed": false,
"signedOn": "2007-12-03T10:15:30Z",
"type": "BORROWER"
}
DisclosureRecipientType
Description
Type of a recipient of a disclosure package.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"BORROWER"
DisclosureStatus
Description
The status of a disclosure package.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
Disclosures
Fields
| Field Name | Description |
|---|---|
adverseAction - Disclosure
|
|
closingDisclosure - Disclosure
|
|
initialDisclosure - Disclosure
|
|
redisclosure - Disclosure
|
Example
{
"adverseAction": Disclosure,
"closingDisclosure": Disclosure,
"initialDisclosure": Disclosure,
"redisclosure": Disclosure
}
DisclosuresHistory
Fields
| Field Name | Description |
|---|---|
disclosures - [Disclosure!]!
|
Example
{"disclosures": [Disclosure]}
DisclosuresPreviews
Fields
| Field Name | Description |
|---|---|
adverseAction - DisclosurePreview
|
|
closingDisclosure - DisclosurePreview
|
|
initialDisclosure - DisclosurePreview
|
|
redisclosure - DisclosurePreview
|
Example
{
"adverseAction": DisclosurePreview,
"closingDisclosure": DisclosurePreview,
"initialDisclosure": DisclosurePreview,
"redisclosure": DisclosurePreview
}
DisclosuresRunStatus
Description
The status of an asynchronous disclosures run. Disclosure generation and sending happen on a background worker after a mutation such as floatStructure returns, so this is how a caller observes the eventual outcome — including the failure reason when a send does not go out.
Fields
| Field Name | Description |
|---|---|
disclosuresRunId - ID!
|
The ID of the disclosures run. |
errors - [String!]!
|
Human-readable failure reasons, populated when status is FAILED. Empty for runs that are still processing or that succeeded. |
stage - DisclosuresStage
|
The disclosure stage this run is generating. |
status - JobStatus!
|
PROCESSING while the package is still being generated/sent, SUCCEEDED once the package has been sent, or FAILED if the send did not complete (see errors for the reason). |
Example
{
"disclosuresRunId": 4,
"errors": ["xyz789"],
"stage": "ADVERSE_ACTION_DISCLOSURES",
"status": "FAILED"
}
DisclosuresStage
Description
Stage of disclosure generation (INITIAL_DISCLOSURES, REDISCLOSURES, CLOSING_DISCLOSURES, ADVERSE_ACTION_DISCLOSURES).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ADVERSE_ACTION_DISCLOSURES"
DismissDuplicateSuggestionInput
DismissDuplicateSuggestionResponse
Description
Response of the dismissDuplicateSuggestion mutation.
Fields
| Field Name | Description |
|---|---|
liability - Liability!
|
The updated Liability |
Example
{"liability": Liability}
Dispute
Description
A dispute act in the evidence log: a CHALLENGE/REJECTION/INVALIDATION pinned to a prior entry, or a WAIVE targeting the requirement itself.
Fields
| Field Name | Description |
|---|---|
author - Contributor!
|
WHO authored this act — always a Contributor, resolved from the writing context, never client-supplied. |
cause - InvalidationCause
|
Why the invalidation was written. Populated for INVALIDATION only. |
createdAt - DateTimeISO!
|
When this act was written. |
id - ID!
|
Stable content-addressed identifier, resolvable via the root node(id) query. |
kind - DisputeKind!
|
The dispute act being recorded. |
reasoning - String
|
The author's reasoning narrative. Null when a redaction has tombstoned the text. |
target - Evidence
|
The pinned edge this act targets. Null for WAIVE, which targets the requirement itself. |
targetSuperseded - Boolean!
|
True when the pinned target is no longer current-in-slot per the fold (with this act itself excluded): something else — a newer assertion or another act — has displaced it, so this dispute is historical. False for WAIVE. |
Example
{
"author": Contributor,
"cause": "ENV_CHANGE",
"createdAt": "2007-12-03T10:15:30Z",
"id": "4",
"kind": "CHALLENGE",
"reasoning": "xyz789",
"target": Evidence,
"targetSuperseded": false
}
DisputeKind
Description
The kind of dispute act: CHALLENGE or REJECTION of a prior assertion, WAIVE of a requirement, or a system INVALIDATION of an assertion whose inputs may no longer hold.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CHALLENGE"
DividendsInterestIncome
Description
Dividends interest income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
Document
Description
Represents a document entity that groups one or more related files.
Fields
| Field Name | Description |
|---|---|
associatedEntities - [DocumentEntity!]!
|
The entities (like borrowers) associated with this document. |
category - String!
|
The category of the document, such as Borrower, Credit, or Disclosure. |
documentLink - DocumentLink!
|
The link corresponding to the document. |
id - ID!
|
The ID of the document. |
name - String!
|
The display name of the document. |
uploadedAt - DateTime!
|
The date and time the document was uploaded. |
Example
{
"associatedEntities": [DocumentEntity],
"category": "xyz789",
"documentLink": DocumentLink,
"id": 4,
"name": "abc123",
"uploadedAt": "2007-12-03T10:15:30Z"
}
DocumentByIdInput
Description
Input to fetch a single document by its ID.
Fields
| Input Field | Description |
|---|---|
documentId - ID!
|
The document ID. |
Example
{"documentId": "4"}
DocumentEntity
Description
Represents an entity (like a borrower) that is associated with a document.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The unique identifier of the entity. |
kind - DocumentEntityKind!
|
The type of entity this represents (e.g., BORROWER). |
Example
{"id": 4, "kind": "APPRAISAL"}
DocumentEntityKind
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"APPRAISAL"
DocumentIntakeDocument
Description
Where one uploaded file has got to in the intake pipeline.
Fields
| Field Name | Description |
|---|---|
attempt - Int!
|
Which read attempt this describes: 1 for the original, incremented by each accepted retry. Polling is sampling, so a second attempt that fails exactly as the first did is otherwise indistinguishable from no retry at all. |
detailsFound - Int
|
How many values were located in this file, counted as its citations. Null while the file is still working and null wherever the server is not counting — never estimated, and null is not zero. |
documentId - ID!
|
The uploaded file — the same id the upload returned. Split sections are folded into their packet and never appear on their own. |
documentKind - String
|
The classifier's answer, or null until the splitter has one. An upper-snake token; for a packet split into several kinds, the kind of its first section. |
failureReason - DocumentIntakeFailureReason
|
Set only when state is FAILED. |
fileName - String!
|
The name the file was uploaded under. |
receivedAt - DateTime!
|
Server clock: when the upload was taken delivery of. |
retryable - Boolean!
|
Whether asking for this file to be read again would do anything. False for every state but FAILED, so a client never offers a button that no-ops. |
state - DocumentIntakeState!
|
Where this file has got to. |
Example
{
"attempt": 987,
"detailsFound": 987,
"documentId": 4,
"documentKind": "abc123",
"failureReason": "DOCUMENT_BLURRY",
"fileName": "abc123",
"receivedAt": "2007-12-03T10:15:30Z",
"retryable": true,
"state": "FAILED"
}
DocumentIntakeFailureReason
Description
Why a file could not be read. The same closed set as ExtractionFailureReason, so one client mapping serves both surfaces.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DOCUMENT_BLURRY"
DocumentIntakeMutations
Description
Document-intake mutations namespace.
Fields
| Field Name | Description |
|---|---|
retry - RetryDocumentIntakeResponse
|
Read one uploaded file again. Resolves once a fresh read has been started, not once it has finished; poll documentIntake.status for the outcome. A file that is not in a state a re-read could improve is refused rather than silently accepted. |
Arguments
|
|
seedFromDocuments - SeedFromDocumentsResponse
|
Replaced by seedLoanFromDocuments/documentIntake.seeding (PAPI-321). This member no longer does anything. |
Arguments
|
|
seedLoanFromDocuments - SeedLoanFromDocumentsResponse
|
Seed a loan from an explicit set of its uploaded documents (PAPI-125, PAPI-321). Resolves once the run has STARTED, not once it has finished — poll documentIntake.seeding for that. A call arriving while a prior run is still active on this loan cancels it (ending it CANCELLED) and starts fresh: there is no once-per-loan limit and no eligibility refusal — never-override makes serving any loan, already filled or not, safe. Refused through userErrors only when none of the given documentIds resolve to this loan's own uploads. |
Arguments
|
|
Example
{
"retry": RetryDocumentIntakeResponse,
"seedFromDocuments": SeedFromDocumentsResponse,
"seedLoanFromDocuments": SeedLoanFromDocumentsResponse
}
DocumentIntakeQueries
Description
Root type for per-file intake status queries.
Fields
| Field Name | Description |
|---|---|
seedOutcome - SeedOutcomeResponse!
|
Replaced by seedLoanFromDocuments/documentIntake.seeding (PAPI-321). This member no longer does anything. |
Arguments
|
|
seeding - DocumentSeeding
|
The loan's most recent seed-from-documents run: where it has got to, its own documents, counts of field KEYS, and per-field-key outcomes — never field values. Deliberately narrow: the audit record of what landed where is the write-receipt trail's, not this poll's. Null when the loan has never been seeded. |
Arguments
|
|
status - DocumentIntakeStatusResponse!
|
Every uploaded file in the loan and what came of it: where each is in the pipeline, how it was classified, how many values it yielded, and — for a file that could not be read — why, and whether asking again would help. |
Arguments
|
|
Example
{
"seedOutcome": SeedOutcomeResponse,
"seeding": DocumentSeeding,
"status": DocumentIntakeStatusResponse
}
DocumentIntakeState
Description
Where one uploaded file has got to. QUEUED and READING are working states; READ, FILED_NOT_READ and FAILED are terminal. FILED_NOT_READ means the file was classified as a kind we do not extract — it is not an error and offers no retry.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"FAILED"
DocumentIntakeStatusInput
Description
Scope for a per-file intake status read.
Fields
| Input Field | Description |
|---|---|
loanApplicationId - ID!
|
The loan whose uploaded files to report. Every file the loan holds appears, whichever upload lane brought it in. |
Example
{"loanApplicationId": "4"}
DocumentIntakeStatusResponse
Description
Every uploaded file in one scope, and what came of it.
Fields
| Field Name | Description |
|---|---|
detailsFound - Int
|
Values located across the whole scope. Null when nothing has been counted yet; a zero means zero. |
documents - [DocumentIntakeDocument!]!
|
One entry per uploaded file, oldest first. |
observedAt - DateTime!
|
Server clock: when this snapshot was taken. Both timestamps come from here so a client judging how long a file has been reading never subtracts a device clock from a server one. |
Example
{
"detailsFound": 123,
"documents": [DocumentIntakeDocument],
"observedAt": "2007-12-03T10:15:30Z"
}
DocumentKind
Description
The extractable document kind a classified section routes to. Null on a section means no extractor exists for it yet (recorded as OTHER_DOCUMENT for review).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BANK_STATEMENT"
DocumentLink
Fields
| Field Name | Description |
|---|---|
archived - DocumentLinkArchive
|
Set when this document was archived (e.g. an underwriter marked it Duplicate). Null for live documents. |
id - String
|
|
review - DocumentReview
|
The document reviewer's read of this document — its status and, when ready, a plain-English summary. Null when the document has no review to show. |
Arguments
|
|
source - DocumentLinkSource
|
How this document is joined to the task: uploaded against it, matched by its filed type/entity, or both. Null when the link is not scoped to a task (the loan documents wire). |
title - String!
|
|
uploadStatus - DocumentUploadStatus
|
|
url - String!
|
|
Example
{
"archived": DocumentLinkArchive,
"id": "xyz789",
"review": DocumentReview,
"source": "MATCHED_BY_TYPE",
"title": "xyz789",
"uploadStatus": "COMPLETE",
"url": "abc123"
}
DocumentLinkArchive
Description
Why an archived document was archived, carried on the link so the uploader can see what became of it.
Fields
| Field Name | Description |
|---|---|
reasonCategory - ArchiveReasonCategory
|
Example
{"reasonCategory": "AssociatedToDifferentAspect"}
DocumentLinkSource
Description
How the document is joined to this task. UPLOADED_TO_TASK: it was uploaded against this task and the link rests on that claim alone — either its filed document type/entity does NOT match the task (it lives elsewhere on the loan) or it has since been archived. MATCHED_BY_TYPE: its filed type/entity matches the task, but it was not uploaded against it (uploaded elsewhere, or generated). UPLOADED_AND_MATCHED: both — the upload landed where the uploader intended.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"MATCHED_BY_TYPE"
DocumentRequiredCondition
Fields
| Field Name | Description |
|---|---|
numberOfRequiredDocumentTypes - Int
|
|
requireDistinctDocumentTypes - Boolean
|
|
requiredDocumentTypes - [DocumentType!]!
|
Example
{
"numberOfRequiredDocumentTypes": 987,
"requireDistinctDocumentTypes": false,
"requiredDocumentTypes": [DocumentType]
}
DocumentReview
Description
The review of a single document: its status and, when ready, a plain-English summary of the document and the actions taken.
Fields
| Field Name | Description |
|---|---|
audience - DocumentReviewAudience!
|
Which reader scope this summary was written for. |
declaredTaskRefusal - DocumentReviewDeclaredTaskRefusal
|
Set when the review refused the task the uploader declared. Null means the uploader declared no task or the review honored the declaration. On CONDITION_MISMATCH the document was filed on the loan under its classified type and is NOT attached to the declared condition — an underwriter looking at that condition will not see it there. |
status - DocumentReviewStatus!
|
Whether the review is pending, not completed, or ready. |
summary - String
|
The review's plain-English summary of the document and the actions taken. Present only when the status is READY. |
taskConfidence - DocumentReviewTaskConfidence
|
The review's stated confidence that this document answers the task it was uploaded against, with the agent's rationale. Null when the review stated no confidence — a review recorded before confidence existed, or an agent that declined to state one. Absence means "not stated", never a low score. |
Example
{
"audience": "BORROWER",
"declaredTaskRefusal": DocumentReviewDeclaredTaskRefusal,
"status": "NOT_COMPLETED",
"summary": "abc123",
"taskConfidence": DocumentReviewTaskConfidence
}
DocumentReviewAudience
Description
Which reader scope a document's review summary was written for.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"BORROWER"
DocumentReviewDeclaredTaskRefusal
Description
A declared task the review refused: the uploader chose a request task and the review filed the document elsewhere on the loan instead of attaching it to that task.
Fields
| Field Name | Description |
|---|---|
kind - DocumentReviewDeclaredTaskRefusalKind!
|
Why the declared task was not honored. |
reason - String!
|
Human-readable reason the declared task was refused, e.g. which document type the condition requires versus what was classified. |
Example
{
"kind": "ALREADY_TERMINAL",
"reason": "xyz789"
}
DocumentReviewDeclaredTaskRefusalKind
Description
Why the review did not honor the task the uploader declared. CONDITION_MISMATCH means the classified document type is not one the declared condition admits, so the document was filed on the loan under its own classified type and is NOT attached to the declared condition. NOT_ON_LOAN and NOT_A_REQUEST_TASK mean the declared task could not take a document at all; ALREADY_TERMINAL means it was already completed or cancelled when the review ran.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ALREADY_TERMINAL"
DocumentReviewStatus
Description
The state of a document's review: PENDING while the summary is still being generated, NOT_COMPLETED once a dispatched review has gone past its pending window without producing a summary, and READY when the summary is available.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"NOT_COMPLETED"
DocumentReviewTaskConfidence
Description
The review's stated confidence that the document answers the task it was uploaded against: an integer percent and the reviewing agent's own one-sentence rationale, recorded as evidence for a human reviewer. Suitable for sorting or badging a review queue; not a machine gate.
Example
{"rationale": "abc123", "score": 987}
DocumentSeeding
Description
One seed-from-documents RUN — never deleted, so a loan may hold several across its life, each a permanent part of its record.
Fields
| Field Name | Description |
|---|---|
documents - [DocumentIntakeDocument!]!
|
This run's own documents and their intake status. |
fields - [IntakeFieldOutcome!]!
|
Empty until status is COMPLETED. |
id - ID!
|
This run's own id. |
outcome - DocumentSeedingOutcome!
|
Zeroed counts until status is COMPLETED. |
refusal - String
|
The typed refusal code (e.g. SEED_NO_NAMED_DOCUMENTS). Null unless status is REFUSED. |
status - DocumentSeedingStatus!
|
Where this run stands. |
Example
{
"documents": [DocumentIntakeDocument],
"fields": [IntakeFieldOutcome],
"id": "4",
"outcome": DocumentSeedingOutcome,
"refusal": "xyz789",
"status": "CANCELLED"
}
DocumentSeedingInput
Description
Scope for a document-seeding read.
Fields
| Input Field | Description |
|---|---|
loanApplicationId - ID!
|
The loan whose most recent seeding run to report. |
Example
{"loanApplicationId": 4}
DocumentSeedingOutcome
Description
Counts of field KEYS a settled run landed, NEVER field values. Zeroed until status is COMPLETED. Deliberately narrow and must not grow into an audit trail: what landed where, with which citations, is the write-receipt record's to answer, not a polling endpoint's.
Fields
| Field Name | Description |
|---|---|
appliedCount - Int!
|
Fields written onto the application, counted across every seeded borrower. |
coBorrowerCreated - Boolean!
|
Whether the run minted at least one co-borrower for a second person the documents named. |
contestedCount - Int!
|
Distinct fields the documents contradicted each other about, left for a person to settle. |
contestedPersonCount - Int!
|
People the packet named who read too much like an existing borrower to mint and not enough to match — left for a person to settle. Their documents are attached but joined to nobody. |
heldCount - Int!
|
Fields held by a loan freeze, counted across borrowers. |
preexistingCount - Int!
|
Fields already holding somebody's typed value, held rather than overwritten — typed values always win. |
unattributedDocumentCount - Int!
|
Documents naming nobody the run could compare — a nameless paystub, a name outside the comparable alphabet. Attached to the loan, joined to no borrower; somebody should file them by hand. |
withheldCount - Int!
|
Distinct fields read and deliberately not written — income, today. |
Example
{
"appliedCount": 123,
"coBorrowerCreated": true,
"contestedCount": 987,
"contestedPersonCount": 987,
"heldCount": 123,
"preexistingCount": 123,
"unattributedDocumentCount": 987,
"withheldCount": 987
}
DocumentSeedingStatus
Description
Where one seed-from-documents RUN stands. PENDING/RUNNING cover a live run; COMPLETED/REFUSED/FAILED are terminal; CANCELLED is a run a later seedLoanFromDocuments call on the same loan preempted (cancel-and-replace) before it reached a terminal state of its own.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
DocumentType
DocumentUploadFulfillment
Description
Fulfill a requirement by uploading a document.
Fields
| Field Name | Description |
|---|---|
description - String!
|
What document is needed. |
name - String!
|
Short name, e.g. "Upload W2". |
requirements - [Requirement!]!
|
Sub-requirements for this option. Each carries its own phase - a partially-satisfied composite lists SatisfiedRequirement children alongside OpenRequirement ones. Empty when the option itself is directly actionable. |
satisfied - Boolean!
|
Whether the document has been uploaded and accepted. |
uploadUrl - String!
|
URL to POST the document to (multipart/form-data). |
Example
{
"description": "abc123",
"name": "abc123",
"requirements": [Requirement],
"satisfied": false,
"uploadUrl": "abc123"
}
DocumentUploadResolution
Description
Resolved by uploading documents. Carries evidence linking to the uploaded files.
Fields
| Field Name | Description |
|---|---|
assertions - [Assertion!]!
|
The satisfying assertion(s) pinned at resolution time. |
description - String!
|
Human-readable summary. |
method - String!
|
Resolution method identifier. Superseded by assertions. Retained temporarily for already-shipped clients and removed after one release.
|
Example
{
"assertions": [Assertion],
"description": "abc123",
"method": "abc123"
}
DocumentUploadStatus
Description
The status of a document upload.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"COMPLETE"
DuplicateLiabilitySuggestion
Fields
| Field Name | Description |
|---|---|
duplicateOf - Liability!
|
A possible matching credit-report mortgage |
liability - Liability!
|
The self-reported mortgage to review |
Example
{
"duplicateOf": Liability,
"liability": Liability
}
EligiblePreQualification
Fields
| Field Name | Description |
|---|---|
apr - Float!
|
|
discountPointsTotal - Float!
|
|
discountPointsTotalAmount - Int!
|
|
loanAmount - NonNegativeInt!
|
|
ltv - Float!
|
|
rate - Float!
|
|
salesContractAmount - NonNegativeInt!
|
Example
{
"apr": 987.65,
"discountPointsTotal": 123.45,
"discountPointsTotalAmount": 123,
"loanAmount": 123,
"ltv": 987.65,
"rate": 123.45,
"salesContractAmount": 123
}
EligibleProductPricing
Fields
| Field Name | Description |
|---|---|
adjustableRateDetail - ProductPricingAdjustableRateDetail
|
If non-null, this product represents an adjustable rate |
id - ID
|
The unique ID of this product pricing result. |
lock - PositiveInt!
|
The number of days this rate can be locked for. |
product - Product!
|
The product to which these calculations apply. |
publishedAt - DateTimeISO!
|
The date and time that rates for this product were published. |
publishedOn - Date!
|
The date that rates for this product were published. Use publishedAt for full timestamp precision. |
rateStack - [StructuringResult!]!
|
|
rates - [ProductPricingRate!]!
|
A list of rates available for this loan. The first rate in the list is the best rate available given the provided points buy. Each subsequent rate is better but requires additional points buy in order for the borrower to qualify. Use rateStack, which carries the same eligible structures plus ineligible and error entries; filter by __typename for EligibleProductStructure. This field will be removed once external usage has stopped. |
term - PositiveInt!
|
The term of the loan being considered in years. |
Example
{
"adjustableRateDetail": ProductPricingAdjustableRateDetail,
"id": "4",
"lock": 123,
"product": Product,
"publishedAt": "2007-12-03T10:15:30Z",
"publishedOn": "2007-12-03",
"rateStack": [EligibleProductStructure],
"rates": [ProductPricingRate],
"term": 123
}
EligibleProductStructure
Fields
| Field Name | Description |
|---|---|
adjustableRateDetail - ProductPricingAdjustableRateDetail
|
If non-null, this product represents an adjustable rate mortgage |
adjustments - [ProductPricingAdjustment!]!
|
All adjustments that apply to this product, rate, and deal. |
apor - ProductPricingApor!
|
The published APOR for a comparible mortgage at the time of this pricing run. |
appliedMargin - AppliedMargin
|
The customer margin applied when this structure was priced, derived on read from the effective-dated margin window active at the loan's pricing instant: the lock date when the loan's pricing is pinned by a rate lock, or now for unlocked loans. Identical for a loan's current product structure and for candidate structures of a pricing run on the same loan. Null for structures priced outside a loan context (e.g. scenarios). |
apr - Float!
|
The APR with this rate applied as a percentage. |
cashFromToBorrower - Float!
|
The net change in cash from/to the borrower at closing. |
cashOutAmount - NonNegativeFloat!
|
The cash out amount. |
cashOutType - RefinanceCashOutType!
|
The cash out type. |
closingCosts - Float!
|
The closing costs for this rate. Currently, this is only an estimate-- things like title fees are difficult to correctly compute, but this should be a good approximation. |
concessionPoints - NonNegativeFloat!
|
The concessions being applied to the rate cost in this scenario, in points. |
downPaymentAmount - NonNegativeFloat!
|
The down payment on a property. |
dti - NonNegativeFloat!
|
The debt-to-income ratio of the borrowers with the PITIA for this rate taken into account. |
floodInsurance - NonNegativeFloat!
|
The cost of flood insurance. |
id - ID
|
The unique ID of this product pricing result. |
interest - PositiveInt!
|
The total interest over the life of the loan, in dollars, with this rate applied. |
llpasWaived - Boolean!
|
Whether LLPAs were waived for this rate due to low-income borrower eligibility |
loanTermYears - PositiveInt!
|
The term length of the loan, in years |
lock - PositiveInt!
|
The number of days this rate can be locked for. |
ltv - Float!
|
The ratio of the loan amount to the total value of the property, expressed as a percentage |
monthlyPayment - NonNegativeFloat!
|
The monthly mortgage payment (PITIA) of a loan at this rate. |
mortgageInsurance - NonNegativeFloat!
|
The cost of mandatory mortgage insurance each month. |
pitia - Pitia!
|
Breakdown of the monthly payment for this rate. |
pointsCost - NonNegativeFloat!
|
The cost, in dollars, to buy enough points in order to qualify for a better rate. |
pointsNeeded - NonNegativeFloat!
|
The number of additional points that must be purchased in order to qualify for this rate. |
prepaidInterestDailyAmount - NonNegativeFloat!
|
The amount of prepaid interest paid per day before closing, |
prepaidInterestDaysPaid - NonNegativeFloat!
|
The number of days' worth of prepaid interest to be paid at closing, |
prepaidInterestTotalAmount - NonNegativeFloat!
|
The total dollar amount of prepaid interest due at closing, |
principal - PositiveFloat!
|
The total principal, in dollars, of the loan with this rate applied. |
product - Product!
|
The product to which these calculations apply. |
publishedAt - DateTimeISO!
|
The date and time that rates for this product were published. |
publishedOn - Date!
|
The date that rates for this product were published. Use publishedAt for full timestamp precision. |
rate - Float!
|
The interest rate as a percentage. |
rateId - ID!
|
The ID of the rate. |
ratePoints - Float!
|
The cost, in points, of this rate. |
totalCost - Float!
|
The total cost after adjustments for this rate. Can be negative if the rate is below par. |
totalPoints - Float!
|
The total number of points after adjustments for this rate. |
Example
{
"adjustableRateDetail": ProductPricingAdjustableRateDetail,
"adjustments": [ProductPricingAdjustment],
"apor": ProductPricingApor,
"appliedMargin": AppliedMargin,
"apr": 987.65,
"cashFromToBorrower": 123.45,
"cashOutAmount": 123.45,
"cashOutType": "CASH_OUT",
"closingCosts": 123.45,
"concessionPoints": 123.45,
"downPaymentAmount": 123.45,
"dti": 123.45,
"floodInsurance": 123.45,
"id": "4",
"interest": 123,
"llpasWaived": true,
"loanTermYears": 123,
"lock": 123,
"ltv": 987.65,
"monthlyPayment": 123.45,
"mortgageInsurance": 123.45,
"pitia": Pitia,
"pointsCost": 123.45,
"pointsNeeded": 123.45,
"prepaidInterestDailyAmount": 123.45,
"prepaidInterestDaysPaid": 123.45,
"prepaidInterestTotalAmount": 123.45,
"principal": 123.45,
"product": Product,
"publishedAt": "2007-12-03T10:15:30Z",
"publishedOn": "2007-12-03",
"rate": 987.65,
"rateId": 4,
"ratePoints": 123.45,
"totalCost": 123.45,
"totalPoints": 123.45
}
Employer
Description
Employer
Fields
| Field Name | Description |
|---|---|
address - Address
|
Employer's address |
contact - EmployerContact
|
Employer contact |
id - ID!
|
Employer ID |
name - String!
|
Name of the employer |
Example
{
"address": Address,
"contact": EmployerContact,
"id": 4,
"name": "abc123"
}
EmployerContact
EmployerContactInput
EmployerInput
Description
Employer input
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
Employer's address |
contact - EmployerContactInput
|
Employer contact |
name - String
|
Name of the employer |
Example
{
"address": AddressInput,
"contact": EmployerContactInput,
"name": "xyz789"
}
Employment
Description
Employment interface
Fields
| Field Name | Description |
|---|---|
employmentClassification - EmploymentClassificationType!
|
Whether this is the borrower's primary or secondary employer |
endDate - Date
|
End date. Will be null if the employment is current. |
id - ID!
|
Employment ID |
isCurrentEmployment - Boolean!
|
Is the employment current? |
numberOfMonthsInLineOfWork - NonNegativeInt
|
The total number of months the borrower has been employed in this line of work, regardless of employer |
position - String
|
A name or description of the employment position or job title |
startDate - Date
|
Start date |
Possible Types
| Employment Types |
|---|
Example
{
"employmentClassification": "PRIMARY",
"endDate": "2007-12-03",
"id": 4,
"isCurrentEmployment": false,
"numberOfMonthsInLineOfWork": 123,
"position": "abc123",
"startDate": "2007-12-03"
}
EmploymentClassificationType
Description
Whether this is the borrower's primary or secondary employer
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PRIMARY"
EmploymentGapMutations
Fields
| Field Name | Description |
|---|---|
explainEmploymentGap - ExplainEmploymentGapResponse
|
Generate employment gap explanation letter |
Arguments
|
|
Example
{"explainEmploymentGap": ExplainEmploymentGapResponse}
EmploymentIncome
Description
Interface for employment incomes types
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
employment - Employment!
|
The associated employment |
id - ID!
|
Income ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Possible Types
| EmploymentIncome Types |
|---|
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"employment": Employment,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
EmploymentRelatedAccountIncome
Description
Income from employment-related accounts
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
EnableContributorInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
EnableContributorResponse
Fields
| Field Name | Description |
|---|---|
contributor - Contributor!
|
Example
{"contributor": Contributor}
EnabledPlaidProduct
Description
Plaid products that can be enabled for a customer
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ASSETS"
EntityEventsResponse
Fields
| Field Name | Description |
|---|---|
batch - NodeChangedEventBatch!
|
Batch of changed entities |
next - String!
|
A cursor that can be used to fetch the next batch. |
Example
{
"batch": NodeChangedEventBatch,
"next": "xyz789"
}
EscrowItemType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ASSESSMENT_TAX"
EstimatedLoanRatios
Description
Live estimates of the loan's DTI and LTV ratios, computed on demand from the loan's current incomes, liabilities, and property value against the selected product structure's housing payment.
These are display-oriented approximations that move as loan inputs change; the authoritative ratios are computed during pricing and exposed on the product structure.
Example
{"dti": 123.45, "ltv": 987.65}
Ethnicity
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"HISPANIC"
Evidence
Description
An entry in a requirement's evidence log — evidence IS the edge: an authored assertion or a dispute act, interleaved in creation order.
Fields
| Field Name | Description |
|---|---|
author - Contributor!
|
WHO authored this entry — always a Contributor, resolved from the writing context, never client-supplied. |
createdAt - DateTimeISO!
|
When this entry was written. |
id - ID!
|
Stable content-addressed identifier, resolvable via the root node(id) query. |
Example
{
"author": Contributor,
"createdAt": "2007-12-03T10:15:30Z",
"id": 4
}
ExchangePublicTokenInput
Description
Input to the exchangePublicToken mutation.
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
ID of the borrower |
plaidMetadata - PlaidExchangeMetadata
|
Plaid-specific metadata (required when vendor is PLAID) |
publicToken - String!
|
Public token from widget |
truvMetadata - TruvExchangeMetadata
|
Truv-specific metadata (required when vendor is TRUV) |
vendor - VendorName!
|
Vendor to use (PLAID or TRUV) |
Example
{
"borrowerId": "4",
"plaidMetadata": PlaidExchangeMetadata,
"publicToken": "xyz789",
"truvMetadata": TruvExchangeMetadata,
"vendor": "PLAID"
}
ExchangePublicTokenResponse
Description
Result of exchanging public token
Types
| Union Types |
|---|
Example
PlaidItemAccess
ExpiredCreditPullError
Description
User error indicating that credit pulls are expired for one or more borrowers
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "abc123",
"errorId": "4",
"field": ["xyz789"],
"message": "abc123"
}
ExplainAssetTransactionInput
ExplainAssetTransactionResponse
ExplainEmploymentGapInput
Description
Input for employment gap explanation
Example
{
"borrowerId": 4,
"endDate": "2007-12-03",
"explanation": "xyz789",
"startDate": "2007-12-03"
}
ExplainEmploymentGapResponse
Description
Response for employment gap explanation
Example
{
"documentUploadId": "4",
"errorMessage": "abc123",
"url": "xyz789"
}
ExportLoanInput
Description
Input to the export mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID of the loan to export |
Example
{"loanId": 4}
ExportLoanResponse
Description
Response of the export mutation.
Fields
| Field Name | Description |
|---|---|
downloadUrl - String!
|
A temporary URL for downloading the exported loan file |
Example
{"downloadUrl": "abc123"}
ExtractDocumentFailure
Description
Structured failure details for a document extraction that did not succeed.
Fields
| Field Name | Description |
|---|---|
message - String!
|
A human-readable description of the failure. |
reason - ExtractionFailureReason!
|
A categorized failure reason code. |
Example
{
"message": "abc123",
"reason": "DOCUMENT_BLURRY"
}
ExtractDocumentQueries
Description
Root type for document extraction queries.
Fields
| Field Name | Description |
|---|---|
status - ExtractDocumentStatusResponse!
|
Get the current status of a document extraction workflow. |
Arguments
|
|
Example
{"status": ExtractDocumentStatusResponse}
ExtractDocumentStatusInput
Description
Input for querying the status of a document extraction workflow.
Fields
| Input Field | Description |
|---|---|
workflowId - ID!
|
The workflow ID returned when extraction was started. |
Example
{"workflowId": "4"}
ExtractDocumentStatusResponse
Description
Response containing the current status of a document extraction.
Fields
| Field Name | Description |
|---|---|
failure - ExtractDocumentFailure
|
Failure details when status is FAILED. Null when status is PROCESSING or SUCCEEDED. |
status - JobStatus!
|
Current status of the extraction workflow. |
Example
{"failure": ExtractDocumentFailure, "status": "FAILED"}
ExtractionFailureReason
Description
The categorized reason why a document extraction failed. Allows consumers to branch on specific failure modes without parsing free-text messages.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DOCUMENT_BLURRY"
FeatureFlagResult
Fee
Fields
| Field Name | Description |
|---|---|
escrowItemType - EscrowItemType
|
|
feeActualTotalAmount - NonNegativeInt
|
|
feeDescription - String
|
|
feePaidToType - FeePaidToType
|
|
feePayments - [FeePayment!]
|
|
feeSpecifiedFixedAmount - NonNegativeInt
|
If set, this field represents a fixed amount due at closing. |
feeTotalPercent - NonNegativeInt
|
If set, this field represents a fee as a percentage of the loan amount, due at closing. |
feeType - FeeType
|
|
id - ID!
|
|
integratedDisclosureSectionType - IntegratedDisclosureSectionType
|
|
monthlyAmount - NonNegativeInt
|
|
monthsPaid - NonNegativeInt
|
|
paidTo - PaidTo
|
|
prepaidItemType - PrepaidItemType
|
Example
{
"escrowItemType": "ASSESSMENT_TAX",
"feeActualTotalAmount": 123,
"feeDescription": "xyz789",
"feePaidToType": "BROKER",
"feePayments": [FeePayment],
"feeSpecifiedFixedAmount": 123,
"feeTotalPercent": 123,
"feeType": "APPLICATION_FEE",
"id": "4",
"integratedDisclosureSectionType": "DUE_FROM_BORROWER_AT_CLOSING",
"monthlyAmount": 123,
"monthsPaid": 123,
"paidTo": PaidTo,
"prepaidItemType": "BOROUGH_PROPERTY_TAX"
}
FeeMutations
Fields
| Field Name | Description |
|---|---|
delete - DeleteFeeResponse
|
|
Arguments
|
|
update - UpdateFeeResponse
|
|
Arguments
|
|
Example
{
"delete": DeleteFeeResponse,
"update": UpdateFeeResponse
}
FeePaidToType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BROKER"
FeePayment
Fields
| Field Name | Description |
|---|---|
creditAmount - NonNegativeInt
|
|
feeActualTotalAmount - NonNegativeInt
|
|
feePaymentPaidByType - FeePaymentPaidByTypeEnum
|
|
feePaymentPaidOutsideOfClosingIndicator - Boolean
|
|
feePaymentResponsiblePartyType - FeePaymentResponsiblePartyType
|
|
paymentIncludedInAprIndicator - Boolean
|
Example
{
"creditAmount": 123,
"feeActualTotalAmount": 123,
"feePaymentPaidByType": "BORROWER",
"feePaymentPaidOutsideOfClosingIndicator": true,
"feePaymentResponsiblePartyType": "BRANCH",
"paymentIncludedInAprIndicator": false
}
FeePaymentInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt!
|
|
paidBy - ClosingCostPayer!
|
Example
{"amount": 123, "paidBy": "BORROWER"}
FeePaymentPaidByTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BORROWER"
FeePaymentResponsiblePartyType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BRANCH"
FeeSheetData
Description
Structured contents of a generated fee sheet
Fields
| Field Name | Description |
|---|---|
disclaimerText - String!
|
The compliance disclaimer printed on the sheet |
fees - [Fee!]!
|
Itemized fees — the same Fee type as loan.fees |
generatedAt - DateTime
|
|
isCountyLevelEstimate - Boolean
|
True when the quote was priced from a county rather than a street address; null on sheets that predate this field |
loanOfficer - FeeSheetLoanOfficer
|
|
loanPurpose - LoanPurposeType
|
|
property - Address
|
|
qualifyingFicoScore - Int
|
|
ratesEffectiveDate - Date
|
When the rate sheet backing this quote was ingested |
structure - FeeSheetStructure!
|
Example
{
"disclaimerText": "abc123",
"fees": [Fee],
"generatedAt": "2007-12-03T10:15:30Z",
"isCountyLevelEstimate": false,
"loanOfficer": FeeSheetLoanOfficer,
"loanPurpose": "PURCHASE",
"property": Address,
"qualifyingFicoScore": 987,
"ratesEffectiveDate": "2007-12-03",
"structure": FeeSheetStructure
}
FeeSheetLoanOfficer
FeeSheetMutations
Fields
| Field Name | Description |
|---|---|
createFeeSheetRequest - CreateFeeSheetRequestResponse
|
Create request to generate fee sheet |
Arguments
|
|
createFeeSheetRequestForLoan - CreateFeeSheetRequestForLoanResponse
|
Create a request to generate a fee sheet for a loan. Pricing parameters are derived from the loan's own data on the server. |
Arguments |
|
Example
{
"createFeeSheetRequest": CreateFeeSheetRequestResponse,
"createFeeSheetRequestForLoan": CreateFeeSheetRequestForLoanResponse
}
FeeSheetPurchasePricingInput
Description
Purchase pricing parameters for a fee sheet
Fields
| Input Field | Description |
|---|---|
concessions - NonNegativeInt!
|
|
fipsCountyCode - String!
|
|
isBorrowerSelfEmployed - Boolean!
|
|
isFirstTimeHomeBuyer - Boolean!
|
|
loanTermYears - Float!
|
|
monthlyDebt - Float!
|
|
monthlyIncome - Float!
|
|
neighborhoodHousingType - NeighborhoodHousingType!
|
|
numberOfUnits - NonNegativeInt
|
|
objectiveIntent - PricingObjectiveIntent
|
Configure the objective function to optimize against. Default = MIN_PITIA |
outOfPocketMax - Float!
|
|
pricingConstraints - PricingConstraints
|
|
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Whether property taxes and insurance are included in the monthly payment (impounded). Defaults to impounded when omitted. |
propertyUsageType - PropertyUsageType!
|
|
qualifyingFicoScore - Int
|
|
rateLockDays - Float!
|
|
salesContractAmount - NonNegativeInt!
|
The amount of money that the property will be purchased for. Also called the purchase price. |
Example
{
"concessions": 123,
"fipsCountyCode": "xyz789",
"isBorrowerSelfEmployed": false,
"isFirstTimeHomeBuyer": true,
"loanTermYears": 987.65,
"monthlyDebt": 987.65,
"monthlyIncome": 123.45,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"objectiveIntent": "MIN_DOWN_PAYMENT",
"outOfPocketMax": 123.45,
"pricingConstraints": PricingConstraints,
"propertyTaxesAndInsuranceIncludedInPayment": true,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 987,
"rateLockDays": 987.65,
"salesContractAmount": 123
}
FeeSheetQueries
Fields
| Field Name | Description |
|---|---|
feeSheetRequestStatus - FeeSheetRequestStatus
|
|
Arguments
|
|
Example
{"feeSheetRequestStatus": FeeSheetRequestStatus}
FeeSheetRefinancePricingInput
Description
Refinance pricing parameters for a fee sheet
Fields
| Input Field | Description |
|---|---|
cashOut - NonNegativeInt
|
The amount of cash to be returned to the borrower from the equity. Default = 0 |
concessions - NonNegativeInt!
|
|
fipsCountyCode - String!
|
|
firstLienAmount - NonNegativeInt!
|
The remaining balance on the first lien of the property |
isBorrowerSelfEmployed - Boolean!
|
|
isFirstTimeHomeBuyer - Boolean
|
This field is irrelevant for refinance and will be ignored. |
loanAmount - NonNegativeInt
|
The desired loan amount in dollars. When provided, pins the solver to this exact loan amount and the out-of-pocket cost is derived from it. When omitted, the solver determines the optimal loan amount. |
loanTermYears - Float!
|
|
monthlyDebt - Float!
|
|
monthlyIncome - Float!
|
|
neighborhoodHousingType - NeighborhoodHousingType!
|
|
numberOfUnits - NonNegativeInt
|
|
objectiveIntent - PricingObjectiveIntent
|
Configure the objective function to optimize against. Default = MIN_PITIA |
pricingConstraints - PricingConstraints
|
|
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Whether property taxes and insurance are included in the monthly payment (impounded). Defaults to impounded when omitted. |
propertyUsageType - PropertyUsageType!
|
|
propertyValue - NonNegativeInt!
|
The value of the property being refinanced in dollars. |
qualifyingFicoScore - Int
|
|
rateLockDays - Float!
|
Example
{
"cashOut": 123,
"concessions": 123,
"fipsCountyCode": "abc123",
"firstLienAmount": 123,
"isBorrowerSelfEmployed": true,
"isFirstTimeHomeBuyer": false,
"loanAmount": 123,
"loanTermYears": 123.45,
"monthlyDebt": 987.65,
"monthlyIncome": 123.45,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"objectiveIntent": "MIN_DOWN_PAYMENT",
"pricingConstraints": PricingConstraints,
"propertyTaxesAndInsuranceIncludedInPayment": false,
"propertyUsageType": "INVESTMENT",
"propertyValue": 123,
"qualifyingFicoScore": 123,
"rateLockDays": 123.45
}
FeeSheetRequestState
Description
Processing state of a fee sheet request
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"FAILED"
FeeSheetRequestStatus
Fields
| Field Name | Description |
|---|---|
data - FeeSheetData
|
Structured contents of the sheet; populated once status is SUCCEEDED |
id - ID!
|
|
status - FeeSheetRequestState
|
Processing state of the request, distinguishing in-progress from failed while the URL is absent |
url - String
|
A download URL for a fee sheet |
Example
{
"data": FeeSheetData,
"id": 4,
"status": "FAILED",
"url": "abc123"
}
FeeSheetStructure
Description
Product structure snapshot on a fee sheet
Fields
| Field Name | Description |
|---|---|
apr - Float!
|
The APR with this rate applied as a percentage. |
cashFromToBorrower - Float!
|
The net change in cash from/to the borrower at closing. |
cashOutAmount - NonNegativeFloat!
|
The cash out amount. |
cashOutType - RefinanceCashOutType!
|
The cash out type. |
concessionPoints - NonNegativeFloat!
|
The concessions being applied to the rate cost in this scenario, in points. |
downPaymentAmount - NonNegativeFloat!
|
The down payment on a property. |
dti - NonNegativeFloat!
|
The debt-to-income ratio of the borrowers with the PITIA for this rate taken into account. |
floodInsurance - NonNegativeFloat!
|
The cost of flood insurance. |
interest - Float
|
|
loanTermYears - PositiveInt!
|
The term length of the loan, in years |
ltv - Float!
|
The ratio of the loan amount to the total value of the property, expressed as a percentage |
monthlyPayment - NonNegativeFloat!
|
The monthly mortgage payment (PITIA) of a loan at this rate. |
mortgageInsurance - NonNegativeFloat!
|
The cost of mandatory mortgage insurance each month. |
pitia - Pitia!
|
Breakdown of the monthly payment for this rate. |
pointsCost - NonNegativeFloat!
|
The cost, in dollars, to buy enough points in order to qualify for a better rate. |
pointsNeeded - NonNegativeFloat!
|
The number of additional points that must be purchased in order to qualify for this rate. |
prepaidInterestDailyAmount - Float
|
|
prepaidInterestDaysPaid - Float
|
|
prepaidInterestTotalAmount - Float
|
|
principal - PositiveFloat!
|
The total principal, in dollars, of the loan with this rate applied. |
rate - Float!
|
The interest rate as a percentage. |
rateId - ID!
|
The ID of the rate. |
ratePoints - Float!
|
The cost, in points, of this rate. |
sellerCredit - Float
|
Seller credits applied, in dollars. |
totalCost - Float!
|
The total cost after adjustments for this rate. Can be negative if the rate is below par. |
totalPoints - Float!
|
The total number of points after adjustments for this rate. |
Example
{
"apr": 123.45,
"cashFromToBorrower": 987.65,
"cashOutAmount": 123.45,
"cashOutType": "CASH_OUT",
"concessionPoints": 123.45,
"downPaymentAmount": 123.45,
"dti": 123.45,
"floodInsurance": 123.45,
"interest": 987.65,
"loanTermYears": 123,
"ltv": 123.45,
"monthlyPayment": 123.45,
"mortgageInsurance": 123.45,
"pitia": Pitia,
"pointsCost": 123.45,
"pointsNeeded": 123.45,
"prepaidInterestDailyAmount": 987.65,
"prepaidInterestDaysPaid": 987.65,
"prepaidInterestTotalAmount": 123.45,
"principal": 123.45,
"rate": 123.45,
"rateId": "4",
"ratePoints": 123.45,
"sellerCredit": 987.65,
"totalCost": 123.45,
"totalPoints": 123.45
}
FeeSheetStructureInput
Description
Product structure input for fee sheet requests
Fields
| Input Field | Description |
|---|---|
aporId - ID!
|
|
apr - Float!
|
The APR with this rate applied as a percentage. |
cashFromToBorrower - Float!
|
The net change in cash from/to the borrower at closing. |
cashOutAmount - NonNegativeFloat!
|
The cash out amount. |
cashOutType - RefinanceCashOutType!
|
The cash out type. |
concessionPoints - NonNegativeFloat!
|
The concessions being applied to the rate cost in this scenario, in points. |
downPaymentAmount - NonNegativeFloat!
|
The down payment on a property. |
dti - NonNegativeFloat!
|
The debt-to-income ratio of the borrowers with the PITIA for this rate taken into account. |
floodInsurance - NonNegativeFloat!
|
The cost of flood insurance. |
interest - PositiveInt!
|
The total interest over the life of the loan, in dollars, with this rate applied. |
loanTermYears - PositiveInt!
|
The term length of the loan, in years |
ltv - Float!
|
The ratio of the loan amount to the total value of the property, expressed as a percentage |
monthlyPayment - NonNegativeFloat!
|
The monthly mortgage payment (PITIA) of a loan at this rate. |
mortgageInsurance - NonNegativeFloat!
|
The cost of mandatory mortgage insurance each month. |
pointsCost - NonNegativeFloat!
|
The cost, in dollars, to buy enough points in order to qualify for a better rate. |
pointsNeeded - NonNegativeFloat!
|
The number of additional points that must be purchased in order to qualify for this rate. |
prepaidInterestDailyAmount - NonNegativeFloat!
|
The amount of prepaid interest paid per day before closing, |
prepaidInterestDaysPaid - NonNegativeFloat!
|
The number of days' worth of prepaid interest to be paid at closing, |
prepaidInterestTotalAmount - NonNegativeFloat!
|
The total dollar amount of prepaid interest due at closing, |
principal - PositiveFloat!
|
The total principal, in dollars, of the loan with this rate applied. |
rateId - ID!
|
The ID of the rate. |
ratePoints - Float!
|
The cost, in points, of this rate. |
totalCost - Float!
|
The total cost after adjustments for this rate. Can be negative if the rate is below par. |
totalPoints - Float!
|
The total number of points after adjustments for this rate. |
Example
{
"aporId": "4",
"apr": 987.65,
"cashFromToBorrower": 123.45,
"cashOutAmount": 123.45,
"cashOutType": "CASH_OUT",
"concessionPoints": 123.45,
"downPaymentAmount": 123.45,
"dti": 123.45,
"floodInsurance": 123.45,
"interest": 123,
"loanTermYears": 123,
"ltv": 987.65,
"monthlyPayment": 123.45,
"mortgageInsurance": 123.45,
"pointsCost": 123.45,
"pointsNeeded": 123.45,
"prepaidInterestDailyAmount": 123.45,
"prepaidInterestDaysPaid": 123.45,
"prepaidInterestTotalAmount": 123.45,
"principal": 123.45,
"rateId": 4,
"ratePoints": 123.45,
"totalCost": 987.65,
"totalPoints": 123.45
}
FeeType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"APPLICATION_FEE"
FhaMarketingRate
Description
FHA marketing rate
Fields
| Field Name | Description |
|---|---|
apr - Float!
|
|
discountPointsTotal - Float!
|
|
discountPointsTotalAmount - Int!
|
|
fipsCountyCode - String!
|
|
loanAmount - NonNegativeInt!
|
|
ltv - Float!
|
|
propertyUsageType - PropertyUsageType!
|
|
qualifyingFicoScore - Int!
|
|
rate - Float!
|
|
salesContractAmount - NonNegativeInt!
|
The amount of money that the property will be purchased for. Also called the purchase price. |
Example
{
"apr": 123.45,
"discountPointsTotal": 123.45,
"discountPointsTotalAmount": 987,
"fipsCountyCode": "xyz789",
"loanAmount": 123,
"ltv": 123.45,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rate": 987.65,
"salesContractAmount": 123
}
FhaMarketingRateInput
Description
FHA marketing rate input
Fields
| Input Field | Description |
|---|---|
calculateApr - Boolean
|
Should closing costs be fetched in order to calculate an APR?. Default = true |
concessions - NonNegativeInt
|
Lender concession in dollars. Reduces the rate cost (points) the borrower would otherwise pay, but never below zero. Default = 0 |
fipsCountyCode - String!
|
The five-digit FIPS county code based on ANSI standard (INCITS 31:2009) |
loanAmount - NonNegativeInt!
|
Amount of the loan in dollars, also called principal |
loanTermYears - Float!
|
Loan term, in years. Default = 30 |
ltv - Float!
|
Loan to value ratio. Lower values get better rates. A typical value for a conforming conventional loan would be 0.8; values over that usually require mortgage insurance. |
maxDiscountPointsTotal - Float
|
Maximum total discount points. Default = 0 |
propertyUsageType - PropertyUsageType
|
|
qualifyingFicoScore - Int
|
FICO score used to determine loan eligibility and interest rate |
rateLockDays - Float!
|
How long to lock the rate, in days. Default = 30 |
Example
{
"calculateApr": false,
"concessions": 123,
"fipsCountyCode": "xyz789",
"loanAmount": 123,
"loanTermYears": 123.45,
"ltv": 123.45,
"maxDiscountPointsTotal": 123.45,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rateLockDays": 987.65
}
FinancialAccountActivity
Description
Activity associated with a financial account asset
Fields
| Field Name | Description |
|---|---|
activityType - FinancialAccountActivityType
|
Activity type |
amount - Int
|
The amount of money in dollars |
date - Date
|
The date when the activity occurred |
description - String
|
Description of the activity |
id - ID!
|
The ID of the FinancialAccountActivity |
Example
{
"activityType": "LARGE_DEPOSIT",
"amount": 123,
"date": "2007-12-03",
"description": "xyz789",
"id": "4"
}
FinancialAccountActivityType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"LARGE_DEPOSIT"
FinancialAccountAsset
Description
Interface for financial account assets
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Asset ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Possible Types
| FinancialAccountAsset Types |
|---|
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": [4],
"id": "4",
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
FixedAmountPurchasePricingInput
Fields
| Input Field | Description |
|---|---|
amortizationTypes - [PricingAmortizationType!]
|
The amortization types to price. Defaults to fixed-only; request ADJUSTABLE_RATE (typically in a separate sequential call) to price ARM products, so one request never solves both halves of the sheet at once. Default = [FIXED] |
concessions - NonNegativeInt!
|
|
fipsCountyCode - String!
|
|
hoaDues - NonNegativeInt
|
Monthly homeowners association dues in dollars. When omitted, pricing behaves as if the property has no HOA dues. |
isBorrowerSelfEmployed - Boolean!
|
|
isFirstTimeHomeBuyer - Boolean!
|
|
loanAmount - NonNegativeInt!
|
The desired loan amount in dollars. Pins the solver to this exact loan amount and the out-of-pocket cost is derived from it. |
loanTermYears - Float!
|
|
monthlyDebt - Float!
|
|
monthlyIncome - Float!
|
|
neighborhoodHousingType - NeighborhoodHousingType!
|
|
numberOfUnits - NonNegativeInt
|
|
objectiveIntent - PricingObjectiveIntent
|
Configure the objective function to optimize against. Default = MIN_PITIA |
pricingConstraints - FixedPricingConstraints
|
|
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Whether property taxes and insurance are included in the monthly payment (impounded). Defaults to impounded when omitted. |
propertyUsageType - PropertyUsageType!
|
|
qualifyingFicoScore - Int
|
|
rateLockDays - Float!
|
|
salesContractAmount - NonNegativeInt!
|
The amount of money that the property will be purchased for. Also called the purchase price. |
Example
{
"amortizationTypes": ["ADJUSTABLE_RATE"],
"concessions": 123,
"fipsCountyCode": "xyz789",
"hoaDues": 123,
"isBorrowerSelfEmployed": true,
"isFirstTimeHomeBuyer": true,
"loanAmount": 123,
"loanTermYears": 987.65,
"monthlyDebt": 123.45,
"monthlyIncome": 123.45,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"objectiveIntent": "MIN_DOWN_PAYMENT",
"pricingConstraints": FixedPricingConstraints,
"propertyTaxesAndInsuranceIncludedInPayment": true,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rateLockDays": 123.45,
"salesContractAmount": 123
}
FixedPricingConstraints
Fields
| Input Field | Description |
|---|---|
applyOutOfPocketToLoan - Boolean
|
Represents if Out Of Pocket cash will be applied to reduce loan cost |
closingCosts - NonNegativeFloat
|
The maximum allowable closing costs. |
downPaymentAmount - NonNegativeFloat
|
The down payment amount. |
maxDiscountPoints - Float
|
Limit number of rate point buys to not exceed this value. |
maxOutOfPocket - NonNegativeFloat
|
Out of pocket maximum in dollars. |
monthlyPayment - NonNegativeFloat
|
The maximum allowable monthly payment. |
monthlyPaymentAsPercentageOfIncome - Boolean!
|
Interpret monthly payment field as a percentage instead of dollar amount. Default = false |
mortgageInsurance - Boolean
|
Indicates whether mortgage insurance is required. |
principal - NonNegativeFloat
|
The maximum allowable principal amount. |
rate - NonNegativeFloat
|
The preferred interest rate as a percentage (e.g., 5.0 for 5%). |
rollInClosingCosts - Boolean
|
Represents if closing costs will be rolled into loan amount on a ReFi |
totalCost - Float
|
The cost of points for the loan. |
totalPoints - NonNegativeFloat
|
The number of points required for the loan. |
Example
{
"applyOutOfPocketToLoan": true,
"closingCosts": 123.45,
"downPaymentAmount": 123.45,
"maxDiscountPoints": 987.65,
"maxOutOfPocket": 123.45,
"monthlyPayment": 123.45,
"monthlyPaymentAsPercentageOfIncome": false,
"mortgageInsurance": true,
"principal": 123.45,
"rate": 123.45,
"rollInClosingCosts": true,
"totalCost": 123.45,
"totalPoints": 123.45
}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
FloatStructureInput
Description
Input to the floatStructure mutation.
Example
{
"loanId": "4",
"overrideIneligibility": false
}
FloatStructureResponse
Description
Response of the floatStructure mutation.
Fields
| Field Name | Description |
|---|---|
disclosuresRunId - ID!
|
The ID of the initial-disclosures run dispatched by this call. Disclosure generation runs asynchronously, so a successful mutation only means the run was enqueued — poll disclosuresRunStatus with this ID to observe whether the package was actually sent or failed (including the failure reason). |
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{
"disclosuresRunId": "4",
"loanId": "4"
}
FloodMutations
Description
Root type for flood mutations.
Fields
| Field Name | Description |
|---|---|
cancelFlood - CancelFloodResponse
|
Cancel a flood determination order. |
Arguments
|
|
orderFlood - OrderFloodResponse
|
Order a flood determination for a loan. |
Arguments
|
|
Example
{
"cancelFlood": CancelFloodResponse,
"orderFlood": OrderFloodResponse
}
FloodOrder
Description
A flood determination order placed with a vendor to determine whether a property lies within a designated flood zone.
Fields
| Field Name | Description |
|---|---|
createdOn - DateTime!
|
When the order was created. |
id - ID!
|
Unique identifier of the flood order. |
loanApplicationId - ID!
|
Loan application the order belongs to. |
result - FloodResult
|
Parsed determination result, once the order is completed. |
status - FloodOrderStatusEnum!
|
Current status of the flood order. |
Example
{
"createdOn": "2007-12-03T10:15:30Z",
"id": "4",
"loanApplicationId": "4",
"result": FloodResult,
"status": "CANCELLED"
}
FloodOrderStatusEnum
Description
Status of a flood order.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
FloodProductType
Description
Type of flood determination product to order. Basic products are a one-time determination; Life of Loan products are monitored for the life of the loan.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Basic"
FloodQueries
Description
Root type for flood queries.
Fields
| Field Name | Description |
|---|---|
floodOrder - FloodOrder
|
Look up a flood determination order by its ID. |
Arguments
|
|
Example
{"floodOrder": FloodOrder}
FloodResult
Description
Parsed determination result from a completed flood order. Fields are nullable as they are only populated once the vendor returns a result.
Fields
| Field Name | Description |
|---|---|
floodCertificationIdentifier - String
|
Vendor-issued flood certification identifier. |
floodPartialIndicator - Boolean
|
Whether the property is only partially within the flood zone. |
floodProductCertifyDate - Date
|
When the flood product certification was issued. |
nfipCommunityIdentifier - String
|
Identifier of the NFIP community the property belongs to. |
nfipCommunityName - String
|
Name of the NFIP community the property belongs to. |
nfipCommunityParticipationStatusType - String
|
NFIP flood program the community participates in (e.g. Regular, Emergency, NonParticipating). |
nfipFloodDataRevisionType - String
|
Type of flood-map revision FEMA issued (LOMA amendment or LOMR revision); null means no revision. |
nfipFloodZoneIdentifier - String
|
NFIP flood zone the property falls within. |
nfipMapPanelDate - Date
|
Effective date of the NFIP flood map panel. |
nfipMapPanelIdentifier - String
|
Identifier of the NFIP flood map panel covering the property. |
nfipMapPanelSuffixIdentifier - String
|
Suffix of the NFIP flood map panel identifier. |
protectedAreaIndicator - Boolean
|
Whether the property is in a federally protected area (CBRA / Otherwise Protected Area). |
specialFloodHazardAreaIndicator - Boolean
|
Whether the property lies within a Special Flood Hazard Area (SFHA). |
Example
{
"floodCertificationIdentifier": "abc123",
"floodPartialIndicator": false,
"floodProductCertifyDate": "2007-12-03",
"nfipCommunityIdentifier": "abc123",
"nfipCommunityName": "xyz789",
"nfipCommunityParticipationStatusType": "xyz789",
"nfipFloodDataRevisionType": "abc123",
"nfipFloodZoneIdentifier": "abc123",
"nfipMapPanelDate": "2007-12-03",
"nfipMapPanelIdentifier": "xyz789",
"nfipMapPanelSuffixIdentifier": "xyz789",
"protectedAreaIndicator": false,
"specialFloodHazardAreaIndicator": true
}
ForceGenerateDisclosurePackageInput
Description
Input to the forceGenerateDisclosurePackage mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID of the loan. |
stage - DisclosuresStage!
|
The disclosure stage to generate (INITIAL_DISCLOSURES, REDISCLOSURES, CLOSING_DISCLOSURES, ADVERSE_ACTION_DISCLOSURES). |
Example
{
"loanId": "4",
"stage": "ADVERSE_ACTION_DISCLOSURES"
}
ForceGenerateDisclosurePackageResponse
Description
Response of the forceGenerateDisclosurePackage mutation.
Fields
| Field Name | Description |
|---|---|
disclosuresRunId - ID!
|
The ID of the disclosure run created. |
Example
{"disclosuresRunId": 4}
FosterCareIncome
Description
Foster care income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
FraudNotRunBlocker
Description
Fraud check has not been run
Fields
| Field Name | Description |
|---|---|
type - String!
|
Example
{"type": "xyz789"}
FreezeLoanInput
Description
Input to the freeze mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": "4"}
FreezeLoanResponse
Description
Response of the freeze mutation.
Fields
| Field Name | Description |
|---|---|
loan - Loan!
|
The loan |
Example
{"loan": Loan}
FulfillmentOption
Description
A path to satisfying a requirement. Multiple options represent alternatives (OR semantics).
Fields
| Field Name | Description |
|---|---|
description - String!
|
What this path involves — enough context for the consumer to decide. |
name - String!
|
Short name for this path, e.g. "Upload W2", "Payroll connection". |
requirements - [Requirement!]!
|
Sub-requirements for this option. Each carries its own phase - a partially-satisfied composite lists SatisfiedRequirement children alongside OpenRequirement ones. Empty when the option itself is directly actionable. |
satisfied - Boolean!
|
Whether this fulfillment path has been completed. |
Possible Types
| FulfillmentOption Types |
|---|
Example
{
"description": "xyz789",
"name": "xyz789",
"requirements": [Requirement],
"satisfied": false
}
FulfillmentParty
Description
FulfillmentParty
Fields
| Field Name | Description |
|---|---|
companyId - ID
|
The ID of the associated company |
fulfillmentParty - FulfillmentParty
|
|
id - ID!
|
The ID of the FulfillmentParty |
role - FulfillmentPartyRole
|
The role of the fulfillment party |
Example
{
"companyId": "4",
"fulfillmentParty": FulfillmentParty,
"id": "4",
"role": "NOTARY"
}
FulfillmentPartyMutations
Description
FulfillmentParty mutations
Fields
| Field Name | Description |
|---|---|
create - CreateFulfillmentPartyResponse
|
|
Arguments
|
|
delete - DeleteFulfillmentPartyResponse
|
|
Arguments
|
|
Example
{
"create": CreateFulfillmentPartyResponse,
"delete": DeleteFulfillmentPartyResponse
}
FulfillmentPartyRole
Description
The role of the fulfillment party
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"NOTARY"
FulfillmentResolution
Description
How a requirement was resolved. The completed-side counterpart to FulfillmentOption.
Fields
| Field Name | Description |
|---|---|
assertions - [Assertion!]!
|
The satisfying assertion(s) pinned at resolution time. |
description - String!
|
Human-readable summary, e.g. "Verified via uploaded W2 and paystub". |
method - String!
|
Stable identifier for the resolution method: "DOCUMENT_UPLOAD", "DATA_ENTRY", "SYSTEM", etc. Superseded by assertions. Retained temporarily for already-shipped clients and removed after one release.
|
Possible Types
| FulfillmentResolution Types |
|---|
Example
{
"assertions": [Assertion],
"description": "xyz789",
"method": "xyz789"
}
FundingActivityEntry
Fields
| Field Name | Description |
|---|---|
loan - Loan!
|
The loan this activity belongs to. |
wireIn - FundingActivityLeg!
|
|
wireOut - FundingActivityLeg!
|
Example
{
"loan": Loan,
"wireIn": FundingActivityLeg,
"wireOut": FundingActivityLeg
}
FundingActivityLeg
Fields
| Field Name | Description |
|---|---|
issuedFigures - [FundingFigure!]!
|
The figures this leg issued inside the window, oldest issue first. A figure appears here once, on the window that contains its issuedAt, even if a later window supersedes it. |
latestIssuedAt - DateTime
|
The newest issuedAt inside the window, or null when the leg issued no figure in it. |
latestRecordedAt - DateTime
|
The newest recordedAt inside the window, or null when the leg recorded nothing in it. |
remittances - [FundingRemittance!]!
|
The remittances and corrections Pylon recorded on this leg inside the window, oldest record first. |
Example
{
"issuedFigures": [FundingFigure],
"latestIssuedAt": "2007-12-03T10:15:30Z",
"latestRecordedAt": "2007-12-03T10:15:30Z",
"remittances": [FundingRemittance]
}
FundingActivityPage
Fields
| Field Name | Description |
|---|---|
entries - [FundingActivityEntry!]!
|
Loans with funding activity in the window, ordered by loan identifier. A page holds first loans unless it is the last page. |
next - String
|
Pass as after to read the next page. Null when the walk has reached the end. |
windowEnd - DateTime!
|
The exclusive upper bound this walk reports through: the requested to, or the time the walk started when to is in the future. Every page of one walk uses this same bound, so activity recorded during the walk cannot shift a page. |
Example
{
"entries": [FundingActivityEntry],
"next": "xyz789",
"windowEnd": "2007-12-03T10:15:30Z"
}
FundingAvailability
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"BLOCKED"
FundingClosingFeeType
Description
The stable type of an itemized closing cost.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ApplicationFee"
FundingCorrectionReason
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"DUPLICATE_REPORT"
FundingDayCountConvention
Values
| Enum Value | Description |
|---|---|
|
|
Example
"ACTUAL_360"
FundingFigure
Fields
| Field Name | Description |
|---|---|
disclosedDisbursementDate - Date
|
The scheduled disbursement date disclosed when this wire-out figure was issued. This is null for wire-in figures or when the date is unavailable. |
effectiveDate - Date
|
The date Pylon used to price a wire-out figure, or the purchase date for a wire-in figure. |
id - ID!
|
The immutable figure identifier. |
issuedAt - DateTime!
|
The time when Pylon first made this figure current. |
lines - [FundingFigureLine!]
|
The accounting breakdown for this figure. This field always returns an array. It is empty when a valid breakdown cannot be reconstructed from the stored inputs. Components are still returned when their sum differs from netAmount; read linesReconciliation to learn whether they add up instead of summing them yourself. Always use netAmount as the amount to wire. The GraphQL type remains nullable for backward compatibility. |
linesReconciliation - FundingLinesReconciliation
|
Whether lines add up to netAmount, judged from the same stored inputs the lines were built from. This does not affect the figure's availability. The GraphQL type is nullable for backward compatibility; the server always returns a value. |
netAmount - MonetaryAmount!
|
The full amount required for this figure. |
pricedFundingDate - Date
|
The funding date Pylon used to price this wire-out figure. This is null for wire-in figures. |
recipientName - String
|
The recipient for this figure, when known. |
supersededReason - FundingFigureSupersededReason
|
Why this figure replaced the prior figure. Null when this is the first issued figure. |
supersedesFigureId - ID
|
The issued figure that this figure replaced. |
Example
{
"disclosedDisbursementDate": "2007-12-03",
"effectiveDate": "2007-12-03",
"id": 4,
"issuedAt": "2007-12-03T10:15:30Z",
"lines": [FundingFigureLine],
"linesReconciliation": "NON_RECONCILING",
"netAmount": MonetaryAmount,
"pricedFundingDate": "2007-12-03",
"recipientName": "abc123",
"supersededReason": "CALCULATION_REVISION",
"supersedesFigureId": 4
}
FundingFigureLine
Fields
| Field Name | Description |
|---|---|
amount - MonetaryAmount!
|
The signed contribution to the figure total. Positive amounts add and negative amounts subtract. |
code - FundingFigureLineCode!
|
The stable accounting category for this amount. |
interestDetails - FundingInterestDetails
|
The priced inputs for a prepaid-interest line. This is null for other line codes and when the stored source does not describe one internally consistent interest period. |
items - [FundingFigureLineItem!]
|
The source costs included in this aggregate line. Null when the figure predates itemization or the amount was entered as an aggregate override. |
Example
{
"amount": MonetaryAmount,
"code": "BORROWER_POINTS",
"interestDetails": FundingInterestDetails,
"items": [FundingFigureLineItem]
}
FundingFigureLineCode
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BORROWER_POINTS"
FundingFigureLineItem
Fields
| Field Name | Description |
|---|---|
amount - MonetaryAmount!
|
The signed contribution to the parent line. Positive amounts add and negative amounts subtract. |
closingDisclosureSection - IntegratedDisclosureSectionType
|
The Closing Disclosure section, when available. |
feeType - FundingClosingFeeType
|
The stable closing-cost type, when available. |
Example
{
"amount": MonetaryAmount,
"closingDisclosureSection": "DUE_FROM_BORROWER_AT_CLOSING",
"feeType": "ApplicationFee"
}
FundingFigureSupersededReason
Values
| Enum Value | Description |
|---|---|
|
|
The calculation was revised and the figure was re-issued under the new revision. No source input changed; the amount is normally identical. |
|
|
|
|
|
A source input of the prior figure changed, for example a closing cost or the recipient. |
|
|
|
|
|
|
|
|
Example
"CALCULATION_REVISION"
FundingInterestDetails
Fields
| Field Name | Description |
|---|---|
dayCount - NonNegativeInt!
|
The number of actual calendar days charged. |
dayCountConvention - FundingDayCountConvention!
|
ACTUAL_360 uses actual calendar days and a 360-day year to calculate the daily amount. |
fromDate - Date!
|
The first calendar date included in the interest charge. |
interestRate - NonNegativeFloat!
|
The annual note rate as a percentage, such as 4.99. |
perDiemAmount - MonetaryAmount!
|
The daily interest amount, rounded to the nearest cent before multiplication by day count. |
toDate - Date!
|
The exclusive end date of the interest period. This date is not charged. |
Example
{
"dayCount": 123,
"dayCountConvention": "ACTUAL_360",
"fromDate": "2007-12-03",
"interestRate": 123.45,
"perDiemAmount": MonetaryAmount,
"toDate": "2007-12-03"
}
FundingLinesReconciliation
Description
Whether the lines on a funding figure add up to its netAmount.
Values
| Enum Value | Description |
|---|---|
|
|
The returned lines do not sum to netAmount. Pylon knows at least one component is missing or inconsistent; netAmount is still the amount to wire. |
|
|
The returned lines sum to netAmount. Wire-in lines may differ by at most one cent because the total is rounded after summing its components. |
|
|
No breakdown could be reconstructed from the stored inputs, so lines is empty. |
Example
"NON_RECONCILING"
FundingMutations
Fields
| Field Name | Description |
|---|---|
correctWireInRemittance - CorrectWireInRemittanceResponse
|
|
Arguments
|
|
correctWireOutRemittance - CorrectWireOutRemittanceResponse
|
|
Arguments
|
|
recordWireInInputs - RecordWireInInputsResponse
|
|
Arguments
|
|
recordWireInRemittance - RecordWireInRemittanceResponse
|
|
Arguments
|
|
recordWireOutRemittance - RecordWireOutRemittanceResponse
|
|
Arguments
|
|
Example
{
"correctWireInRemittance": CorrectWireInRemittanceResponse,
"correctWireOutRemittance": CorrectWireOutRemittanceResponse,
"recordWireInInputs": RecordWireInInputsResponse,
"recordWireInRemittance": RecordWireInRemittanceResponse,
"recordWireOutRemittance": RecordWireOutRemittanceResponse
}
FundingQueries
Fields
| Field Name | Description |
|---|---|
activity - FundingActivityPage!
|
Every loan that issued a funding figure or recorded a remittance between from (inclusive) and to (exclusive), so a close can take its population from Pylon's records rather than from the caller's own tracker. Read the pages by passing next back as after until it is null. Each entry reports the whole window; changedSince narrows only which loans are reported, so a nightly poll passes the close period as the window and its last run as changedSince. Activity is reported from Pylon's persisted records, so a loan appears for the window its figure was issued in even if a later figure has since replaced it. Activity means an issued figure or a recorded remittance: a loan whose only change was a figure becoming unusable without a replacement being issued is not reported here. first defaults to 50 and a value above 100 is rejected. Requires a credential with access to every loan for the customer; a credential scoped to assigned loans is rejected. |
Example
{"activity": FundingActivityPage}
FundingRemittance
Fields
| Field Name | Description |
|---|---|
amount - MonetaryAmount!
|
The signed event amount. Ordinary remittances are positive; Pylon correction events are the exact negative of the remittance they correct. |
correctionReason - FundingCorrectionReason
|
Why Pylon corrected the reported remittance. |
correctsRemittanceId - ID
|
|
effectiveDate - Date
|
The accounting date for a correction. Null for an ordinary remittance. |
figureId - ID!
|
|
fundsOrderedAt - DateTime!
|
|
id - ID!
|
|
recordedAt - DateTime!
|
Example
{
"amount": MonetaryAmount,
"correctionReason": "DUPLICATE_REPORT",
"correctsRemittanceId": 4,
"effectiveDate": "2007-12-03",
"figureId": "4",
"fundsOrderedAt": "2007-12-03T10:15:30Z",
"id": "4",
"recordedAt": "2007-12-03T10:15:30Z"
}
FundingSettlement
Fields
| Field Name | Description |
|---|---|
asOf - DateTime!
|
The requested historical instant, or the time when Pylon last observed the sources for the latest funding state. |
wireIn - FundingWireLeg!
|
|
wireOut - FundingWireLeg!
|
Example
{
"asOf": "2007-12-03T10:15:30Z",
"wireIn": FundingWireLeg,
"wireOut": FundingWireLeg
}
FundingWireInInputVersion
Fields
| Field Name | Description |
|---|---|
applyCredits - Boolean!
|
|
concessionAmount - MonetaryAmount
|
|
escrowAtClosing - MonetaryAmount
|
|
globalMarginPercent - NonNegativeFloat
|
Operator-pinned global margin in percentage points: 2.75 means 2.75%. Null when the rate-lock margin lookup was used. |
id - ID!
|
|
monthlyEscrow - MonetaryAmount
|
|
passthroughFees - MonetaryAmount
|
|
perLoanPlatformFee - MonetaryAmount!
|
|
purchaseDate - Date!
|
|
recordedAt - DateTime!
|
|
sellerMarginShare - NonNegativeFloat
|
Operator-pinned seller fraction of the global margin: 0.8182 means 81.82%. Null when the rate-lock margin lookup was used. |
totalToleranceCures - MonetaryAmount
|
Example
{
"applyCredits": true,
"concessionAmount": MonetaryAmount,
"escrowAtClosing": MonetaryAmount,
"globalMarginPercent": 123.45,
"id": "4",
"monthlyEscrow": MonetaryAmount,
"passthroughFees": MonetaryAmount,
"perLoanPlatformFee": MonetaryAmount,
"purchaseDate": "2007-12-03",
"recordedAt": "2007-12-03T10:15:30Z",
"sellerMarginShare": 123.45,
"totalToleranceCures": MonetaryAmount
}
FundingWireLeg
Fields
| Field Name | Description |
|---|---|
availability - FundingAvailability!
|
Whether this wire leg has a figure that can be used at the settlement's as-of instant. |
currentFigure - FundingFigure
|
The issued figure current at the settlement's as-of instant. Present only when ready. |
figure - FundingFigure
|
An issued figure on this wire leg, or null when the ID does not belong to the leg. |
Arguments
|
|
figures - [FundingFigure!]!
|
Every issued figure for this wire leg, oldest first. |
remainingAmount - MonetaryAmount
|
The current figure amount minus the total remitted amount. Negative means overfunded. |
remittances - [FundingRemittance!]!
|
Remittance and correction records recorded by the settlement's as-of instant, oldest first. |
totalRemittedAmount - MonetaryAmount!
|
The signed sum of all remittance and correction amounts. |
Example
{
"availability": "BLOCKED",
"currentFigure": FundingFigure,
"figure": FundingFigure,
"figures": [FundingFigure],
"remainingAmount": MonetaryAmount,
"remittances": [FundingRemittance],
"totalRemittedAmount": MonetaryAmount
}
GenerateClosingDisclosurePreviewInput
Description
Input to the generateClosingDisclosurePreview mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": "4"}
GenerateClosingDisclosurePreviewResponse
Description
Response of the generateClosingDisclosurePreview mutation.
Fields
| Field Name | Description |
|---|---|
disclosuresRunId - ID!
|
The ID of the disclosure run created. |
pricedAsOf - DateTime
|
When the rate sheet the previewed figures were priced against was received. |
pricingStale - Boolean!
|
Whether the previewed figures are priced against a superseded rate sheet with no rate lock in force. The preview still renders; surface this as a banner. |
Example
{
"disclosuresRunId": "4",
"pricedAsOf": "2007-12-03T10:15:30Z",
"pricingStale": false
}
GenerateLoanEstimatePreviewInput
Description
Input to the generateLoanEstimatePreview mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID of the loan. |
Example
{"loanId": "4"}
GenerateLoanEstimatePreviewResponse
Description
Response of the generateLoanEstimatePreview mutation.
Fields
| Field Name | Description |
|---|---|
disclosuresRunId - ID!
|
The ID of the disclosure run created. |
pricedAsOf - DateTime
|
When the rate sheet the previewed figures were priced against was received. |
pricingStale - Boolean!
|
Whether the previewed figures are priced against a superseded rate sheet with no rate lock in force. The preview still renders; surface this as a banner. |
Example
{
"disclosuresRunId": "4",
"pricedAsOf": "2007-12-03T10:15:30Z",
"pricingStale": false
}
GenericUserError
Description
Generic user error
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": "4",
"field": ["abc123"],
"message": "xyz789"
}
Geography
Fields
| Field Name | Description |
|---|---|
place - PlaceDetails
|
Address components for a place chosen from placeAutocomplete. Pass the sessionToken used for the autocomplete calls; this fetch ends that session. Null when the place ID is unknown. |
placeAutocomplete - [PlaceAutocompleteSuggestion!]!
|
US street-address autocomplete suggestions for a partial address. Group the keystrokes of one address entry under a single client-generated sessionToken (a UUID) and finish the session by fetching the chosen suggestion's place with the same token. |
usState - UsState!
|
|
Arguments
|
|
Example
{
"place": PlaceDetails,
"placeAutocomplete": [PlaceAutocompleteSuggestion],
"usState": UsState
}
GetAutoConditionalApprovalStatusInput
Fields
| Input Field | Description |
|---|---|
jobId - ID!
|
Example
{"jobId": "4"}
GetAutoConditionalApprovalStatusResponse
Fields
| Field Name | Description |
|---|---|
blockers - [AutoConditionalApprovalBlocker!]
|
|
status - JobStatus!
|
Example
{
"blockers": [AutoConditionalApprovalBlocker],
"status": "FAILED"
}
GetPlaidLayerSessionInput
GetPlaidLayerSessionResponse
Description
Response from processing a Plaid Layer session
Fields
| Field Name | Description |
|---|---|
items - [PlaidLayerItem!]!
|
Items linked during the Layer session |
Example
{"items": [PlaidLayerItem]}
GiftAsset
Description
Gift asset
Fields
| Field Name | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
dateOfTransfer - Date
|
The date when the gift/grant funds were transferred into the borrower's account |
donorEmployeeIdentificationNumber - String
|
Employer Identification Number (EIN) of the gift/grant donor |
donorName - String
|
Full name of the person providing the gift/grant |
donorPhoneNumber - String
|
The phone number of the person providing the gift/grant |
id - ID!
|
Node ID |
isIncludedInAssetAccount - Boolean
|
Indicates whether the gift/grant funds have already been included as part of an asset account considered for the loan |
isSellerFunded - Boolean
|
Indicates whether the gift/grant is funded by the seller |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
source - GiftSource
|
Gift/Grant source |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"amount": 123,
"assetReportId": "4",
"borrowerIds": ["4"],
"dateOfTransfer": "2007-12-03",
"donorEmployeeIdentificationNumber": "xyz789",
"donorName": "abc123",
"donorPhoneNumber": "xyz789",
"id": 4,
"isIncludedInAssetAccount": false,
"isSellerFunded": true,
"nonBorrowerOwnerNames": ["abc123"],
"qualifiedAmount": 123,
"source": "COMMUNITY_NON_PROFIT",
"verifiedAmount": 123
}
GiftOrGrantAsset
Description
Interface for gift or grant assets
Fields
| Field Name | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
dateOfTransfer - Date
|
The date when the gift/grant funds were transferred into the borrower's account |
donorEmployeeIdentificationNumber - String
|
Employer Identification Number (EIN) of the gift/grant donor |
donorName - String
|
Full name of the person providing the gift/grant |
donorPhoneNumber - String
|
The phone number of the person providing the gift/grant |
id - ID!
|
Asset ID |
isIncludedInAssetAccount - Boolean
|
Indicates whether the gift/grant funds have already been included as part of an asset account considered for the loan |
isSellerFunded - Boolean
|
Indicates whether the gift/grant is funded by the seller |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
source - GiftSource
|
Gift/Grant source |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Possible Types
| GiftOrGrantAsset Types |
|---|
Example
{
"amount": 123,
"assetReportId": 4,
"borrowerIds": ["4"],
"dateOfTransfer": "2007-12-03",
"donorEmployeeIdentificationNumber": "abc123",
"donorName": "abc123",
"donorPhoneNumber": "xyz789",
"id": "4",
"isIncludedInAssetAccount": true,
"isSellerFunded": false,
"nonBorrowerOwnerNames": ["xyz789"],
"qualifiedAmount": 123,
"source": "COMMUNITY_NON_PROFIT",
"verifiedAmount": 123
}
GiftSource
Description
Gift/Grant source
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMMUNITY_NON_PROFIT"
GiveMessageFeedbackInput
Fields
| Input Field | Description |
|---|---|
messageId - ID!
|
|
note - String
|
|
sentiment - AdvisorSessionAdvisorMessageFeedbackSentiment!
|
Example
{
"messageId": "4",
"note": "abc123",
"sentiment": "NEGATIVE"
}
GiveMessageFeedbackResponse
Fields
| Field Name | Description |
|---|---|
advisorSession - AdvisorSession!
|
Example
{"advisorSession": AdvisorSession}
GlobalLoanOfficer
Description
Global loan officer
Example
{
"email": "abc123",
"firstName": "abc123",
"id": 4,
"lastName": "abc123",
"slug": "abc123"
}
GrantAsset
Description
Grant asset
Fields
| Field Name | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
dateOfTransfer - Date
|
The date when the gift/grant funds were transferred into the borrower's account |
donorEmployeeIdentificationNumber - String
|
Employer Identification Number (EIN) of the gift/grant donor |
donorName - String
|
Full name of the person providing the gift/grant |
donorPhoneNumber - String
|
The phone number of the person providing the gift/grant |
id - ID!
|
Node ID |
isIncludedInAssetAccount - Boolean
|
Indicates whether the gift/grant funds have already been included as part of an asset account considered for the loan |
isSellerFunded - Boolean
|
Indicates whether the gift/grant is funded by the seller |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
source - GiftSource
|
Gift/Grant source |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"amount": 123,
"assetReportId": 4,
"borrowerIds": ["4"],
"dateOfTransfer": "2007-12-03",
"donorEmployeeIdentificationNumber": "abc123",
"donorName": "abc123",
"donorPhoneNumber": "abc123",
"id": 4,
"isIncludedInAssetAccount": true,
"isSellerFunded": false,
"nonBorrowerOwnerNames": ["xyz789"],
"qualifiedAmount": 123,
"source": "COMMUNITY_NON_PROFIT",
"verifiedAmount": 123
}
GuidelineAgency
Description
Agency that published a guideline: FNMA (Fannie Mae), FHLMC (Freddie Mac), FHA, VA, CFPB.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CFPB"
GuidelineReference
Description
A reference to an agency guideline or regulatory section. Structured for filtering and deep-linking.
Fields
| Field Name | Description |
|---|---|
agency - GuidelineAgency!
|
Which agency published this guideline. |
description - String!
|
Human-readable description, e.g. "FNMA B3-3.1-01: Employment Documentation". |
section - String!
|
Guideline section identifier, e.g. "B3-3.1-01". |
url - String
|
URL to the guideline section. Null if no public URL is available. |
Example
{
"agency": "CFPB",
"description": "abc123",
"section": "abc123",
"url": "abc123"
}
GuidelineViolation
Description
Represents a violation of a prescription in a guideline document.
Fields
| Field Name | Description |
|---|---|
constraint - String
|
If a violated constraint is found, this is a serialized representation of said constraint. For internal use at Pylon; this field has no guarantees. |
description - String
|
A human-readable description of the encoded guideline. |
document - String
|
The URL for the specific guideline document or the specific section. |
pages - PageRange
|
For document-based guidelines, the page numbers on which a set of guidelines falls. |
section - String
|
The section number and title of the violated guideline. |
updatedAt - Date
|
The last date that Pylon's model was updated to match the guideline document. |
Example
{
"constraint": "xyz789",
"description": "abc123",
"document": "xyz789",
"pages": PageRange,
"section": "xyz789",
"updatedAt": "2007-12-03"
}
HazardInsuranceCoverageType
Description
Coverage provided by a hazard insurer
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"EARTHQUAKE"
HispanicOrigin
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CUBA"
HmdaDispositionCode
Description
Code for the HMDA action taken on a loan application.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"APPLICATION_APPROVED_BUT_NOT_ACCEPTED"
HmdaDispositionComparator
Description
Comparisons available on the HMDA disposition code.
Fields
| Input Field | Description |
|---|---|
eq - HmdaDispositionCode
|
|
in - [HmdaDispositionCode!]
|
|
isNull - Boolean
|
|
neq - HmdaDispositionCode
|
|
nin - [HmdaDispositionCode!]
|
|
null - Boolean
|
Example
{
"eq": "APPLICATION_APPROVED_BUT_NOT_ACCEPTED",
"in": ["APPLICATION_APPROVED_BUT_NOT_ACCEPTED"],
"isNull": false,
"neq": "APPLICATION_APPROVED_BUT_NOT_ACCEPTED",
"nin": ["APPLICATION_APPROVED_BUT_NOT_ACCEPTED"],
"null": true
}
HousingAllowanceIncome
Description
Housing allowance income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
HousingChoiceVoucherProgramIncome
Description
Housing Choice Voucher Program income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
4
IdentityFraudConditionBlocker
Description
Identity fraud condition detected
Fields
| Field Name | Description |
|---|---|
type - String!
|
Example
{"type": "abc123"}
ImportIssueTypeInput
Description
Input for importing an existing Plain label type as an issue type.
Example
{"key": "4", "vendorId": 4}
ImportIssueTypeResponse
Description
Response from importing an issue type.
Fields
| Field Name | Description |
|---|---|
label - SupportIssueType!
|
The imported issue type. |
Example
{"label": SupportIssueType}
Income
Description
Income interface
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
id - ID!
|
Income ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Possible Types
| Income Types |
|---|
Example
{
"averageHoursPerWeek": 123,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
IncomeConnection
Fields
| Field Name | Description |
|---|---|
edges - [IncomeEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [IncomeEdge],
"pageInfo": PageInfo
}
IncomeEdge
IncomeMutations
Fields
| Field Name | Description |
|---|---|
create - CreateIncomeResponse
|
Create an income. The input is a 'oneOf' type where exactly one field must be populated. The type of income to be created depends on which input field is populated. Example: If socialSecurity is populated, a SocialSecurityIncome entity will be created. |
Arguments
|
|
delete - DeleteIncomeResponse
|
Delete an income |
Arguments
|
|
recompute - RecomputeIncomeResponse
|
Recompute and persist an income's verified and qualified amounts from existing paystub data. Does not re-pull from Truv and does not trigger pricing. Pylon super admins only. |
Arguments
|
|
update - UpdateIncomeResponse
|
Update income. |
Arguments
|
|
Example
{
"create": CreateIncomeResponse,
"delete": DeleteIncomeResponse,
"recompute": RecomputeIncomeResponse,
"update": UpdateIncomeResponse
}
IncomePayType
Description
The type of pay for the income (hourly or salaried)
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"HOURLY"
IncomeVerificationMutations
Fields
| Field Name | Description |
|---|---|
cancelOrder - CancelOrderResponse
|
|
Arguments
|
|
requestOrder - RequestOrderResponse
|
|
Arguments
|
|
Example
{
"cancelOrder": CancelOrderResponse,
"requestOrder": RequestOrderResponse
}
IncomeVerificationOrderStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELED"
IncomeVerificationOrderSummary
Fields
| Field Name | Description |
|---|---|
createdAt - DateTime!
|
|
expiresAt - DateTime!
|
|
orderId - String!
|
|
shareUrl - String
|
The borrower-facing verification link, null unless the order is pending and unexpired. |
status - IncomeVerificationOrderStatus!
|
Example
{
"createdAt": "2007-12-03T10:15:30Z",
"expiresAt": "2007-12-03T10:15:30Z",
"orderId": "abc123",
"shareUrl": "xyz789",
"status": "CANCELED"
}
IncomeVerificationQueries
Fields
| Field Name | Description |
|---|---|
orders - [IncomeVerificationOrderSummary!]!
|
Returns the borrower's 10 most recent orders, newest first. |
Arguments
|
|
Example
{"orders": [IncomeVerificationOrderSummary]}
IndividualDevelopmentAccountAsset
Description
Individual development account asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": 4,
"borrowerIds": ["4"],
"id": "4",
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
IneligibilityDetails
Description
Information providing extra detail as to why a borrower is ineligible for a loan-product.
Example
ConcessionExceedsCompensationViolation
IneligibilityDetailsType
IneligiblePreQualification
Fields
| Field Name | Description |
|---|---|
details - [IneligibilityDetails!]!
|
Example
{"details": [ConcessionExceedsCompensationViolation]}
IneligibleProduct
Fields
| Field Name | Description |
|---|---|
details - [IneligibilityDetails!]!
|
|
product - Product!
|
Example
{
"details": [ConcessionExceedsCompensationViolation],
"product": Product
}
IneligibleProductPricing
Fields
| Field Name | Description |
|---|---|
adjustableRateDetail - ProductPricingAdjustableRateDetail
|
If non-null, this product represents an adjustable rate |
details - [IneligibilityDetails!]!
|
|
id - ID
|
The unique ID of this product pricing result. |
lock - PositiveInt!
|
The number of days this rate can be locked for. |
product - Product!
|
The product to which these calculations apply. |
publishedAt - DateTimeISO!
|
The date and time that rates for this product were published. |
publishedOn - Date!
|
The date that rates for this product were published. Use publishedAt for full timestamp precision. |
term - PositiveInt!
|
The term of the loan being considered in years. |
Example
{
"adjustableRateDetail": ProductPricingAdjustableRateDetail,
"details": [ConcessionExceedsCompensationViolation],
"id": 4,
"lock": 123,
"product": Product,
"publishedAt": "2007-12-03T10:15:30Z",
"publishedOn": "2007-12-03",
"term": 123
}
IneligibleProductStructure
Fields
| Field Name | Description |
|---|---|
adjustableRateDetail - ProductPricingAdjustableRateDetail
|
If non-null, this product represents an adjustable rate mortgage |
adjustments - [ProductPricingAdjustment!]!
|
All adjustments that apply to this product, rate, and deal. |
apor - ProductPricingApor!
|
The published APOR for a comparible mortgage at the time of this pricing run. |
appliedMargin - AppliedMargin
|
The customer margin applied when this structure was priced, derived on read from the effective-dated margin window active at the loan's pricing instant: the lock date when the loan's pricing is pinned by a rate lock, or now for unlocked loans. Identical for a loan's current product structure and for candidate structures of a pricing run on the same loan. Null for structures priced outside a loan context (e.g. scenarios). |
apr - Float!
|
The APR with this rate applied as a percentage. |
cashFromToBorrower - Float!
|
The net change in cash from/to the borrower at closing. |
cashOutAmount - NonNegativeFloat!
|
The cash out amount. |
cashOutType - RefinanceCashOutType!
|
The cash out type. |
closingCosts - Float!
|
The closing costs for this rate. Currently, this is only an estimate-- things like title fees are difficult to correctly compute, but this should be a good approximation. |
concessionPoints - NonNegativeFloat!
|
The concessions being applied to the rate cost in this scenario, in points. |
downPaymentAmount - NonNegativeFloat!
|
The down payment on a property. |
dti - NonNegativeFloat!
|
The debt-to-income ratio of the borrowers with the PITIA for this rate taken into account. |
floodInsurance - NonNegativeFloat!
|
The cost of flood insurance. |
id - ID
|
The unique ID of this product pricing result. |
ineligibilityDetails - [ProductStructureIneligibilityDetails!]!
|
|
interest - PositiveInt!
|
The total interest over the life of the loan, in dollars, with this rate applied. |
llpasWaived - Boolean!
|
Whether LLPAs were waived for this rate due to low-income borrower eligibility |
loanTermYears - PositiveInt!
|
The term length of the loan, in years |
lock - PositiveInt!
|
The number of days this rate can be locked for. |
ltv - Float!
|
The ratio of the loan amount to the total value of the property, expressed as a percentage |
monthlyPayment - NonNegativeFloat!
|
The monthly mortgage payment (PITIA) of a loan at this rate. |
mortgageInsurance - NonNegativeFloat!
|
The cost of mandatory mortgage insurance each month. |
pitia - Pitia!
|
Breakdown of the monthly payment for this rate. |
pointsCost - NonNegativeFloat!
|
The cost, in dollars, to buy enough points in order to qualify for a better rate. |
pointsNeeded - NonNegativeFloat!
|
The number of additional points that must be purchased in order to qualify for this rate. |
prepaidInterestDailyAmount - NonNegativeFloat!
|
The amount of prepaid interest paid per day before closing, |
prepaidInterestDaysPaid - NonNegativeFloat!
|
The number of days' worth of prepaid interest to be paid at closing, |
prepaidInterestTotalAmount - NonNegativeFloat!
|
The total dollar amount of prepaid interest due at closing, |
principal - PositiveFloat!
|
The total principal, in dollars, of the loan with this rate applied. |
product - Product!
|
The product to which these calculations apply. |
publishedAt - DateTimeISO!
|
The date and time that rates for this product were published. |
publishedOn - Date!
|
The date that rates for this product were published. Use publishedAt for full timestamp precision. |
rate - Float!
|
The interest rate as a percentage. |
rateId - ID!
|
The ID of the rate. |
ratePoints - Float!
|
The cost, in points, of this rate. |
totalCost - Float!
|
The total cost after adjustments for this rate. Can be negative if the rate is below par. |
totalPoints - Float!
|
The total number of points after adjustments for this rate. |
Example
{
"adjustableRateDetail": ProductPricingAdjustableRateDetail,
"adjustments": [ProductPricingAdjustment],
"apor": ProductPricingApor,
"appliedMargin": AppliedMargin,
"apr": 987.65,
"cashFromToBorrower": 123.45,
"cashOutAmount": 123.45,
"cashOutType": "CASH_OUT",
"closingCosts": 987.65,
"concessionPoints": 123.45,
"downPaymentAmount": 123.45,
"dti": 123.45,
"floodInsurance": 123.45,
"id": 4,
"ineligibilityDetails": [
ConcessionExceedsCompensationViolation
],
"interest": 123,
"llpasWaived": true,
"loanTermYears": 123,
"lock": 123,
"ltv": 987.65,
"monthlyPayment": 123.45,
"mortgageInsurance": 123.45,
"pitia": Pitia,
"pointsCost": 123.45,
"pointsNeeded": 123.45,
"prepaidInterestDailyAmount": 123.45,
"prepaidInterestDaysPaid": 123.45,
"prepaidInterestTotalAmount": 123.45,
"principal": 123.45,
"product": Product,
"publishedAt": "2007-12-03T10:15:30Z",
"publishedOn": "2007-12-03",
"rate": 123.45,
"rateId": "4",
"ratePoints": 987.65,
"totalCost": 987.65,
"totalPoints": 123.45
}
IneligibleStructureBlocker
Description
The product structure is ineligible
Fields
| Field Name | Description |
|---|---|
ineligibilityDetails - [IneligibilityDetailsType!]!
|
Details about the ineligibility |
type - String!
|
Example
{
"ineligibilityDetails": [IneligibilityDetailsType],
"type": "xyz789"
}
InsufficientFraudScoreBlocker
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
IntakeEntity
Description
The kind of record an intake non-adoption concerns — the eight kinds of record intake creates. A non-adoption names its entity even when no record was created, which is how a client knows which create mutation would close it.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ASSET"
IntakeField
Description
A target field: a column on a Pylon record that intake could not fill, described well enough for a client to render a control and let a human finish it.
Fields
| Field Name | Description |
|---|---|
column - String!
|
Braid's own column name, stable across releases. Not a display string, and not the name the uploaded file used for the same thing. |
valueKind - IntakeValueKind!
|
The kind of value the column holds, so a client can choose a control. |
values - IntakeValueSet
|
Permitted values or selectable records. Present exactly when valueKind is ENUM or REFERENCE, and null for every other kind. |
Example
{
"column": "xyz789",
"valueKind": "BOOLEAN",
"values": IntakeInlineValues
}
IntakeFieldOutcome
Description
One field key's outcome from a settled run. Field keys and the outcome bucket only — never the value, its confidence, or what it beat (fieldProvenance's job, not this poll's).
Fields
| Field Name | Description |
|---|---|
fieldKey - String!
|
The wire field key. |
outcome - IntakeFieldOutcomeKind!
|
Which bucket this field key landed in. |
Example
{"fieldKey": "abc123", "outcome": "APPLIED"}
IntakeFieldOutcomeKind
Description
Which bucket a read field key landed in on a COMPLETED run. Never the value, its confidence, or what it beat — that is fieldProvenance's to answer.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"APPLIED"
IntakeInlineValues
Description
A small closed set of permitted values, sent with the non-adoption because sending it costs less than a round trip.
Fields
| Field Name | Description |
|---|---|
values - [String!]!
|
Wire values in the column's own vocabulary — what a mutation would accept, not what a user should read. Display copy is the client's. |
Example
{"values": ["abc123"]}
IntakeLookup
Description
The existing query a by-reference value set resolves through. Named rather than inlined because these sets are large, or because they name selectable records rather than plain values; either way the client pays for them when the field is edited and not on every read of the report. COUNTIES_BY_STATE resolves through UsState.counties and is keyed on the record's state column. LOAN_OFFICERS and LIABILITIES_FOR_OWNED_PROPERTY name record types, so a field carrying either is a REFERENCE field.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"COUNTIES_BY_STATE"
IntakeNonAdoptionReason
Description
Why intake could not fill the field itself. Orthogonal to IntakeNonAdoptionSeverity, which says how much the non-adoption matters. Seven members are MISMO's alone, six are extraction's alone, and UNREADABLE is emitted by both — it names one event (a source stated a value the column's domain cannot hold, and nothing was written) that both paths reach by their own route. A non-adoption, in every member's case, means THIS RUN of intake did not adopt the file's claim for the field — not that the loan is necessarily left without a value: PREEXISTING is the one member where it already has one, held back rather than silently claimed by a run that cannot vouch for where it came from.
Values
| Enum Value | Description |
|---|---|
|
|
MISMO. The field or section was not in the file at all, so the non-adoption quotes no stated value. |
|
|
MISMO. The file gave nothing usable for this field — absent, or out of scope for the importer entirely — and a consumer downstream (pricing, most often) resolves it anyway without telling anyone: with a guessed value, or with an explicit but otherwise-invisible "unknown" that still drives real behavior. Distinct from DEFAULTED: the file did not state a value we misread, it stated nothing, and this reason describes what a downstream consumer does next rather than what the file said. |
|
|
Extraction. The loan's documents contradicted each other about this field and the ranking could not separate them, so the reading left it for a person to settle. Distinct from UNREADABLE: the column could have held what was said; the sources did not agree on what to say. Only a subset of contested fields is actually put to the borrower — which ones is the reading lane's decision, and it is not this reason's to report. |
|
|
MISMO. The file supplied a value we do not recognize; the entity was still imported, with a substitute in the field — a generic default (an asset or income typed as OTHER) or a value derived from the file's other signals (a housing type from the property's unit count). The file said something, and the non-adoption quotes the stated word we could not use. |
|
|
Extraction. The write is due and citation-backed but the loan is frozen. Nothing is wrong with the value; it lands when the freeze lifts. |
|
|
MISMO. The section or entity was present in the file, but without enough content to create the record — a property owner the file named with no name at all. There is nothing to build a record from; supply the missing detail if the owner matters to this loan. |
|
|
MISMO. A MISMO 3.6-only value with no 3.4 equivalent, dropped while normalizing the document to the 3.4 model the importer reads. |
|
|
MISMO. The section or entity was present in the file, and this importer deliberately does not carry it onto a loan — a party role outside what it tracks. Our boundary, not a defect in the file or a loss of anything the file supplied; add it by hand if it matters to this loan. |
|
|
Extraction. The field already held a value this lane has no write receipt for — somebody's typed data. Held and reported rather than overwritten, because the lane will not silently replace a value it cannot account for. |
|
|
Extraction. The field was resolved and citation-backed, but its source documents fall outside the adoption voucher, so it was reported and never written. This is the ordinary fate of anything read after the initial auto-fill: the lane writes only through the voucher over the documents it adopted, and every later upload is report-only by design. Not an error, and usually the most common reason on a loan that has been worked. |
|
|
Extraction. The reading decided a value but no citation rows stood behind it, so it was held rather than written: a write receipt could prove no provenance, and attribution is never inferred. The value exists and the field does not, so a human can still enter it — but unlike WITHHELD or REPORT_ONLY this is not a policy outcome. It means the citation join failed for that field, and a run producing it is reporting a defect as well as a non-adoption. |
|
|
MISMO. The section or entity was present in the file, but names no loan participant it could attach to — an asset or a rental income with no resolvable borrower. The relationship is required, so nothing was created; link it to a borrower to bring it onto the loan. |
|
|
Both paths. A source stated a value the column's domain cannot hold, and nothing was written for the field. MISMO reaches it when the file supplies a term the importer does not recognize; extraction reaches it when a document names a field but not in a form the column can take. The permitted set travels with the non-adoption so the user can pick the right one. Distinct from DEFAULTED, where the same unusable value still left a substitute written into the field, and from CONTESTED, where the column could have held any of the values offered and the sources disagreed about which. |
|
|
Extraction. A document kind reports this field but never writes it — income, today. Recorded so that "nothing happened" and "we read it and deliberately did not write it" stay distinguishable, and so a review surface knows to ask. A policy of the document kind, not a failure of this run. |
Example
"ABSENT"
IntakeNonAdoptionSeverity
Description
How much a non-adoption matters. Orthogonal to IntakeNonAdoptionReason, which says why the non-adoption exists.
Values
| Enum Value | Description |
|---|---|
|
|
The owning entity was created, but this field feeds a ratio a user reads straight off the loan — DTI today — and intake could not establish the true value, so something downstream (pricing, most often) silently resolves it on its own: with a guessed value, or with an explicit but otherwise-invisible "unknown" that still drives real, DTI-relevant behavior. Unlike RECOMMENDED, this is not "nice to fill in eventually": the ratio computed from this field may not be what a plain read of the loan would suggest, until a human resolves it. Reserved for non-adoptions with a known, silent effect on such a ratio — most non-adoptions that merely leave a field blank stay RECOMMENDED. |
|
|
The owning entity itself was never created. Intake merely reports the entity for the user's awareness and takes no further action. Reported at entity granularity, so the non-adoption names no fields. Whether the section was absent from the file or present but not importable is the reason's to say — ABSENT versus UNLINKED, INCOMPLETE or OUT_OF_SCOPE — not this severity's. |
|
|
The owning entity was created, but this specific field ended up empty. The user is advised to fill it in afterwards. |
Example
"CRITICAL"
IntakeValueKind
Description
The kind of value a column holds, so a client can choose a control without knowing the column. TAX_ID is a government tax-identifier number (an SSN, EIN, or ITIN) — a plain string to the database, but not safe to treat as free TEXT: it wants a masked, numeric-only control, distinct from a name or an address that happens to share the same underlying column type. ENUM means a closed vocabulary of plain values; REFERENCE means the value identifies another record (which loan officer, which liability) and the client renders a picker rather than a free field.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BOOLEAN"
IntakeValueSet
Description
Permitted values: inline when the set is small and made of plain values, by lookup when it is large or names records.
Types
| Union Types |
|---|
Example
IntakeInlineValues
IntakeValuesRef
Description
A set of permitted values the client resolves only when the field is actually edited: large vocabularies and record pickers, which would otherwise be paid for on every read of the report.
Fields
| Field Name | Description |
|---|---|
keyedOn - String
|
The column on the same record whose current value keys the lookup — counties key on state. Null when the lookup takes no key. |
lookup - IntakeLookup!
|
The existing query that supplies the values. For a REFERENCE field it names the record type too. |
Example
{
"keyedOn": "xyz789",
"lookup": "COUNTIES_BY_STATE"
}
IntegratedDisclosureSectionType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DUE_FROM_BORROWER_AT_CLOSING"
InternalError1Blocker
Fields
| Field Name | Description |
|---|---|
type - String!
|
Example
{"type": "abc123"}
InternalError2Blocker
Description
Internal error: Invalid fraud report response
Fields
| Field Name | Description |
|---|---|
type - String!
|
Example
{"type": "abc123"}
InternalError3Blocker
Description
Internal error: Product incompatible with AUS
Fields
| Field Name | Description |
|---|---|
type - String!
|
Example
{"type": "abc123"}
InvalidateCreditCacheInput
Description
Input for invalidating credit pull cache entries
Fields
| Input Field | Description |
|---|---|
borrowerIds - [ID!]!
|
Borrower ID(s) whose cache entries should be invalidated (1 or 2) |
Example
{"borrowerIds": ["4"]}
InvalidateCreditCacheResponse
Description
Response from invalidating credit pull cache entries
Fields
| Field Name | Description |
|---|---|
invalidatedCount - Int!
|
Number of cache entries that were invalidated |
Example
{"invalidatedCount": 123}
InvalidationCause
Description
Why an INVALIDATION was written: RESTORED (the requirement was restored by reconciliation), REINTERPRETATION (the claim's meaning changed), ENV_CHANGE (a loan-context input changed).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ENV_CHANGE"
IssueDealClaimTokenInput
IssueDealClaimTokenResponse
Description
A freshly minted one-time claim token. The raw token is returned exactly once and never stored in plaintext; hand it to the borrower.
Fields
| Field Name | Description |
|---|---|
expiresAt - String!
|
ISO-8601 instant after which the token can no longer be claimed |
id - ID!
|
Id of the stored claim-token record |
token - String!
|
The raw, single-use claim token. Returned once; deliver to the borrower out-of-band (LO hand-off). Not recoverable after this call. |
Example
{
"expiresAt": "xyz789",
"id": 4,
"token": "abc123"
}
JSONObject
Description
The JSONObject scalar type represents JSON objects as specified by ECMA-404.
Example
{}
Job
Description
Job interface
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Job ID |
status - JobStatus!
|
Job status |
Possible Types
| Job Types |
|---|
Example
{"id": 4, "status": "FAILED"}
JobStatus
Description
Job status
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"FAILED"
JumboMarketingRate
Description
Jumbo marketing rate
Fields
| Field Name | Description |
|---|---|
apr - Float!
|
|
discountPointsTotal - Float!
|
|
discountPointsTotalAmount - Int!
|
|
fipsCountyCode - String!
|
|
loanAmount - NonNegativeInt!
|
|
ltv - Float!
|
|
propertyUsageType - PropertyUsageType!
|
|
qualifyingFicoScore - Int!
|
|
rate - Float!
|
|
salesContractAmount - NonNegativeInt!
|
The amount of money that the property will be purchased for. Also called the purchase price. |
Example
{
"apr": 123.45,
"discountPointsTotal": 123.45,
"discountPointsTotalAmount": 123,
"fipsCountyCode": "xyz789",
"loanAmount": 123,
"ltv": 123.45,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rate": 987.65,
"salesContractAmount": 123
}
JumboMarketingRateInput
Description
Jumbo marketing rate input
Fields
| Input Field | Description |
|---|---|
calculateApr - Boolean
|
Should closing costs be fetched in order to calculate an APR?. Default = true |
concessions - NonNegativeInt
|
Lender concession in dollars. Reduces the rate cost (points) the borrower would otherwise pay, but never below zero. Default = 0 |
fipsCountyCode - String!
|
The five-digit FIPS county code based on ANSI standard (INCITS 31:2009) |
loanAmount - NonNegativeInt!
|
Amount of the loan in dollars, also called principal |
loanTermYears - Float!
|
Loan term, in years. Default = 30 |
ltv - Float!
|
Loan to value ratio. Lower values get better rates. A typical value for a conforming conventional loan would be 0.8; values over that usually require mortgage insurance. |
maxDiscountPointsTotal - Float
|
Maximum total discount points. Default = 0 |
qualifyingFicoScore - Int
|
FICO score used to determine loan eligibility and interest rate |
rateLockDays - Float!
|
How long to lock the rate, in days. Default = 30 |
Example
{
"calculateApr": false,
"concessions": 123,
"fipsCountyCode": "abc123",
"loanAmount": 123,
"loanTermYears": 987.65,
"ltv": 987.65,
"maxDiscountPointsTotal": 123.45,
"qualifyingFicoScore": 123,
"rateLockDays": 987.65
}
Lease
LegalEntity
Fields
| Field Name | Description |
|---|---|
fullName - String
|
Example
{"fullName": "xyz789"}
Liability
Description
Liability type
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
Account identifier |
balance - NonNegativeFloat
|
Unpaid balance |
bankName - String
|
Bank name |
creditorName - String
|
Creditor name Use bankName instead |
exclusionReason - LiabilityExclusionReason
|
The reason why the liability is excluded |
id - ID!
|
Node ID |
intent - LiabilityIntent
|
The intent regarding liability |
monthlyPayment - NonNegativeFloat
|
Monthly payment |
reportType - ReportType
|
Whether the liability was sourced from a credit report or self-reported |
type - LiabilityType
|
The type of liability |
Example
{
"accountIdentifier": "abc123",
"balance": 123.45,
"bankName": "xyz789",
"creditorName": "xyz789",
"exclusionReason": "ASSIGNED_TO_ANOTHER_PARTY",
"id": 4,
"intent": "DO_NOTHING",
"monthlyPayment": 123.45,
"reportType": "CREDIT_REPORT",
"type": "BORROWER_ESTIMATED_TOTAL_MONTHLY_LIABILITY_PAYMENT"
}
LiabilityConnection
Fields
| Field Name | Description |
|---|---|
edges - [LiabilityEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [LiabilityEdge],
"pageInfo": PageInfo
}
LiabilityEdge
Fields
| Field Name | Description |
|---|---|
cursor - ID!
|
|
node - Liability!
|
Example
{
"cursor": "4",
"node": Liability
}
LiabilityExclusionReason
Description
The reason why the liability is excluded
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ASSIGNED_TO_ANOTHER_PARTY"
LiabilityIntent
Description
The intent regarding liability
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"DO_NOTHING"
LiabilityMutations
Description
Liability mutations
Fields
| Field Name | Description |
|---|---|
attachOwnedProperty - AttachOwnedPropertyLiabilityResponse
|
Update a Liability. Fields with non-null values will be updated, the rest will be ignored. |
Arguments |
|
create - CreateLiabilityResponse
|
Create a liability |
Arguments
|
|
delete - DeleteLiabilityResponse
|
Delete a liability |
Arguments
|
|
dismissDuplicateSuggestion - DismissDuplicateSuggestionResponse
|
Dismiss one possible duplicate mortgage pairing without excluding debt |
Arguments
|
|
setExclusionReason - SetExclusionReasonResponse
|
Update a Liability. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
setIntent - SetIntentResponse
|
Update a Liability. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
update - UpdateLiabilityResponse
|
Update a Liability. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
Example
{
"attachOwnedProperty": AttachOwnedPropertyLiabilityResponse,
"create": CreateLiabilityResponse,
"delete": DeleteLiabilityResponse,
"dismissDuplicateSuggestion": DismissDuplicateSuggestionResponse,
"setExclusionReason": SetExclusionReasonResponse,
"setIntent": SetIntentResponse,
"update": UpdateLiabilityResponse
}
LiabilityType
Description
The type of liability
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BORROWER_ESTIMATED_TOTAL_MONTHLY_LIABILITY_PAYMENT"
LifeInsuranceAsset
Description
Life insurance asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": [4],
"id": "4",
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
LinkBorrowersAsSpousesInput
LinkBorrowersAsSpousesResponse
Loan
Description
Loan
Fields
| Field Name | Description |
|---|---|
allowedStates - [StateAbbreviated!]!
|
The list of states where the organization is actively licensed. |
appraisal - Appraisal
|
Get an Appraisal by ID |
Arguments
|
|
appraisalOrders - [AppraisalOrder!]!
|
Appraisal orders placed for this loan. |
assignedLoanOfficer - LoanOfficer
|
The mortgage broker assigned to the loan. |
availableGlobalLoanOfficers - [GlobalLoanOfficer!]
|
The list of global loan officers available to be assigned to the loan. This list will vary depending on the subject property state. |
availableLoanAssignments - [LoanAssignmentUser!]!
|
Users with an assignable role at this customer who are not yet assigned to this loan |
borrowerPreferences - BorrowerPreferences
|
Borrower preferences associated with the loan. |
borrowers - BorrowerConnection!
|
Borrowers on the loan |
Arguments
|
|
bulkLoanDocumentsExportJob - BulkLoanDocumentsExportJob
|
A bulk loan documents export job for this loan. |
Arguments
|
|
cashOutType - RefinanceCashOutType
|
LO-set refinance/cash-out type (distinct from the pricing-derived value) |
changeRequests - [LoanChangeRequest!]!
|
Change requests associated with this loan |
Arguments
|
|
closingDate - Date
|
The date that the purchase is set to close. |
concessions - [ConcessionLog!]!
|
A log of all lender-paid concessions that have been requested or applied to this loan. |
contacts - [Contact!]!
|
Contacts associated with the loan. |
currentStage - String
|
The current stage that the loan is in. |
customerPointAdjustments - CustomerPointAdjustment
|
Customer margins, cost absorptions, and warehouse responsibility on the loan. |
dealId - String!
|
The unique ID of the deal associated with this loan. |
disclosureDrift - DisclosureDrift!
|
Every reason the loan's current state departs from what was last disclosed to the borrower, measured against its most recently disclosed TRID package. Asking is side-effect free: it reports what a redisclosure would be owed for, and never sends one. |
documents - [Document!]!
|
The list of documents associated with this loan. |
Arguments
|
|
duplicateLiabilitySuggestions - [DuplicateLiabilitySuggestion!]!
|
Possible duplicate mortgages for staff review; reading suggestions does not exclude debt |
earnestMoneyDeposit - NonNegativeFloat
|
The total amount of earnest money deposit |
effectiveAppraisalWaiver - AppraisalWaiver
|
The appraisal waivers applied to the loan. |
employmentsMissingStartDateCount - Int!
|
The number of employment records on the loan's borrowers that are missing a start date. Initial disclosures cannot be dispatched (via float or rate lock) until this is zero. Always zero once initial disclosures have been dispatched, since float / rate lock no longer need to send a new package. |
estimatedRatios - EstimatedLoanRatios
|
Live estimated DTI and LTV for this loan, recomputed from current incomes, liabilities, and property value on every read. Null until a product structure has been selected. Compare with productStructure.dti and productStructure.ltv, which are computed during pricing and fixed until the next pricing run. |
fees - [Fee!]
|
Fees associated with the loan. |
friendlyId - String!
|
An alternative ID that might be more aesthetically pleasing. May be shared by multiple objects representing the same loan. |
fundedDate - Date
|
The date the loan was funded (disbursed). |
fundingSettlement - FundingSettlement!
|
Funding state for both wire legs. Pass asOf to read the persisted state at that instant; omit it for the latest state. |
Arguments
|
|
getAutoConditionalApprovalStatus - GetAutoConditionalApprovalStatusResponse!
|
The automatic conditional approval feature has been removed. |
Arguments |
|
id - ID!
|
The ID of the Loan |
intentToProceedDate - Date
|
The date the borrowers expressed intent to proceed after receiving initial disclosures. Unset until intent to proceed is received. |
isClosed - Boolean
|
Whether the loan has been closed. |
isFirstTimeHomebuyer - Boolean
|
Is this for a first time homebuyer? |
isFloated - Boolean!
|
Whether the loan is floated: initial disclosures have been sent (loan is frozen) but the rate is not yet locked. Derived from disclosuresDate IS NOT NULL && rateLockStatus !== LOCKED. |
isFrozen - Boolean!
|
Whether the loan is frozen |
latestBulkLoanDocumentsExportJob - BulkLoanDocumentsExportJob
|
The latest bulk loan documents export job for this loan. |
latestPreApprovalRunTime - DateTime
|
Time of the latest successful pre-approval |
latestSuccessfulBulkLoanDocumentsExportJob - BulkLoanDocumentsExportJob
|
The latest successful bulk loan documents export job for this loan. |
liabilities - [Liability!]!
|
All liabilities associated with this loan |
loanAssignments - [LoanAssignment!]!
|
Current loan team assignments for this loan |
loanContact - LoanContact!
|
The contact for this loan |
loanDocuments - [LoanDocument!]!
|
Documents from the document evidence API for this loan. |
loanNumber - String
|
The current loan number for internal Pylon use. |
loanOfficerDocumentTasks - [LoanOfficerDocumentTask!]
|
The borrower tasks available to Loan Officers. |
loanProcess - LoanProcess
|
Process-level information for this loan. |
loanPurpose - LoanPurposeType
|
The purpose for which the loan proceeds will be used. |
loanTermYears - PositiveFloat
|
The term of this loan in years. |
lockedSummary - LockedLoanSummary
|
Authoritative summary values for display once the rate is locked, sourced from the system of record (with fallback to internally-computed values). Null until the rate is locked. |
ltv - NonNegativeFloat
|
The loan-to-value ratio expressed as a percentage |
maxLoanAmount - Float
|
Maximum loan amount (in dollars) calculated by the preapproval engine. |
maxPurchasePrice - Float
|
Maximum purchase price (in dollars) calculated by the preapproval engine. |
mismoImport - MismoImport
|
The MISMO import that created this loan. Null when the loan was created some other way, and null again once the retention sweep has removed the report 24 hours after the import ran — so a client should treat its absence as ordinary rather than as a loan that was not imported. |
noteRatePercent - NonNegativeFloat
|
Interest rate. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
orderOuts - [OrderOut!]!
|
List of order outs on the loan. |
outOfPocketMax - NonNegativeInt
|
The maximum amount of assets (in dollars) to be used towards the loan. |
pointOfContact - Borrower
|
The borrower who has been designated as the point of contact on the loan (or the first borrower on the loan if no borrower has been designated as the point of contact) |
preapprovalProduct - Product
|
The loan product with the optimal preapproval result. The value is null if the loan has not been preapproved (yet). |
pricingFreshness - LoanPricingFreshness
|
Whether the attached product structure is priced against the rate sheet current for the loan: the product's newest, or the lock's sheet while a rate lock is in force on a customer with automatic redisclosure enabled. Null when no product structure is attached. Float, rate lock, and relock are refused while pricingStale is true. |
productPricingRate - ProductPricingRate
|
The latest pricing run outputs. |
productStructure - ProductPricingRate
|
The latest version of pricing-related fields. |
productStructureDegraded - DegradedProductStructure
|
The attached structure's degraded render, when its pinned rate could not be resolved: deal facts from the structure's own row, no rate-sheet detail. Null whenever productStructure is served. Render as a degraded card on the affected option only. |
purchasePrice - NonNegativeInt
|
The actual purchase price (in dollars). |
pylonApproved - Boolean!
|
Must be approved before a rate lock can be requested |
rateLock - RateLockDetails!
|
Rate lock related fields |
rateLockTerm - NonNegativeInt
|
Number of days borrower wants to lock the rate for |
refinanceCashOutProceeds - NonNegativeInt
|
Refinance cash out proceeds not used towards paying off existing liens. |
sellerCredit - NonNegativeInt
|
The total seller credit to be applied towards closing costs |
servicers - [Contact!]!
|
The loan's servicer contacts, synced from the Legacy LOS. Empty until the loan's next Legacy LOS update. |
stages - [LoanStage!]
|
The chronological sequence of stages a loan has progressed through, listed from earliest to most recent. |
subjectProperty - SubjectProperty
|
The subject property associated with the loan |
subjectPropertyIntent - SubjectPropertyIntent
|
The subject property intent associated with the loan |
title - Title
|
Title information for the loan. |
titleCompanyAttached - Boolean!
|
Whether a title company is attached to the loan as a party (file contact). A rate cannot be locked until a title company is attached. |
totalAssetsAvailable - NonNegativeInt
|
The total amount of assets on this loan. |
tridTriggeredDate - Date
|
The date the TRID clock was triggered: the application became complete enough that the initial Loan Estimate deadline started counting. Unset until the system of record computes it. |
underwritingSubmissionGate - UnderwritingSubmissionGate
|
Whether the loan can be submitted for underwriting right now, and the tasks that must be completed first if not. |
useOwnTitleCompany - Boolean
|
Whether the borrower wants to use their own title company. |
Example
{
"allowedStates": ["AK"],
"appraisal": Appraisal,
"appraisalOrders": [AppraisalOrder],
"assignedLoanOfficer": LoanOfficer,
"availableGlobalLoanOfficers": [GlobalLoanOfficer],
"availableLoanAssignments": [LoanAssignmentUser],
"borrowerPreferences": BorrowerPreferences,
"borrowers": BorrowerConnection,
"bulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"cashOutType": "CASH_OUT",
"changeRequests": [LoanChangeRequest],
"closingDate": "2007-12-03",
"concessions": [ConcessionLog],
"contacts": [Contact],
"currentStage": "xyz789",
"customerPointAdjustments": CustomerPointAdjustment,
"dealId": "abc123",
"disclosureDrift": DisclosureDriftAssessed,
"documents": [Document],
"duplicateLiabilitySuggestions": [
DuplicateLiabilitySuggestion
],
"earnestMoneyDeposit": 123.45,
"effectiveAppraisalWaiver": "AUTOMATED_COLLATERAL_EVALUATION",
"employmentsMissingStartDateCount": 987,
"estimatedRatios": EstimatedLoanRatios,
"fees": [Fee],
"friendlyId": "xyz789",
"fundedDate": "2007-12-03",
"fundingSettlement": FundingSettlement,
"getAutoConditionalApprovalStatus": GetAutoConditionalApprovalStatusResponse,
"id": "4",
"intentToProceedDate": "2007-12-03",
"isClosed": true,
"isFirstTimeHomebuyer": false,
"isFloated": true,
"isFrozen": true,
"latestBulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"latestPreApprovalRunTime": "2007-12-03T10:15:30Z",
"latestSuccessfulBulkLoanDocumentsExportJob": BulkLoanDocumentsExportJob,
"liabilities": [Liability],
"loanAssignments": [LoanAssignment],
"loanContact": LoanContact,
"loanDocuments": [LoanDocument],
"loanNumber": "xyz789",
"loanOfficerDocumentTasks": [LoanOfficerDocumentTask],
"loanProcess": LoanProcess,
"loanPurpose": "PURCHASE",
"loanTermYears": 123.45,
"lockedSummary": LockedLoanSummary,
"ltv": 123.45,
"maxLoanAmount": 123.45,
"maxPurchasePrice": 987.65,
"mismoImport": MismoImport,
"noteRatePercent": 123.45,
"orderOuts": [Appraisal],
"outOfPocketMax": 123,
"pointOfContact": Borrower,
"preapprovalProduct": Product,
"pricingFreshness": LoanPricingFreshness,
"productPricingRate": ProductPricingRate,
"productStructure": ProductPricingRate,
"productStructureDegraded": DegradedProductStructure,
"purchasePrice": 123,
"pylonApproved": true,
"rateLock": RateLockDetails,
"rateLockTerm": 123,
"refinanceCashOutProceeds": 123,
"sellerCredit": 123,
"servicers": [Contact],
"stages": [LoanStage],
"subjectProperty": SubjectProperty,
"subjectPropertyIntent": SubjectPropertyIntent,
"title": Title,
"titleCompanyAttached": true,
"totalAssetsAvailable": 123,
"tridTriggeredDate": "2007-12-03",
"underwritingSubmissionGate": UnderwritingSubmissionGate,
"useOwnTitleCompany": true
}
LoanAmountExceedsPurchasePriceError
Description
User error indicating that the requested loan amount exceeds the requested purchase price.
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "abc123",
"errorId": "4",
"field": ["xyz789"],
"message": "xyz789"
}
LoanAmountInsufficientViolation
Description
The requested loan amount is too low to cover payoff and costs, and the loan structure (rolled-in closing costs) leaves no room to apply the borrower's cash to close.
Fields
| Field Name | Description |
|---|---|
additionalLoanAmountNeeded - Float!
|
Dollar shortfall between the requested loan amount and what the current structure requires; raise the loan amount by this much or stop rolling in closing costs. |
Example
{"additionalLoanAmountNeeded": 987.65}
LoanApplication
Description
Loan application object
Example
{
"archiveDate": "2007-12-03",
"creationDate": "2007-12-03T10:15:30Z",
"friendlyId": "abc123",
"id": "4",
"submitted": true
}
LoanApplicationAnalyticsConnection
Fields
| Field Name | Description |
|---|---|
edges - [LoanApplicationAnalyticsEdge!]!
|
|
pageInfo - PageInfo!
|
|
totalCount - NonNegativeInt!
|
The total number of loans that meet the filter criteria. |
Example
{
"edges": [LoanApplicationAnalyticsEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
LoanApplicationAnalyticsDimension
Description
A column of the loan-application analytics row that an aggregation can group by.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ARCHIVE_DATE"
LoanApplicationAnalyticsDimensionValue
Description
One dimension value of a group, positionally parallel to the requested groupBy.
Fields
| Field Name | Description |
|---|---|
bucketStart - DateTime
|
The start of the bucket, for a date dimension only. Always UTC, and always the first instant of the period. |
dimension - LoanApplicationAnalyticsDimension!
|
|
value - String
|
The dimension's value for this group, as text. Null is a real group — the loans with no value for that column — rather than an absence. |
Example
{
"bucketStart": "2007-12-03T10:15:30Z",
"dimension": "ARCHIVE_DATE",
"value": "xyz789"
}
LoanApplicationAnalyticsEdge
Fields
| Field Name | Description |
|---|---|
cursor - ID!
|
|
node - LoanApplicationAnalyticsRoot!
|
Example
{"cursor": 4, "node": LoanApplicationAnalyticsRoot}
LoanApplicationAnalyticsFilters
Fields
| Input Field | Description |
|---|---|
addressLineText - TextComparator
|
The property's street address. |
addressUnitIdentifier - TextComparator
|
The property's unit. |
and - [LoanApplicationAnalyticsFilters!]
|
Every member must match. Only needed for shapes the implicit AND between sibling fields cannot express, such as (A and B) or C. |
archiveDate - DateTimeComparator
|
|
assignedTo - LoanAssignmentScope
|
|
cashOutType - CashOutTypeComparator
|
The kind of cash-out on a refinance. |
cityName - TextComparator
|
The property's city. |
closingDate - DayComparator
|
Filters on the closing date by calendar day, in UTC. Bounds are days rather than instants, so a date read off a row can be handed straight back: lte covers everything that closed during that day, eq matches the day itself, and gt starts after it. Bounds intersect, so supplying several narrows the window. |
concessions - NumberComparator
|
The concession priced into the loan, in dollars — "loans that conceded more than $5,000". |
contactPointEmailValue - TextComparator
|
The primary contact's email. |
contactPointFullName - TextComparator
|
|
countyName - TextComparator
|
The property's county. |
creationDate - DateTimeComparator
|
|
debtToIncome - NumberComparator
|
The debt-to-income ratio. |
disbursementDate - DateTimeComparator
|
|
downPaymentAmount - NumberComparator
|
The down payment on the property. |
estimatedClosingCostsAmount - NumberComparator
|
Estimated closing costs. |
friendlyId - TextComparator
|
The loan's human-readable id. |
fundedDate - DateTimeComparator
|
|
globalSearch - String
|
|
hasSubjectProperty - BooleanComparator
|
Whether a subject property is attached. |
hmdaDisposition - HmdaDispositionComparator
|
|
icdSignedDate - DateTimeComparator
|
Filters on when the initial Closing Disclosure was fully signed. |
intentToProceedDate - DayComparator
|
Filters on the intent-to-proceed date by calendar day, in UTC — the date a row reports can be handed straight back as a bound. |
loanAmount - NumberComparator
|
The approved loan amount. |
loanNumber - TextComparator
|
The servicing loan number. |
loanOfficerEmail - TextComparator
|
|
loanPurpose - LoanPurposeComparator
|
Purchase or refinance. |
loanStage - TextComparator
|
|
noteRatePercent - NumberComparator
|
The note rate. |
or - [LoanApplicationAnalyticsFilters!]
|
At least one member must match. Fields outside the group are still ANDed with it. |
postalCode - TextComparator
|
The property's ZIP. |
preapproved - NumberComparator
|
|
rateLockStatus - RateLockStatusComparator
|
Whether and how the rate is locked. |
salesContractAmount - NumberComparator
|
The purchase price. |
stateCode - StateCodeComparator
|
The property's state, two letters. |
tridTriggeredDate - DayComparator
|
Filters on the TRID trigger date by calendar day, in UTC — the date a row reports can be handed straight back as a bound. |
Example
{
"addressLineText": TextComparator,
"addressUnitIdentifier": TextComparator,
"and": [LoanApplicationAnalyticsFilters],
"archiveDate": DateTimeComparator,
"assignedTo": "CURRENT_USER",
"cashOutType": CashOutTypeComparator,
"cityName": TextComparator,
"closingDate": DayComparator,
"concessions": NumberComparator,
"contactPointEmailValue": TextComparator,
"contactPointFullName": TextComparator,
"countyName": TextComparator,
"creationDate": DateTimeComparator,
"debtToIncome": NumberComparator,
"disbursementDate": DateTimeComparator,
"downPaymentAmount": NumberComparator,
"estimatedClosingCostsAmount": NumberComparator,
"friendlyId": TextComparator,
"fundedDate": DateTimeComparator,
"globalSearch": "abc123",
"hasSubjectProperty": BooleanComparator,
"hmdaDisposition": HmdaDispositionComparator,
"icdSignedDate": DateTimeComparator,
"intentToProceedDate": DayComparator,
"loanAmount": NumberComparator,
"loanNumber": TextComparator,
"loanOfficerEmail": TextComparator,
"loanPurpose": LoanPurposeComparator,
"loanStage": TextComparator,
"noteRatePercent": NumberComparator,
"or": [LoanApplicationAnalyticsFilters],
"postalCode": TextComparator,
"preapproved": NumberComparator,
"rateLockStatus": RateLockStatusComparator,
"salesContractAmount": NumberComparator,
"stateCode": StateCodeComparator,
"tridTriggeredDate": DayComparator
}
LoanApplicationAnalyticsGroup
Description
One row of an aggregation: a combination of dimension values and the statistics under it.
Fields
| Field Name | Description |
|---|---|
count - Int!
|
Loans in this group. |
key - [LoanApplicationAnalyticsDimensionValue!]!
|
The dimension values, in the order they were requested. Empty when the request did not group. |
measures - [LoanApplicationAnalyticsMeasureStatistics!]!
|
One entry per requested measure, in the order requested. |
Example
{
"count": 987,
"key": [LoanApplicationAnalyticsDimensionValue],
"measures": [LoanApplicationAnalyticsMeasureStatistics]
}
LoanApplicationAnalyticsGroupBy
Description
One dimension of a grouping. A date dimension must say which calendar period to bucket into; any other dimension must not.
Fields
| Input Field | Description |
|---|---|
bucket - AnalyticsDateBucket
|
Required for a date dimension, rejected for any other. Buckets are calendar periods in UTC. |
dimension - LoanApplicationAnalyticsDimension!
|
Example
{"bucket": "DAY", "dimension": "ARCHIVE_DATE"}
LoanApplicationAnalyticsMeasure
Description
A numeric column of the loan-application analytics row that an aggregation can total, average, or take the extremes of.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CONCESSIONS"
LoanApplicationAnalyticsMeasureStatistics
Description
The statistics of one measured column within one group. Every statistic but count is null when no row in the group has a value for the column — the sum of nothing is unknown, not zero.
Fields
| Field Name | Description |
|---|---|
avg - Float
|
|
count - Int!
|
Rows in this group where the column has a value. Deliberately not the group's row count: an average over a column that is half null is an average over the other half. |
max - Float
|
|
measure - LoanApplicationAnalyticsMeasure!
|
|
min - Float
|
|
sum - Float
|
Example
{
"avg": 123.45,
"count": 987,
"max": 987.65,
"measure": "CONCESSIONS",
"min": 987.65,
"sum": 123.45
}
LoanApplicationAnalyticsMetrics
Description
Aggregated statistics over the loans a filter matched. Scoped exactly as the list is: an aggregate can never total a loan its requester could not have read.
Fields
| Field Name | Description |
|---|---|
groups - [LoanApplicationAnalyticsGroup!]!
|
One group per distinct combination of the requested dimensions, ordered by those dimensions. A request that did not group gets exactly one group covering everything the filter matched — including when it matched nothing, which is a group with a count of zero. |
totalCount - Int!
|
Loans the filter matched, before grouping. The same number the list's totalCount reports for the same filter. |
truncated - Boolean!
|
True when the aggregation produced more than 1000 groups and groups is only the first of them. Narrow the filter or group by something coarser; the numbers present are correct, but they do not cover the whole filtered set. |
Example
{
"groups": [LoanApplicationAnalyticsGroup],
"totalCount": 123,
"truncated": true
}
LoanApplicationAnalyticsMetricsInput
Fields
| Input Field | Description |
|---|---|
filters - LoanApplicationAnalyticsFilters
|
The same filter input the list takes. Omitted means the caller's whole visible book. |
groupBy - [LoanApplicationAnalyticsGroupBy!]
|
Up to 2 dimensions to group by. Omitted returns one group covering the whole filtered set. Each added dimension multiplies the number of groups rather than adding to it, which is why the limit is low. |
measures - [LoanApplicationAnalyticsMeasure!]
|
The columns to compute statistics for. Each may appear at most once — a repeated measure returns the same numbers and costs another set of aggregates. Omitted or empty returns counts only, which is a histogram over the dimensions. |
Example
{
"filters": LoanApplicationAnalyticsFilters,
"groupBy": [LoanApplicationAnalyticsGroupBy],
"measures": ["CONCESSIONS"]
}
LoanApplicationAnalyticsRoot
Fields
| Field Name | Description |
|---|---|
addressLineText - String
|
The street address of the property. |
addressUnitIdentifier - String
|
The unit identifier of the property. |
archiveDate - DateTime
|
Set to the date a loan application is archived; has no value if the loan application is not yet archived. |
cashOutType - RefinanceCashOutType
|
The type of cashout on the loan. |
cityName - String
|
The name of the city where the property is located. |
closingDate - Date
|
The date that the purchase is set to close. |
concessions - NonNegativeInt
|
The concession priced into the loan's selected product structure, in dollars, or null if the loan has no priced structure. This is what the loan was priced with, not the concession-request approval log; the structure reports the same figure in points, which is this over the principal. |
contactPointEmailValue - String
|
The email address for the primary contract on the loan. |
contactPointFullName - String
|
The full name of the primary contact on the loan. |
contactPointTelephoneValues - [String!]
|
The phone number (or numbers) of the primary contact on the loan. |
countyName - String
|
The name of the county where the property is located. |
creationDate - DateTime
|
The date the loan application was first started by the user. |
creditScoreAggregate - MatrixAggregate!
|
|
dealId - String!
|
The unique ID of the deal associated with this loan. |
debtToIncome - Float
|
Debt to income |
disbursementDate - DateTime
|
The date the loan proceeds are scheduled to disburse. Distinct from the closing date: on a refinance the rescission period sits between the two. Has no value until a disbursement is scheduled. |
downPaymentAmount - NonNegativeInt
|
The down payment on the property. |
estimatedClosingCostsAmount - NonNegativeInt
|
The dollar amount of the estimated loan fees, title fees, appraisal fees and other closing costs associated with the subject transaction excluding discount points. |
friendlyId - String!
|
An alternative ID that might be more aesthetically pleasing. May be shared by multiple objects representing the same loan. |
fundedDate - DateTime
|
The date the loan was funded (disbursed). |
hasSubjectProperty - Boolean!
|
Whether or not a subject property is associated with this application |
hmdaDisposition - HmdaDispositionCode
|
The HMDA action taken on the application: originated, denied, withdrawn, closed for incompleteness, and so on. Null until the loan reaches an outcome, which is itself the answer for a loan still in flight. |
icdSignedDate - DateTime
|
When the loan's INITIAL Closing Disclosure package (the earliest-sent one) was fully signed: every recipient required to sign has signed, and this is the latest signature-completion time among them. Unset while no initial CD has been sent, or it is not yet fully signed. |
id - ID!
|
|
intentToProceedDate - Date
|
The date the borrowers expressed intent to proceed after receiving initial disclosures. Unset until intent to proceed is received. |
loanAmount - NonNegativeInt
|
If the loan is approved, this is the total amount of the loan. |
loanNumber - String
|
The current loan number for internal Pylon use. |
loanPurpose - LoanPurposeType
|
The type of loan, purchase or refinance. |
loanStage - String
|
A human readable description of the current loan stage in the legacy origination system. |
noteRatePercent - Float
|
The rate at which the interest on the mortgage is amortized. |
organizationId - String
|
The organization ID associated with the loan application. |
postalCode - String
|
The ZIP code where the property is located. |
preapprovedLoanAmount - NonNegativeInt
|
The preapproved amount of the loan |
rateLockStatus - RateLockStatus
|
Is the rate locked |
salesContractAmount - NonNegativeInt
|
The total amount of money property is being purchased for. |
stateCode - String
|
The two-letter abbreviation of the state where the property is located. |
tridTriggeredDate - Date
|
The date the TRID clock was triggered: the application became complete enough that the initial Loan Estimate deadline started counting. Unset until the system of record computes it. |
Example
{
"addressLineText": "xyz789",
"addressUnitIdentifier": "abc123",
"archiveDate": "2007-12-03T10:15:30Z",
"cashOutType": "CASH_OUT",
"cityName": "abc123",
"closingDate": "2007-12-03",
"concessions": 123,
"contactPointEmailValue": "abc123",
"contactPointFullName": "abc123",
"contactPointTelephoneValues": ["xyz789"],
"countyName": "abc123",
"creationDate": "2007-12-03T10:15:30Z",
"creditScoreAggregate": MatrixAggregate,
"dealId": "abc123",
"debtToIncome": 123.45,
"disbursementDate": "2007-12-03T10:15:30Z",
"downPaymentAmount": 123,
"estimatedClosingCostsAmount": 123,
"friendlyId": "xyz789",
"fundedDate": "2007-12-03T10:15:30Z",
"hasSubjectProperty": false,
"hmdaDisposition": "APPLICATION_APPROVED_BUT_NOT_ACCEPTED",
"icdSignedDate": "2007-12-03T10:15:30Z",
"id": "4",
"intentToProceedDate": "2007-12-03",
"loanAmount": 123,
"loanNumber": "abc123",
"loanPurpose": "PURCHASE",
"loanStage": "abc123",
"noteRatePercent": 123.45,
"organizationId": "xyz789",
"postalCode": "xyz789",
"preapprovedLoanAmount": 123,
"rateLockStatus": "CANCELLED",
"salesContractAmount": 123,
"stateCode": "abc123",
"tridTriggeredDate": "2007-12-03"
}
LoanAssignment
Description
A loan team assignment
Fields
| Field Name | Description |
|---|---|
createdAt - DateTimeISO!
|
|
id - ID!
|
|
role - LoanAssignmentRoleType!
|
Role type of the assignment |
user - LoanAssignmentUser!
|
Example
{
"createdAt": "2007-12-03T10:15:30Z",
"id": "4",
"role": "LOAN_OFFICER_ASSISTANT",
"user": LoanAssignmentUser
}
LoanAssignmentRoleType
Description
Assignable loan team role types
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"LOAN_OFFICER_ASSISTANT"
LoanAssignmentScope
Description
Restricts analytics loan results to a viewer-relative assignment scope.
Values
| Enum Value | Description |
|---|---|
|
|
Example
"CURRENT_USER"
LoanAssignmentUser
Description
A user available for loan team assignment
Fields
| Field Name | Description |
|---|---|
email - String
|
|
firstName - String
|
|
id - ID!
|
|
lastName - String
|
|
role - LoanAssignmentRoleType!
|
The user's assignable loan team role at this customer — the role they would take on if assigned. |
Example
{
"email": "xyz789",
"firstName": "xyz789",
"id": "4",
"lastName": "abc123",
"role": "LOAN_OFFICER_ASSISTANT"
}
LoanChangeRequest
Description
A request to make changes to a loan
Fields
| Field Name | Description |
|---|---|
changedCircumstanceReason - ChangeOfCircumstanceReason
|
Why this change is a changed circumstance under §1026.19(e)(3)(iv), as stated when the request was opened. Null when none was stated, which is every request raised before the field existed. |
id - ID!
|
The ID of the loan change request |
status - LoanChangeRequestStatus!
|
Current status of this change request |
Example
{
"changedCircumstanceReason": "CHANGED_CIRCUMSTANCE_AFFECTING_ELIGIBILITY",
"id": "4",
"status": "APPROVED"
}
LoanChangeRequestStatus
Description
Status of a loan change request
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"APPROVED"
LoanChannel
Description
Origination channel a customer's loans default to
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Broker"
LoanClosedError
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": "4",
"field": ["abc123"],
"message": "abc123"
}
LoanContact
Description
LoanContact
Example
{
"email": "abc123",
"firstName": "xyz789",
"id": "4",
"lastName": "xyz789",
"middleName": "abc123",
"nmlsId": "xyz789",
"phoneNumber": "abc123",
"title": "abc123"
}
LoanDocument
Description
A document uploaded against a loan application.
Fields
| Field Name | Description |
|---|---|
citations - CitationConnection!
|
Typed citation rows anchored into this document (supersedes the JSON-encoded evidence fieldMetadata). Paginated from day one: the facts-decomposition pass writes an observation citation per extracted fact, so overlays should fetch only the visible page / focused field keys via filterBy. |
Arguments
|
|
evidence - [LoanDocumentEvidence!]!
|
Evidence records extracted from this document. |
fileName - String!
|
The original file name. |
id - ID!
|
The unique identifier of the document. |
loanApplicationId - ID!
|
The loan application this document belongs to. |
mimeType - String!
|
The MIME type of the document. |
review - DocumentReview
|
The reviewer's read of this document — its status and, when ready, a plain-English summary. Null when there is no review to show. |
Arguments
|
|
s3Id - String!
|
The S3 storage identifier. |
underwritingEvidence - [UnderwritingEvidenceEdge!]!
|
Underwriting evidence edges naming this document — where the upload landed (rejected, satisfied, or matched nothing). Empty for a document with no edges at all. |
underwritingIntakeOutcomes - [UnderwritingIntakeOutcome!]!
|
This document's intake-outcome trace: RECEIVED plus one classed terminal outcome per processing run. Answers why an upload that carries no underwriting evidence at all produced no requirement movement. |
uploadedAt - DateTime!
|
When the document was uploaded. |
uploadedBy - AnyContributor!
|
The contributor who uploaded this document. |
Example
{
"citations": CitationConnection,
"evidence": [LoanDocumentEvidence],
"fileName": "abc123",
"id": 4,
"loanApplicationId": "4",
"mimeType": "abc123",
"review": DocumentReview,
"s3Id": "xyz789",
"underwritingEvidence": [UnderwritingEvidenceEdge],
"underwritingIntakeOutcomes": [
UnderwritingIntakeOutcome
],
"uploadedAt": "2007-12-03T10:15:30Z",
"uploadedBy": AnyContributor
}
LoanDocumentEvidence
Description
An evidence record extracted from a document.
Fields
| Field Name | Description |
|---|---|
content - String!
|
JSON-encoded extracted content for this evidence. |
createdAt - DateTimeISO!
|
When this evidence was created. |
fieldMetadata - String
|
JSON-encoded per-field metadata including bounding boxes. Superseded by typed LoanDocument.citations rows; emits null as of P4 teardown and will be removed in the next release.
|
id - ID!
|
The unique identifier of the evidence. |
kind - String!
|
The kind of evidence (e.g. W2, PAYSTUB). |
params - String!
|
JSON-encoded parameters for this evidence. |
source - String!
|
JSON-encoded typed source object (who produced this evidence). |
Example
{
"content": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"fieldMetadata": "xyz789",
"id": 4,
"kind": "xyz789",
"params": "xyz789",
"source": "abc123"
}
LoanDocumentQueries
Description
Root type for document evidence queries.
Fields
| Field Name | Description |
|---|---|
documentById - LoanDocument!
|
Fetch a single document by its ID. |
Arguments
|
|
Example
{"documentById": LoanDocument}
LoanDocumentsFilter
Description
Filters for the list of documents associated with a loan. Defaults to active non-disclosure loan documents.
Fields
| Input Field | Description |
|---|---|
kind - LoanDocumentsKindFilter
|
Which document kinds to include. Defaults to non-disclosure loan documents. |
status - LoanDocumentsStatusFilter
|
Which document statuses to include. Defaults to active documents. |
Example
{"kind": "ALL", "status": "ACTIVE"}
LoanDocumentsKindFilter
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ALL"
LoanDocumentsStatusFilter
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ACTIVE"
LoanEvent
Description
A durable, actor-attributed loan-lifecycle event. Append-only: events are recorded once and never mutated.
Fields
| Field Name | Description |
|---|---|
actorId - String
|
Namespaced actor key (kind:id); null when the event has no attributable actor. |
actorKind - LoanEventActorKind
|
The namespace of the actor who caused the event; null for system-initiated events with no attributable actor. |
actorName - String
|
Server-resolved display name of the actor — the name and nothing else, so cross-organization actors (Pylon internal admins) resolve without exposing any other field. Null whenever no name exists to give: system-initiated events, machine API credentials, and actors known only to the legacy origination system with no mirrored name. Clients render their own neutral copy for null. |
eventType - LoanEventType!
|
What happened |
id - ID!
|
The event's id |
loanId - ID!
|
The loan the event belongs to |
metadata - JSONObject!
|
Event-type-specific payload, validated server-side against the event type's closed schema at write time. |
occurredAt - DateTimeISO!
|
When the event happened in the domain (may predate its recording, e.g. for replayed webhooks). |
Example
{
"actorId": "xyz789",
"actorKind": "API",
"actorName": "xyz789",
"eventType": "DECISION_RECORDED",
"id": "4",
"loanId": "4",
"metadata": {},
"occurredAt": "2007-12-03T10:15:30Z"
}
LoanEventActorKind
Description
The namespace of the actor attributed to a loan event. Request-context actors mirror the authenticated principal kinds; LEGACY_LOS_USER marks actors known only from the legacy origination system's webhooks.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"API"
LoanEventType
Description
The kind of loan-lifecycle event. The full vocabulary is declared up front; emit sites land incrementally, so not every type is produced yet.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DECISION_RECORDED"
LoanEventsResponse
Fields
| Field Name | Description |
|---|---|
events - [LoanEvent!]!
|
Events in append order, oldest first. |
next - String!
|
Cursor for the next page. Always returned: when the page is empty the cursor is unchanged, so it can be replayed to poll for new events. |
Example
{
"events": [LoanEvent],
"next": "abc123"
}
LoanMutations
Fields
| Field Name | Description |
|---|---|
approveChangeRequest - ApproveLoanChangeRequestResponse
|
Approve a change request |
Arguments
|
|
archive - ArchiveLoanResponse
|
Archive a loan |
Arguments
|
|
assignLoanOfficer - AssignLoanOfficerResponse
|
Assign aloan officer to a loan |
Arguments
|
|
attachContact - AttachLoanContactResponse
|
Associate a contact with a loan |
Arguments
|
|
attachLoanNote - AttachLoanNoteResponse
|
Attach a note to the loan without submitting for underwriting |
Arguments
|
|
attachProductPricingRate - AttachProductPricingRateResponse
|
Assign a product pricing rate to a loan |
Arguments
|
|
attachSubjectProperty - AttachSubjectPropertyResponse
|
Attach a subject property to a loan |
Arguments
|
|
attachTitleCompany - AttachTitleCompanyResponse
|
Attach a title company to a loan |
Arguments
|
|
confirmRateLock - ConfirmRateLockResponse
|
Confirm a rate lock for a loan |
Arguments
|
|
create - CreateLoanResponse
|
Create a loan |
Arguments
|
|
createLoanAssignment - CreateLoanAssignmentResponse
|
Assign a user to a loan team |
Arguments
|
|
denyRateLock - DenyRateLockResponse
|
Deny a rate lock for a loan Functionality has been absorbed into confirmRateLock |
Arguments
|
|
detachContact - DetachLoanContactResponse
|
Remove a contact's association from a loan |
Arguments
|
|
export - ExportLoanResponse
|
Export this loan as an XML file |
Arguments
|
|
floatStructure - FloatStructureResponse
|
Float a product structure for a loan by dispatching initial disclosures without locking the rate |
Arguments
|
|
forceGenerateDisclosurePackage - ForceGenerateDisclosurePackageResponse
|
Force generate a disclosure package for a loan, bypassing the normal flow checks. Admin-only operation for fixing loans where disclosures were not generated. |
Arguments |
|
freeze - FreezeLoanResponse
|
Freeze a loan, only available to Pylon employees. |
Arguments
|
|
generateClosingDisclosurePreview - GenerateClosingDisclosurePreviewResponse
|
Generate a closing disclosure preview for a loan. |
Arguments |
|
generateLoanEstimatePreview - GenerateLoanEstimatePreviewResponse
|
Generate a loan estimate preview for a loan. |
Arguments |
|
openChangeRequest - OpenLoanChangeRequestResponse
|
Open a new change request for a loan |
Arguments
|
|
reassignLoanOfficerTasks - ReassignLoanOfficerTasksResponse
|
Reassign all of the loan officer's tasks on the loan to the borrower in one go |
Arguments
|
|
reassignTask - ReassignTaskResponse
|
Flip a task's responsibility to a new assignee |
Arguments
|
|
recordLoanView - RecordLoanViewResponse
|
Record that the current user viewed a loan, for recency-sorted loan lists. Idempotent per (user, organization, loan): a repeat view bumps the last-viewed timestamp. |
Arguments
|
|
redisclose - RediscloseResponse
|
Send the redisclosure the loan owes its borrower, recording the changed circumstance that permits it. Restricted to internal Pylon operators. Resolves once the package has been booked, not once the borrower has it — select disclosuresRun { status } for that, and again later as it settles. The form the baseline owes is chosen here rather than asked for: a Loan Estimate baseline owes a revised LE, a Closing Disclosure a corrected CD. A loan that owes nothing, has never been disclosed to, or is inside the four-business-day window in which §1026.19(e)(4)(ii) bars a revised Loan Estimate is refused through userErrors, and leaves no request and no filed form behind. |
Arguments
|
|
removeLoanAssignment - RemoveLoanAssignmentResponse
|
Remove a user from a loan team |
Arguments
|
|
requestRateLock - RequestRateLockResponse
|
Request a rate lock for a loan Functionality has been absorbed into confirmRateLock |
Arguments
|
|
setUseOwnTitleCompany - SetUseOwnTitleCompanyResponse
|
Set whether the borrower wants to use their own title company |
Arguments
|
|
startBulkLoanDocumentsExport - StartBulkLoanDocumentsExportResponse
|
Start a bulk loan documents export job. |
Arguments |
|
submitUnderwritingNotes - SubmitUnderwritingNotesResponse
|
Start an underwriting run with optional notes |
Arguments
|
|
thaw - ThawLoanResponse
|
Thaw a loan, only available to Pylon employees. |
Arguments
|
|
update - UpdateLoanResponse
|
Update top-level Loan fields. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
updateBorrowerPreferences - UpdateBorrowerPreferencesResponse
|
Update borrower preferences for a loan. |
Arguments
|
|
updateCompanyName - UpdateCompanyNameResponse
|
Update a processor's payee company name at the customer level and propagate to all assigned loans |
Arguments
|
|
updateProcessorFee - UpdateProcessorFeeResponse
|
Update a processor's fee at the customer level and propagate to all assigned loans |
Arguments
|
|
updateTaskName - UpdateTaskNameResponse
|
Updates the task name |
Arguments
|
|
withdraw - WithdrawLoanResponse
|
Withdraw a loan |
Arguments
|
|
Example
{
"approveChangeRequest": ApproveLoanChangeRequestResponse,
"archive": ArchiveLoanSuccess,
"assignLoanOfficer": AssignLoanOfficerResponse,
"attachContact": AttachLoanContactResponse,
"attachLoanNote": AttachLoanNoteResponse,
"attachProductPricingRate": AttachProductPricingRateResponse,
"attachSubjectProperty": AttachSubjectPropertyResponse,
"attachTitleCompany": AttachTitleCompanyResponse,
"confirmRateLock": ConfirmRateLockResponse,
"create": CreateLoanResponse,
"createLoanAssignment": CreateLoanAssignmentResponse,
"denyRateLock": DenyRateLockResponse,
"detachContact": DetachLoanContactResponse,
"export": ExportLoanResponse,
"floatStructure": FloatStructureResponse,
"forceGenerateDisclosurePackage": ForceGenerateDisclosurePackageResponse,
"freeze": FreezeLoanResponse,
"generateClosingDisclosurePreview": GenerateClosingDisclosurePreviewResponse,
"generateLoanEstimatePreview": GenerateLoanEstimatePreviewResponse,
"openChangeRequest": OpenLoanChangeRequestResponse,
"reassignLoanOfficerTasks": ReassignLoanOfficerTasksResponse,
"reassignTask": ReassignTaskResponse,
"recordLoanView": RecordLoanViewResponse,
"redisclose": RediscloseResponse,
"removeLoanAssignment": RemoveLoanAssignmentResponse,
"requestRateLock": RequestRateLockResponse,
"setUseOwnTitleCompany": SetUseOwnTitleCompanyResponse,
"startBulkLoanDocumentsExport": StartBulkLoanDocumentsExportResponse,
"submitUnderwritingNotes": SubmitUnderwritingNotesResponse,
"thaw": ThawLoanResponse,
"update": UpdateLoanResponse,
"updateBorrowerPreferences": UpdateBorrowerPreferencesResponse,
"updateCompanyName": UpdateCompanyNameResponse,
"updateProcessorFee": UpdateProcessorFeeResponse,
"updateTaskName": UpdateTaskNameResponse,
"withdraw": LoanClosedError
}
LoanNotPreApprovedError
Description
User error indicating that the operation failed because the loan is not preapproved.
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": 4,
"field": ["abc123"],
"message": "abc123"
}
LoanOfficer
LoanOfficerDocumentTask
Description
A borrower's task that is only available to the loan officer
Fields
| Field Name | Description |
|---|---|
accessToken - String
|
Access token for SSO PDF viewer or any third-party access, if applicable. |
assigneeBorrowerId - ID
|
The borrower currently assigned to this task, if any. |
completedAt - DateTime
|
|
createdOn - DateTime
|
|
description - String
|
|
details - TaskEntityDetails
|
Details about the entity this task is associated with Use relatedEntity instead, which resolves the associated entity as a Node whose own fields can be queried directly.
|
disclosureRecipient - DisclosureRecipient
|
|
documentLinks - [DocumentLink!]!
|
|
documentUploadPath - String
|
|
dueDate - DateTime
|
|
fields - [String!]
|
|
id - ID!
|
|
note - String
|
|
priority - Float
|
|
relatedEntity - Node
|
The entity this task is about (e.g. the Asset for a bank-statement upload task, or the AssetTransaction for a large-deposit task), resolvable as a Node. Prefer this over the deprecated details field. |
relatedEntityId - String
|
Related entity ID: the global id of the entity this task is about, resolvable via relatedEntity or the node(id) query. Use relatedEntity { id } instead — relatedEntity resolves the entity itself (its id plus all its other fields) in one query.
|
reopenedAt - DateTime
|
When the task was most recently reopened after having been completed or cancelled. Null if the task has never been reopened. |
requiredFor1003Form - Boolean
|
|
status - String!
|
|
title - String
|
|
type - String!
|
Example
{
"accessToken": "xyz789",
"assigneeBorrowerId": "4",
"completedAt": "2007-12-03T10:15:30Z",
"createdOn": "2007-12-03T10:15:30Z",
"description": "abc123",
"details": TaskEntityDetails,
"disclosureRecipient": DisclosureRecipient,
"documentLinks": [DocumentLink],
"documentUploadPath": "xyz789",
"dueDate": "2007-12-03T10:15:30Z",
"fields": ["xyz789"],
"id": 4,
"note": "abc123",
"priority": 123.45,
"relatedEntity": Node,
"relatedEntityId": "xyz789",
"reopenedAt": "2007-12-03T10:15:30Z",
"requiredFor1003Form": false,
"status": "abc123",
"title": "xyz789",
"type": "xyz789"
}
LoanOfficerMutations
Description
Loan officer mutations
Fields
| Field Name | Description |
|---|---|
setLoanOfficerSlug - SetLoanOfficerSlugResponse
|
Set the URL slug for a GlobalLoanOfficer in the current organization. Callers without update:organization may only set their own slug. |
Arguments
|
|
Example
{"setLoanOfficerSlug": SetLoanOfficerSlugResponse}
LoanPreApprovedForLowerAmountError
Description
User error indicating that the operation failed because the loan was preapproved for a lower amount than what was requested.
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "abc123",
"errorId": "4",
"field": ["xyz789"],
"message": "xyz789"
}
LoanPricingFreshness
Description
Whether the loan's attached product structure is priced against the rate sheet that is current for it: the product's newest sheet, or, while a rate lock is in force on a customer with automatic redisclosure enabled, the sheet the lock was taken on. Float and rate lock are refused (LOAN_STRUCTURE_OUTDATED) while pricingStale is true; re-run pricing and re-select a rate to clear it.
Fields
| Field Name | Description |
|---|---|
currentRatesAsOf - DateTime
|
When the sheet the verdict compares against was received: the product's newest sheet, or the lock's sheet while a rate lock is in force on a customer with automatic redisclosure enabled. Null when no sheet could be resolved for the product. |
pricedAsOf - DateTime!
|
When the rate sheet the attached structure was priced against was received. |
pricingStale - Boolean!
|
Whether the attached structure is pinned to an older rate sheet than the one current for the loan. Matches the gate float, rate lock, and relock enforce. For a customer with automatic redisclosure enabled, a locked loan is judged against the sheet its lock was taken on, so a re-shop priced on the lock's sheet reads fresh. Re-running pricing alone does not clear this; a rate must be re-selected. |
Example
{
"currentRatesAsOf": "2007-12-03T10:15:30Z",
"pricedAsOf": "2007-12-03T10:15:30Z",
"pricingStale": true
}
LoanProcess
Description
Process-level information for a loan.
Fields
| Field Name | Description |
|---|---|
legacyBorrowerTasks - [BorrowerTask!]!
|
Legacy borrower tasks for a specific borrower on this loan |
Arguments
|
|
legacyLoanOfficerTasks - [LoanOfficerDocumentTask!]!
|
Legacy loan officer tasks for this loan |
readyToUnderwrite - ReadyToUnderwrite
|
Readiness for the PROCESSING → UNDERWRITING transition. What's needed before submitting for underwriting? |
Arguments
|
|
Example
{
"legacyBorrowerTasks": [BorrowerTask],
"legacyLoanOfficerTasks": [LoanOfficerDocumentTask],
"readyToUnderwrite": ReadyToUnderwrite
}
LoanProductChangedReason
Description
§1026.19(f)(2)(ii)(B); product as §1026.37(a)(10) defines it.
Fields
| Field Name | Description |
|---|---|
changedComponents - [LoanProductComponent!]!
|
The parts that moved, so a narrative can name them. |
currentProduct - DisclosedLoanProduct!
|
|
disclosedProduct - DisclosedLoanProduct!
|
|
kind - DisclosureDriftReasonKind!
|
Example
{
"changedComponents": ["AMORTIZATION_TYPE"],
"currentProduct": DisclosedLoanProduct,
"disclosedProduct": DisclosedLoanProduct,
"kind": "APR_INACCURATE"
}
LoanProductComponent
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AMORTIZATION_TYPE"
LoanPurposeComparator
Description
Comparisons available on the loan purpose.
Fields
| Input Field | Description |
|---|---|
eq - LoanPurposeType
|
|
in - [LoanPurposeType!]
|
|
isNull - Boolean
|
|
neq - LoanPurposeType
|
|
nin - [LoanPurposeType!]
|
|
null - Boolean
|
Example
{
"eq": "PURCHASE",
"in": ["PURCHASE"],
"isNull": true,
"neq": "PURCHASE",
"nin": ["PURCHASE"],
"null": false
}
LoanPurposeType
Description
The purpose for which the loan proceeds will be used.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PURCHASE"
LoanScript
Description
A stored loan script: an ordered list of replayable API operations plus acceptance criteria (assertions and/or an expected preapproval outcome). This surface serves only active (runnable) scripts.
Fields
| Field Name | Description |
|---|---|
description - String!
|
What the script builds and verifies. |
scenarioId - String!
|
Stable, human-readable identifier for the script. |
spec - JSONObject!
|
The script payload: steps, and assertions and/or expected. |
Example
{
"description": "xyz789",
"scenarioId": "abc123",
"spec": {}
}
LoanScriptAssertionResult
Description
The outcome of a single loan-script assertion.
Fields
| Field Name | Description |
|---|---|
actualJson - String
|
JSON-serialized value the assertion's path resolved to. Null when the path (or its source) did not resolve. |
label - String!
|
The assertion's display label. |
message - String
|
Failure explanation. Null when the assertion passed. |
passed - Boolean!
|
Whether the assertion passed. |
Example
{
"actualJson": "xyz789",
"label": "abc123",
"message": "xyz789",
"passed": true
}
LoanScriptMutations
Description
Root object for loan-script mutations (internal use only).
Fields
| Field Name | Description |
|---|---|
createLoanScript - CreateLoanScriptResponse
|
Create an active loan script. The spec is validated against the strict loan-script schema. |
Arguments
|
|
deleteLoanScript - DeleteLoanScriptResponse
|
Soft-delete an active loan script. |
Arguments
|
|
runLoanScript - RunLoanScriptResponse
|
Replay a stored loan-script scenario in-process, creating the loan by issuing its GraphQL operations as a real client would, then evaluate the script's assertions. Internal use only. |
Arguments
|
|
updateLoanScript - UpdateLoanScriptResponse
|
Update an active loan script's description and/or spec. |
Arguments
|
|
Example
{
"createLoanScript": CreateLoanScriptResponse,
"deleteLoanScript": DeleteLoanScriptResponse,
"runLoanScript": RunLoanScriptResponse,
"updateLoanScript": UpdateLoanScriptResponse
}
LoanScriptOperationVariable
LoanScriptQueries
Description
Root object for loan-script queries (internal use only).
Fields
| Field Name | Description |
|---|---|
all - [LoanScript!]!
|
List all active loan scripts. |
byScenarioId - LoanScript!
|
Fetch one active loan script by its scenario id. |
Arguments
|
|
stepCatalog - [LoanScriptStepCatalogEntry!]!
|
Every step type a loan script may use, derived from the runtime operation registry and step schemas (it cannot drift from what the executor accepts). |
Example
{
"all": [LoanScript],
"byScenarioId": LoanScript,
"stepCatalog": [LoanScriptStepCatalogEntry]
}
LoanScriptStepCatalogEntry
Description
One step type available to loan scripts: a replayable GraphQL operation, or a direct-DB step kind with its field names.
Fields
| Field Name | Description |
|---|---|
fields - [String!]
|
Top-level field names of the step shape (only for direct-DB steps). |
kind - String!
|
graphql, or a direct-DB step kind such as mockCredit.
|
operation - String
|
The operation key (only for graphql entries). |
variables - [LoanScriptOperationVariable!]
|
The operation document's variables (only for graphql entries). |
Example
{
"fields": ["abc123"],
"kind": "abc123",
"operation": "abc123",
"variables": [LoanScriptOperationVariable]
}
LoanScriptStepResult
Description
The result of a single replayed scenario step.
Fields
| Field Name | Description |
|---|---|
data - JSONObject
|
The raw GraphQL data the step produced. Null for non-GraphQL steps such as credit seeding. |
label - String!
|
The step's label. |
Example
{"data": {}, "label": "xyz789"}
LoanStage
LoanTermChangedReason
Description
A term the disclosure printed no longer matches the loan.
Fields
| Field Name | Description |
|---|---|
change - DisclosedFigureChange!
|
|
kind - DisclosureDriftReasonKind!
|
Example
{
"change": DisclosedAmountChange,
"kind": "APR_INACCURATE"
}
LoanToValueViolation
Description
Optimizer could not find a solution without exceeding the LTV limit.
Example
{"loanAmountExceeded": 987.65, "ltv": 123.45, "ltvLimit": 123.45}
LockedLoanSummary
Description
Authoritative loan summary values for a rate-locked loan, sourced from the system of record. Present only when the rate is locked. Each field falls back to the most recent internally-computed value when the system of record has not yet supplied one.
Fields
| Field Name | Description |
|---|---|
closingDate - Date
|
The estimated closing date. |
dti - NonNegativeFloat
|
The debt-to-income ratio, expressed as a 0-1 fraction. |
loanAmount - NonNegativeInt
|
The loan amount (in dollars). |
ltv - NonNegativeFloat
|
The loan-to-value ratio, expressed as a 0-1 fraction. |
noteRatePercent - NonNegativeFloat
|
Note rate. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
purchasePrice - NonNegativeInt
|
The purchase price (in dollars). |
rateLockExpiration - DateTime
|
The rate lock expiration time. |
Example
{
"closingDate": "2007-12-03",
"dti": 123.45,
"loanAmount": 123,
"ltv": 123.45,
"noteRatePercent": 123.45,
"purchasePrice": 123,
"rateLockExpiration": "2007-12-03T10:15:30Z"
}
LpaKnownRulesBackfillMutations
Description
Internal operations for the LPA known-rules catalog.
Fields
| Field Name | Description |
|---|---|
start - StartLpaKnownRulesBackfillResponse
|
Start a bounded backfill of historical LPA AUS runs. |
Arguments
|
|
status - StatusLpaKnownRulesBackfillResponse
|
Read a backfill execution and its continuation cursor when complete. |
Arguments |
|
Example
{
"start": StartLpaKnownRulesBackfillResponse,
"status": StatusLpaKnownRulesBackfillResponse
}
ManualProvenance
Description
Provenance from a human reviewer. The requirement exists because an underwriter or processor added it manually.
Fields
| Field Name | Description |
|---|---|
citations - [Citation!]!
|
The citations the minting underwriter drew as grounds for the requirement, in minting order. Unresolvable references are skipped (and logged server-side), never surfaced as errors; requirements minted before citations existed read as []. |
description - String!
|
Human-readable explanation. |
evidence - [GuidelineReference!]!
|
Supporting evidence. |
Example
{
"citations": [Citation],
"description": "xyz789",
"evidence": [GuidelineReference]
}
MaritalStatusType
Description
An individual's marital status
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DIVORCED"
MarketingRates
Description
Marketing rates
Fields
| Field Name | Description |
|---|---|
conforming - [ConformingMarketingRate]!
|
|
Arguments
|
|
custom - [CustomMarketingRate]!
|
|
Arguments
|
|
fha - [FhaMarketingRate]!
|
|
Arguments
|
|
jumbo - [JumboMarketingRate]!
|
|
Arguments
|
|
warehousingCosts - WarehousingCosts
|
Warehousing costs for all products |
Example
{
"conforming": [ConformingMarketingRate],
"custom": [CustomMarketingRate],
"fha": [FhaMarketingRate],
"jumbo": [JumboMarketingRate],
"warehousingCosts": WarehousingCosts
}
MatrixAggregate
Fields
| Field Name | Description |
|---|---|
minimumMedian - Float
|
The minimum of all median values |
Example
{"minimumMedian": 123.45}
MilitaryBasePayIncome
Description
Military base pay income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
MilitaryClothesAllowanceIncome
Description
Military clothes allowance income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
MilitaryCombatPayIncome
Description
Military combat pay income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
MilitaryFlightPayIncome
Description
Military flight pay income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MilitaryHazardPayIncome
Description
Military hazard pay income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MilitaryOverseasPayIncome
Description
Military overseas pay income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MilitaryPropPayIncome
Description
Military prop pay income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MilitaryQuartersAllowanceIncome
Description
Military quarters allowance income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MilitaryRationsAllowanceIncome
Description
Military rations allowance income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MilitaryService
Description
Borrower has indicated active or prior military service.
Fields
| Field Name | Description |
|---|---|
militaryServiceExpectedCompletionDate - Date
|
|
militaryStatusType - MilitaryStatusType!
|
|
survivingSpouseIndicator - Boolean
|
Example
{
"militaryServiceExpectedCompletionDate": "2007-12-03",
"militaryStatusType": "ACTIVE_DUTY",
"survivingSpouseIndicator": true
}
MilitaryServiceDeclaration
Types
| Union Types |
|---|
Example
MilitaryService
MilitaryStatusType
Description
An individual's military status
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACTIVE_DUTY"
MilitaryVariableHousingAllowanceIncome
Description
Military variable housing allowance income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MiscellaneousIncome
Description
Miscellaneous income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
MismoFieldNonAdoption
Description
Data the importer could not import: one or more columns on a record it created, or an entity it did not create at all.
Fields
| Field Name | Description |
|---|---|
entity - IntakeEntity!
|
The kind of record this non-adoption concerns, stated even when none was created — which is how a client knows whose create mutation would close it. |
fields - [IntakeField!]!
|
The columns that went unfilled — at most one today, and empty when the non-adoption is that the record itself was never created. A list because the shared intake contract allows a run to report several columns against one non-adoption; this importer records one non-adoption per column, so it never sends more than one, and a client that handles the list handles whatever a later intake path sends. |
id - ID!
|
|
reason - IntakeNonAdoptionReason!
|
|
record - Node
|
The record the columns belong to. Null exactly when the importer created none — an asset no borrower owns, a party in a role we do not carry, a borrower who stated no income at all — and the client then reaches for that entity's ordinary create mutation rather than an editor. Never null merely because the identity was omitted: the importer binds each record at the moment it creates it. |
severity - IntakeNonAdoptionSeverity!
|
|
source - MismoSource!
|
Example
{
"entity": "ASSET",
"fields": [IntakeField],
"id": 4,
"reason": "ABSENT",
"record": Node,
"severity": "CRITICAL",
"source": MismoSource
}
MismoImport
Description
One MISMO file's import: the loan it created, and every non-adoption the importer could not act on itself. Read-only, and deliberately short-lived — an hourly sweep drops an import 24 hours after it ran, because the report describes one parse of one file at one moment rather than anything about the loan.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Stable id. The same value the upload returns as import_id. |
importedAt - DateTime!
|
When the import ran. |
loan - Loan!
|
The loan this import created. Always present: an import that created no loan is a rejected upload, and a rejected upload writes no report. |
nonAdoptions - [MismoNonAdoption!]!
|
Every non-adoption, in the order the importer met it in the file. Unpaginated: a report covers one file, and the whole of one is smaller than a cursor contract would be worth. |
Example
{
"id": "4",
"importedAt": "2007-12-03T10:15:30Z",
"loan": Loan,
"nonAdoptions": [MismoNonAdoption]
}
MismoNonAdoption
Description
One non-adoption from a MISMO import. Switch on __typename for the kind: MismoFieldNonAdoption names a column of ours, MismoUnrepresentableElement names a word of the file's that is not one.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Stable for the life of the import: two reads of one import return the same id for the same non-adoption. |
reason - IntakeNonAdoptionReason!
|
Why the importer could not do this itself. Keys a copy catalog on the client; never displayed raw. |
severity - IntakeNonAdoptionSeverity!
|
How much this non-adoption matters to the loan. |
source - MismoSource!
|
Where in the file the non-adoption arose, and what the file said. |
Possible Types
| MismoNonAdoption Types |
|---|
Example
{
"id": "4",
"reason": "ABSENT",
"severity": "CRITICAL",
"source": MismoSource
}
MismoSource
Description
Where in the uploaded file a non-adoption arose, and what the file said there. A statement about the FILE, never an identity: two imports of the same file produce the same source, and the record a non-adoption concerns is record's to name.
Fields
| Field Name | Description |
|---|---|
entity - IntakeEntity!
|
The entity the position indexes, which may differ from the non-adoption's own entity. MISMO states income inside the borrower who earns it, so an income non-adoption points at that borrower. |
label - String
|
The file's own label for the element, when a converter trusted one. Always null for interested parties: MISMO labels those on the ROLE as free text the file chose, not a closed vocabulary, so a party's non-adoptions are positioned instead (see position) rather than risk echoing a real name. |
position - Int
|
Zero-based position within the file's list of that entity. Null when the entity admits only one instance, when the file supplied a label instead, or when the non-adoption arose while reading the file and points at no instance at all. |
rawValue - String
|
The file's text for the value, verbatim, when it stated one we could not use. Null when the non-adoption is that the file said nothing. |
Example
{
"entity": "ASSET",
"label": "abc123",
"position": 987,
"rawValue": "xyz789"
}
MismoUnrepresentableElement
Description
A word in the uploaded file that corresponds to no column of ours — an element MISMO 3.6 defines and 3.4, the model the importer reads, has no equivalent for, so it was dropped while normalizing the file. Nothing on the loan resolves it; it is reported so the loss is visible rather than silent.
Fields
| Field Name | Description |
|---|---|
element - String!
|
The file's own name for the element, as MISMO spells it. Not a column of ours, and deliberately not dressed up as one. |
id - ID!
|
|
reason - IntakeNonAdoptionReason!
|
|
record - Node
|
The record the element would have belonged to, when the importer can name one. Often null, and for a reason this kind does not share with MismoFieldNonAdoption: the loss is found while normalizing the file, before any record exists, and the file position it carries names a kind of record rather than one instance of it. |
severity - IntakeNonAdoptionSeverity!
|
|
source - MismoSource!
|
Example
{
"element": "abc123",
"id": "4",
"reason": "ABSENT",
"record": Node,
"severity": "CRITICAL",
"source": MismoSource
}
MissingAttachmentTypeError
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": "4",
"field": ["xyz789"],
"message": "xyz789"
}
MissingCreditPullError
Description
User error indicating that there is no credit-pull associated with a borrower, blocking pricing and preapproval
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "abc123",
"errorId": 4,
"field": ["xyz789"],
"message": "abc123"
}
MissingDataError
Description
User error indicating the loan is missing information required in order to successfully preapprove or price it
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
missingData - String!
|
Example
{
"code": "abc123",
"errorId": 4,
"field": ["abc123"],
"message": "xyz789",
"missingData": "abc123"
}
MissingEmploymentStartDateError
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": "4",
"field": ["abc123"],
"message": "xyz789"
}
MissingFieldsForCreditPullInput
MonetaryAmount
Description
An exact USD amount serialized as a canonical signed decimal string with exactly two fractional digits.
Example
MonetaryAmount
MoneyMarketFundAsset
Description
Money market fund asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": ["4"],
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
MortgageCreditCertificateIncome
Description
Mortgage credit certificate income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
percentageOfInterest - NonNegativeFloat
|
The percentage of interest that the mortgage credit certificate will cover. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"percentageOfInterest": 123.45,
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MortgageDifferentialIncome
Description
Mortgage differential income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
MutualFundAsset
Description
Mutual fund asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": ["4"],
"id": "4",
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
NeighborhoodHousingType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CONDOMINIUM"
NetRentalIncome
Description
Net rental income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
NoAusForProduct
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": "4",
"field": ["abc123"],
"message": "abc123"
}
NoLoanOfficerAssignedError
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "abc123",
"errorId": "4",
"field": ["abc123"],
"message": "xyz789"
}
NoMilitaryService
Description
Borrower has indicated they have no military service.
Fields
| Field Name | Description |
|---|---|
survivingSpouseIndicator - Boolean
|
Example
{"survivingSpouseIndicator": false}
NoProductPricingError
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": "4",
"field": ["xyz789"],
"message": "abc123"
}
NoStructurePresentBlocker
Description
No product structure is present on the loan
Fields
| Field Name | Description |
|---|---|
type - String!
|
Example
{"type": "abc123"}
Node
Description
An entity uniquely identified by its id field
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Node ID |
Possible Types
| Node Types |
|---|
Example
{"id": "4"}
NodeChangedEvent
NodeChangedEventBatch
Fields
| Field Name | Description |
|---|---|
changed - [NodeChangedEvent!]!
|
Array of changed entities (up to 20 items) |
Example
{"changed": [NodeChangedEvent]}
NodeType
Description
The base types of all Node
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"Asset"
NonBorrowerContributionIncome
Description
Non-borrower contribution income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
NonBorrowerHouseholdIncome
Description
Non-borrower household income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
NonBorrowingOwner
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
personalInformation - PersonalInformation!
|
Example
{"id": 4, "personalInformation": PersonalInformation}
NonBorrowingOwnerMutations
Fields
| Field Name | Description |
|---|---|
create - CreateNonBorrowingOwnerResponse
|
Create a new non-borrowing owner |
Arguments
|
|
delete - DeleteNonBorrowingOwnerResponse
|
Delete a non-borrowing owner |
Arguments
|
|
update - UpdateNonBorrowingOwnerResponse
|
Update a NonBorrowingOwner. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
Example
{
"create": CreateNonBorrowingOwnerResponse,
"delete": DeleteNonBorrowingOwnerResponse,
"update": UpdateNonBorrowingOwnerResponse
}
NonNegativeFloat
Description
Floats that will have a value of 0 or more.
Example
123.45
NonNegativeInt
Description
Integers that will have a value of 0 or more.
Example
123
NotesReceivableInstallmentIncome
Description
Notes receivable installment income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
NumberComparator
Description
Comparisons available on a numeric field.
Example
{
"eq": 987.65,
"gt": 987.65,
"gte": 987.65,
"in": [987.65],
"isNull": true,
"lt": 123.45,
"lte": 987.65,
"neq": 123.45,
"nin": [123.45],
"null": true
}
OfferedFile
Description
A file offered against a requirement via upload (a SUBMISSION evidence edge). Upload intent is recorded even when the file ends up satisfying nothing, and split children inherit the offer from their parent packet.
Fields
| Field Name | Description |
|---|---|
extractionState - OfferedFileExtractionState!
|
|
file - LoanDocument!
|
The offered file. |
Example
{"extractionState": "EXTRACTED", "file": LoanDocument}
OfferedFileExtractionState
Description
Extraction progress of a file offered against a requirement: PENDING (uploaded, not yet extracted) or EXTRACTED (evidence exists).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"EXTRACTED"
OpenLoanChangeRequestInput
Description
Input to the loan.openChangeRequest mutation.
Fields
| Input Field | Description |
|---|---|
attachmentDocumentIds - [ID!]
|
Loan documents to attach to the change-of-circumstance support ticket: ids returned by requestSupportDocumentUpload's file POST, or document ids from this loan's documents. Forwarded to Plain as-is and not recorded on the change request itself; ignored when change-request ticket filing is not enabled for the customer. At most 20. |
changedCircumstanceReason - ChangeOfCircumstanceReason
|
Why this change is a changed circumstance under §1026.19(e)(3)(iv) — the judgement that permits a redisclosure to reset a fee's tolerance baseline. Recorded on the request; a later rate lock rediscloses under it rather than asking again. Omit when no judgement has been made: an unstated reason is not the same as OTHER. |
description - String!
|
Detailed description about the change request |
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{
"attachmentDocumentIds": [4],
"changedCircumstanceReason": "CHANGED_CIRCUMSTANCE_AFFECTING_ELIGIBILITY",
"description": "abc123",
"loanId": "4"
}
OpenLoanChangeRequestResponse
Description
Response of the loan.openChangeRequest mutation.
Fields
| Field Name | Description |
|---|---|
changedCircumstanceReason - ChangeOfCircumstanceReason
|
Why this change is a changed circumstance under §1026.19(e)(3)(iv), as stated when the request was opened. Null when none was stated, which is every request raised before the field existed. |
id - ID!
|
The ID of the loan change request |
plainTicketId - ID
|
Id of the change-of-circumstance support ticket filed in Plain for this request, when ticket filing is enabled for the customer; null otherwise. |
status - LoanChangeRequestStatus!
|
Current status of this change request |
Example
{
"changedCircumstanceReason": "CHANGED_CIRCUMSTANCE_AFFECTING_ELIGIBILITY",
"id": 4,
"plainTicketId": "4",
"status": "APPROVED"
}
OpenRequirement
Description
A requirement that has not yet been fulfilled. Carries status, assignee, and fulfillment paths. Composite requirements list their children (each with its own phase) inside fulfillmentOptions.
Fields
| Field Name | Description |
|---|---|
agentEvaluation - AusConditionAgentEvaluation
|
The evaluation agent's latest assessment of this requirement (verdict, confidence, reasoning, cited passages). Only populated for automated-underwriting conditions the agent has evaluated; null otherwise. |
assignee - RequirementAssigneeRole!
|
The role responsible for fulfilling this requirement. |
blockedBy - [Requirement!]!
|
The open gate requirements this requirement waits on, per the readiness projection. Empty when nothing blocks it — including requirements written before the projection existed. |
borrowerIds - [ID!]!
|
Borrowers this requirement applies to; empty when the requirement is loan-level. A composite carries the union of its children's borrowers. |
children - [Requirement!]!
|
Child requirements of a composite, each with its own phase, recursing through nested composites so a deep tree renders as a tree. Empty for leaf requirements. Unlike fulfillmentOptions, present in every phase — a satisfied or waived composite still lists its children here. |
description - String!
|
Human-readable label for this requirement, e.g. "W2 for Acme Corp (2025)". |
evidence - [Evidence!]!
|
The requirement's ordered evidence log — assertions and dispute acts interleaved in creation order (offered → asserted → challenged → endorsed → waived). |
fulfillmentOptions - [FulfillmentOption!]!
|
Paths to satisfying this requirement. For composites, contains the child requirements. |
id - ID!
|
Node ID |
offeredFiles - [OfferedFile!]!
|
Files offered against this requirement via upload (SUBMISSION evidence edges), including split children of offered packets. A file appears here even when it ends up satisfying nothing. |
openedAt - DateTimeISO!
|
When this requirement (re)entered its current OPEN period. A removed and later restored requirement carries the restore time, not its original creation time. |
phase - RequirementPhase!
|
Current resolution phase. Redundant with __typename but useful for client-side filtering without fragment matching. |
provenance - [ProvenanceSource!]!
|
Why this requirement exists — rule evaluation, manual condition, or data dependency. |
status - RequirementStatus!
|
Current status of this requirement. |
verdict - AssertionVerdict
|
The folded evaluation outcome from the requirement's evidence log: UNFULFILLED or NEEDS_HUMAN (a FULFILLED fold satisfies the requirement, which then leaves the OPEN phase). Null means the requirement has never been evaluated. |
Example
{
"agentEvaluation": AusConditionAgentEvaluation,
"assignee": "BORROWER",
"blockedBy": [Requirement],
"borrowerIds": [4],
"children": [Requirement],
"description": "abc123",
"evidence": [Evidence],
"fulfillmentOptions": [FulfillmentOption],
"id": "4",
"offeredFiles": [OfferedFile],
"openedAt": "2007-12-03T10:15:30Z",
"phase": "OPEN",
"provenance": [ProvenanceSource],
"status": "COMPLETED",
"verdict": "FULFILLED"
}
OptForDefaultTitleVendorInput
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
Example
{"loanId": "4"}
OptForDefaultTitleVendorResponse
Fields
| Field Name | Description |
|---|---|
loanId - ID!
|
Example
{"loanId": 4}
OptimalStructure
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Job ID |
productBreakdown - [StructuringResult!]!
|
|
result - EligibleProductStructure
|
|
status - JobStatus!
|
Job status |
Example
{
"id": 4,
"productBreakdown": [EligibleProductStructure],
"result": EligibleProductStructure,
"status": "FAILED"
}
OptimizerUnsatisfied
Description
Represents a failed optimizer solve.
Fields
| Field Name | Description |
|---|---|
_ - Boolean!
|
A no-op field that should not be requested. It will always throw an error if requested. It only exists to allow empty objects and may be removed in the future. This field should not be requested. It only exists to allow empty objects and may be removed in the future if more fields are added to this type. |
Example
{"_": true}
OrderAppraisalInput
Description
Input for ordering an appraisal.
Example
{
"amcId": 987,
"appraisalTypeId": 123,
"loanId": "4"
}
OrderAppraisalResponse
Description
Response from ordering an appraisal.
Fields
| Field Name | Description |
|---|---|
appraisalOrder - AppraisalOrder!
|
The created appraisal order. |
Example
{"appraisalOrder": AppraisalOrder}
OrderFloodInput
Description
Input for ordering a flood determination.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
ID of the loan application to order the flood determination for. |
productType - FloodProductType
|
Type of flood product to order. Defaults to Life of Loan when omitted. |
Example
{"loanId": "4", "productType": "Basic"}
OrderFloodResponse
Description
Response from ordering a flood determination.
Fields
| Field Name | Description |
|---|---|
floodOrder - FloodOrder!
|
The created flood order. |
Example
{"floodOrder": FloodOrder}
OrderOut
Organization
Description
Organization
Fields
| Field Name | Description |
|---|---|
apiAccessStatus - CustomerApiAccessStatus!
|
Whether this organization's API access is active, paused, or inactive. |
availableCustomers - [CustomerMembership!]!
|
Organizations the requesting user has access to via a role relation, sorted alphabetically by companyName. Empty for non-org users; length 1 for single-customer users. Used by the org switcher. |
borrowerPortalUrl - String
|
Public origin of the organization's borrower intake portal, e.g. https://apply.example.com. Null when the organization has not configured one. |
branding - OrganizationBranding!
|
The organization's uploaded branding assets, as short-lived URLs for rendering. Always present; individual assets are null until uploaded. |
companyAddress - Address
|
The organization's company address. |
companyLegalName - String
|
|
companyName - String!
|
|
companySupportEmail - String
|
|
concessionLimitPerLoan - Float
|
|
contacts - [Contact!]
|
Contacts used or saved for this organization |
costAbsorption - [CostAbsorption!]
|
|
customerShare - NonNegativeFloat!
|
The share of the margin that the customer receives from the loan. Only available to internal Pylon administrators |
customerSlug - String
|
|
defaultLoanChannel - LoanChannel
|
The origination channel this customer's loans default to. Only available to internal Pylon administrators. |
defaultPrimaryLoanContact - LoanContact
|
The organization's default primary loan contact — the loan officer rendered on preapproval letters. Null when the organization has never set one; letters then fall back to the placeholder contact (see defaultPrimaryLoanContactFallbackEmail). Only available to internal Pylon administrators. |
defaultPrimaryLoanContactFallbackEmail - String!
|
Support mailbox standing in for the organization's default primary loan contact email while none has been set. Only available to internal Pylon administrators. |
effectiveMargin - OrganizationMargin!
|
The effective-dated margin breakdown (global, customer, Pylon take, and share) for the customer. Omit asOf for today's window; pass asOf for the window in effect on that date. Only available to internal Pylon administrators |
Arguments
|
|
electronicCommunicationsConsentUrl - String
|
|
emailDomains - [String!]
|
|
enableSso - Boolean!
|
Indicates whether this customer's users will use SSO-based login in the command center |
enabledLoanProducts - [PreapprovalProduct!]
|
|
enabledPlaidProducts - [EnabledPlaidProduct!]
|
|
id - ID!
|
|
margin - Float
|
|
Arguments
|
|
marginHistory - [OrganizationMargin!]!
|
Every effective-dated (global margin, share) segment for the customer, newest-first. Type A windows are crossed with pay-schedule history so a share change mid-margin produces a distinct entry; Type B windows emit one entry per margin window. The segment active right now reports endsAt: null; closed segments report their real endsAt. Only available to internal Pylon administrators |
masqueradableCustomers - [CustomerMembership!]!
|
Every customer workspace in the environment being served — the set of valid masquerade targets — with real company names, sorted alphabetically by companyName. Only available to internal Pylon administrators; the org switcher renders it so admins see friendly customer names instead of slug-derived labels. |
mersOrgId - Int
|
The customer's MERS Organization ID (a 7-digit integer). Only available to internal Pylon administrators. |
nmlsId - String
|
|
privacyPolicyUrl - String
|
|
share - Float
|
|
telephonicCommunicationsConsentEnabled - Boolean!
|
Whether the borrower-facing consent screens link to a Telephonic Communications Consent document. |
telephonicCommunicationsConsentUrl - String
|
|
termsOfServiceUrl - String
|
|
Example
{
"apiAccessStatus": "ACTIVE",
"availableCustomers": [CustomerMembership],
"borrowerPortalUrl": "xyz789",
"branding": OrganizationBranding,
"companyAddress": Address,
"companyLegalName": "xyz789",
"companyName": "abc123",
"companySupportEmail": "xyz789",
"concessionLimitPerLoan": 987.65,
"contacts": [Contact],
"costAbsorption": [CostAbsorption],
"customerShare": 123.45,
"customerSlug": "xyz789",
"defaultLoanChannel": "Broker",
"defaultPrimaryLoanContact": LoanContact,
"defaultPrimaryLoanContactFallbackEmail": "abc123",
"effectiveMargin": OrganizationMargin,
"electronicCommunicationsConsentUrl": "xyz789",
"emailDomains": ["abc123"],
"enableSso": false,
"enabledLoanProducts": ["BayviewBayviewJumboAus"],
"enabledPlaidProducts": ["ASSETS"],
"id": 4,
"margin": 987.65,
"marginHistory": [OrganizationMargin],
"masqueradableCustomers": [CustomerMembership],
"mersOrgId": 123,
"nmlsId": "abc123",
"privacyPolicyUrl": "abc123",
"share": 987.65,
"telephonicCommunicationsConsentEnabled": false,
"telephonicCommunicationsConsentUrl": "xyz789",
"termsOfServiceUrl": "abc123"
}
OrganizationBranding
Description
An organization's uploaded branding assets.
Fields
| Field Name | Description |
|---|---|
logoPngUrl - String
|
Short-lived URL for rendering the uploaded PNG logo, or null when none has been uploaded. Mint a fresh one per page load rather than storing it. |
logoSvgUrl - String
|
Short-lived URL for rendering the uploaded SVG logo, or null when none has been uploaded. Mint a fresh one per page load rather than storing it. |
Example
{
"logoPngUrl": "xyz789",
"logoSvgUrl": "abc123"
}
OrganizationContactRole
Description
Role of the contact in the context of an organization.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ATTORNEY"
OrganizationLicensing
Fields
| Field Name | Description |
|---|---|
states - [OrganizationStateWithLicenses!]!
|
Example
{"states": [OrganizationStateWithLicenses]}
OrganizationMargin
Description
An effective-dated view of an organization's margin. All point values are expressed in points, where 1.5 means 1.5%. A segment is active from its activeAt (inclusive) until its endsAt (exclusive); the segment active right now reports endsAt: null.
Fields
| Field Name | Description |
|---|---|
activeAt - DateTime!
|
The instant this margin segment became active (inclusive). |
customerMargin - NonNegativeFloat!
|
The portion of the global margin the customer receives, in points (1.5 = 1.5%). |
endsAt - DateTime
|
The instant this margin segment stops being active (exclusive). Null for the segment active right now. |
globalMargin - NonNegativeFloat!
|
The full margin priced into the loan, in points (1.5 = 1.5%). Split between the customer and Pylon. |
pylonTake - NonNegativeFloat!
|
The portion of the global margin Pylon takes, in points (1.5 = 1.5%). |
share - NonNegativeFloat
|
The fraction of the global margin the customer receives (0-1), when the margin is share-based. Null when the split is not share- based (the customer margin and Pylon take are set directly). |
Example
{
"activeAt": "2007-12-03T10:15:30Z",
"customerMargin": 123.45,
"endsAt": "2007-12-03T10:15:30Z",
"globalMargin": 123.45,
"pylonTake": 123.45,
"share": 123.45
}
OrganizationMutations
Description
Organization mutations
Fields
| Field Name | Description |
|---|---|
addEmailDomains - AddEmailDomainsResponse
|
Add email domains to the current organization. Domains are normalized to lowercase. Fails if any domain is already assigned to a different organization. Only available to internal Pylon administrators. |
Arguments
|
|
createContact - CreateContactResponse
|
Create and add a new contact to the current organization. |
Arguments
|
|
createOrganizationRole - CreateOrganizationRoleResponse
|
|
Arguments
|
|
createOrganizationUser - CreateOrganizationUserResponse
|
|
Arguments
|
|
deleteOrganizationRole - DeleteOrganizationRoleResponse
|
|
Arguments
|
|
deleteOrganizationStateLicenses - DeleteOrganizationStateLicensesResponse
|
Delete the current organization's state licenses |
Arguments |
|
deleteOrganizationUser - DeleteOrganizationUserResponse
|
|
Arguments
|
|
removeEmailDomains - RemoveEmailDomainsResponse
|
Remove email domains from the current organization. Only available to internal Pylon administrators. |
Arguments
|
|
requestBrandingLogoUpload - RequestBrandingLogoUploadResponse
|
Register a branding-logo upload for a customer and get the URL to POST the file to. The uploaded bytes replace the customer's logo of the declared file type. Only available to internal Pylon administrators. |
Arguments
|
|
resetOrganizationUserMfa - ResetOrganizationUserMfaResponse
|
Reset a user's multi-factor authentication: their MFA enrollments are removed and their MFA-trusted browsers forgotten, so they set up MFA again at their next login. |
Arguments
|
|
sendOrganizationUserInvitationEmail - SendOrganizationUserInvitationEmailResponse
|
|
Arguments |
|
setDefaultPrimaryLoanContact - SetDefaultPrimaryLoanContactResponse
|
Set the current organization's default primary loan contact — the loan officer rendered on preapproval letters. Selects an existing loan contact by id, or creates a new one from the supplied fields, then repoints the organization at it. Only available to internal Pylon administrators. |
Arguments |
|
setOrganizationApiAccessStatus - SetOrganizationApiAccessStatusResponse
|
Set the current organization's API access status. Only available to internal Pylon administrators. |
Arguments |
|
toggleEnabledLoanProduct - ToggleEnabledLoanProductResponse
|
Enable or disable a loan product for the current customer. Only available to internal Pylon administrators |
Arguments
|
|
togglePlaidProduct - TogglePlaidProductResponse
|
Enable a Plaid product for the current customer. Only available to internal Pylon administrators |
Arguments
|
|
updateContact - UpdateContactResponse
|
Update an existing contact and returns the result. |
Arguments
|
|
updateCostAbsorption - UpdateCostAbsorptionResponse
|
Set the cost absorption points for a loan product on the current customer. Only available to internal Pylon administrators |
Arguments
|
|
updateCustomerShare - UpdateCustomerShareResponse
|
Updates the share of the margin that the current organization takes. Only available to internal Pylon administrators |
Arguments
|
|
updateOrganization - UpdateOrganizationResponse
|
Update the current organization |
Arguments
|
|
updateOrganizationCustomerMargin - UpdateOrganizationCustomerMarginResponse
|
Sets the customer margin (and optionally Pylon's take), in points, for an existing fixed-take agreement. Omitted Pylon take keeps its stored value. Share-based agreements must use total-margin and share updates instead. Only available to internal Pylon administrators |
Arguments |
|
updateOrganizationLicensing - UpdateOrganizationLicensingResponse
|
Update the current organization's state licensing |
Arguments |
|
updateOrganizationMargin - UpdateOrganizationMarginResponse
|
Updates the current organization's total margin, in points, preserving its contract type. Only available to internal Pylon administrators |
Arguments
|
|
updateOrganizationOrigination - UpdateOrganizationOriginationResponse
|
Updates the current organization's origination configuration (MERS Org ID and default loan channel). Only available to internal Pylon administrators |
Arguments |
|
updateOrganizationRolePermissions - UpdateOrganizationRolePermissionsResponse
|
|
Arguments |
|
updateOrganizationUserDetails - UpdateOrganizationUserDetailsResponse
|
Update an organization user's names, phone number, or individual NMLS id. Omitted fields are unchanged; a null phone number or NMLS id clears the value. Email and licenses are not editable here. |
Arguments |
|
updateOrganizationUserRoles - UpdateOrganizationUserRolesResponse
|
|
Arguments |
|
Example
{
"addEmailDomains": AddEmailDomainsResponse,
"createContact": CreateContactResponse,
"createOrganizationRole": CreateOrganizationRoleResponse,
"createOrganizationUser": CreateOrganizationUserResponse,
"deleteOrganizationRole": DeleteOrganizationRoleResponse,
"deleteOrganizationStateLicenses": DeleteOrganizationStateLicensesResponse,
"deleteOrganizationUser": DeleteOrganizationUserResponse,
"removeEmailDomains": RemoveEmailDomainsResponse,
"requestBrandingLogoUpload": RequestBrandingLogoUploadResponse,
"resetOrganizationUserMfa": ResetOrganizationUserMfaResponse,
"sendOrganizationUserInvitationEmail": SendOrganizationUserInvitationEmailResponse,
"setDefaultPrimaryLoanContact": SetDefaultPrimaryLoanContactResponse,
"setOrganizationApiAccessStatus": SetOrganizationApiAccessStatusResponse,
"toggleEnabledLoanProduct": ToggleEnabledLoanProductResponse,
"togglePlaidProduct": TogglePlaidProductResponse,
"updateContact": UpdateContactResponse,
"updateCostAbsorption": UpdateCostAbsorptionResponse,
"updateCustomerShare": UpdateCustomerShareResponse,
"updateOrganization": UpdateOrganizationResponse,
"updateOrganizationCustomerMargin": UpdateOrganizationCustomerMarginResponse,
"updateOrganizationLicensing": UpdateOrganizationLicensingResponse,
"updateOrganizationMargin": UpdateOrganizationMarginResponse,
"updateOrganizationOrigination": UpdateOrganizationOriginationResponse,
"updateOrganizationRolePermissions": UpdateOrganizationRolePermissionsResponse,
"updateOrganizationUserDetails": UpdateOrganizationUserDetailsResponse,
"updateOrganizationUserRoles": UpdateOrganizationUserRolesResponse
}
OrganizationRole
OrganizationRoleConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrganizationRoleEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [OrganizationRoleEdge],
"pageInfo": PageInfo
}
OrganizationRoleEdge
Fields
| Field Name | Description |
|---|---|
cursor - ID!
|
|
node - OrganizationRoleNode!
|
Example
{"cursor": 4, "node": OrganizationRoleNode}
OrganizationRoleNode
OrganizationStateWithLicenses
Fields
| Field Name | Description |
|---|---|
active - Boolean!
|
|
licenses - [StateLicense!]!
|
|
state - StateAbbreviated!
|
Example
{
"active": true,
"licenses": [StateLicense],
"state": "AK"
}
OrganizationStateWithLicensesInput
Fields
| Input Field | Description |
|---|---|
active - Boolean!
|
|
licenses - [StateLicenseInput!]
|
|
state - StateAbbreviated!
|
Example
{
"active": true,
"licenses": [StateLicenseInput],
"state": "AK"
}
OrganizationUser
Description
Organization user object
Fields
| Field Name | Description |
|---|---|
companyName - String
|
Payee company name for processor-type roles. Synced to the closing cost as the fee-paid-to name. |
email - String!
|
|
firstName - String!
|
|
id - ID!
|
|
individualNmlsId - String
|
The user's individual NMLS identifier. |
lastName - String!
|
|
licenses - [OrganizationUserLicense!]
|
Individual state licenses read back from the user's licensed-user broker record (loan officers and admins). Null when the user has no such record. License expiration is not stored locally, so it is not returned here. |
organizationRoles - [OrganizationRole!]
|
|
phoneNumber - String
|
The user's phone number. |
processorFeeAmount - Float
|
Current processing fee in dollars, if the user has a processor-type role |
Example
{
"companyName": "abc123",
"email": "abc123",
"firstName": "abc123",
"id": 4,
"individualNmlsId": "abc123",
"lastName": "xyz789",
"licenses": [OrganizationUserLicense],
"organizationRoles": [OrganizationRole],
"phoneNumber": "xyz789",
"processorFeeAmount": 123.45
}
OrganizationUserAccessType
Description
Whether a new organization user is provisioned with Command Center access (login + internal) or as an internal-only record.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CommandCenterAccess"
OrganizationUserConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrganizationUserEdge!]!
|
|
pageInfo - PageInfo!
|
|
totalCount - NonNegativeInt!
|
The total number of users in the organization. |
Example
{
"edges": [OrganizationUserEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OrganizationUserEdge
Fields
| Field Name | Description |
|---|---|
cursor - ID!
|
|
node - OrganizationUserNode!
|
Example
{
"cursor": "4",
"node": OrganizationUserNode
}
OrganizationUserLicense
Description
A state license held by an organization user, read back from the licensed-user broker record created alongside the user.
Fields
| Field Name | Description |
|---|---|
licenseNumber - String
|
The state-issued license number. |
state - StateAbbreviated!
|
The US state the license is held in. |
Example
{"licenseNumber": "abc123", "state": "AK"}
OrganizationUserLicenseInput
Description
A state license held by an organization user. The expiration year defaults to December 31st of that year.
Fields
| Input Field | Description |
|---|---|
expirationYear - PositiveInt!
|
The year the license expires. The expiration date is set to December 31st of this year. |
licenseNumber - String!
|
The state-issued license number. |
state - StateAbbreviated!
|
The US state the license is held in. |
Example
{
"expirationYear": 123,
"licenseNumber": "abc123",
"state": "AK"
}
OrganizationUserNode
OtherAsset
Description
Asset of miscellaneous or unspecified type
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
description - String
|
Description of the asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
isLiquid - Boolean
|
Indicates whether or not the asset is liquid |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": ["4"],
"description": "xyz789",
"id": 4,
"institutionName": "abc123",
"isLiquid": true,
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
OtherIncome
Description
Income that does not fall into any of the predefined types
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
description - String
|
Information about the income type |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"description": "xyz789",
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
OutOfPocketExceedsAssetsViolation
Description
The requested loan amount forces more cash to close than the borrower's available assets can cover.
Fields
| Field Name | Description |
|---|---|
additionalAssetsNeeded - Float!
|
Additional dollars of available assets the borrower needs to cover the required cash to close. |
Example
{"additionalAssetsNeeded": 123.45}
OvertimeIncome
Description
Overtime income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
employmentId - ID
|
The employment this income is associated with |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"employmentId": "4",
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
OwnedProperty
Description
Owned property
Fields
| Field Name | Description |
|---|---|
address - Address
|
US Address |
currentUsageType - PropertyUsageType
|
How the owner is using this property. |
homeInsuranceMonthlyPayment - NonNegativeInt
|
The dollar amount of monthly home insurance premium. |
id - ID!
|
Owned property ID |
intendedDisposition - PropertyDisposition
|
The intended disposition of the property. Indicates whether the borrowers will be retaining or selling (or sold) the property. |
intendedUsageType - PropertyUsageType
|
How the owner intends to use this property. |
liabilities - [Liability!]
|
Liabilities associated with an owned property |
monthlyAssociationDues - NonNegativeInt
|
Monthly association dues (in dollars) |
mortgageInsuranceMonthlyPayment - NonNegativeInt
|
The dollar amount of monthly mortgage insurance monthly premium. |
neighborhoodHousingType - NeighborhoodHousingType
|
The type of housing (e.g. single or multi-family) |
nonBorrowingOwners - [NonBorrowingOwner!]!
|
|
pendingNetSaleProceedsAsset - Asset
|
If the property is pending sale, the associated asset that represents the expected net proceeds from the sale. |
propertyTaxMonthlyPayment - NonNegativeInt
|
The dollar amount of property taxes due per month. |
propertyValue - NonNegativeInt
|
The estimated value of the owned property, in whole dollars |
purchaseDate - Date
|
The date when the property was originally purchased |
rentalIncome - Income
|
If the property is a rental property, the associated rental income entity. |
sellDate - Date
|
The date when the property was sold (or null if the borrower(s) still own the property). |
Example
{
"address": Address,
"currentUsageType": "INVESTMENT",
"homeInsuranceMonthlyPayment": 123,
"id": 4,
"intendedDisposition": "PENDING_SALE",
"intendedUsageType": "INVESTMENT",
"liabilities": [Liability],
"monthlyAssociationDues": 123,
"mortgageInsuranceMonthlyPayment": 123,
"neighborhoodHousingType": "CONDOMINIUM",
"nonBorrowingOwners": [NonBorrowingOwner],
"pendingNetSaleProceedsAsset": Asset,
"propertyTaxMonthlyPayment": 123,
"propertyValue": 123,
"purchaseDate": "2007-12-03",
"rentalIncome": Income,
"sellDate": "2007-12-03"
}
OwnedPropertyConnection
Fields
| Field Name | Description |
|---|---|
edges - [OwnedPropertyEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [OwnedPropertyEdge],
"pageInfo": PageInfo
}
OwnedPropertyEdge
Fields
| Field Name | Description |
|---|---|
cursor - ID!
|
|
node - OwnedProperty!
|
Example
{"cursor": 4, "node": OwnedProperty}
OwnedPropertyMutations
Description
Owned property mutations
Fields
| Field Name | Description |
|---|---|
attachLiabilities - AttachOwnedPropertyLiabilitiesResponse
|
Attach liabilities to owned property. |
Arguments |
|
attachNonBorrowingOwner - AttachOwnedPropertyNonBorrowingOwnerResponse
|
Attach non-borrowing owner to owned property. |
Arguments |
|
create - CreateOwnedPropertyResponse
|
Create an OwnedProperty |
Arguments
|
|
delete - DeleteOwnedPropertyResponse
|
Delete an owned property |
Arguments
|
|
detachLiabilities - DetachOwnedPropertyLiabilitiesResponse
|
Detach the address from an owned property. |
Arguments |
|
update - UpdateOwnedPropertyResponse
|
Update an OwnedProperty. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
Example
{
"attachLiabilities": AttachOwnedPropertyLiabilitiesResponse,
"attachNonBorrowingOwner": AttachOwnedPropertyNonBorrowingOwnerResponse,
"create": CreateOwnedPropertyResponse,
"delete": DeleteOwnedPropertyResponse,
"detachLiabilities": DetachOwnedPropertyLiabilitiesResponse,
"update": UpdateOwnedPropertyResponse
}
PacificIslanderRace
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"GUAMANIAN_OR_CHAMORRO"
PageInfo
PagePoint
PagePointInput
PageRange
Fields
| Field Name | Description |
|---|---|
from - PositiveInt!
|
|
to - PositiveInt!
|
Example
{"from": 123, "to": 123}
PaidTo
Fields
| Field Name | Description |
|---|---|
legalEntity - LegalEntity
|
Example
{"legalEntity": LegalEntity}
Party
Fields
| Field Name | Description |
|---|---|
address - Address
|
|
id - ID!
|
The unique ID of the Party. |
individual - PartyIndividual
|
Details about the party, if the party is an individual (rather than a company) |
legalEntity - PartyLegalEntity
|
Details about the party, if the party is a legal entity |
role - PartyRole
|
Indicates the type of relationship between the party and the loan. |
Example
{
"address": Address,
"id": "4",
"individual": PartyIndividual,
"legalEntity": PartyLegalEntity,
"role": "APPRAISER"
}
PartyIndividual
Example
{
"email": "abc123",
"name": PartyName,
"telephoneNumber": "xyz789"
}
PartyIndividualInput
Fields
| Input Field | Description |
|---|---|
email - String
|
The e-mail address of the individual associated with the loan. |
name - PartyNameInput
|
The name of the individual associated with the loan. |
telephoneNumber - String
|
The phone number of the individual associated with the loan. |
Example
{
"email": "abc123",
"name": PartyNameInput,
"telephoneNumber": "abc123"
}
PartyLegalEntity
Fields
| Field Name | Description |
|---|---|
legalEntityDetail - PartyLegalEntityDetail
|
Details about the legal entity associated with the loan. |
Example
{"legalEntityDetail": PartyLegalEntityDetail}
PartyLegalEntityDetail
PartyLegalEntityDetailInput
PartyLegalEntityInput
Fields
| Input Field | Description |
|---|---|
legalEntityDetail - PartyLegalEntityDetailInput
|
Details about the legal entity associated with the loan. |
Example
{"legalEntityDetail": PartyLegalEntityDetailInput}
PartyMutations
Fields
| Field Name | Description |
|---|---|
create - CreatePartyResponse
|
|
Arguments
|
|
delete - DeletePartyResponse
|
|
Arguments
|
|
optForDefaultTitleVendor - OptForDefaultTitleVendorResponse
|
|
Arguments
|
|
update - UpdatePartyResponse
|
|
Arguments
|
|
Example
{
"create": CreatePartyResponse,
"delete": DeletePartyResponse,
"optForDefaultTitleVendor": OptForDefaultTitleVendorResponse,
"update": UpdatePartyResponse
}
PartyName
PartyNameInput
PartyRole
Description
A designation for what type of Party is being represented.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"APPRAISER"
PayPeriodFrequency
Description
The frequency at which income is paid
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ANNUALLY"
PendingNetSaleProceedsFromRealEstateAsset
Description
Pending net sale proceeds from a real estate asset. The amount is the expected proceeds and should be less than or equal to the salePrice.
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
ownedProperty - OwnedProperty
|
The property being sold |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
salePrice - NonNegativeInt
|
Sale price of the property in dollars |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": ["4"],
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"ownedProperty": OwnedProperty,
"qualifiedAmount": 123,
"salePrice": 123,
"verifiedAmount": 123
}
PensionIncome
Description
Pension income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
PersonalInformation
PersonalInformationInput
PhoneNumberType
Description
Phone number type
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CELL"
PickLoanId
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Node ID |
Example
{"id": "4"}
PickSubjectPropertyId
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Node ID |
Example
{"id": "4"}
PipelineSummaryCounter
Fields
| Input Field | Description |
|---|---|
filters - LoanApplicationAnalyticsFilters!
|
|
label - String!
|
Example
{
"filters": LoanApplicationAnalyticsFilters,
"label": "xyz789"
}
PipelineSummaryItem
PipelineSummaryResponse
Fields
| Field Name | Description |
|---|---|
counts - [PipelineSummaryItem!]!
|
|
totalCount - Float!
|
Example
{"counts": [PipelineSummaryItem], "totalCount": 123.45}
Pitia
Fields
| Field Name | Description |
|---|---|
floodInsurance - NonNegativeFloat
|
|
hoaDues - NonNegativeFloat
|
|
homeownersInsurance - NonNegativeFloat
|
|
mortgageInsurance - NonNegativeFloat
|
|
principalAndInterest - NonNegativeFloat
|
|
qualifyingPrincipalAndInterest - NonNegativeFloat
|
|
taxes - NonNegativeFloat
|
Example
{
"floodInsurance": 123.45,
"hoaDues": 123.45,
"homeownersInsurance": 123.45,
"mortgageInsurance": 123.45,
"principalAndInterest": 123.45,
"qualifyingPrincipalAndInterest": 123.45,
"taxes": 123.45
}
PlaceAddressComponent
Fields
| Field Name | Description |
|---|---|
longText - String
|
Full text of the component, e.g. "California" |
shortText - String
|
Abbreviated text of the component, e.g. "CA" |
types - [String!]!
|
Component types, e.g. "street_number", "route", "locality", "postal_code" |
Example
{
"longText": "xyz789",
"shortText": "xyz789",
"types": ["abc123"]
}
PlaceAutocompleteSuggestion
Fields
| Field Name | Description |
|---|---|
mainText - String!
|
Primary text of the suggestion, usually the street address |
placeId - ID!
|
Opaque place identifier; pass to the place field to fetch address components |
secondaryText - String!
|
Secondary text of the suggestion, usually city/state/country; "" when there is none |
Example
{
"mainText": "abc123",
"placeId": 4,
"secondaryText": "xyz789"
}
PlaceDetails
Fields
| Field Name | Description |
|---|---|
addressComponents - [PlaceAddressComponent!]!
|
Structured address components of the place |
Example
{"addressComponents": [PlaceAddressComponent]}
PlaidExchangeMetadata
Description
Metadata from Plaid Link onSuccess callback
Example
{
"institutionId": "abc123",
"institutionName": "xyz789",
"linkSessionId": "abc123"
}
PlaidItemAccess
PlaidLayerItem
PlaidLinkToken
Description
Plaid link token for initializing widget
Fields
| Field Name | Description |
|---|---|
linkToken - String!
|
Link token for Plaid Link widget |
Example
{"linkToken": "abc123"}
PositiveFloat
Description
Floats that will have a value greater than 0.
Example
123.45
PositiveInt
Description
Integers that will have a value greater than 0.
Example
123
PreApprovalMutations
Description
Pre-approval mutations
Fields
| Field Name | Description |
|---|---|
createLoanPreApprovalLetter - CreateLoanPreApprovalLetterResponse
|
Create a pre-approval letter for a loan that has already been pre-approved. |
Arguments |
|
createMaxLoanPreApprovalLetter - CreateMaxLoanPreApprovalLetterResponse
|
Create a pre-approval letter with the maximum pre-approved loan amount and purchase price for a loan that has already been pre-approved. |
Arguments |
|
runLoanPreApproval - RunLoanPreApprovalResponse
|
Create a pre-approval for a loan |
Arguments
|
|
Example
{
"createLoanPreApprovalLetter": CreateLoanPreApprovalLetterResponse,
"createMaxLoanPreApprovalLetter": CreateMaxLoanPreApprovalLetterResponse,
"runLoanPreApproval": RunLoanPreApprovalResponse
}
PreApprovalRun
Description
A pre-approval run
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Possible Types
| PreApprovalRun Types |
|---|
Example
{"id": 4}
PreQualification
Fields
| Field Name | Description |
|---|---|
conventional - ConventionalPreQualification
|
|
Arguments
|
|
debug - [PreQualificationProductResult!]!
|
|
Arguments |
|
Example
{
"conventional": ConventionalPreQualification,
"debug": [PreQualificationProductResult]
}
PreQualificationBestEligibleResult
Fields
| Field Name | Description |
|---|---|
apr - Float!
|
|
discountPointsTotal - Float!
|
|
discountPointsTotalAmount - Int!
|
|
loanAmount - NonNegativeInt!
|
|
ltv - Float!
|
|
product - Product!
|
The loan product with the optimal prequalification result. |
rate - Float!
|
|
salesContractAmount - NonNegativeInt!
|
Example
{
"apr": 123.45,
"discountPointsTotal": 987.65,
"discountPointsTotalAmount": 123,
"loanAmount": 123,
"ltv": 987.65,
"product": Product,
"rate": 987.65,
"salesContractAmount": 123
}
PreQualificationMutations
Description
Pre-qualification mutations
Fields
| Field Name | Description |
|---|---|
conventional - ConventionalResponse
|
Create a conventional pre-qualification |
Arguments |
|
Example
{"conventional": ConventionalResponse}
PreQualificationProductResult
Fields
| Field Name | Description |
|---|---|
product - Product!
|
|
result - ConventionalPreQualificationResult!
|
Example
{
"product": Product,
"result": EligiblePreQualification
}
PreapprovalProduct
Description
Loan products that can be enabled for a customer
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BayviewBayviewJumboAus"
PrepaidItemType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BOROUGH_PROPERTY_TAX"
PrepaymentPenaltyAddedReason
Description
§1026.19(f)(2)(ii)(C).
Fields
| Field Name | Description |
|---|---|
kind - DisclosureDriftReasonKind!
|
Example
{"kind": "APR_INACCURATE"}
Pricing
Fields
| Field Name | Description |
|---|---|
dumpParameters - ProductPricingParameterDump
|
|
Arguments
|
|
fixedLoanAmountProductPricing - ProductPricingQuery
|
Unlike productPricing, which calculates an optimal structure for a given scenario, fixedLoanAmountProductPricing pins the solver to a specific loan amount rather than deriving it from the loan's LTV and subject property value. Use this endpoint when the desired loan amount is known upfront (e.g. the borrower has requested a specific payoff amount on a refinance) but prefer productPricing for all other values |
Arguments
|
|
optimalStructure - OptimalStructure
|
|
Arguments
|
|
productPricing - ProductPricingQuery
|
|
Arguments
|
|
Example
{
"dumpParameters": ProductPricingParameterDump,
"fixedLoanAmountProductPricing": ProductPricingQuery,
"optimalStructure": OptimalStructure,
"productPricing": ProductPricingQuery
}
PricingAmortizationType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ADJUSTABLE_RATE"
PricingConstraints
Fields
| Input Field | Description |
|---|---|
applyOutOfPocketToLoan - Boolean
|
Represents if Out Of Pocket cash will be applied to reduce loan cost |
closingCosts - NonNegativeFloat
|
The maximum allowable closing costs. |
downPaymentAmount - NonNegativeFloat
|
The down payment amount. |
maxDiscountPoints - Float
|
Limit number of rate point buys to not exceed this value. |
maxLtv - NonNegativeFloat
|
Max loan-to-value ratio allowed. Will not override takeout requirements. |
maxOutOfPocket - NonNegativeFloat
|
Out of pocket maximum in dollars. |
monthlyPayment - NonNegativeFloat
|
The maximum allowable monthly payment. |
monthlyPaymentAsPercentageOfIncome - Boolean!
|
Interpret monthly payment field as a percentage instead of dollar amount. Default = false |
mortgageInsurance - Boolean
|
Indicates whether mortgage insurance is required. |
principal - NonNegativeFloat
|
The maximum allowable principal amount. |
rate - NonNegativeFloat
|
The preferred interest rate as a percentage (e.g., 5.0 for 5%). |
rollInClosingCosts - Boolean
|
Represents if closing costs will be rolled into loan amount on a ReFi |
totalCost - Float
|
The cost of points for the loan. |
totalPoints - NonNegativeFloat
|
The number of points required for the loan. |
Example
{
"applyOutOfPocketToLoan": true,
"closingCosts": 123.45,
"downPaymentAmount": 123.45,
"maxDiscountPoints": 123.45,
"maxLtv": 123.45,
"maxOutOfPocket": 123.45,
"monthlyPayment": 123.45,
"monthlyPaymentAsPercentageOfIncome": false,
"mortgageInsurance": false,
"principal": 123.45,
"rate": 123.45,
"rollInClosingCosts": true,
"totalCost": 123.45,
"totalPoints": 123.45
}
PricingMutations
Fields
| Field Name | Description |
|---|---|
calculateOptimalStructure - CalculateOptimalStructureResponse
|
|
Arguments
|
|
Example
{
"calculateOptimalStructure": CalculateOptimalStructureResponse
}
PricingObjectiveIntent
Description
Configure the objective that the optimizer uses. E.g. minimize monthly cost or out of pocket.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"MIN_DOWN_PAYMENT"
PrimaryIncomeHourlyPayError
Description
User error indicating that a preapproval was run with a borrower who is paid hourly, which is currently unsupported
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "abc123",
"errorId": 4,
"field": ["abc123"],
"message": "xyz789"
}
PriorPropertyTitleType
Description
Specifies the ownership title type of the prior property.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"JOINT_WITH_OTHER_THAN_SPOUSE"
PriorPropertyUsageType
Description
Defines how the borrower's prior property was used.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"FHA_SECONDARY_RESIDENCE"
ProceedsFromSaleOfNonRealEstateAsset
Description
Proceeds from sale of non-real estate asset
Fields
| Field Name | Description |
|---|---|
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"amount": 123,
"assetReportId": "4",
"borrowerIds": ["4"],
"id": "4",
"nonBorrowerOwnerNames": ["xyz789"],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
ProceedsFromSecuredLoanAsset
Description
Proceeds from secured loan asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": 4,
"borrowerIds": ["4"],
"id": "4",
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
ProceedsFromUnsecuredLoanAsset
Description
Proceeds from unsecured loan asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": [4],
"id": "4",
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
ProcessDocumentQueries
Description
Root type for process-document queries.
Fields
| Field Name | Description |
|---|---|
status - ProcessDocumentStatusResponse!
|
Status of a process-document (split) workflow, with the sections it produced once complete. |
Arguments
|
|
Example
{"status": ProcessDocumentStatusResponse}
ProcessDocumentSection
Description
One section detected and classified within an uploaded document packet.
Fields
| Field Name | Description |
|---|---|
documentId - ID!
|
The document ID for this section. Query loanDocument(id) to read its extracted evidence. A single-section packet references the uploaded document itself. |
extractionWorkflowId - ID
|
The workflow ID for this section's extraction, or null when no extractor exists for this section. Poll the extraction workflow with this ID to track extraction progress. |
kind - DocumentKind
|
The extractable document kind this section routes to, or null when no extractor exists for its classification yet (recorded as OTHER_DOCUMENT for review). |
observation - String!
|
The splitter's explanation of why it classified the section. |
Example
{
"documentId": "4",
"extractionWorkflowId": "4",
"kind": "BANK_STATEMENT",
"observation": "xyz789"
}
ProcessDocumentStatusInput
Description
Input for querying the status of a process-document (split) workflow.
Fields
| Input Field | Description |
|---|---|
workflowId - ID!
|
The workflow ID returned when the document packet was submitted. |
Example
{"workflowId": "4"}
ProcessDocumentStatusResponse
Description
Status of a process-document (split) workflow, plus the sections it produced once complete.
Fields
| Field Name | Description |
|---|---|
sections - [ProcessDocumentSection!]!
|
Sections the packet was split into. Empty until the workflow succeeds. |
status - JobStatus!
|
Current status of the split workflow. |
Example
{"sections": [ProcessDocumentSection], "status": "FAILED"}
Product
ProductPricing
Fields
| Field Name | Description |
|---|---|
adjustableRateDetail - ProductPricingAdjustableRateDetail
|
If non-null, this product represents an adjustable rate |
id - ID
|
The unique ID of this product pricing result. |
lock - PositiveInt!
|
The number of days this rate can be locked for. |
product - Product!
|
The product to which these calculations apply. |
publishedAt - DateTimeISO!
|
The date and time that rates for this product were published. |
publishedOn - Date!
|
The date that rates for this product were published. Use publishedAt for full timestamp precision. |
term - PositiveInt!
|
The term of the loan being considered in years. |
Possible Types
| ProductPricing Types |
|---|
Example
{
"adjustableRateDetail": ProductPricingAdjustableRateDetail,
"id": "4",
"lock": 123,
"product": Product,
"publishedAt": "2007-12-03T10:15:30Z",
"publishedOn": "2007-12-03",
"term": 123
}
ProductPricingAdjustableRateDetail
Fields
| Field Name | Description |
|---|---|
initialFixedPeriodEffectiveMonthsCount - NonNegativeInt!
|
The number of months in the initial fixed period of a loan with an adjustable rate or payment |
marginRatePercent - NonNegativeFloat!
|
The number of percentage points to be added to the index to arrive at the new interest rate. |
maximumIncreaseRatePercent - NonNegativeFloat!
|
The maximum number of percentage points by which the interest rate can increase from the original interest rate over the life of the loan. |
paymentsBetweenBaseRatesCount - NonNegativeInt!
|
The number of payments between rate changes. |
perChangeMaximumIncreaseRatePercent - NonNegativeFloat!
|
The maximum number of percentage points by which the rate can increase from the previous interest rate. |
periodicMaximumIncreaseRatePercent - NonNegativeFloat!
|
The maximum number of percentage points by which the interest rate can increase from the Periodic Base Rate until the next base rate selection date. |
Example
{
"initialFixedPeriodEffectiveMonthsCount": 123,
"marginRatePercent": 123.45,
"maximumIncreaseRatePercent": 123.45,
"paymentsBetweenBaseRatesCount": 123,
"perChangeMaximumIncreaseRatePercent": 123.45,
"periodicMaximumIncreaseRatePercent": 123.45
}
ProductPricingAdjustment
ProductPricingApor
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The unique ID of the APOR. |
rate - PositiveFloat!
|
The average prime offer rate at the time of this pricing run for a comparible loan with the same term and amortization type. |
Example
{"id": 4, "rate": 123.45}
ProductPricingErrorUnsetClosingDate
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": 4,
"field": ["xyz789"],
"message": "xyz789"
}
ProductPricingErrorUnsetEitherDownPaymentOrMaxAssetsToUse
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "abc123",
"errorId": 4,
"field": ["abc123"],
"message": "abc123"
}
ProductPricingErrorUnsetPurchasePrice
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": 4,
"field": ["abc123"],
"message": "xyz789"
}
ProductPricingOverrides
Fields
| Input Field | Description |
|---|---|
maximumAssetsToUse - NonNegativeInt
|
Override the maximum asset amount to use toward upfront costs of the loan. |
purchasePrice - PositiveInt
|
Override the purchase price of the subject property. |
Example
{"maximumAssetsToUse": 123, "purchasePrice": 123}
ProductPricingParameterDump
Fields
| Field Name | Description |
|---|---|
serializedParameters - String
|
|
userErrors - [UserError!]!
|
Example
{
"serializedParameters": "xyz789",
"userErrors": [UserError]
}
ProductPricingQuery
Fields
| Field Name | Description |
|---|---|
products - [ProductPricing!]
|
|
userErrors - [UserError!]!
|
Example
{
"products": [ProductPricing],
"userErrors": [UserError]
}
ProductPricingRate
Fields
| Field Name | Description |
|---|---|
adjustableRateDetail - ProductPricingAdjustableRateDetail
|
If non-null, this structure is an adjustable-rate mortgage. Braid prices a product once per adjustable term, so structures on the same product id are told apart by this detail. |
adjustments - [ProductPricingAdjustment!]!
|
All adjustments that apply to this product, rate, and deal. |
apor - ProductPricingApor!
|
The published APOR for a comparible mortgage at the time of this pricing run. |
appliedMargin - AppliedMargin
|
The customer margin applied when this rate was priced, derived on read from the effective-dated margin window active at the loan's pricing instant: the lock date when the loan's pricing is pinned by a rate lock, or now for unlocked loans. Identical for a loan's current product structure and for candidate rates of a pricing run on the same loan. Null for rates priced outside a loan context (e.g. scenarios). |
apr - Float!
|
The APR with this rate applied as a percentage. |
breakEvenMonths - NonNegativeInt!
|
The number of months before the interest savings surpases the points cost of this rate. |
cashFromToBorrower - Float!
|
The net change in cash from/to the borrower at closing. |
cashOutAmount - NonNegativeFloat!
|
The cash out amount. |
cashOutType - RefinanceCashOutType!
|
The cash out type. |
closingCosts - Float!
|
The closing costs for this rate. Currently, this is only an estimate-- things like title fees are difficult to correctly compute, but this should be a good approximation. |
concessionPoints - NonNegativeFloat!
|
The concessions being applied to the rate cost in this scenario, in points. |
downPaymentAmount - NonNegativeFloat!
|
The down payment on a property. |
dti - NonNegativeFloat!
|
The debt-to-income ratio of the borrowers with the PITIA for this rate taken into account. |
floodInsurance - NonNegativeFloat!
|
The cost of flood insurance. |
id - ID
|
The unique ID of this product pricing result. |
increasedClosingCosts - NonNegativeFloat!
|
The increased closing costs compared to the baseline preapproval rate. |
ineligibilityDetails - [ProductStructureIneligibilityDetails!]
|
Why this structure violates the product's guidelines, or null when the structure is eligible. A structure can be attached to a loan while ineligible, but not locked until every reason is resolved or overridden. |
interest - PositiveInt!
|
The total interest over the life of the loan, in dollars, with this rate applied. |
lock - PositiveInt!
|
The number of days this rate can be locked for. |
ltv - Float!
|
The ratio of the loan amount to the total value of the property, expressed as a percentage |
monthlyPayment - NonNegativeFloat!
|
The monthly mortgage payment (PITIA) of a loan at this rate. |
monthlySavings - NonNegativeFloat!
|
The increased savings month over month between this rate and the baseline preapproval rate. |
mortgageInsurance - NonNegativeFloat!
|
The cost of mandatory mortgage insurance each month. |
pitia - Pitia!
|
Breakdown of the monthly payment for this rate. |
pointsCost - NonNegativeFloat!
|
The cost, in dollars, to buy enough points in order to qualify for a better rate. |
pointsNeeded - NonNegativeFloat!
|
The number of additional points that must be purchased in order to qualify for this rate. |
prepaidInterestDailyAmount - NonNegativeFloat!
|
The amount of prepaid interest paid per day before closing, |
prepaidInterestDaysPaid - NonNegativeFloat!
|
The number of days' worth of prepaid interest to be paid at closing, |
prepaidInterestTotalAmount - NonNegativeFloat!
|
The total dollar amount of prepaid interest due at closing, |
principal - PositiveFloat!
|
The total principal, in dollars, of the loan with this rate applied. |
product - Product!
|
The product to which these calculations apply. |
publishedAt - DateTimeISO!
|
The date and time that rates for this product were published. |
publishedOn - Date!
|
The date that rates for this product were published. Use publishedAt for full timestamp precision. |
rate - Float!
|
The interest rate as a percentage. |
rateId - ID!
|
The ID of the rate. |
ratePoints - Float!
|
The cost, in points, of this rate. |
term - PositiveInt!
|
The term of the loan being considered in years. |
totalCost - Float!
|
The total cost after adjustments for this rate. Can be negative if the rate is below par. |
totalPoints - Float!
|
The total number of points after adjustments for this rate. |
Example
{
"adjustableRateDetail": ProductPricingAdjustableRateDetail,
"adjustments": [ProductPricingAdjustment],
"apor": ProductPricingApor,
"appliedMargin": AppliedMargin,
"apr": 987.65,
"breakEvenMonths": 123,
"cashFromToBorrower": 123.45,
"cashOutAmount": 123.45,
"cashOutType": "CASH_OUT",
"closingCosts": 123.45,
"concessionPoints": 123.45,
"downPaymentAmount": 123.45,
"dti": 123.45,
"floodInsurance": 123.45,
"id": 4,
"increasedClosingCosts": 123.45,
"ineligibilityDetails": [
ConcessionExceedsCompensationViolation
],
"interest": 123,
"lock": 123,
"ltv": 123.45,
"monthlyPayment": 123.45,
"monthlySavings": 123.45,
"mortgageInsurance": 123.45,
"pitia": Pitia,
"pointsCost": 123.45,
"pointsNeeded": 123.45,
"prepaidInterestDailyAmount": 123.45,
"prepaidInterestDaysPaid": 123.45,
"prepaidInterestTotalAmount": 123.45,
"principal": 123.45,
"product": Product,
"publishedAt": "2007-12-03T10:15:30Z",
"publishedOn": "2007-12-03",
"rate": 123.45,
"rateId": 4,
"ratePoints": 987.65,
"term": 123,
"totalCost": 987.65,
"totalPoints": 987.65
}
ProductStructure
Fields
| Field Name | Description |
|---|---|
adjustableRateDetail - ProductPricingAdjustableRateDetail
|
If non-null, this product represents an adjustable rate mortgage |
adjustments - [ProductPricingAdjustment!]!
|
All adjustments that apply to this product, rate, and deal. |
apor - ProductPricingApor!
|
The published APOR for a comparible mortgage at the time of this pricing run. |
appliedMargin - AppliedMargin
|
The customer margin applied when this structure was priced, derived on read from the effective-dated margin window active at the loan's pricing instant: the lock date when the loan's pricing is pinned by a rate lock, or now for unlocked loans. Identical for a loan's current product structure and for candidate structures of a pricing run on the same loan. Null for structures priced outside a loan context (e.g. scenarios). |
apr - Float!
|
The APR with this rate applied as a percentage. |
cashFromToBorrower - Float!
|
The net change in cash from/to the borrower at closing. |
cashOutAmount - NonNegativeFloat!
|
The cash out amount. |
cashOutType - RefinanceCashOutType!
|
The cash out type. |
closingCosts - Float!
|
The closing costs for this rate. Currently, this is only an estimate-- things like title fees are difficult to correctly compute, but this should be a good approximation. |
concessionPoints - NonNegativeFloat!
|
The concessions being applied to the rate cost in this scenario, in points. |
downPaymentAmount - NonNegativeFloat!
|
The down payment on a property. |
dti - NonNegativeFloat!
|
The debt-to-income ratio of the borrowers with the PITIA for this rate taken into account. |
floodInsurance - NonNegativeFloat!
|
The cost of flood insurance. |
id - ID
|
The unique ID of this product pricing result. |
interest - PositiveInt!
|
The total interest over the life of the loan, in dollars, with this rate applied. |
llpasWaived - Boolean!
|
Whether LLPAs were waived for this rate due to low-income borrower eligibility |
loanTermYears - PositiveInt!
|
The term length of the loan, in years |
lock - PositiveInt!
|
The number of days this rate can be locked for. |
ltv - Float!
|
The ratio of the loan amount to the total value of the property, expressed as a percentage |
monthlyPayment - NonNegativeFloat!
|
The monthly mortgage payment (PITIA) of a loan at this rate. |
mortgageInsurance - NonNegativeFloat!
|
The cost of mandatory mortgage insurance each month. |
pitia - Pitia!
|
Breakdown of the monthly payment for this rate. |
pointsCost - NonNegativeFloat!
|
The cost, in dollars, to buy enough points in order to qualify for a better rate. |
pointsNeeded - NonNegativeFloat!
|
The number of additional points that must be purchased in order to qualify for this rate. |
prepaidInterestDailyAmount - NonNegativeFloat!
|
The amount of prepaid interest paid per day before closing, |
prepaidInterestDaysPaid - NonNegativeFloat!
|
The number of days' worth of prepaid interest to be paid at closing, |
prepaidInterestTotalAmount - NonNegativeFloat!
|
The total dollar amount of prepaid interest due at closing, |
principal - PositiveFloat!
|
The total principal, in dollars, of the loan with this rate applied. |
product - Product!
|
The product to which these calculations apply. |
publishedAt - DateTimeISO!
|
The date and time that rates for this product were published. |
publishedOn - Date!
|
The date that rates for this product were published. Use publishedAt for full timestamp precision. |
rate - Float!
|
The interest rate as a percentage. |
rateId - ID!
|
The ID of the rate. |
ratePoints - Float!
|
The cost, in points, of this rate. |
totalCost - Float!
|
The total cost after adjustments for this rate. Can be negative if the rate is below par. |
totalPoints - Float!
|
The total number of points after adjustments for this rate. |
Possible Types
| ProductStructure Types |
|---|
Example
{
"adjustableRateDetail": ProductPricingAdjustableRateDetail,
"adjustments": [ProductPricingAdjustment],
"apor": ProductPricingApor,
"appliedMargin": AppliedMargin,
"apr": 987.65,
"cashFromToBorrower": 987.65,
"cashOutAmount": 123.45,
"cashOutType": "CASH_OUT",
"closingCosts": 123.45,
"concessionPoints": 123.45,
"downPaymentAmount": 123.45,
"dti": 123.45,
"floodInsurance": 123.45,
"id": "4",
"interest": 123,
"llpasWaived": true,
"loanTermYears": 123,
"lock": 123,
"ltv": 987.65,
"monthlyPayment": 123.45,
"mortgageInsurance": 123.45,
"pitia": Pitia,
"pointsCost": 123.45,
"pointsNeeded": 123.45,
"prepaidInterestDailyAmount": 123.45,
"prepaidInterestDaysPaid": 123.45,
"prepaidInterestTotalAmount": 123.45,
"principal": 123.45,
"product": Product,
"publishedAt": "2007-12-03T10:15:30Z",
"publishedOn": "2007-12-03",
"rate": 123.45,
"rateId": 4,
"ratePoints": 987.65,
"totalCost": 123.45,
"totalPoints": 123.45
}
ProductStructureIneligibilityDetails
Example
ConcessionExceedsCompensationViolation
ProductStructureUnsatisfiabilityDetails
Types
| Union Types |
|---|
Example
GuidelineViolation
ProductStructureUnsatisfiabilityDetailsType
PropertyDisposition
Description
Disposition of a property
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"PENDING_SALE"
PropertyUsageType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"INVESTMENT"
PropertyValuationMethodType
Description
The method used to determine the property's value.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AUTOMATED_VALUATION_MODEL"
ProposedGrossRentForSubjectPropertyIncome
Description
Proposed gross rent for subject property income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
ProvenanceSource
Description
A source explaining why a requirement exists — rule evaluation, manual condition, or data dependency.
Fields
| Field Name | Description |
|---|---|
description - String!
|
Human-readable explanation, e.g. "W2 required for employment income verification". |
evidence - [GuidelineReference!]!
|
Supporting evidence — guideline citations, document references, etc. |
Possible Types
| ProvenanceSource Types |
|---|
Example
{
"description": "abc123",
"evidence": [GuidelineReference]
}
ProvisionCustomerInput
Description
Input for provisioning a new customer.
Fields
| Input Field | Description |
|---|---|
companyLegalName - String!
|
Customer legal name. |
companyName - String
|
Customer display name. Defaults to the legal name when omitted. |
customerSlug - String!
|
Customer slug. Must be a known Pylon customer slug (registered in CustomerSlugs). |
customerWebsite - String!
|
Customer website URL. |
emailDomains - [String!]!
|
Allowed email domains for the customer. |
friendlyCustomerId - String
|
Optional friendly id prefix (1-4 uppercase letters) used for deal ids. Derived from the company name when omitted. |
Example
{
"companyLegalName": "xyz789",
"companyName": "xyz789",
"customerSlug": "xyz789",
"customerWebsite": "abc123",
"emailDomains": ["abc123"],
"friendlyCustomerId": "abc123"
}
ProvisionCustomerResponse
Description
Result of provisioning a new customer.
Fields
| Field Name | Description |
|---|---|
customerId - ID
|
The id of the created customer, when provisioning succeeded. |
oauthClientId - String
|
The Auth0 OAuth client id created for direct API access, when provisioning succeeded. |
userErrors - [GenericUserError!]!
|
User errors that prevented provisioning (e.g. the slug is unknown or already taken). Empty when provisioning succeeded. |
Example
{
"customerId": 4,
"oauthClientId": "xyz789",
"userErrors": [GenericUserError]
}
PublicAssistanceIncome
Description
Public assistance income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
PurchaseConsolidatedDebtNotAllowedError
Description
User error indicating that the loan has liabilities marked as 'pay at closing' which is not allowed for purchase loans.
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
liabilityCount - Int!
|
|
message - String!
|
A human-readable error message. |
Example
{
"code": "abc123",
"errorId": 4,
"field": ["abc123"],
"liabilityCount": 123,
"message": "abc123"
}
PurchasePricingInput
Fields
| Input Field | Description |
|---|---|
amortizationTypes - [PricingAmortizationType!]
|
The amortization types to price. Defaults to fixed-only; request ADJUSTABLE_RATE (typically in a separate sequential call) to price ARM products, so one request never solves both halves of the sheet at once. Default = [FIXED] |
concessions - NonNegativeInt!
|
|
fipsCountyCode - String!
|
|
hoaDues - NonNegativeInt
|
Monthly homeowners association dues in dollars. When omitted, pricing behaves as if the property has no HOA dues. |
isBorrowerSelfEmployed - Boolean!
|
|
isFirstTimeHomeBuyer - Boolean!
|
|
loanTermYears - Float!
|
|
monthlyDebt - Float!
|
|
monthlyIncome - Float!
|
|
neighborhoodHousingType - NeighborhoodHousingType!
|
|
numberOfUnits - NonNegativeInt
|
|
objectiveIntent - PricingObjectiveIntent
|
Configure the objective function to optimize against. Default = MIN_PITIA |
outOfPocketMax - Float!
|
|
pricingConstraints - PricingConstraints
|
|
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Whether property taxes and insurance are included in the monthly payment (impounded). Defaults to impounded when omitted. |
propertyUsageType - PropertyUsageType!
|
|
qualifyingFicoScore - Int
|
|
rateLockDays - Float!
|
|
salesContractAmount - NonNegativeInt!
|
The amount of money that the property will be purchased for. Also called the purchase price. |
Example
{
"amortizationTypes": ["ADJUSTABLE_RATE"],
"concessions": 123,
"fipsCountyCode": "abc123",
"hoaDues": 123,
"isBorrowerSelfEmployed": true,
"isFirstTimeHomeBuyer": false,
"loanTermYears": 987.65,
"monthlyDebt": 987.65,
"monthlyIncome": 987.65,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"objectiveIntent": "MIN_DOWN_PAYMENT",
"outOfPocketMax": 123.45,
"pricingConstraints": PricingConstraints,
"propertyTaxesAndInsuranceIncludedInPayment": false,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rateLockDays": 987.65,
"salesContractAmount": 123
}
PurchasePricingNoRestructureInput
Fields
| Input Field | Description |
|---|---|
amortizationTypes - [PricingAmortizationType!]
|
The amortization types to price. Defaults to fixed-only; request ADJUSTABLE_RATE (typically in a separate sequential call) to price ARM products, so one request never solves both halves of the sheet at once. Default = [FIXED] |
concessions - NonNegativeInt!
|
|
downPayment - NonNegativeInt!
|
|
fipsCountyCode - String!
|
|
hoaDues - NonNegativeInt
|
Monthly homeowners association dues in dollars. When omitted, pricing behaves as if the property has no HOA dues. |
isBorrowerSelfEmployed - Boolean!
|
|
isFirstTimeHomeBuyer - Boolean!
|
|
loanAmount - NonNegativeInt!
|
|
loanTermYears - Float!
|
|
monthlyDebt - Float!
|
|
monthlyIncome - Float!
|
|
neighborhoodHousingType - NeighborhoodHousingType!
|
|
numberOfUnits - NonNegativeInt
|
|
objectiveIntent - PricingObjectiveIntent
|
Configure the objective function to optimize against. Default = MIN_PITIA |
pricingConstraints - PricingConstraints
|
|
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Whether property taxes and insurance are included in the monthly payment (impounded). Defaults to impounded when omitted. |
propertyUsageType - PropertyUsageType!
|
|
qualifyingFicoScore - Int
|
|
rateLockDays - Float!
|
Example
{
"amortizationTypes": ["ADJUSTABLE_RATE"],
"concessions": 123,
"downPayment": 123,
"fipsCountyCode": "abc123",
"hoaDues": 123,
"isBorrowerSelfEmployed": false,
"isFirstTimeHomeBuyer": true,
"loanAmount": 123,
"loanTermYears": 987.65,
"monthlyDebt": 987.65,
"monthlyIncome": 987.65,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"objectiveIntent": "MIN_DOWN_PAYMENT",
"pricingConstraints": PricingConstraints,
"propertyTaxesAndInsuranceIncludedInPayment": false,
"propertyUsageType": "INVESTMENT",
"qualifyingFicoScore": 123,
"rateLockDays": 987.65
}
PylonTeam
Description
The loan's Pylon team as assigned in the loan system.
Fields
| Field Name | Description |
|---|---|
accountManager - PylonTeamMember
|
The primary account manager: the primary-role designation when the loan system provides one, else the sole member holding the Account Management role, else null (never guessed among several). |
members - [PylonTeamMember!]!
|
Every assigned team member (account managers, processor, closer, ...). Underwriters are withheld — see underwriter. Other roles flow through; empty until the loan's assignments have synced. |
underwriter - UnderwriterScheduling
|
Anonymous scheduling handle for the loan's underwriter: the primary-role designation when the loan system provides one, else the sole member holding the Underwriter role, else null (never guessed among several). The underwriter is never named. |
Example
{
"accountManager": PylonTeamMember,
"members": [PylonTeamMember],
"underwriter": UnderwriterScheduling
}
PylonTeamMember
Description
A member of the loan's Pylon team.
Fields
| Field Name | Description |
|---|---|
email - String
|
Email address. |
name - String
|
Full name. |
nmlsId - String
|
NMLS identifier, when the member is licensed. |
roles - [String!]!
|
Role names as configured in the loan system (e.g. "Account Management", "Underwriter"). |
schedulingUrl - String
|
Booking link (e.g. Calendly) for this person, when one is on file. |
Example
{
"email": "xyz789",
"name": "xyz789",
"nmlsId": "xyz789",
"roles": ["abc123"],
"schedulingUrl": "xyz789"
}
QmFeeCapViolation
Description
Loan post-structuring violates QM fee cap.
Example
{"borrowerPaidFees": 123.45, "loanAmount": 987.65, "parRate": 123.45}
Race
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AM_INDIAN_ALASKAN"
RateLockDetails
Description
Rate lock related fields
Fields
| Field Name | Description |
|---|---|
comments - String
|
Rate lock comments |
expirationTime - DateTime
|
The expiration time of the lock |
lockedTime - DateTime
|
The time when the rate was locked |
period - NonNegativeInt
|
The rate lock period in days |
requestedTime - DateTime
|
The time when the rate lock was requested |
status - RateLockStatus
|
Rate lock status |
Example
{
"comments": "abc123",
"expirationTime": "2007-12-03T10:15:30Z",
"lockedTime": "2007-12-03T10:15:30Z",
"period": 123,
"requestedTime": "2007-12-03T10:15:30Z",
"status": "CANCELLED"
}
RateLockStatus
Description
Rate lock status
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
RateLockStatusComparator
Description
Comparisons available on the rate-lock status.
Fields
| Input Field | Description |
|---|---|
eq - RateLockStatus
|
|
in - [RateLockStatus!]
|
|
isNull - Boolean
|
|
neq - RateLockStatus
|
|
nin - [RateLockStatus!]
|
|
null - Boolean
|
Example
{
"eq": "CANCELLED",
"in": ["CANCELLED"],
"isNull": true,
"neq": "CANCELLED",
"nin": ["CANCELLED"],
"null": true
}
Rates
Fields
| Field Name | Description |
|---|---|
apor - Apor
|
|
Arguments
|
|
Example
{"apor": Apor}
ReadyToUnderwrite
Description
Readiness for the PROCESSING → UNDERWRITING transition. What's needed before submitting for underwriting?
Fields
| Field Name | Description |
|---|---|
_ - Boolean!
|
A no-op field that should not be requested. It will always throw an error if requested. It only exists to allow empty objects and may be removed in the future. This field should not be requested. It only exists to allow empty objects and may be removed in the future if more fields are added to this type. |
allRequirements - [Requirement!]!
|
Every requirement for this transition at any depth, flattened, optionally filtered by phase and by folded evaluation verdict. Use requirements for the tree: it returns roots and filters roots, so a phase or verdict that only ever lands on a leaf is invisible there. Use this to ask for the matching requirements themselves — verdict: [NEEDS_HUMAN] is every requirement on the loan waiting on a human. A verdict exists only on an OPEN requirement, so filtering by verdict never returns a satisfied or waived one; null verdict means never evaluated and matches no filter. Each match still renders its own subtree under children. |
Arguments
|
|
requirements - [Requirement!]!
|
All requirements for this transition, optionally filtered by phase. Omit the argument to get all requirements regardless of phase. |
Arguments
|
|
Example
{
"_": true,
"allRequirements": [Requirement],
"requirements": [Requirement]
}
RealEstateOwnedGrossRentalIncome
Description
Real estate owned gross rental income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
propertyId - ID!
|
The owned real estate associated with the income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"propertyId": "4",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
ReappLoanInput
ReappLoanResponse
Description
The result of a reapp dry run or execution.
Fields
| Field Name | Description |
|---|---|
friendlyLoanId - String
|
The created loan's friendly id. Null on a dry run. |
loanId - ID
|
The id of the created loan. Null on a dry run. |
steps - [ReappStepResult!]!
|
The plan's steps, in execution order. |
warnings - [String!]!
|
Source data the plan does not recreate — review before executing. |
Example
{
"friendlyLoanId": "abc123",
"loanId": 4,
"steps": [ReappStepResult],
"warnings": ["abc123"]
}
ReappMutations
Description
Root object for reapp mutations (internal use only).
Fields
| Field Name | Description |
|---|---|
reappLoan - ReappLoanResponse
|
Duplicate a loan by replaying its data through the API as a new application. Pass dryRun to review the plan first. Internal use only. |
Arguments
|
|
Example
{"reappLoan": ReappLoanResponse}
ReappStepResult
ReassignLoanOfficerTasksInput
Description
Input to the reassignLoanOfficerTasks mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": 4}
ReassignLoanOfficerTasksResponse
Description
Response of the reassignLoanOfficerTasks mutation.
Fields
| Field Name | Description |
|---|---|
reassignedCount - NonNegativeInt!
|
How many loan officer tasks were reassigned to the borrower |
Example
{"reassignedCount": 123}
ReassignTaskInput
Description
Input to the reassignTask mutation.
Example
{
"assigneeBorrowerId": "4",
"loanId": 4,
"newAssignee": "abc123",
"taskId": 4
}
ReassignTaskResponse
RecentlyViewedLoan
Description
A loan the current user recently viewed within their active organization, with thin display fields for list rows.
Fields
| Field Name | Description |
|---|---|
contactPointFullName - String
|
The full name of the primary contact on the loan |
currentStage - String
|
The current stage that the loan is in. Returned raw so clients can apply their own stage-visibility policy. |
friendlyLoanId - String!
|
The human-friendly ID of the loan |
loanId - ID!
|
The ID of the loan |
loanNumber - String
|
The loan number in the origination system |
viewedAt - DateTimeISO!
|
When the current user last viewed this loan |
Example
{
"contactPointFullName": "xyz789",
"currentStage": "abc123",
"friendlyLoanId": "abc123",
"loanId": "4",
"loanNumber": "abc123",
"viewedAt": "2007-12-03T10:15:30Z"
}
RecomputeIncomeInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
ID of the income to recompute |
Example
{"id": 4}
RecomputeIncomeResponse
Fields
| Field Name | Description |
|---|---|
qualifiedAmount - NonNegativeFloat
|
The recomputed qualified (and verified) monthly amount, present when recomputed is true. |
recomputed - Boolean!
|
False when the income has no paystub data to recompute from (e.g. a manual/stated income); no change was made. |
Example
{"qualifiedAmount": 123.45, "recomputed": false}
RecordLoanViewInput
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
Example
{"loanId": 4}
RecordLoanViewResponse
Fields
| Field Name | Description |
|---|---|
success - Boolean!
|
True when the view was recorded. False when the caller has no org-user identity to record against (e.g. machine tokens); such calls are a silent no-op rather than an error. |
userErrors - [UserError!]!
|
Example
{"success": false, "userErrors": [UserError]}
RecordWireInInputsInput
Fields
| Input Field | Description |
|---|---|
applyCredits - Boolean!
|
|
concessionAmount - MonetaryAmount
|
Concession amount used by the approved purchase advice. Omit to retain the latest recorded amount, or use the selected loan terms on the first record. Provide null to resume the loan value. |
escrowAtClosing - MonetaryAmount
|
Escrow held at closing used by the approved purchase advice. Omit to retain the latest recorded amount, or use the loan value on the first record. Provide null to resume the loan value. |
globalMarginPercent - NonNegativeFloat
|
Global margin in percentage points: 2.75 means 2.75%, not 0.0275. Provide together with sellerMarginShare. Omit both to retain the latest recorded pair, or use the rate-lock margin on the first record. Provide null for both to resume the rate-lock margin. |
loanId - ID!
|
|
monthlyEscrow - MonetaryAmount
|
Monthly escrow used for a stripped payment. Omit to retain the latest recorded amount, or sum the loan components on the first record. Provide null to resume the loan components. |
passthroughFees - MonetaryAmount
|
Total pass-through fees used by the approved purchase advice. Omit to retain the latest recorded amount, or sum eligible loan fees on the first record. Provide null to resume the loan fees. |
purchaseDate - Date!
|
|
sellerMarginShare - NonNegativeFloat
|
Seller's fraction of the global margin, from 0 to 1: 0.8182 means 81.82%. Provide together with globalMarginPercent. Omit both to retain the latest recorded pair. |
supersededReason - FundingFigureSupersededReason
|
Why this input replaces the prior issued figure. Used only when a prior figure exists. |
totalToleranceCures - MonetaryAmount
|
Tolerance cures used by the approved purchase advice. Omit to retain the latest recorded amount, or use the loan value on the first record. Provide null to resume the loan value. |
Example
{
"applyCredits": true,
"concessionAmount": MonetaryAmount,
"escrowAtClosing": MonetaryAmount,
"globalMarginPercent": 123.45,
"loanId": "4",
"monthlyEscrow": MonetaryAmount,
"passthroughFees": MonetaryAmount,
"purchaseDate": "2007-12-03",
"sellerMarginShare": 123.45,
"supersededReason": "CALCULATION_REVISION",
"totalToleranceCures": MonetaryAmount
}
RecordWireInInputsResponse
Fields
| Field Name | Description |
|---|---|
inputVersion - FundingWireInInputVersion!
|
Example
{"inputVersion": FundingWireInInputVersion}
RecordWireInRemittanceInput
Fields
| Input Field | Description |
|---|---|
amount - MonetaryAmount!
|
The positive amount Pylon sent through the bank. |
figureId - ID!
|
The issued wire-in figure used for the bank transfer. |
fundsOrderedAt - DateTime!
|
The time when Pylon placed the bank transfer. |
idempotencyKey - String!
|
A retry key unique to this loan's wire-in records. |
loanId - ID!
|
The loan Pylon sent funds for. |
Example
{
"amount": MonetaryAmount,
"figureId": "4",
"fundsOrderedAt": "2007-12-03T10:15:30Z",
"idempotencyKey": "abc123",
"loanId": 4
}
RecordWireInRemittanceResponse
Fields
| Field Name | Description |
|---|---|
fundingSettlement - FundingSettlement!
|
|
remittance - FundingRemittance!
|
Example
{
"fundingSettlement": FundingSettlement,
"remittance": FundingRemittance
}
RecordWireOutRemittanceInput
Fields
| Input Field | Description |
|---|---|
amount - MonetaryAmount!
|
The positive amount ordered through the bank. |
figureId - ID!
|
The issued wire-out figure used for the bank order. |
fundsOrderedAt - DateTime!
|
The time when the reporting system placed the bank order. |
idempotencyKey - String!
|
A retry key unique to this loan's wire-out records. |
loanId - ID!
|
The loan whose wire was ordered. |
Example
{
"amount": MonetaryAmount,
"figureId": 4,
"fundsOrderedAt": "2007-12-03T10:15:30Z",
"idempotencyKey": "abc123",
"loanId": "4"
}
RecordWireOutRemittanceResponse
Fields
| Field Name | Description |
|---|---|
fundingSettlement - FundingSettlement!
|
|
remittance - FundingRemittance!
|
Example
{
"fundingSettlement": FundingSettlement,
"remittance": FundingRemittance
}
RediscloseInput
Description
Input to the loan.redisclose mutation.
Fields
| Input Field | Description |
|---|---|
changeDescription - String!
|
The Change of Circumstances Request Form's "Change Requested" cell — what changed, in the requester's own words ('Flipping to Fannie'). Not derivable from the drift report: that is what Pylon detected, this is what a person intended. |
changedCircumstanceReason - ChangeOfCircumstanceReason!
|
Why this is a changed circumstance under §1026.19(e)(3)(iv). Required, unlike the column it lands in: it is the judgement that permits a revised Loan Estimate to reset a fee's tolerance baseline, and a send without one is refused. |
loanId - ID!
|
The ID or friendly ID of the loan. |
supportingDocumentIds - [ID!]
|
Documents on this loan that evidence the changed circumstance, printed under the form's supporting-documentation rows. Every id must belong to loanId; one that does not refuses the send. Omitted leaves the rows blank for a human to complete, which is the paper form. |
Example
{
"changeDescription": "xyz789",
"changedCircumstanceReason": "CHANGED_CIRCUMSTANCE_AFFECTING_ELIGIBILITY",
"loanId": 4,
"supportingDocumentIds": [4]
}
RediscloseResponse
Description
Response of the loan.redisclose mutation.
Fields
| Field Name | Description |
|---|---|
assessedReasonKinds - [DisclosureDriftReasonKind!]!
|
What the drift report said at the moment of sending, which is what the package discloses. Not re-readable afterwards: a sent package becomes the new baseline, against which these reasons no longer stand. |
changeOfCircumstanceForm - ChangeOfCircumstanceForm
|
The Change of Circumstances Request Form filed on the loan for this request. |
changeOfCircumstanceRequest - ChangeOfCircumstanceRequest
|
The recorded change of circumstance — the §1026.19(e)(3)(iv) justification this send answers to. Null exactly when userErrors is non-empty. |
disclosuresRun - DisclosuresRunStatus
|
The disclosures run dispatched by this call — a revised Loan Estimate or a corrected Closing Disclosure, whichever the baseline owes. Generation is asynchronous, so a resolved run means the package was booked, not that the borrower has it; read its status for that. |
userErrors - [UserError!]!
|
A list of user errors that occurred while executing the loan.redisclose mutation. |
Example
{
"assessedReasonKinds": ["APR_INACCURATE"],
"changeOfCircumstanceForm": ChangeOfCircumstanceForm,
"changeOfCircumstanceRequest": ChangeOfCircumstanceRequest,
"disclosuresRun": DisclosuresRunStatus,
"userErrors": [UserError]
}
RefinanceCashOutType
Description
Refinance cash out type
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CASH_OUT"
RefinancePricingInput
Fields
| Input Field | Description |
|---|---|
amortizationTypes - [PricingAmortizationType!]
|
The amortization types to price. Defaults to fixed-only; request ADJUSTABLE_RATE (typically in a separate sequential call) to price ARM products, so one request never solves both halves of the sheet at once. Default = [FIXED] |
cashOut - NonNegativeInt
|
The amount of cash to be returned to the borrower from the equity. Default = 0 |
concessions - NonNegativeInt!
|
|
fipsCountyCode - String!
|
|
firstLienAmount - NonNegativeInt!
|
The remaining balance on the first lien of the property |
hoaDues - NonNegativeInt
|
Monthly homeowners association dues in dollars. When omitted, pricing behaves as if the property has no HOA dues. |
isBorrowerSelfEmployed - Boolean!
|
|
loanAmount - NonNegativeInt
|
The desired loan amount in dollars. When provided, pins the solver to this exact loan amount and the out-of-pocket cost is derived from it. When omitted, the solver determines the optimal loan amount. |
loanTermYears - Float!
|
|
monthlyDebt - Float!
|
|
monthlyIncome - Float!
|
|
neighborhoodHousingType - NeighborhoodHousingType!
|
|
numberOfUnits - NonNegativeInt
|
|
objectiveIntent - PricingObjectiveIntent
|
Configure the objective function to optimize against. Default = MIN_PITIA |
pricingConstraints - PricingConstraints
|
|
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Whether property taxes and insurance are included in the monthly payment (impounded). Defaults to impounded when omitted. |
propertyUsageType - PropertyUsageType!
|
|
propertyValue - NonNegativeInt!
|
The value of the property being refinanced in dollars. |
qualifyingFicoScore - Int
|
|
rateLockDays - Float!
|
Example
{
"amortizationTypes": ["ADJUSTABLE_RATE"],
"cashOut": 123,
"concessions": 123,
"fipsCountyCode": "abc123",
"firstLienAmount": 123,
"hoaDues": 123,
"isBorrowerSelfEmployed": false,
"loanAmount": 123,
"loanTermYears": 123.45,
"monthlyDebt": 123.45,
"monthlyIncome": 123.45,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"objectiveIntent": "MIN_DOWN_PAYMENT",
"pricingConstraints": PricingConstraints,
"propertyTaxesAndInsuranceIncludedInPayment": false,
"propertyUsageType": "INVESTMENT",
"propertyValue": 123,
"qualifyingFicoScore": 123,
"rateLockDays": 123.45
}
RefreshCreditReportInput
Description
Input to refresh an existing credit report
Fields
| Input Field | Description |
|---|---|
creditPullId - ID!
|
The ID of the completed credit pull to refresh |
Example
{"creditPullId": 4}
RefreshCreditReportResponse
Description
Response from refreshing a credit report
Fields
| Field Name | Description |
|---|---|
job - CreditPullJob
|
Credit pull job for the refresh |
userErrors - [String!]
|
User errors preventing refresh |
Example
{
"job": CreditPullJob,
"userErrors": ["abc123"]
}
RefreshLinkInput
RefreshLinkResponse
Fields
| Field Name | Description |
|---|---|
expiresAt - DateTime!
|
|
hostedUrl - String
|
The borrower-facing hosted link, null unless the link is pending and unexpired. |
linkId - String!
|
|
status - AssetVerificationLinkStatus!
|
Example
{
"expiresAt": "2007-12-03T10:15:30Z",
"hostedUrl": "xyz789",
"linkId": "xyz789",
"status": "COMPLETED"
}
RejectDocumentInput
RejectDocumentResponse
Description
Response of the rejected document mutation.
Fields
| Field Name | Description |
|---|---|
taskId - ID!
|
Success of the rejected task |
Example
{"taskId": "4"}
RelativeDateTime
Description
An instant, given either absolutely as an RFC 3339 date-time ("2026-07-18T00:00:00Z") or relatively as an ISO 8601 duration from now ("P2W" is two weeks ahead, "-P30D" is thirty days ago). Durations are resolved on the server against a single reading of the clock, so a window built from two of them cannot straddle a tick.
Example
RelativeDateTime
RemoveEmailDomainsInput
Fields
| Input Field | Description |
|---|---|
domains - [String!]!
|
Email domains to remove from the organization. |
Example
{"domains": ["xyz789"]}
RemoveEmailDomainsResponse
Fields
| Field Name | Description |
|---|---|
emailDomains - [String!]!
|
Example
{"emailDomains": ["xyz789"]}
RemoveLoanAssignmentInput
Fields
| Input Field | Description |
|---|---|
loanAssignmentId - ID!
|
Example
{"loanAssignmentId": 4}
RemoveLoanAssignmentResponse
Fields
| Field Name | Description |
|---|---|
success - Boolean!
|
|
userErrors - [UserError!]!
|
Example
{"success": false, "userErrors": [UserError]}
RemoveManualRequirementInput
Fields
| Input Field | Description |
|---|---|
requirementId - ID!
|
The manual requirement to remove (a req_… id). |
Example
{"requirementId": 4}
RemoveManualRequirementResponse
Description
Result of removing a manual requirement.
Fields
| Field Name | Description |
|---|---|
evictedRequirementIds - [ID!]!
|
The requirement ids this write evicted — normalized-cache eviction hints for the caller (ruling 2's counterpart when the row vanishes). |
requirement - Requirement
|
The affected requirement's post-reconcile subtree (adversarial-review ruling 2): every review mutation reconciles inline, so the caller can render the new phase without a refetch. Null when the requirement row no longer exists (evicted or not yet minted). |
warnings - [UnderwritingReviewWarning!]!
|
Non-fatal warnings about the write. Empty on a clean write. |
Example
{
"evictedRequirementIds": [4],
"requirement": Requirement,
"warnings": ["TARGET_SUPERSEDED"]
}
RentalIncome
Description
Rental income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
id - ID!
|
Node ID |
ownedProperty - OwnedProperty!
|
The associated owned property entity |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"id": "4",
"ownedProperty": OwnedProperty,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
ReopenAssessmentInput
ReopenAssessmentResponse
Description
Result of reopening an assessment.
Fields
| Field Name | Description |
|---|---|
evidenceId - ID!
|
The INVALIDATION act's content-addressed edge id. |
requirement - Requirement
|
The affected requirement's post-reconcile subtree (adversarial-review ruling 2): every review mutation reconciles inline, so the caller can render the new phase without a refetch. Null when the requirement row no longer exists (evicted or not yet minted). |
warnings - [UnderwritingReviewWarning!]!
|
Non-fatal warnings about the write. Empty on a clean write. |
Example
{
"evidenceId": "4",
"requirement": Requirement,
"warnings": ["TARGET_SUPERSEDED"]
}
ReportType
Description
Whether the liability was sourced from a credit report or self-reported
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CREDIT_REPORT"
RequestBrandingLogoUploadInput
Description
Input for requesting a branding-logo upload URL.
Fields
| Input Field | Description |
|---|---|
customerId - ID!
|
The customer to set the logo for (internal administrators are cross-customer, so the target is named explicitly). |
extension - BrandingLogoExtension!
|
Declared file type of the logo that will be uploaded. The received bytes must match it. |
Example
{"customerId": 4, "extension": "PNG"}
RequestBrandingLogoUploadResponse
Description
Response from requesting a branding-logo upload.
Fields
| Field Name | Description |
|---|---|
upload - BrandingLogoUpload!
|
The upload target. |
Example
{"upload": BrandingLogoUpload}
RequestConcessionInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt
|
|
loanId - ID
|
|
reason - String
|
Example
{
"amount": 123,
"loanId": 4,
"reason": "abc123"
}
RequestConcessionResponse
Fields
| Field Name | Description |
|---|---|
concession - Concession
|
Example
{"concession": Concession}
RequestLinkInput
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
Example
{"borrowerId": 4}
RequestLinkResponse
Fields
| Field Name | Description |
|---|---|
expiresAt - DateTime!
|
|
hostedUrl - String
|
The borrower-facing hosted link, null unless the link is pending and unexpired. |
linkId - String!
|
|
status - AssetVerificationLinkStatus!
|
Example
{
"expiresAt": "2007-12-03T10:15:30Z",
"hostedUrl": "abc123",
"linkId": "abc123",
"status": "COMPLETED"
}
RequestOrderInput
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
Example
{"borrowerId": 4}
RequestOrderResponse
Fields
| Field Name | Description |
|---|---|
existingOrderReused - Boolean!
|
|
expiresAt - DateTime!
|
|
orderId - String!
|
|
shareUrl - String
|
The borrower-facing verification link, null when the order has no usable link. |
status - IncomeVerificationOrderStatus!
|
Example
{
"existingOrderReused": false,
"expiresAt": "2007-12-03T10:15:30Z",
"orderId": "abc123",
"shareUrl": "abc123",
"status": "CANCELED"
}
RequestRateLockInput
RequestRateLockResponse
Description
Response of the requestRateLock mutation.
Fields
| Field Name | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": "4"}
RequestReconsiderationInput
Fields
| Input Field | Description |
|---|---|
requirementId - ID!
|
The requirement whose assessment the agent should revisit. |
Example
{"requirementId": "4"}
RequestReconsiderationResponse
Description
Result of requesting agent reconsideration. The agent's answer arrives asynchronously as an AGENT assertion with outcome CONCUR or DEFER; it can never displace an active human assertion (author precedence is structural).
Fields
| Field Name | Description |
|---|---|
requirement - Requirement
|
The affected requirement's post-reconcile subtree (adversarial-review ruling 2): every review mutation reconciles inline, so the caller can render the new phase without a refetch. Null when the requirement row no longer exists (evicted or not yet minted). |
warnings - [UnderwritingReviewWarning!]!
|
Non-fatal warnings about the write. Empty on a clean write. |
Example
{
"requirement": Requirement,
"warnings": ["TARGET_SUPERSEDED"]
}
RequestSupportDocumentUploadInput
Description
Input for requesting a support-document upload URL.
Example
{
"fileName": "abc123",
"loanApplicationId": 4
}
RequestSupportDocumentUploadResponse
Description
Response from requesting a document upload.
Fields
| Field Name | Description |
|---|---|
upload - SupportDocumentUpload!
|
The upload target. |
Example
{"upload": SupportDocumentUpload}
Requirement
Description
A requirement that must be satisfied before the loan can progress.
Fields
| Field Name | Description |
|---|---|
borrowerIds - [ID!]!
|
Borrowers this requirement applies to; empty when the requirement is loan-level. A composite carries the union of its children's borrowers. |
children - [Requirement!]!
|
Child requirements of a composite, each with its own phase, recursing through nested composites so a deep tree renders as a tree. Empty for leaf requirements. Unlike fulfillmentOptions, present in every phase — a satisfied or waived composite still lists its children here. |
description - String!
|
Human-readable label for this requirement, e.g. "W2 for Acme Corp (2025)". |
id - ID!
|
Stable identifier for this requirement, resolvable via the root node(id) query. |
openedAt - DateTimeISO!
|
When this requirement (re)entered its current OPEN period. A removed and later restored requirement carries the restore time, not its original creation time. |
phase - RequirementPhase!
|
Current resolution phase. Redundant with __typename but useful for client-side filtering without fragment matching. |
provenance - [ProvenanceSource!]!
|
Why this requirement exists — rule evaluation, manual condition, or data dependency. |
Possible Types
| Requirement Types |
|---|
Example
{
"borrowerIds": ["4"],
"children": [Requirement],
"description": "xyz789",
"id": "4",
"openedAt": "2007-12-03T10:15:30Z",
"phase": "OPEN",
"provenance": [ProvenanceSource]
}
RequirementAssigneeRole
Description
The role responsible for fulfilling a requirement. MULTIPLE indicates a composite with mixed ownership. SYSTEM indicates a prerequisite resolved automatically. MANUAL_REVIEW indicates the requirement is pending a human reviewer's judgment rather than borrower action. THIRD_PARTY indicates an external party must provide the requirement input. UNASSIGNED indicates no honest assignee role is available for the current requirement state.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"BORROWER"
RequirementPhase
Description
The resolution phase of a requirement: OPEN (not yet fulfilled), SATISFIED (evidence or judgment demonstrates it's met), WAIVED (authorized actor explicitly waived it).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"OPEN"
RequirementStatus
Description
Status of a requirement: PENDING (not started), PROCESSING (in progress), REJECTED (needs re-attempt), COMPLETED (satisfied).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMPLETED"
ReservesNotMetViolation
Description
Optimizer could not find a solution with sufficient reserves.
Fields
| Field Name | Description |
|---|---|
additionalReserveRequirements - Float!
|
Minimum additional dollars needed to meet the reserve requirements. |
Example
{"additionalReserveRequirements": 987.65}
ResetOrganizationUserMfaInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": "4"}
ResetOrganizationUserMfaResponse
Fields
| Field Name | Description |
|---|---|
userErrors - [GenericUserError!]!
|
Example
{"userErrors": [GenericUserError]}
RetirementFundAsset
Description
Retirement fund asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": 4,
"borrowerIds": ["4"],
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
RetirementIncome
Description
Retirement income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
RetryDocumentIntakeInput
Description
Ask for one uploaded file to be read again.
Fields
| Input Field | Description |
|---|---|
documentId - ID!
|
The uploaded file to re-read. |
Example
{"documentId": 4}
RetryDocumentIntakeResponse
Description
The outcome of asking for a re-read. Resolves once the request is accepted, NOT once the file has been re-read — poll the status for that.
Example
{"accepted": false, "attempt": 123}
RevokeConcessionInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
|
revocationReason - ConcessionRevocationReason
|
Example
{
"id": "4",
"revocationReason": "BETTER_LOAN_STRUCTURE"
}
RevokeConcessionResponse
Fields
| Field Name | Description |
|---|---|
concession - Concession
|
Example
{"concession": Concession}
RoyaltiesIncome
Description
Royalties income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
RuleProvenance
Description
Provenance from an SGR-evaluated rule. The requirement exists because a computed rule determined it was needed.
Fields
| Field Name | Description |
|---|---|
description - String!
|
Human-readable explanation of the rule. |
evidence - [GuidelineReference!]!
|
Supporting evidence. |
ruleId - String!
|
Machine-readable identifier of the SGR rule that produced this requirement. |
Example
{
"description": "abc123",
"evidence": [GuidelineReference],
"ruleId": "abc123"
}
RunLoanPreApprovalInput
Description
Input to the runLoanPreApproval mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": "4"}
RunLoanPreApprovalResponse
Description
Response of the runLoanPreApproval mutation.
Fields
| Field Name | Description |
|---|---|
preApprovalRun - PreApprovalRun
|
|
userErrors - [UserError!]!
|
Example
{
"preApprovalRun": PreApprovalRun,
"userErrors": [UserError]
}
RunLoanScriptInput
Description
Input for replaying a stored loan-script scenario.
Fields
| Input Field | Description |
|---|---|
scenarioId - String!
|
The scenario_id of the stored loan-script spec to replay. |
Example
{"scenarioId": "abc123"}
RunLoanScriptResponse
Description
The result of replaying a loan-script scenario.
Fields
| Field Name | Description |
|---|---|
assertions - [LoanScriptAssertionResult!]!
|
Outcomes of the script's assertions, evaluated after the last step. Empty when the script declares none. |
loanId - ID
|
The id of the loan created by the scenario, if any. |
steps - [LoanScriptStepResult!]!
|
The per-step results, in execution order. |
Example
{
"assertions": [LoanScriptAssertionResult],
"loanId": "4",
"steps": [LoanScriptStepResult]
}
SatisfiedRequirement
Description
A requirement that has been satisfied by evidence or judgment.
Fields
| Field Name | Description |
|---|---|
borrowerIds - [ID!]!
|
Borrowers this requirement applies to; empty when the requirement is loan-level. A composite carries the union of its children's borrowers. |
children - [Requirement!]!
|
Child requirements of a composite, each with its own phase, recursing through nested composites so a deep tree renders as a tree. Empty for leaf requirements. Unlike fulfillmentOptions, present in every phase — a satisfied or waived composite still lists its children here. |
description - String!
|
Human-readable label for this requirement, e.g. "W2 for Acme Corp (2025)". |
id - ID!
|
Node ID |
openedAt - DateTimeISO!
|
When this requirement (re)entered its current OPEN period. A removed and later restored requirement carries the restore time, not its original creation time. |
phase - RequirementPhase!
|
Current resolution phase. Redundant with __typename but useful for client-side filtering without fragment matching. |
provenance - [ProvenanceSource!]!
|
Why this requirement exists — rule evaluation, manual condition, or data dependency. |
resolution - FulfillmentResolution!
|
How this requirement was resolved, with pinned evidence hydrated on demand. |
resolvedAt - DateTimeISO!
|
When this requirement was satisfied. |
stopgapCompletedSubrequirements - [Requirement!]!
|
Children of a satisfied composite requirement, each with its own phase and resolution. Empty for non-composite (leaf) requirements. Superseded by the recursive children field on every requirement. Retained temporarily for already-shipped clients and removed after one release.
|
Example
{
"borrowerIds": [4],
"children": [Requirement],
"description": "abc123",
"id": "4",
"openedAt": "2007-12-03T10:15:30Z",
"phase": "OPEN",
"provenance": [ProvenanceSource],
"resolution": FulfillmentResolution,
"resolvedAt": "2007-12-03T10:15:30Z",
"stopgapCompletedSubrequirements": [Requirement]
}
SavingsAccountAsset
Description
Savings account asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": 4,
"borrowerIds": [4],
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
Scenario
Fields
| Field Name | Description |
|---|---|
fixedLoanAmountPurchasePricing - ProductPricingQuery!
|
|
Arguments
|
|
pricing - ProductPricingQuery!
|
|
Arguments
|
|
purchasePricing - ProductPricingQuery!
|
|
Arguments
|
|
purchasePricingNoRestructure - ProductPricingQuery!
|
|
Arguments |
|
refinancePricing - ProductPricingQuery!
|
|
Arguments
|
|
Example
{
"fixedLoanAmountPurchasePricing": ProductPricingQuery,
"pricing": ProductPricingQuery,
"purchasePricing": ProductPricingQuery,
"purchasePricingNoRestructure": ProductPricingQuery,
"refinancePricing": ProductPricingQuery
}
SeedAusRunInput
SeedAusRunResponse
SeedFromDocumentsInput
Description
Ask for a fresh application to be seeded from its uploads.
Fields
| Input Field | Description |
|---|---|
loanApplicationId - ID!
|
The loan whose uploaded documents to seed from. Must be effectively unfilled: nobody beyond the point-of-contact stub, and no prior seed. |
Example
{"loanApplicationId": 4}
SeedFromDocumentsResponse
Description
The outcome of asking for a seed. Resolves once the seed has been STARTED, not once it has finished — poll seedOutcome for that. A loan that is not seed-eligible is refused through userErrors, never by silently accepting.
Fields
| Field Name | Description |
|---|---|
userErrors - [GenericUserError!]!
|
What made the loan ineligible to seed (already filled, already seeded, nothing uploaded). Empty when the seed started. |
workflowId - String
|
The started seed run's id. Null exactly when userErrors is non-empty. |
Example
{
"userErrors": [GenericUserError],
"workflowId": "abc123"
}
SeedLoanFromDocumentsInput
Description
Ask for a loan to be seeded from an explicit set of its uploaded documents.
Fields
| Input Field | Description |
|---|---|
documentIds - [ID!]!
|
The uploaded documents to read — root files only, never discovered server-side. A call arriving while a prior seeding is still running on this loan cancels it (ending it CANCELLED) and starts fresh; there is no once-per-loan limit and no 'already filled' refusal — a value already on the application is held rather than overwritten, on every field, every run. |
loanApplicationId - ID!
|
The loan to seed. |
Example
{
"documentIds": [4],
"loanApplicationId": "4"
}
SeedLoanFromDocumentsResponse
Description
The outcome of asking for a seeding. Resolves once the run has STARTED, not once it has finished — poll documentIntake.seeding for that.
Fields
| Field Name | Description |
|---|---|
seeding - DocumentSeeding
|
The started run, PENDING. Null exactly when userErrors is non-empty. |
userErrors - [GenericUserError!]!
|
Empty when the run started. Populated only when none of the given documentIds resolve to this loan's own uploads. |
Example
{
"seeding": DocumentSeeding,
"userErrors": [GenericUserError]
}
SeedOutcomeInput
Description
Scope for a seed outcome read.
Fields
| Input Field | Description |
|---|---|
loanApplicationId - ID!
|
The loan whose seed outcome to report. |
Example
{"loanApplicationId": "4"}
SeedOutcomeResponse
Description
What one loan's seed did — counts of field KEYS and a typed refusal, NEVER field values. This surface is deliberately narrow and must not grow into an audit trail: what landed where, with which citations, is the write-receipt record's to answer, not a polling endpoint's.
Fields
| Field Name | Description |
|---|---|
appliedCount - Int!
|
Fields written onto the application, counted across every seeded borrower. Zero until the seed settles. |
coBorrowerCreated - Boolean!
|
Whether the seed minted at least one co-borrower for a second person the documents named. |
contestedCount - Int!
|
Distinct fields the documents contradicted each other about, left for a person to settle. |
contestedPersonCount - Int!
|
People the packet named who read too much like an existing borrower to mint and not enough to match — left for a person to settle. Their documents are attached but joined to nobody. |
heldCount - Int!
|
Fields held by a loan freeze, counted across borrowers. |
preexistingCount - Int!
|
Fields already holding somebody's typed value, held rather than overwritten — typed values always win. |
refusal - String
|
The typed refusal code (e.g. SEED_NO_NAMED_DOCUMENTS). Null unless status is REFUSED. |
status - SeedOutcomeStatus!
|
Where the seed has got to. |
unattributedDocumentCount - Int!
|
Documents naming nobody the run could compare — a nameless paystub, a name outside the comparable alphabet. Attached to the loan, joined to no borrower; somebody should file them by hand. |
withheldCount - Int!
|
Distinct fields read and deliberately not written — income, today. |
Example
{
"appliedCount": 123,
"coBorrowerCreated": false,
"contestedCount": 123,
"contestedPersonCount": 123,
"heldCount": 987,
"preexistingCount": 987,
"refusal": "xyz789",
"status": "FAILED",
"unattributedDocumentCount": 987,
"withheldCount": 987
}
SeedOutcomeStatus
Description
Where one loan's seed-from-documents run has got to. Unknown members should be read as PROCESSING.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"FAILED"
SeedWireOutWorksheetCaseInput
SeedWireOutWorksheetCaseResponse
Description
The result of seeding a synthetic wire-out worksheet case.
Fields
| Field Name | Description |
|---|---|
expectedWireOutAmount - MonetaryAmount!
|
The authoritative wire-out amount expected from the API. |
loanId - ID!
|
The populated development loan. |
sourceRow - Int!
|
The reproduced worksheet row. |
Example
{
"expectedWireOutAmount": MonetaryAmount,
"loanId": "4",
"sourceRow": 987
}
SelfEmployment
Description
Self employment
Fields
| Field Name | Description |
|---|---|
business - BorrowerBusiness
|
The associated business |
employmentClassification - EmploymentClassificationType!
|
Whether this is the borrower's primary or secondary employer |
endDate - Date
|
End date. Will be null if the employment is current. |
id - ID!
|
Employment ID |
isCurrentEmployment - Boolean!
|
Is the employment current? |
numberOfMonthsInLineOfWork - NonNegativeInt
|
The total number of months the borrower has been employed in this line of work, regardless of employer |
position - String
|
A name or description of the employment position or job title |
startDate - Date
|
Start date |
Example
{
"business": BorrowerBusiness,
"employmentClassification": "PRIMARY",
"endDate": "2007-12-03",
"id": 4,
"isCurrentEmployment": true,
"numberOfMonthsInLineOfWork": 123,
"position": "xyz789",
"startDate": "2007-12-03"
}
SelfEmploymentBusinessInput
Description
Self employment business input
Fields
| Input Field | Description |
|---|---|
address - AddressInput!
|
Address |
name - String!
|
Name |
percentOwnership - NonNegativeFloat!
|
Percent of the business that the borrower owns. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
Example
{
"address": AddressInput,
"name": "abc123",
"percentOwnership": 123.45
}
SelfEmploymentIncome
Description
Self-employment income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
employment - SelfEmployment!
|
The associated employment |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"employment": SelfEmployment,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
SelfEmploymentLossIncome
Description
Self employment loss. Amounts are the magnitude of the loss and reduce qualifying income.
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
employment - Employment
|
The self-employment this loss is associated with |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"employment": Employment,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
SendBorrowerPortalInviteInput
SendBorrowerPortalInviteResponse
Description
Response of the send borrower portal invite mutation.
Fields
| Field Name | Description |
|---|---|
expiresAt - String!
|
ISO-8601 instant after which the invite's claim link can no longer be redeemed |
Example
{"expiresAt": "xyz789"}
SendMessageInput
SendMessageResponse
Fields
| Field Name | Description |
|---|---|
advisorCompletionJob - AdvisorCompletionJob!
|
Example
{"advisorCompletionJob": AdvisorCompletionJob}
SendOrganizationUserInvitationEmailInput
Fields
| Input Field | Description |
|---|---|
email - String!
|
Example
{"email": "abc123"}
SendOrganizationUserInvitationEmailResponse
Fields
| Field Name | Description |
|---|---|
userErrors - [GenericUserError!]!
|
Example
{"userErrors": [GenericUserError]}
SeparateMaintenanceIncome
Description
Separate maintenance income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
SetBorrowerEmailVerifiedInput
SetBorrowerEmailVerifiedResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
ID of the borrower that was updated |
Example
{"id": "4"}
SetDefaultPrimaryLoanContactInput
Description
Sets the organization's default primary loan contact — the loan officer rendered on preapproval letters. Either select an existing loan contact by loanContactId, or omit it to create a new contact from the detail fields (firstName and lastName are then required).
Fields
| Input Field | Description |
|---|---|
email - String
|
E-mail address. |
firstName - String
|
First name of the new contact. Required when creating. |
lastName - String
|
Last name of the new contact. Required when creating. |
loanContactId - ID
|
Select an existing loan contact to make the default primary contact. When set, the detail fields below are ignored. When omitted, a new loan contact is created from those fields. |
middleName - String
|
Middle name. |
nmlsId - String
|
NMLS ID. |
phoneNumber - String
|
Phone number. |
title - String
|
Title or position shown on the preapproval letter. |
Example
{
"email": "abc123",
"firstName": "xyz789",
"lastName": "abc123",
"loanContactId": 4,
"middleName": "xyz789",
"nmlsId": "xyz789",
"phoneNumber": "abc123",
"title": "abc123"
}
SetDefaultPrimaryLoanContactResponse
Fields
| Field Name | Description |
|---|---|
defaultPrimaryLoanContact - LoanContact!
|
The organization's default primary loan contact after the update. |
Example
{"defaultPrimaryLoanContact": LoanContact}
SetExclusionReasonInput
Description
Update a Liability. Fields with non-null values will be updated, the rest will be ignored.
Fields
| Input Field | Description |
|---|---|
exclusionReason - LiabilityExclusionReason
|
The reason why the liability is excluded |
id - ID!
|
Liability ID |
Example
{"exclusionReason": "ASSIGNED_TO_ANOTHER_PARTY", "id": 4}
SetExclusionReasonResponse
Description
Response of the setExclusionReason mutation.
Fields
| Field Name | Description |
|---|---|
liability - Liability!
|
The updated Liability |
Example
{"liability": Liability}
SetIntentInput
Description
Update a Liability. Fields with non-null values will be updated, the rest will be ignored.
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Liability ID |
intent - LiabilityIntent
|
The intent regarding liability |
Example
{"id": "4", "intent": "DO_NOTHING"}
SetIntentResponse
Description
Response of the setIntent mutation.
Fields
| Field Name | Description |
|---|---|
liability - Liability!
|
The updated Liability |
Example
{"liability": Liability}
SetLoanOfficerSlugInput
SetLoanOfficerSlugResponse
Description
Response of the setLoanOfficerSlug mutation
Fields
| Field Name | Description |
|---|---|
globalLoanOfficer - GlobalLoanOfficer!
|
The updated GlobalLoanOfficer. |
Example
{"globalLoanOfficer": GlobalLoanOfficer}
SetOrganizationApiAccessStatusInput
Fields
| Input Field | Description |
|---|---|
status - CustomerApiAccessStatus!
|
The API access status to set for the current organization. |
Example
{"status": "ACTIVE"}
SetOrganizationApiAccessStatusResponse
Fields
| Field Name | Description |
|---|---|
apiAccessStatus - CustomerApiAccessStatus!
|
The organization's API access status after the change. |
Example
{"apiAccessStatus": "ACTIVE"}
SetSubjectPropertyFirstLienInput
SetSubjectPropertyFirstLienResponse
Fields
| Field Name | Description |
|---|---|
subjectProperty - SubjectProperty!
|
Updated subject property |
Example
{"subjectProperty": SubjectProperty}
SetUseOwnTitleCompanyInput
SetUseOwnTitleCompanyResponse
Sex
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"FEMALE"
SocialSecurityIncome
Description
Social Security income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
SortDirection
Description
The direction in which to sort a collection of items (ascending or descending).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ASC"
StandardEmployment
Description
Standard employment
Fields
| Field Name | Description |
|---|---|
borrowerHasSpecialRelationshipWithEmployer - Boolean!
|
When true, indicates that the borrower has a special relationship with the employer, such as familial ties |
employer - Employer!
|
The borrower's employer |
employmentClassification - EmploymentClassificationType!
|
Whether this is the borrower's primary or secondary employer |
endDate - Date
|
End date. Will be null if the employment is current. |
id - ID!
|
Node ID |
incomePayType - IncomePayType
|
The type of pay (hourly or salaried) |
isCurrentEmployment - Boolean!
|
Is the employment current? |
numberOfMonthsInLineOfWork - NonNegativeInt
|
The total number of months the borrower has been employed in this line of work, regardless of employer |
position - String
|
A name or description of the employment position or job title |
startDate - Date
|
Start date |
Example
{
"borrowerHasSpecialRelationshipWithEmployer": false,
"employer": Employer,
"employmentClassification": "PRIMARY",
"endDate": "2007-12-03",
"id": 4,
"incomePayType": "HOURLY",
"isCurrentEmployment": true,
"numberOfMonthsInLineOfWork": 123,
"position": "abc123",
"startDate": "2007-12-03"
}
StandardEmploymentIncome
Description
Standard employment income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
employment - StandardEmployment!
|
The associated employment |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"employment": StandardEmployment,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
StartAnalyticsExportJobInput
Fields
| Input Field | Description |
|---|---|
format - AnalyticsExportFormat!
|
|
root - AnalyticsExportRoot!
|
Example
{"format": "CSV", "root": "LOAN_APPLICATIONS"}
StartAnalyticsExportJobResponse
Fields
| Field Name | Description |
|---|---|
job - AnalyticsExportJob!
|
Example
{"job": AnalyticsExportJob}
StartBulkLoanDocumentsExportInput
Description
Input to the startBulkLoanDocumentsExport mutation.
Example
{"documentIds": [4], "includeDisclosurePackages": false, "loanId": 4}
StartBulkLoanDocumentsExportResponse
Description
Response of the startBulkLoanDocumentsExport mutation.
Fields
| Field Name | Description |
|---|---|
job - BulkLoanDocumentsExportJob!
|
The created bulk loan documents export job. |
Example
{"job": BulkLoanDocumentsExportJob}
StartIndividualCreditPullJobInput
Description
Input to start a hard credit pull job for an individual
Fields
| Input Field | Description |
|---|---|
borrower - CreditPullBorrowerInput!
|
Credit pull borrower |
creditReportId - String
|
Vendor case number of an existing credit report to import. When set, the job retrieves that report instead of placing a new credit order. |
pullType - CreditPullType
|
Type of credit to pull (soft or hard) |
Example
{
"borrower": CreditPullBorrowerInput,
"creditReportId": "xyz789",
"pullType": "HARD"
}
StartIndividualCreditPullJobResponse
Description
Response of the startIndividualHardCreditPullJob mutation
Fields
| Field Name | Description |
|---|---|
job - CreditPullJob
|
Credit pull job |
userErrors - [String!]
|
User errors preventing credit pull |
Example
{
"job": CreditPullJob,
"userErrors": ["abc123"]
}
StartJointCreditPullJobInput
Description
Input to start a joint hard credit pull job for two co-borrowers on the same loan application
Fields
| Input Field | Description |
|---|---|
borrower1 - CreditPullBorrowerInput!
|
The first of two borrowers to be included in the joint credit report. Must be on the same loan application as borrower2. |
borrower2 - CreditPullBorrowerInput!
|
The second of two borrowers to be included in the joint credit report. Must be on the same loan application as borrower1. |
creditReportId - String
|
Vendor case number of an existing credit report to import. When set, the job retrieves that report instead of placing a new credit order. |
pullType - CreditPullType
|
Type of credit to pull (soft or hard) |
Example
{
"borrower1": CreditPullBorrowerInput,
"borrower2": CreditPullBorrowerInput,
"creditReportId": "xyz789",
"pullType": "HARD"
}
StartJointCreditPullJobResponse
Description
Response of the startJointHardCreditPullJob mutation
Fields
| Field Name | Description |
|---|---|
job - CreditPullJob
|
Credit pull job |
userErrors - [String!]
|
User errors preventing credit pull |
Example
{
"job": CreditPullJob,
"userErrors": ["abc123"]
}
StartLpaKnownRulesBackfillInput
Fields
| Input Field | Description |
|---|---|
afterAusRunId - ID
|
Cursor returned by the previous backfill execution. |
maxRuns - PositiveInt!
|
Maximum number of historical AUS runs to process. |
Example
{"afterAusRunId": 4, "maxRuns": 123}
StartLpaKnownRulesBackfillResponse
Fields
| Field Name | Description |
|---|---|
workflowId - String!
|
Example
{"workflowId": "xyz789"}
StateAbbreviated
Description
US state in two-letter abbreviated format
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AK"
StateCodeComparator
StateLicense
StateLicenseInput
StatusLpaKnownRulesBackfillInput
Fields
| Input Field | Description |
|---|---|
workflowId - ID!
|
Example
{"workflowId": 4}
StatusLpaKnownRulesBackfillResponse
Fields
| Field Name | Description |
|---|---|
hasMore - Boolean
|
|
nextCursor - ID
|
|
status - String!
|
|
totalCataloged - NonNegativeInt
|
|
totalErrors - NonNegativeInt
|
|
totalProcessed - NonNegativeInt
|
|
totalSkipped - NonNegativeInt
|
|
workflowId - ID!
|
Example
{
"hasMore": false,
"nextCursor": 4,
"status": "abc123",
"totalCataloged": 123,
"totalErrors": 123,
"totalProcessed": 123,
"totalSkipped": 123,
"workflowId": 4
}
StockAsset
Description
Stock asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": [4],
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
StockOptionsAsset
Description
Stock options asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": ["4"],
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"verifiedAmount": 123
}
StrawBuyerFraudConditionBlocker
Description
Straw buyer fraud condition detected
Fields
| Field Name | Description |
|---|---|
type - String!
|
Example
{"type": "abc123"}
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
StructureValidation
Fields
| Field Name | Description |
|---|---|
experiment - StructureValidationDebugResult
|
|
Arguments
|
|
Example
{"experiment": StructureValidationDebugResult}
StructureValidationDebugResult
StructureValidationOverride
Fields
| Input Field | Description |
|---|---|
purchasePrice - PositiveInt
|
Example
{"purchasePrice": 123}
StructuringError
Fields
| Field Name | Description |
|---|---|
loanTermYears - PositiveInt!
|
The term length of the loan, in years |
lock - PositiveInt!
|
The number of days this rate can be locked for. |
product - Product!
|
The product to which these calculations apply. |
publishedAt - DateTimeISO!
|
The date and time that rates for this product were published. |
publishedOn - Date!
|
The date that rates for this product were published. Use publishedAt for full timestamp precision. |
rate - Float!
|
The interest rate as a percentage. |
rateId - ID!
|
The ID of the rate. |
unsatisfiabilityDetails - [ProductStructureUnsatisfiabilityDetails!]!
|
Example
{
"loanTermYears": 123,
"lock": 123,
"product": Product,
"publishedAt": "2007-12-03T10:15:30Z",
"publishedOn": "2007-12-03",
"rate": 987.65,
"rateId": "4",
"unsatisfiabilityDetails": [GuidelineViolation]
}
StructuringResult
Types
| Union Types |
|---|
Example
EligibleProductStructure
SubjectProperty
Fields
| Field Name | Description |
|---|---|
address - Address
|
US Address |
attachmentType - AttachmentEnum
|
Whether the property is physically attached to neighboring units |
avmEstimatedValue - NonNegativeInt
|
The model estimated value of the property |
avmProvider - String
|
The model that provided estimated value of the property |
borrowerSpecifiedMonthlyPropertyTaxes - NonNegativeInt
|
The borrower-specified monthly property taxes |
firstLienAmount - NonNegativeInt
|
The remaining balance on the first lien of the property |
firstLienLiabilityId - ID
|
The ID of the first lien on the property |
hoaDues - NonNegativeInt
|
The monthly HOA dues of the property |
homeInsuranceMonthlyAmount - NonNegativeInt
|
The monthly home insurance premium associated with this property |
homeInsuranceMonthlyAmountEstimate - PositiveFloat
|
Pylon's own estimate of the monthly home insurance premium, derived from the purchase price on a purchase and the estimated value on a refinance. This is what Pylon prices and discloses against when homeInsuranceMonthlyAmount is null. Null when there is no value to derive it from. |
id - ID!
|
Node ID |
isManufacturedHome - Boolean
|
Marks a subject property as a manufactured home |
isMixedUse - Boolean
|
Marks a subject property as having a mixed-use character |
isPlannedUnitDevelopment - Boolean
|
Marks a subject property as being part of a planned unit development |
liabilities - [Liability!]!
|
The liabilities associated with the subject property |
manuallyEstimatedValue - NonNegativeInt
|
The manually estimated value of the property |
neighborhoodHousingType - NeighborhoodHousingType
|
The type of property |
numberOfUnits - NonNegativeInt
|
The number of dwelling units on the property |
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Is Property taxes and insurance included in payment |
rentalEstimatedGrossMonthlyRentAmount - NonNegativeInt
|
The estimated gross monthly rent amount (for investment properties) |
subjectPropertyIntent - SubjectPropertyIntent!
|
Example
{
"address": Address,
"attachmentType": "ATTACHED",
"avmEstimatedValue": 123,
"avmProvider": "xyz789",
"borrowerSpecifiedMonthlyPropertyTaxes": 123,
"firstLienAmount": 123,
"firstLienLiabilityId": "4",
"hoaDues": 123,
"homeInsuranceMonthlyAmount": 123,
"homeInsuranceMonthlyAmountEstimate": 123.45,
"id": "4",
"isManufacturedHome": true,
"isMixedUse": true,
"isPlannedUnitDevelopment": true,
"liabilities": [Liability],
"manuallyEstimatedValue": 123,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"propertyTaxesAndInsuranceIncludedInPayment": true,
"rentalEstimatedGrossMonthlyRentAmount": 123,
"subjectPropertyIntent": SubjectPropertyIntent
}
SubjectPropertyIntent
Description
SubjectPropertyIntent
Fields
| Field Name | Description |
|---|---|
county - County
|
The county in which the borrower(s) intend to purchase |
id - ID!
|
The ID of the SubjectPropertyIntent |
isPlannedUnitDevelopment - Boolean
|
Marks a subject property as being part of a planned unit development Use SubjectProperty to read and update this field |
neighborhoodHousingType - NeighborhoodHousingType
|
The type of housing |
propertyUsageType - PropertyUsageType
|
How the borrower(s) intend to use the property |
state - StateAbbreviated
|
Abbreviated US state name (including DC) |
Example
{
"county": County,
"id": "4",
"isPlannedUnitDevelopment": true,
"neighborhoodHousingType": "CONDOMINIUM",
"propertyUsageType": "INVESTMENT",
"state": "AK"
}
SubjectPropertyMutations
Fields
| Field Name | Description |
|---|---|
addSubjectPropertyIntent - AddSubjectPropertyIntentResponse
|
Update a SubjectPropertyIntent. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
attachAddress - AttachSubjectPropertyAddressResponse
|
Attaches street-level address to a subject property. |
Arguments |
|
attachLiabilities - AttachSubjectPropertyLiabilitiesResponse
|
Attach liabilities to the subject property. |
Arguments |
|
create - CreateSubjectPropertyResponse
|
Create a new subject property |
Arguments
|
|
detachAddress - DetachSubjectPropertyAddressResponse
|
Detach the address from a subject property. |
Arguments |
|
detachLiabilities - DetachSubjectPropertyLiabilitiesResponse
|
Detach liabilities from the subject property. |
Arguments |
|
setFirstLien - SetSubjectPropertyFirstLienResponse
|
Add first lien to a subject property. |
Arguments |
|
unsetFirstLien - UnsetSubjectPropertyFirstLienResponse
|
Remove first lien from a subject property. |
Arguments |
|
update - UpdateSubjectPropertyResponse
|
Update a SubjectProperty. Fields with non-null values will be updated, the rest will be ignored. |
Arguments
|
|
updateSubjectPropertyIntent - UpdateSubjectPropertyIntentResponse
|
Update a SubjectPropertyIntent. Fields with non-null values will be updated, the rest will be ignored. |
Arguments |
|
Example
{
"addSubjectPropertyIntent": AddSubjectPropertyIntentResponse,
"attachAddress": AttachSubjectPropertyAddressResponse,
"attachLiabilities": AttachSubjectPropertyLiabilitiesResponse,
"create": CreateSubjectPropertyResponse,
"detachAddress": DetachSubjectPropertyAddressResponse,
"detachLiabilities": DetachSubjectPropertyLiabilitiesResponse,
"setFirstLien": SetSubjectPropertyFirstLienResponse,
"unsetFirstLien": UnsetSubjectPropertyFirstLienResponse,
"update": UpdateSubjectPropertyResponse,
"updateSubjectPropertyIntent": UpdateSubjectPropertyIntentResponse
}
SubjectPropertyNetCashFlowIncome
Description
Subject property net cash flow income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
SubmitCounterAssessmentInput
Fields
| Input Field | Description |
|---|---|
assertionId - String!
|
Client-supplied per-act draft id (the draft-once model): held in client state while the underwriter drafts, sent unchanged on every retry of the same Save. Citation ids and the assertion's content-addressed edge id derive from it, so a double-click or network retry is a structural no-op; a revised payload under a new draft id is a new assertion. |
citations - [CounterAssessmentCitationInput!]!
|
Citations grounding the assessment. Required toward FULFILLED for kinds that argue from documents (gates and computed kinds are exempt). |
reasoning - String!
|
The underwriter's reasoning. |
requirementId - ID!
|
The requirement being assessed. |
verdict - UnderwriterVerdict!
|
The underwriter's verdict on the requirement. |
Example
{
"assertionId": "xyz789",
"citations": [CounterAssessmentCitationInput],
"reasoning": "xyz789",
"requirementId": "4",
"verdict": "FULFILLED"
}
SubmitCounterAssessmentResponse
Description
Result of submitting a counter-assessment.
Fields
| Field Name | Description |
|---|---|
citationIds - [ID!]!
|
The persisted citation ids, in input order — deterministic per (assertionId, ordinal), so a retry returns the identical ids. |
evidenceId - ID!
|
The underwriter assertion's content-addressed edge id. |
requirement - Requirement
|
The affected requirement's post-reconcile subtree (adversarial-review ruling 2): every review mutation reconciles inline, so the caller can render the new phase without a refetch. Null when the requirement row no longer exists (evicted or not yet minted). |
warnings - [UnderwritingReviewWarning!]!
|
Non-fatal warnings about the write. Empty on a clean write. |
Example
{
"citationIds": [4],
"evidenceId": 4,
"requirement": Requirement,
"warnings": ["TARGET_SUPERSEDED"]
}
SubmitUnderwritingNotesInput
Description
Input to the submitUnderwritingNotes mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
notes - String
|
Notes submitted with the underwriting run (max 10000 characters, measured as UTF-8 bytes so accented characters and emoji count extra) |
routeToUnderwriting - Boolean
|
The explicit submit-for-underwriting action; routes the loan into Underwriting even from a later stage. Left unset by the document-upload dialog, whose notes must never move the stage backward. |
taskGateOverride - UnderwritingTaskGateOverrideInput
|
Submit despite an unmet task-completion gate. Only honored together with routeToUnderwriting; refused with LOAN_UNAUTHORIZED_ACCESS for callers without the internal administrator scope. |
Example
{
"loanId": "4",
"notes": "xyz789",
"routeToUnderwriting": true,
"taskGateOverride": UnderwritingTaskGateOverrideInput
}
SubmitUnderwritingNotesResponse
Description
Response of the submitUnderwritingNotes mutation.
Example
{"jobId": 4, "notes": "abc123"}
SupportAdminIssueType
Description
An issue type as administrators see it: includes retired entries and the Plain link state hidden from customer-facing discovery.
Example
{
"displayName": "xyz789",
"isActive": false,
"key": 4,
"vendorId": 4
}
SupportAdminMutations
Description
Root type for Pylon-internal support administration.
Fields
| Field Name | Description |
|---|---|
addIssueType - AddIssueTypeResponse
|
Register a new issue type (or reactivate a previously deleted one). The backing Plain label is linked lazily on first use. |
Arguments
|
|
deleteIssueType - DeleteIssueTypeResponse
|
Retire an issue type: it leaves discovery and filing rejects its key. Idempotent for an already-retired one; labels applied to existing threads are unaffected. |
Arguments
|
|
importIssueType - ImportIssueTypeResponse
|
Register an issue type from an existing Plain label type, linked immediately (no lazy sync). |
Arguments
|
|
Example
{
"addIssueType": AddIssueTypeResponse,
"deleteIssueType": DeleteIssueTypeResponse,
"importIssueType": ImportIssueTypeResponse
}
SupportAdminQueries
Description
Root type for Pylon-internal support administration queries.
Fields
| Field Name | Description |
|---|---|
issueTypes - [SupportAdminIssueType!]!
|
Every issue type, retired ones included, with its escalation and link state. |
Example
{"issueTypes": [SupportAdminIssueType]}
SupportDocumentUpload
Description
A target for uploading a support document.
Fields
| Field Name | Description |
|---|---|
expiresAt - String!
|
When the upload slot expires if no file is posted (ISO-8601). |
uploadUrl - String!
|
URL to POST the file to as multipart/form-data (a single "files" field), authenticated the same way as this request. The response contains the stored document's id, which can then be attached to tickets and messages any number of times. |
Example
{
"expiresAt": "xyz789",
"uploadUrl": "xyz789"
}
SupportIssueType
SupportMessageAuthor
Description
Who posted a support-ticket message: a requester on the filing customer's side, or the support team.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"REQUESTER"
SupportMutations
Description
Root type for support mutations.
Fields
| Field Name | Description |
|---|---|
addSupportMessage - AddSupportMessageResponse
|
Add a message to an existing ticket's thread. |
Arguments
|
|
createSupportTicket - CreateSupportTicketResponse
|
File a loan-specific support ticket. Creates a Plain thread with the given label, requester identity, and question body. |
Arguments
|
|
requestSupportDocumentUpload - RequestSupportDocumentUploadResponse
|
Register a support-attachment upload and get the URL to POST the file to. Reference the returned uploadId in createSupportTicket.attachmentUploadIds once the file is uploaded. |
Arguments |
|
Example
{
"addSupportMessage": AddSupportMessageResponse,
"createSupportTicket": CreateSupportTicketResponse,
"requestSupportDocumentUpload": RequestSupportDocumentUploadResponse
}
SupportQueries
Description
Root type for support queries.
Fields
| Field Name | Description |
|---|---|
issueTypes - [SupportIssueType!]!
|
The set of issue types available when filing a ticket. |
pylonTeam - PylonTeam!
|
The loan's Pylon team as assigned in the loan system. |
Arguments
|
|
supportTicket - SupportTicket!
|
Read a single ticket (with its current Plain status) by id. |
Arguments
|
|
supportTicketMessages - [SupportTicketMessage!]!
|
A ticket's conversation, oldest first: the messages filed through this API and the support team's replies. |
Arguments
|
|
supportTickets - SupportTicketConnection!
|
A page of the calling customer's tickets, ordered by creation time (newest first unless sortDirection says otherwise). |
Arguments
|
|
supportTicketsForLoan - [SupportTicket!]!
|
All tickets associated with a given loan. |
Arguments
|
|
Example
{
"issueTypes": [SupportIssueType],
"pylonTeam": PylonTeam,
"supportTicket": SupportTicket,
"supportTicketMessages": [SupportTicketMessage],
"supportTickets": SupportTicketConnection,
"supportTicketsForLoan": [SupportTicket]
}
SupportRecipient
SupportRecipientInput
SupportTicket
Description
A support ticket. Backed by a Plain thread, which is the system of record.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Unique identifier of the ticket (the Plain thread id). |
loanApplicationId - ID
|
The loan application this ticket is about, if any. |
lockedAt - DateTime
|
When the support desk locked the ticket; null while it accepts replies. A lock is permanent and a locked ticket rejects addSupportMessage; open a new ticket instead. |
reference - String
|
Human-readable ticket reference (e.g. T-1234). |
status - String!
|
Ticket status, passed through from Plain as-is. |
title - String!
|
Ticket title. |
Example
{
"id": 4,
"loanApplicationId": 4,
"lockedAt": "2007-12-03T10:15:30Z",
"reference": "abc123",
"status": "abc123",
"title": "xyz789"
}
SupportTicketConnection
Description
A page of the calling customer's support tickets.
Fields
| Field Name | Description |
|---|---|
edges - [SupportTicketEdge!]!
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Total tickets matching the query, across all pages. Unaffected by first/last/after/before. |
Example
{
"edges": [SupportTicketEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
SupportTicketEdge
Fields
| Field Name | Description |
|---|---|
cursor - ID!
|
|
node - SupportTicket!
|
Example
{"cursor": 4, "node": SupportTicket}
SupportTicketMessage
Description
A message on a support ticket's thread.
Fields
| Field Name | Description |
|---|---|
additionalRecipients - [SupportRecipient!]!
|
Extra addresses copied on the message, beyond the support desk and the requester. |
author - SupportMessageAuthor!
|
Which side of the conversation posted the message. |
authorEmail - String
|
Email address the message was sent from, when known. |
authorName - String
|
Display name of the sender, when known. |
id - ID!
|
Unique identifier of the message. |
sentAt - String!
|
When the message was posted (ISO-8601). |
text - String!
|
The message body as plain text (empty for attachment-only messages). |
Example
{
"additionalRecipients": [SupportRecipient],
"author": "REQUESTER",
"authorEmail": "xyz789",
"authorName": "xyz789",
"id": 4,
"sentAt": "xyz789",
"text": "abc123"
}
SystemResolution
Description
Resolved by the system — stage gate completed, waiting period elapsed, or precondition met.
Fields
| Field Name | Description |
|---|---|
assertions - [Assertion!]!
|
The satisfying assertion(s) pinned at resolution time. |
description - String!
|
Human-readable summary. |
method - String!
|
Resolution method identifier. Superseded by assertions. Retained temporarily for already-shipped clients and removed after one release.
|
Example
{
"assertions": [Assertion],
"description": "abc123",
"method": "xyz789"
}
TaskAssignee
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"BORROWER"
TaskEntityDetails
Description
Details about the entity associated with a task. Deprecated for BorrowerTask: prefer BorrowerTask.relatedEntity, which resolves the associated entity as a Node whose own fields can be queried directly.
Example
{
"borrowerId": "4",
"borrowerName": "abc123",
"entityDisplayName": "abc123",
"entityKind": "abc123"
}
TaskStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AutomaticallyCancelled"
TaskType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DataVerification"
TaxIdentifierNumberType
Description
Tax identifier number type
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER"
TemporaryLeaveIncome
Description
Temporary leave income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
TenPercentBucketExceededReason
Description
§1026.19(e)(3)(ii): the bucket total breached ten percent. The test is on the sum, so no single line is at fault.
Fields
| Field Name | Description |
|---|---|
allowanceAmount - MonetaryAmount!
|
|
contributors - [DisclosureDriftFeeIdentity!]!
|
The lines that moved. |
currentTotalAmount - MonetaryAmount!
|
|
disclosedTotalAmount - MonetaryAmount!
|
|
excessAmount - MonetaryAmount!
|
|
kind - DisclosureDriftReasonKind!
|
Example
{
"allowanceAmount": MonetaryAmount,
"contributors": [DisclosureDriftFeeIdentity],
"currentTotalAmount": MonetaryAmount,
"disclosedTotalAmount": MonetaryAmount,
"excessAmount": MonetaryAmount,
"kind": "APR_INACCURATE"
}
TextComparator
Description
Comparisons available on a text field.
Fields
| Input Field | Description |
|---|---|
contains - String
|
|
containsIgnoreCase - String
|
|
endsWith - String
|
|
eq - String
|
|
eqIgnoreCase - String
|
|
in - [String!]
|
|
isNull - Boolean
|
|
neq - String
|
|
neqIgnoreCase - String
|
|
nin - [String!]
|
|
notContains - String
|
|
notContainsIgnoreCase - String
|
|
notEndsWith - String
|
|
notStartsWith - String
|
|
null - Boolean
|
|
search - String
|
|
startsWith - String
|
|
startsWithIgnoreCase - String
|
Example
{
"contains": "xyz789",
"containsIgnoreCase": "xyz789",
"endsWith": "xyz789",
"eq": "xyz789",
"eqIgnoreCase": "xyz789",
"in": ["xyz789"],
"isNull": false,
"neq": "xyz789",
"neqIgnoreCase": "xyz789",
"nin": ["xyz789"],
"notContains": "abc123",
"notContainsIgnoreCase": "abc123",
"notEndsWith": "abc123",
"notStartsWith": "abc123",
"null": false,
"search": "abc123",
"startsWith": "xyz789",
"startsWithIgnoreCase": "xyz789"
}
ThawLoanInput
Description
Input to the thaw mutation.
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
The ID or friendly ID of the loan. |
Example
{"loanId": 4}
ThawLoanResponse
Description
Response of the thaw mutation.
Fields
| Field Name | Description |
|---|---|
loan - Loan!
|
The loan |
Example
{"loan": Loan}
TimeoutBlocker
Description
Timeout occurred during conditional approval check
Fields
| Field Name | Description |
|---|---|
type - String!
|
Example
{"type": "abc123"}
TipIncome
Description
Tip income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
employmentId - ID
|
The employment this income is associated with |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"employmentId": "4",
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
Title
Description
Information about the title associated with a loan.
Fields
| Field Name | Description |
|---|---|
agents - [Contact!]!
|
List of title agents. |
clearedToCloseAt - Date
|
Date the title was cleared to close. |
commitmentReceivedAt - DateTime
|
Date the title commitment was received from the title company. |
documents - [Document!]!
|
Documents associated with the title. |
orderedAt - DateTime
|
Date the title order was placed with the title company. |
policyEffectiveAt - Date
|
Effective date listed on the title insurance policy. |
policyReceivedAt - Date
|
Date the title insurance policy document was received. |
Example
{
"agents": [Contact],
"clearedToCloseAt": "2007-12-03",
"commitmentReceivedAt": "2007-12-03T10:15:30Z",
"documents": [Document],
"orderedAt": "2007-12-03T10:15:30Z",
"policyEffectiveAt": "2007-12-03",
"policyReceivedAt": "2007-12-03"
}
TitleVendor
Fields
| Field Name | Description |
|---|---|
contactInfo - TitleVendorContactInfo!
|
Contact information for the title vendor |
name - String!
|
The name of the title vendor company |
relationType - TitleVendorRelationType!
|
Type of services provided by this title vendor |
Example
{
"contactInfo": TitleVendorContactInfo,
"name": "abc123",
"relationType": "CLOSING_ONLY"
}
TitleVendorContactInfo
Fields
| Field Name | Description |
|---|---|
address - String
|
Street address of the title vendor |
city - String
|
City where the title vendor is located |
email - String
|
Email address of the title vendor |
licenseNumber - String
|
License number of the title vendor |
pointOfContact - TitleVendorPointOfContact
|
Point of contact information for the title vendor |
state - StateAbbreviated
|
State where the title vendor is located |
website - String
|
Website URL of the title vendor |
zip - String
|
ZIP code of the title vendor |
Example
{
"address": "xyz789",
"city": "abc123",
"email": "xyz789",
"licenseNumber": "abc123",
"pointOfContact": TitleVendorPointOfContact,
"state": "AK",
"website": "abc123",
"zip": "xyz789"
}
TitleVendorPointOfContact
TitleVendorRelationType
Description
Type of services provided by the title vendor
Values
| Enum Value | Description |
|---|---|
|
|
Only provides closing/settlement/escrow service. A separate title agent would be necessary for title insurance. |
|
|
Full service title agent. Provides closing/settlement/escrow services and title insurance. No other agent is necessary for a closing. |
|
|
Title only. An escrow/closing/settlement agent will also be necessary. |
|
|
Unknown or unspecified relation type. |
Example
"CLOSING_ONLY"
TitleVendorsInput
Fields
| Input Field | Description |
|---|---|
addressLine - String
|
Property address |
county - String!
|
County where the property is located |
purpose - LoanPurposeType!
|
Purpose of the loan transaction |
state - StateAbbreviated!
|
State code where the property is located |
township - String
|
Township where the property is located |
Example
{
"addressLine": "abc123",
"county": "abc123",
"purpose": "PURCHASE",
"state": "AK",
"township": "xyz789"
}
ToggleCustomerCommsOptInInput
ToggleCustomerCommsOptInResponse
ToggleEnabledLoanProductInput
Fields
| Input Field | Description |
|---|---|
enabled - Boolean!
|
|
product - PreapprovalProduct!
|
Example
{"enabled": true, "product": "BayviewBayviewJumboAus"}
ToggleEnabledLoanProductResponse
Fields
| Field Name | Description |
|---|---|
enabledLoanProducts - [PreapprovalProduct!]!
|
Example
{"enabledLoanProducts": ["BayviewBayviewJumboAus"]}
TogglePlaidProductInput
Fields
| Input Field | Description |
|---|---|
enabled - Boolean!
|
|
product - EnabledPlaidProduct!
|
Example
{"enabled": true, "product": "ASSETS"}
TogglePlaidProductResponse
Fields
| Field Name | Description |
|---|---|
enabledPlaidProducts - [EnabledPlaidProduct!]!
|
Example
{"enabledPlaidProducts": ["ASSETS"]}
TrailingCoBorrowerIncome
Description
Trailing co-borrower income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
TriggerAusRunInput
Fields
| Input Field | Description |
|---|---|
loanId - ID!
|
Example
{"loanId": "4"}
TriggerAusRunResponse
Fields
| Field Name | Description |
|---|---|
job - AusRunJob
|
|
userErrors - [AusUserError!]!
|
Example
{
"job": AusRunJob,
"userErrors": [MissingAttachmentTypeError]
}
TrustAccountAsset
Description
Trust account asset
Fields
| Field Name | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt!
|
The cash or market value of the asset in dollars |
assetReportId - ID
|
ID of the latest asset report that verified this asset |
borrowerIds - [ID!]
|
Ids of borrowers that are account holders on this asset |
id - ID!
|
Node ID |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
notableActivities - [FinancialAccountActivity!]!
|
Notable activities |
qualifiedAmount - NonNegativeInt
|
The qualified amount of the asset in dollars, used for underwriting. Null if no qualification has been computed. |
trusteeName - String
|
The legal name of the trustee |
verifiedAmount - NonNegativeInt
|
The verified cash or market value of the asset in dollars, confirmed by a third-party source |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"assetReportId": "4",
"borrowerIds": [4],
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"],
"notableActivities": [FinancialAccountActivity],
"qualifiedAmount": 123,
"trusteeName": "xyz789",
"verifiedAmount": 123
}
TrustIncome
Description
Trust income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
TruvBridgeToken
Description
TRUV bridge token for initializing widget
Fields
| Field Name | Description |
|---|---|
bridgeToken - String!
|
Bridge token for TRUV Bridge widget |
Example
{"bridgeToken": "xyz789"}
TruvExchangeMetadata
TruvLinkAccess
Description
TRUV token exchange success
Fields
| Field Name | Description |
|---|---|
linkId - String!
|
Truv task ID |
Example
{"linkId": "abc123"}
TruvVerificationOutcome
Description
Outcome of a Truv verification task. PENDING until the task's income has been ingested or Truv reports no data or a failure; COMPLETE once its income has been ingested; NO_DATA when the payroll connection returned no income; FAILED when the connection failed for good, or when the task has gone ten minutes without any progress. Callers should still bound their own polling.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMPLETE"
TruvVerificationOutcomeInput
UdnMonitorGql
Description
UDN monitor for a borrower
Fields
| Field Name | Description |
|---|---|
borrowerId - ID!
|
|
createdOn - DateTime!
|
|
id - ID!
|
|
lastRetrievedDate - DateTime
|
|
monitoringStartDate - DateTime
|
|
notificationEmails - [String!]!
|
|
status - UdnMonitoringStatus!
|
Example
{
"borrowerId": "4",
"createdOn": "2007-12-03T10:15:30Z",
"id": 4,
"lastRetrievedDate": "2007-12-03T10:15:30Z",
"monitoringStartDate": "2007-12-03T10:15:30Z",
"notificationEmails": ["abc123"],
"status": "ACTIVE"
}
UdnMonitoringStatus
Description
Status of UDN monitoring for a borrower
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACTIVE"
UnattachedEmploymentIncomeError
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Example
{
"code": "xyz789",
"errorId": "4",
"field": ["xyz789"],
"message": "xyz789"
}
UnderwriterScheduling
Description
Scheduling for the loan's underwriter. Deliberately anonymous: the underwriter's identity is withheld at the API layer, so this type carries no name, email, or other identifying fields.
Fields
| Field Name | Description |
|---|---|
schedulingUrl - String
|
Booking link (e.g. Calendly) for a meeting with the underwriter, when one resolves; null when the underwriter has no bookable link. |
Example
{"schedulingUrl": "abc123"}
UnderwriterVerdict
Description
The verdict of an underwriter's assessment: FULFILLED (the requirement is met) or UNFULFILLED (it is not). Humans never emit NEEDS_HUMAN.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"FULFILLED"
UnderwritingBlockingTask
Description
A task that blocks submitting for underwriting, together with the condition it satisfies: category, entity and requested document type. Group blockers by these instead of parsing task titles.
Fields
| Field Name | Description |
|---|---|
assignedTo - TaskAssignee!
|
Who the task is waiting on. The gate only counts BORROWER and LOAN_OFFICER tasks. |
conditionCategory - String
|
Category of the underlying document condition, e.g. Borrower, Income, Asset, OwnedProperty, PurchaseInformation. Null when the task source does not carry one. |
entity - UnderwritingBlockingTaskEntity
|
The entity the requested evidence is about, when known. |
requestedDocumentTypes - [String!]!
|
Names of the document types that satisfy the task; any one of them completes it. |
task - LoanOfficerDocumentTask!
|
The task itself. Same ids as loanOfficerDocumentTasks. |
Example
{
"assignedTo": "BORROWER",
"conditionCategory": "abc123",
"entity": UnderwritingBlockingTaskEntity,
"requestedDocumentTypes": ["xyz789"],
"task": LoanOfficerDocumentTask
}
UnderwritingBlockingTaskEntity
Description
The loan entity a blocking task is collecting evidence about.
Fields
| Field Name | Description |
|---|---|
displayName - String
|
Human-readable name of the entity (e.g. the borrower's name or the account's institution), when the task source provides one. |
id - ID!
|
Identifier of the entity, stable across the tasks on this loan that are about the same borrower, account, employer or property. |
type - String!
|
Kind of entity, e.g. Borrower, Income, Asset, Property, Liability. |
Example
{
"displayName": "xyz789",
"id": 4,
"type": "abc123"
}
UnderwritingEvidenceEdge
Description
One underwriting evidence edge naming this document (fusion CUP-1151, GetDocumentEvidence) — where the upload landed: rejected by a requirement, satisfied one, or, absent any edge at all, matched nothing. A DIFFERENT, unrelated facet from LoanDocumentEvidence above (extraction evidence) — same document node, two independent evidence stories.
Fields
| Field Name | Description |
|---|---|
createdAt - DateTimeISO
|
When this edge was recorded. |
id - ID!
|
The evidence edge's unique identifier. |
kind - String!
|
The edge kind (SUBMISSION, ASSERTION, REJECTION, and so on). |
reasoning - String
|
The author's free-text reasoning for the verdict. |
requirementId - ID!
|
The requirement this edge feeds. |
verdict - String
|
The verdict (FULFILLED / UNFULFILLED / NEEDS_HUMAN), populated on ASSERTION edges only — null for every other kind. |
Example
{
"createdAt": "2007-12-03T10:15:30Z",
"id": "4",
"kind": "xyz789",
"reasoning": "xyz789",
"requirementId": "4",
"verdict": "xyz789"
}
UnderwritingIntakeOutcome
Description
One intake-outcome recording for this document (fusion CUP-1266, GetIntakeOutcomes) — a single (documentKind, workflowRunId, outcome) row from the extraction orchestrator's per-run processing trace. The one queryable record for an upload that never minted an evidence edge at all (the drop-zone lane), which is exactly the case underwritingEvidence above answers empty for.
Fields
| Field Name | Description |
|---|---|
detail - String
|
The terminal failure message or the usability verdict's flag summary; null for RECEIVED and COMPLETED. |
documentKind - String!
|
The classified document kind (e.g. W2, PAYSTUB). |
outcome - String!
|
The recorded outcome (RECEIVED, COMPLETED, EXTRACTION_FAILED, and the rest of the classed terminal vocabulary). |
recordedAt - DateTimeISO
|
When this outcome was recorded. |
workflowRunId - ID!
|
The Temporal workflow run this recording belongs to — separates one dispatch's honest history from another's. |
Example
{
"detail": "xyz789",
"documentKind": "abc123",
"outcome": "abc123",
"recordedAt": "2007-12-03T10:15:30Z",
"workflowRunId": "4"
}
UnderwritingReviewMutations
Description
Underwriter review mutations namespace.
Fields
| Field Name | Description |
|---|---|
addManualRequirement - AddManualRequirementResponse
|
Mints an underwriter-added requirement, content-addressed on its slug (re-adding the same slug restores the same requirement). |
Arguments
|
|
confirmAssessment - ConfirmAssessmentResponse
|
Confirms a prior assessment by writing an endorsement assertion: same verdict, targetRef naming the endorsed edge. Warns (without blocking) when the target is no longer current. |
Arguments
|
|
removeManualRequirement - RemoveManualRequirementResponse
|
Removes an underwriter-added requirement (soft-remove; re-adding the same slug restores it). |
Arguments
|
|
reopenAssessment - ReopenAssessmentResponse
|
Reopens a human assessment by writing an INVALIDATION act against it. Rejected unless the target is the requirement's current active human assertion. |
Arguments
|
|
requestReconsideration - RequestReconsiderationResponse
|
Asks the agent lane to revisit its assessment of a requirement. The agent answers asynchronously with a CONCUR/DEFER assertion that can never displace an active human assertion. |
Arguments
|
|
submitCounterAssessment - SubmitCounterAssessmentResponse
|
Writes the underwriter's own assessment: citation rows plus one UNDERWRITER assertion pinning them. Retries of the same draft (same assertionId) are structural no-ops. |
Arguments
|
|
Example
{
"addManualRequirement": AddManualRequirementResponse,
"confirmAssessment": ConfirmAssessmentResponse,
"removeManualRequirement": RemoveManualRequirementResponse,
"reopenAssessment": ReopenAssessmentResponse,
"requestReconsideration": RequestReconsiderationResponse,
"submitCounterAssessment": SubmitCounterAssessmentResponse
}
UnderwritingReviewWarning
Description
Non-fatal warning attached to a review write. TARGET_SUPERSEDED: the act targeted an assertion that is no longer current-in-slot (invalidated, disputed away, or superseded by a newer statement), so the write has no fold effect until re-targeted.
Values
| Enum Value | Description |
|---|---|
|
|
Example
"TARGET_SUPERSEDED"
UnderwritingSubmissionGate
Description
Readiness of a loan for an explicit submit for underwriting: at least requiredCompletionPercent of the loan's borrower and loan-officer document tasks must be complete. The threshold is higher once the loan has already been in underwriting (see isResubmission). The same check the submit mutation enforces: while canSubmit is false the mutation fails with LOAN_UNDERWRITING_TASKS_INCOMPLETE.
Fields
| Field Name | Description |
|---|---|
applicableTaskCount - NonNegativeInt!
|
Borrower and loan-officer document tasks that count toward the threshold: completed plus open. Cancelled tasks are excluded. Zero when the gate is disabled. |
blockingTasks - [UnderwritingBlockingTask!]!
|
Open borrower and loan-officer tasks counting against the threshold, each with what it is asking for. Completing (or cancelling) any of them raises the completion percentage. |
canSubmit - Boolean!
|
True when the loan meets the completion threshold and can be submitted for underwriting. |
completedTaskCount - NonNegativeInt!
|
Borrower and loan-officer document tasks completed so far. Zero when the gate is disabled. |
enabled - Boolean!
|
Whether the gate is enforced for this loan's customer. When false, canSubmit is always true. |
isResubmission - Boolean!
|
True when the loan has already been in underwriting, so this submit would be a resubmission and every applicable task must be complete. False when the gate is disabled. |
requiredCompletionPercent - NonNegativeInt!
|
Percentage of applicableTaskCount that must be completed before submitting: 80 for a first submission, 100 for a resubmission. |
Example
{
"applicableTaskCount": 123,
"blockingTasks": [UnderwritingBlockingTask],
"canSubmit": false,
"completedTaskCount": 123,
"enabled": true,
"isResubmission": false,
"requiredCompletionPercent": 123
}
UnderwritingTaskGateOverrideInput
Description
A Pylon staff decision to submit the loan for underwriting although its task-completion gate is not met. Requires the internal administrator scope; the explanation is written to the loan's notes with the gate state it overrode.
Fields
| Input Field | Description |
|---|---|
reason - String!
|
Why the gate is being overridden; required and must not be blank (max 10000 characters, measured as UTF-8 bytes so accented characters and emoji count extra) |
Example
{"reason": "xyz789"}
UnemploymentIncome
Description
Unemployment income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": 4
}
UnmergeCreditReportInput
Description
Input to unmerge a joint credit report into individual reports
Fields
| Input Field | Description |
|---|---|
creditPullId - ID!
|
The ID of the completed joint credit pull to unmerge |
Example
{"creditPullId": 4}
UnmergeCreditReportResponse
Description
Response from unmerging a credit report
Fields
| Field Name | Description |
|---|---|
jobs - [CreditPullJob!]
|
Credit pull jobs for the unmerge (one per borrower) |
userErrors - [GenericUserError!]
|
User errors preventing unmerge |
Example
{
"jobs": [CreditPullJob],
"userErrors": [GenericUserError]
}
UnsatisfiableStructureBlocker
Description
The product structure cannot be satisfied
Fields
| Field Name | Description |
|---|---|
type - String!
|
|
unsatisfiabilityDetails - [ProductStructureUnsatisfiabilityDetailsType!]!
|
Details about the unsatisfiability |
Example
{
"type": "xyz789",
"unsatisfiabilityDetails": [
ProductStructureUnsatisfiabilityDetailsType
]
}
UnsetBorrowerMilitaryServiceInput
Description
Input to unset borrower military service.
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
ID of the borrower to update |
Example
{"borrowerId": "4"}
UnsetBorrowerMilitaryServiceResponse
Description
Response of the unset borrower military service mutation
Fields
| Field Name | Description |
|---|---|
militaryService - BorrowerMilitaryService
|
The updated borrower military service |
Example
{"militaryService": BorrowerMilitaryService}
UnsetSubjectPropertyFirstLienInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the subject property |
Example
{"id": 4}
UnsetSubjectPropertyFirstLienResponse
Fields
| Field Name | Description |
|---|---|
subjectProperty - SubjectProperty!
|
Updated subject property |
Example
{"subjectProperty": SubjectProperty}
UnsupportedUsStateError
Description
User error indicating that Pylon is not configured to run in the specified US state
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
state - String!
|
Example
{
"code": "xyz789",
"errorId": 4,
"field": ["xyz789"],
"message": "abc123",
"state": "xyz789"
}
UnverifiedAssetBlocker
UnverifiedIncomeBlocker
UpdateAnyAssetInput
Description
Input for updating an Asset of any type. Includes only Asset interface fields.
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"amount": 123,
"id": "4",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateAnyIncomeInput
Description
Input for updating an Income of any type. Includes only Income interface fields.
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
id - ID!
|
The ID of the income to update |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
UpdateAssetInput
Description
Input to the updateAsset mutation. This is a 'oneOf' type where exactly one field must be populated.
Fields
Example
{
"any": UpdateAnyAssetInput,
"automobile": UpdateAutomobileAssetInput,
"bond": UpdateBondAssetInput,
"bridgeLoanNotDeposited": UpdateBridgeLoanNotDepositedAssetInput,
"cashOnHand": UpdateCashOnHandAssetInput,
"certificateOfDepositTimeDeposit": UpdateCertificateOfDepositTimeDepositAssetInput,
"checkingAccount": UpdateCheckingAccountAssetInput,
"cryptocurrency": UpdateCryptocurrencyAssetInput,
"gift": UpdateGiftAssetInput,
"grant": UpdateGrantAssetInput,
"individualDevelopmentAccount": UpdateIndividualDevelopmentAccountAssetInput,
"lifeInsurance": UpdateLifeInsuranceAssetInput,
"moneyMarketFund": UpdateMoneyMarketFundAssetInput,
"mutualFund": UpdateMutualFundAssetInput,
"other": UpdateOtherAssetInput,
"pendingNetSaleProceedsFromRealEstate": UpdatePendingNetSaleProceedsFromRealEstateAssetInput,
"proceedsFromSaleOfNonRealEstateAsset": UpdateProceedsFromSaleOfNonRealEstateAssetInput,
"proceedsFromSecuredLoan": UpdateProceedsFromSecuredLoanAssetInput,
"proceedsFromUnsecuredLoan": UpdateProceedsFromUnsecuredLoanAssetInput,
"retirementFund": UpdateRetirementFundAssetInput,
"savingsAccount": UpdateSavingsAccountAssetInput,
"stock": UpdateStockAssetInput,
"stockOptions": UpdateStockOptionsAssetInput,
"trustAccount": UpdateTrustAccountAssetInput
}
UpdateAssetResponse
Description
Response of the updateAsset mutation.
Fields
| Field Name | Description |
|---|---|
asset - Asset!
|
The updated asset |
Example
{"asset": Asset}
UpdateAutomobileAssetInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"amount": 123,
"id": "4",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateBondAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateBorrowerConsentInput
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
ID of the borrower to update |
hardCreditConsentDate - DateTime
|
|
hardCreditConsentType - CreditPullConsentType
|
|
softCreditConsentDate - DateTime
|
|
softCreditConsentType - CreditPullConsentType
|
Example
{
"borrowerId": 4,
"hardCreditConsentDate": "2007-12-03T10:15:30Z",
"hardCreditConsentType": "ELECTRONIC",
"softCreditConsentDate": "2007-12-03T10:15:30Z",
"softCreditConsentType": "ELECTRONIC"
}
UpdateBorrowerConsentResponse
Description
Response of the update borrower consent mutation.
Fields
| Field Name | Description |
|---|---|
borrowerId - ID!
|
ID of the borrower to update |
hardCreditConsentDate - DateTime
|
|
hardCreditConsentType - CreditPullConsentType
|
|
softCreditConsentDate - DateTime
|
|
softCreditConsentType - CreditPullConsentType
|
Example
{
"borrowerId": "4",
"hardCreditConsentDate": "2007-12-03T10:15:30Z",
"hardCreditConsentType": "ELECTRONIC",
"softCreditConsentDate": "2007-12-03T10:15:30Z",
"softCreditConsentType": "ELECTRONIC"
}
UpdateBorrowerDependentsInput
Description
Input to the update borrower dependents mutation. Fields with non-null values will be updated, the rest will be ignored.
Example
{
"borrowerId": "4",
"dependentAges": [123.45]
}
UpdateBorrowerDependentsResponse
Description
Response of the update borrower dependents mutation
Fields
| Field Name | Description |
|---|---|
dependentAges - [Float!]!
|
The updated borrower Dependents |
Example
{"dependentAges": [123.45]}
UpdateBorrowerFinancialDeclarationsInput
Description
Input to the update borrower financial declarations mutation. Fields with non-null values will be updated, the rest will be ignored.
Fields
| Input Field | Description |
|---|---|
bankruptcyChapterType - BankruptcyChapterType
|
The type of bankruptcy filed, if any. |
bankruptcyIndicator - Boolean
|
Indicates if the borrower has filed for bankruptcy. |
borrowerId - ID!
|
ID of the borrower to update |
homeownerPastThreeYears - Boolean
|
Indicates if the borrower has been a homeowner in the past three years. |
intentToOccupy - Boolean
|
Indicates if the borrower intends to occupy the property. |
outstandingJudgmentsIndicator - Boolean
|
Indicates if the borrower has outstanding judgments. |
partyToLawsuitIndicator - Boolean
|
Indicates if the borrower is currently a party to a lawsuit. |
presentlyDelinquentIndicator - Boolean
|
Indicates if the borrower is presently delinquent on any obligations. |
priorPropertyDeedInLieuConveyedIndicator - Boolean
|
Indicates if the borrower has conveyed a prior property deed in lieu of foreclosure. |
priorPropertyForeclosureCompletedIndicator - Boolean
|
Indicates if the borrower has completed a prior property foreclosure. |
priorPropertyShortSaleCompletedIndicator - Boolean
|
Indicates if the borrower has completed a prior property short sale. |
priorPropertyTitleType - PriorPropertyTitleType
|
Indicates the type of title ownership for the borrower's prior property, such as sole ownership or joint ownership. |
priorPropertyUsageType - PriorPropertyUsageType
|
Specifies how the borrower's prior property was used, such as primary residence, investment, or second home. |
undisclosedComakerOfNoteIndicator - Boolean
|
Indicates if the borrower is an undisclosed co-maker of a note. |
undisclosedCreditApplicationIndicator - Boolean
|
Indicates if the borrower has an undisclosed credit application. |
undisclosedMortgageApplicationIndicator - Boolean
|
Indicates if the borrower has an undisclosed mortgage application. |
Example
{
"bankruptcyChapterType": "CHAPTER_ELEVEN",
"bankruptcyIndicator": false,
"borrowerId": "4",
"homeownerPastThreeYears": true,
"intentToOccupy": false,
"outstandingJudgmentsIndicator": true,
"partyToLawsuitIndicator": false,
"presentlyDelinquentIndicator": false,
"priorPropertyDeedInLieuConveyedIndicator": true,
"priorPropertyForeclosureCompletedIndicator": true,
"priorPropertyShortSaleCompletedIndicator": false,
"priorPropertyTitleType": "JOINT_WITH_OTHER_THAN_SPOUSE",
"priorPropertyUsageType": "FHA_SECONDARY_RESIDENCE",
"undisclosedComakerOfNoteIndicator": false,
"undisclosedCreditApplicationIndicator": false,
"undisclosedMortgageApplicationIndicator": true
}
UpdateBorrowerFinancialDeclarationsResponse
Description
Response of the update borrower financial declarations mutation
Fields
| Field Name | Description |
|---|---|
financialDeclarations - BorrowerFinancialDeclarations!
|
The updated borrower declarations |
Example
{"financialDeclarations": BorrowerFinancialDeclarations}
UpdateBorrowerInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
ID of the borrower to update |
isFirstTimeHomeBuyer - Boolean
|
|
maritalStatus - MaritalStatusType
|
|
pointOfContact - Boolean
|
Example
{
"id": 4,
"isFirstTimeHomeBuyer": false,
"maritalStatus": "DIVORCED",
"pointOfContact": false
}
UpdateBorrowerMailingAddressInput
Example
{
"city": "xyz789",
"country": "abc123",
"id": 4,
"line": "xyz789",
"line2": "xyz789",
"state": "AK",
"zipCode": "xyz789"
}
UpdateBorrowerMailingAddressResponse
Fields
| Field Name | Description |
|---|---|
borrower - Borrower!
|
The borrower that was updated |
Example
{"borrower": Borrower}
UpdateBorrowerMilitaryServiceInput
Description
Input to the update borrower military service mutation. Fields with non-null values will be updated, the rest will be ignored.
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
ID of the borrower to update |
militaryServiceExpectedCompletionDate - Date
|
|
militaryStatusType - MilitaryStatusType
|
|
survivingSpouseIndicator - Boolean
|
Example
{
"borrowerId": "4",
"militaryServiceExpectedCompletionDate": "2007-12-03",
"militaryStatusType": "ACTIVE_DUTY",
"survivingSpouseIndicator": true
}
UpdateBorrowerMilitaryServiceResponse
Description
Response of the update borrower military service mutation
Fields
| Field Name | Description |
|---|---|
militaryService - BorrowerMilitaryService
|
The updated borrower military service |
Example
{"militaryService": BorrowerMilitaryService}
UpdateBorrowerPersonalInformationInput
Fields
| Input Field | Description |
|---|---|
aliases - [String!]
|
|
citizenshipResidencyType - CitizenshipResidencyType
|
|
dateOfBirth - Date
|
|
email - String
|
|
firstName - String
|
|
id - ID!
|
ID of the borrower to update |
lastName - String
|
|
middleName - String
|
|
suffix - String
|
|
taxIdentifierNumber - String
|
Tax identifier number |
taxIdentifierNumberType - TaxIdentifierNumberType
|
Tax identifier number type |
Example
{
"aliases": ["abc123"],
"citizenshipResidencyType": "NON_PERMANENT_RESIDENT_ALIEN",
"dateOfBirth": "2007-12-03",
"email": "abc123",
"firstName": "xyz789",
"id": 4,
"lastName": "xyz789",
"middleName": "abc123",
"suffix": "xyz789",
"taxIdentifierNumber": "abc123",
"taxIdentifierNumberType": "INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER"
}
UpdateBorrowerPersonalInformationResponse
Fields
| Field Name | Description |
|---|---|
borrower - Borrower!
|
The borrower that was updated |
Example
{"borrower": Borrower}
UpdateBorrowerPhoneNumberInput
Description
Input to upsert a borrower's phone number. Pass borrowerId to create-or-update the borrower's phone number; pass id (deprecated) to update a specific existing phone number record. Exactly one of borrowerId or id must be provided.
Fields
| Input Field | Description |
|---|---|
borrowerId - ID
|
ID of the borrower whose phone number should be created or updated. |
number - String
|
Phone Number |
type - PhoneNumberType
|
Phone number type |
Example
{
"borrowerId": 4,
"number": "xyz789",
"type": "CELL"
}
UpdateBorrowerPhoneNumberResponse
Fields
| Field Name | Description |
|---|---|
phoneNumber - BorrowerPhoneNumber!
|
The phone number that was updated |
Example
{"phoneNumber": BorrowerPhoneNumber}
UpdateBorrowerPreferencesInput
Description
Input to the borrowerPreferences mutation.
Fields
| Input Field | Description |
|---|---|
applyOutOfPocketToLoan - Boolean
|
Represents if Out Of Pocket cash will be applied to reduce loan cost |
closingCosts - NonNegativeFloat
|
The maximum allowable closing costs. |
downPaymentAmount - NonNegativeFloat
|
The down payment amount. |
loanId - ID!
|
The loan ID for borrower preferences. |
loanTermYears - NonNegativeInt
|
The loan term in years. Default = 30 |
maxDiscountPoints - Float
|
Limit number of rate point buys to not exceed this value. |
maxLtv - NonNegativeFloat
|
Max loan-to-value ratio allowed. Will not override takeout requirements. |
maxOutOfPocket - NonNegativeFloat
|
Out of pocket maximum in dollars. |
monthlyPayment - NonNegativeFloat
|
The maximum allowable monthly payment. |
monthlyPaymentAsPercentageOfIncome - Boolean!
|
Interpret monthly payment field as a percentage instead of dollar amount. Default = false |
mortgageInsurance - Boolean
|
Indicates whether mortgage insurance is required. |
principal - NonNegativeFloat
|
The maximum allowable principal amount. |
rate - NonNegativeFloat
|
The preferred interest rate as a percentage (e.g., 5.0 for 5%). |
rateLockTerm - NonNegativeInt
|
The rate lock period in days. Default = 30 |
rollInClosingCosts - Boolean
|
Represents if closing costs will be rolled into loan amount on a ReFi |
totalCost - Float
|
The cost of points for the loan. |
totalPoints - NonNegativeFloat
|
The number of points required for the loan. |
Example
{
"applyOutOfPocketToLoan": true,
"closingCosts": 123.45,
"downPaymentAmount": 123.45,
"loanId": "4",
"loanTermYears": 123,
"maxDiscountPoints": 123.45,
"maxLtv": 123.45,
"maxOutOfPocket": 123.45,
"monthlyPayment": 123.45,
"monthlyPaymentAsPercentageOfIncome": false,
"mortgageInsurance": true,
"principal": 123.45,
"rate": 123.45,
"rateLockTerm": 123,
"rollInClosingCosts": true,
"totalCost": 987.65,
"totalPoints": 123.45
}
UpdateBorrowerPreferencesResponse
Description
Response of the updateBorrowerPreferences mutation.
Fields
| Field Name | Description |
|---|---|
borrowerPreferences - BorrowerPreferences!
|
Updated borrower preferences. |
loanTermYears - NonNegativeInt!
|
Updated loan term in years |
rateLockTerm - NonNegativeInt!
|
Updated rate lock period |
Example
{
"borrowerPreferences": BorrowerPreferences,
"loanTermYears": 123,
"rateLockTerm": 123
}
UpdateBorrowerPropertyDeclarationsInput
Description
Input to the update borrower property declarations mutation. Fields with non-null values will be updated, the rest will be ignored.
Fields
| Input Field | Description |
|---|---|
borrowerId - ID!
|
ID of the borrower to update |
otherMortgageOnSubjectPropertyIndicator - Boolean
|
Is there any other mortgage loan on the subject property? |
propertySubjectToPriorityLienIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
specialBorrowerSellerRelationshipIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
undisclosedBorrowedFundsAmount - Float
|
Flag to indicate whether realtor tasks are complete on this loan |
undisclosedBorrowedFundsIndicator - Boolean
|
Flag to indicate whether realtor tasks are complete on this loan |
Example
{
"borrowerId": "4",
"otherMortgageOnSubjectPropertyIndicator": false,
"propertySubjectToPriorityLienIndicator": true,
"specialBorrowerSellerRelationshipIndicator": false,
"undisclosedBorrowedFundsAmount": 987.65,
"undisclosedBorrowedFundsIndicator": false
}
UpdateBorrowerPropertyDeclarationsResponse
Description
Response of the update borrower property declarations mutation
Fields
| Field Name | Description |
|---|---|
propertyDeclarations - BorrowerPropertyDeclarations!
|
The updated borrower declarations |
Example
{"propertyDeclarations": BorrowerPropertyDeclarations}
UpdateBorrowerResponse
Description
Response of the update borrower mutation.
Fields
| Field Name | Description |
|---|---|
borrower - Borrower!
|
The borrower that was updated |
Example
{"borrower": Borrower}
UpdateBridgeLoanNotDepositedAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": "4",
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateCashOnHandAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateCertificateOfDepositTimeDepositAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": "4",
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateCheckingAccountAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateCommsRecipientsInput
Fields
| Input Field | Description |
|---|---|
commsId - ID!
|
|
recipients - [CommsRecipient!]!
|
The role types that should receive this communication |
Example
{"commsId": 4, "recipients": ["BORROWER"]}
UpdateCommsRecipientsResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of comms template |
name - String!
|
Name of the comms template |
recipients - [CommsRecipient!]!
|
Role types that receive this communication |
subject - String!
|
Subject line of comms |
template - String!
|
Comms template |
Example
{
"id": 4,
"name": "abc123",
"recipients": ["BORROWER"],
"subject": "abc123",
"template": "abc123"
}
UpdateCommsSettingsInput
Fields
| Input Field | Description |
|---|---|
autoSendBorrowerPortalInvite - Boolean!
|
When on, creating a borrower or co-borrower in Command Center also emails that borrower their portal invite. Off by default, and the only gate on that auto-send — the borrower-portal-invite feature flag governs the explicit borrower.sendPortalInvite mutation, not this. Default = false |
Example
{"autoSendBorrowerPortalInvite": true}
UpdateCommsSettingsResponse
Fields
| Field Name | Description |
|---|---|
autoSendBorrowerPortalInvite - Boolean!
|
When on, creating a borrower or co-borrower in Command Center also emails that borrower their portal invite. Off by default, and the only gate on that auto-send — the borrower-portal-invite feature flag governs the explicit borrower.sendPortalInvite mutation, not this. |
customerId - ID!
|
Example
{"autoSendBorrowerPortalInvite": true, "customerId": 4}
UpdateCommsTemplateInput
UpdateCommsTemplateResponse
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of comms template |
name - String!
|
Name of the comms template |
recipients - [CommsRecipient!]!
|
Role types that receive this communication |
subject - String!
|
Subject line of comms |
template - String!
|
Comms template |
Example
{
"id": 4,
"name": "abc123",
"recipients": ["BORROWER"],
"subject": "abc123",
"template": "abc123"
}
UpdateCompanyNameInput
UpdateCompanyNameResponse
Fields
| Field Name | Description |
|---|---|
blockedLoans - [BlockedLoan!]!
|
|
updatedLoanCount - Int!
|
|
userErrors - [UserError!]!
|
Example
{
"blockedLoans": [BlockedLoan],
"updatedLoanCount": 123,
"userErrors": [UserError]
}
UpdateConcessionInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt
|
|
id - ID!
|
|
reason - String
|
Example
{
"amount": 123,
"id": "4",
"reason": "abc123"
}
UpdateConcessionResponse
Fields
| Field Name | Description |
|---|---|
concession - Concession
|
Example
{"concession": Concession}
UpdateContactInput
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
Optional U.S. address to create with the contact. |
companyLicenseNumber - String
|
License number of the company the contact represents |
companyLicenseState - StateAbbreviated
|
State where the company's license was issued |
companyName - String
|
Company which the contact is from |
email - String
|
Email address of the contact |
firstName - String
|
First name of the contact |
hazardInsuranceCoverage - HazardInsuranceCoverageType
|
Coverage provided by a hazard insurer |
id - ID!
|
ID of the contact to update. |
individualLicenseNumber - String
|
Professional license number of the individual contact |
individualLicenseState - StateAbbreviated
|
State where the individual's professional license was issued |
lastName - String
|
Last name of the contact |
middleName - String
|
Middle name of the contact |
phoneNumber - String
|
Phone number of the contact |
role - OrganizationContactRole
|
Contact's role, limited to currently supported values. |
Example
{
"address": AddressInput,
"companyLicenseNumber": "abc123",
"companyLicenseState": "AK",
"companyName": "abc123",
"email": "abc123",
"firstName": "abc123",
"hazardInsuranceCoverage": "EARTHQUAKE",
"id": 4,
"individualLicenseNumber": "xyz789",
"individualLicenseState": "AK",
"lastName": "xyz789",
"middleName": "xyz789",
"phoneNumber": "xyz789",
"role": "ATTORNEY"
}
UpdateContactResponse
Fields
| Field Name | Description |
|---|---|
updated - Contact!
|
Updated contact details. |
Example
{"updated": Contact}
UpdateContributorContactInfoInput
UpdateContributorInput
Fields
| Input Field | Description |
|---|---|
contactInfo - UpdateContributorContactInfoInput
|
|
id - ID!
|
Example
{
"contactInfo": UpdateContributorContactInfoInput,
"id": "4"
}
UpdateContributorResponse
Fields
| Field Name | Description |
|---|---|
contributor - Contributor!
|
Example
{"contributor": Contributor}
UpdateCostAbsorptionInput
Fields
| Input Field | Description |
|---|---|
points - NonNegativeFloat!
|
|
product - PreapprovalProduct!
|
Example
{"points": 123.45, "product": "BayviewBayviewJumboAus"}
UpdateCostAbsorptionResponse
Fields
| Field Name | Description |
|---|---|
costAbsorption - [CostAbsorption!]!
|
Example
{"costAbsorption": [CostAbsorption]}
UpdateCreditInquiryInput
Description
Input for updating a credit inquiry explanation
Example
{
"creditInquiryId": 4,
"incurredNewCredit": 4,
"inquiringCreditor": "xyz789"
}
UpdateCreditInquiryResponse
UpdateCryptocurrencyAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
description - String
|
Description of the asset (e.g. coin and platform) |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"description": "abc123",
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateCurrentBorrowerAddressInput
Description
Current Borrower Address Input
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
US address to update |
borrowerId - ID!
|
Borrower ID |
monthlyRentAmount - NonNegativeInt
|
The monthly rental amount in dollars |
moveInDate - Date
|
Move in date |
residencyBasis - BorrowerResidencyBasis
|
The basis on which the borrower lives/lived at this address |
Example
{
"address": AddressInput,
"borrowerId": "4",
"monthlyRentAmount": 123,
"moveInDate": "2007-12-03",
"residencyBasis": "LIVING_RENT_FREE"
}
UpdateCurrentBorrowerAddressResponse
Fields
| Field Name | Description |
|---|---|
address - Address!
|
US Address |
id - ID!
|
Node ID |
monthlyRentAmount - NonNegativeInt
|
The monthly rental amount in dollars |
moveInDate - Date
|
Move in date |
residencyBasis - BorrowerResidencyBasis
|
The basis on which the borrower lives/lived at this address |
Example
{
"address": Address,
"id": "4",
"monthlyRentAmount": 123,
"moveInDate": "2007-12-03",
"residencyBasis": "LIVING_RENT_FREE"
}
UpdateDemographicInfoInput
Fields
| Input Field | Description |
|---|---|
asianOther - String
|
|
asianRace - [AsianRace!]
|
|
ethnicity - [Ethnicity!]
|
|
ethnicityNotDisclosed - Boolean
|
|
hispanicOrigin - [HispanicOrigin!]
|
|
hispanicOther - String
|
|
id - ID!
|
ID of the borrower to update |
pacificIslanderOther - String
|
|
pacificIslanderRace - [PacificIslanderRace!]
|
|
race - [Race!]
|
|
raceNotDisclosed - Boolean
|
|
sex - [Sex!]
|
|
sexNotDisclosed - Boolean
|
|
tribe - String
|
Example
{
"asianOther": "xyz789",
"asianRace": ["CHINESE"],
"ethnicity": ["HISPANIC"],
"ethnicityNotDisclosed": false,
"hispanicOrigin": ["CUBA"],
"hispanicOther": "abc123",
"id": 4,
"pacificIslanderOther": "xyz789",
"pacificIslanderRace": ["GUAMANIAN_OR_CHAMORRO"],
"race": ["AM_INDIAN_ALASKAN"],
"raceNotDisclosed": false,
"sex": ["FEMALE"],
"sexNotDisclosed": false,
"tribe": "abc123"
}
UpdateDemographicInfoResponse
Fields
| Field Name | Description |
|---|---|
borrower - Borrower!
|
The borrower |
Example
{"borrower": Borrower}
UpdateFeeInput
Fields
| Input Field | Description |
|---|---|
feeSpecifiedFixedAmount - NonNegativeInt
|
If set, this field represents a fixed amount due at closing. |
feeTotalPercent - NonNegativeInt
|
If set, this field represents a fee as a percentage of the loan amount, due at closing. |
id - ID!
|
|
payerShares - [FeePaymentInput!]
|
Who pays this fee at closing, and how much each party pays. The shares' sum becomes the fee's fixed amount (a percentage-based fee becomes fixed), so feeTotalPercent cannot be sent alongside and feeSpecifiedFixedAmount, if sent, must equal the sum; a payer left out pays 0. Shares are paid-at-close amounts; anything already paid before closing stays as recorded. Omit to leave the existing split untouched. |
Example
{
"feeSpecifiedFixedAmount": 123,
"feeTotalPercent": 123,
"id": 4,
"payerShares": [FeePaymentInput]
}
UpdateFeeResponse
Fields
| Field Name | Description |
|---|---|
fee - Fee!
|
Example
{"fee": Fee}
UpdateGiftAssetInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
dateOfTransfer - Date
|
The date when the gift/grant funds were transferred into the borrower's account |
donorEmployeeIdentificationNumber - String
|
Employer Identification Number (EIN) of the gift/grant donor |
donorName - String
|
Full name of the person providing the gift/grant |
donorPhoneNumber - String
|
The phone number of the person providing the gift/grant |
id - ID!
|
The ID of the asset to update |
isIncludedInAssetAccount - Boolean
|
Indicates whether the gift/grant funds have already been included as part of an asset account considered for the loan |
isSellerFunded - Boolean
|
Indicates whether the gift/grant is funded by the seller |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
source - GiftSource
|
Gift/Grant source |
Example
{
"amount": 123,
"dateOfTransfer": "2007-12-03",
"donorEmployeeIdentificationNumber": "abc123",
"donorName": "abc123",
"donorPhoneNumber": "abc123",
"id": 4,
"isIncludedInAssetAccount": true,
"isSellerFunded": true,
"nonBorrowerOwnerNames": ["xyz789"],
"source": "COMMUNITY_NON_PROFIT"
}
UpdateGrantAssetInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
dateOfTransfer - Date
|
The date when the gift/grant funds were transferred into the borrower's account |
donorEmployeeIdentificationNumber - String
|
Employer Identification Number (EIN) of the gift/grant donor |
donorName - String
|
Full name of the person providing the gift/grant |
donorPhoneNumber - String
|
The phone number of the person providing the gift/grant |
id - ID!
|
The ID of the asset to update |
isIncludedInAssetAccount - Boolean
|
Indicates whether the gift/grant funds have already been included as part of an asset account considered for the loan |
isSellerFunded - Boolean
|
Indicates whether the gift/grant is funded by the seller |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
source - GiftSource
|
Gift/Grant source |
Example
{
"amount": 123,
"dateOfTransfer": "2007-12-03",
"donorEmployeeIdentificationNumber": "abc123",
"donorName": "abc123",
"donorPhoneNumber": "abc123",
"id": 4,
"isIncludedInAssetAccount": true,
"isSellerFunded": false,
"nonBorrowerOwnerNames": ["xyz789"],
"source": "COMMUNITY_NON_PROFIT"
}
UpdateIncomeInput
Description
Input to the updateIncome mutation. This is a 'oneOf' type where exactly one field must be populated.
Fields
| Input Field | Description |
|---|---|
any - UpdateAnyIncomeInput
|
Update an Income of any type that implements the Income interface |
mortgageCreditCertificate - UpdateMortgageCreditCertificateIncomeInput
|
|
other - UpdateOtherIncomeInput
|
|
selfEmployment - UpdateSelfEmploymentIncomeInput
|
|
standardEmployment - UpdateStandardEmploymentIncomeInput
|
Example
{
"any": UpdateAnyIncomeInput,
"mortgageCreditCertificate": UpdateMortgageCreditCertificateIncomeInput,
"other": UpdateOtherIncomeInput,
"selfEmployment": UpdateSelfEmploymentIncomeInput,
"standardEmployment": UpdateStandardEmploymentIncomeInput
}
UpdateIncomeResponse
Description
Response of the updateIncome mutation.
Fields
| Field Name | Description |
|---|---|
income - Income!
|
The updated income |
Example
{"income": Income}
UpdateIndividualDevelopmentAccountAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateLiabilityInput
Description
Update an updateLiability. Fields with non-null values will be updated, the rest will be ignored.
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
Account identifier |
balance - NonNegativeFloat
|
Unpaid balance |
bankName - String
|
Bank name |
creditorName - String
|
Creditor name |
id - ID!
|
Liability ID |
monthlyPayment - NonNegativeFloat
|
Monthly payment |
type - LiabilityType
|
The type of liability |
Example
{
"accountIdentifier": "abc123",
"balance": 123.45,
"bankName": "abc123",
"creditorName": "xyz789",
"id": "4",
"monthlyPayment": 123.45,
"type": "BORROWER_ESTIMATED_TOTAL_MONTHLY_LIABILITY_PAYMENT"
}
UpdateLiabilityResponse
Description
Response of the updateLiability mutation.
Fields
| Field Name | Description |
|---|---|
liability - Liability
|
The updated Liability, or null if the update was rejected |
userErrors - [GenericUserError!]!
|
Example
{
"liability": Liability,
"userErrors": [GenericUserError]
}
UpdateLifeInsuranceAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": "4",
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateLoanInput
Description
Input to the updateLoan mutation.
Fields
| Input Field | Description |
|---|---|
cashOutType - RefinanceCashOutType
|
LO-set refinance/cash-out type (distinct from the pricing-derived value) |
closingDate - Date
|
The date that the purchase is set to close. |
earnestMoneyDeposit - NonNegativeFloat
|
The total amount of earnest money deposit |
id - ID!
|
The ID or friendly ID of the loan. |
loanPurpose - LoanPurposeType
|
The purpose for which the loan proceeds will be used. |
loanTermYears - PositiveFloat
|
The term of this loan in years. |
outOfPocketMax - NonNegativeInt
|
The maximum amount of assets (in dollars) to be used towards the loan. |
purchasePrice - NonNegativeInt
|
The actual purchase price (in dollars). |
refinanceCashOutProceeds - NonNegativeInt
|
Refinance cash out proceeds not used towards paying off existing liens. |
sellerCredit - NonNegativeInt
|
The total seller credit to be applied towards closing costs |
Example
{
"cashOutType": "CASH_OUT",
"closingDate": "2007-12-03",
"earnestMoneyDeposit": 123.45,
"id": "4",
"loanPurpose": "PURCHASE",
"loanTermYears": 123.45,
"outOfPocketMax": 123,
"purchasePrice": 123,
"refinanceCashOutProceeds": 123,
"sellerCredit": 123
}
UpdateLoanResponse
Description
Response of the updateLoan mutation.
Fields
| Field Name | Description |
|---|---|
loan - Loan!
|
The updated loan. |
Example
{"loan": Loan}
UpdateLoanScriptInput
Description
Input for updating a loan script.
Fields
| Input Field | Description |
|---|---|
description - String
|
New description. |
scenarioId - String!
|
The scenarioId of the script to update. |
spec - JSONObject
|
Replacement script payload. Validated against the strict loan-script schema. |
Example
{
"description": "abc123",
"scenarioId": "abc123",
"spec": {}
}
UpdateLoanScriptResponse
Description
Result of updating a loan script.
Fields
| Field Name | Description |
|---|---|
loanScript - LoanScript!
|
The updated script. |
Example
{"loanScript": LoanScript}
UpdateMoneyMarketFundAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateMortgageCreditCertificateIncomeInput
Description
Input for updating a MortgageCreditCertificateIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
id - ID!
|
The ID of the income to update |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
percentageOfInterest - NonNegativeFloat
|
The percentage of interest that the mortgage credit certificate will cover. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"percentageOfInterest": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
UpdateMutualFundAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateNonBorrowingOwnerInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
|
personalInformation - PersonalInformationInput
|
Example
{"id": 4, "personalInformation": PersonalInformationInput}
UpdateNonBorrowingOwnerResponse
Fields
| Field Name | Description |
|---|---|
nonBorrowingOwner - NonBorrowingOwner!
|
Example
{"nonBorrowingOwner": NonBorrowingOwner}
UpdateNotableActivityInput
Description
Input to the updateNotableActivity mutation.
Fields
| Input Field | Description |
|---|---|
activityType - FinancialAccountActivityType
|
Activity type |
amount - Int
|
The amount of money in dollars |
date - Date
|
The date when the activity occurred |
description - String
|
Description of the activity |
id - ID!
|
The ID of the FinancialAccountActivity |
Example
{
"activityType": "LARGE_DEPOSIT",
"amount": 123,
"date": "2007-12-03",
"description": "abc123",
"id": "4"
}
UpdateNotableActivityResponse
Description
Response of the updateNotableActivity mutation.
Fields
| Field Name | Description |
|---|---|
activity - FinancialAccountActivity!
|
The FinancialAccountActivity entity that was updated |
Example
{"activity": FinancialAccountActivity}
UpdateOrganizationCustomerMarginInput
Fields
| Input Field | Description |
|---|---|
customerMargin - NonNegativeFloat!
|
The customer margin to store on an existing fixed-take agreement, in points (1.5 = 1.5%). Share-based agreements are not supported. |
pylonTake - NonNegativeFloat
|
Pylon's fixed take, in points (1.5 = 1.5%). When omitted, the current fixed-take window's stored take is kept. |
Example
{"customerMargin": 123.45, "pylonTake": 123.45}
UpdateOrganizationCustomerMarginResponse
Fields
| Field Name | Description |
|---|---|
customerMargin - NonNegativeFloat!
|
The stored customer margin after the update, in points. |
globalMargin - NonNegativeFloat!
|
The full margin priced into the loan after the update (customer margin + Pylon take), in points. |
pylonTake - NonNegativeFloat!
|
Pylon's take after the update, in points. |
Example
{"customerMargin": 123.45, "globalMargin": 123.45, "pylonTake": 123.45}
UpdateOrganizationInput
Fields
| Input Field | Description |
|---|---|
companyAddress - AddressInput
|
The organization's company address. |
companyLegalName - String
|
|
companyName - String
|
|
companySupportEmail - String
|
|
electronicCommunicationsConsentUrl - String
|
|
nmlsId - String
|
|
privacyPolicyUrl - String
|
|
telephonicCommunicationsConsentEnabled - Boolean
|
|
telephonicCommunicationsConsentUrl - String
|
|
termsOfServiceUrl - String
|
Example
{
"companyAddress": AddressInput,
"companyLegalName": "xyz789",
"companyName": "xyz789",
"companySupportEmail": "abc123",
"electronicCommunicationsConsentUrl": "xyz789",
"nmlsId": "abc123",
"privacyPolicyUrl": "abc123",
"telephonicCommunicationsConsentEnabled": true,
"telephonicCommunicationsConsentUrl": "xyz789",
"termsOfServiceUrl": "abc123"
}
UpdateOrganizationLicensingInput
Fields
| Input Field | Description |
|---|---|
states - [OrganizationStateWithLicensesInput!]!
|
Example
{"states": [OrganizationStateWithLicensesInput]}
UpdateOrganizationLicensingResponse
Fields
| Field Name | Description |
|---|---|
licensing - OrganizationLicensing
|
|
userErrors - [GenericUserError!]!
|
Example
{
"licensing": OrganizationLicensing,
"userErrors": [GenericUserError]
}
UpdateOrganizationMarginInput
Fields
| Input Field | Description |
|---|---|
margin - NonNegativeFloat!
|
The total margin to store, in points (1.5 = 1.5%). |
Example
{"margin": 123.45}
UpdateOrganizationMarginResponse
Fields
| Field Name | Description |
|---|---|
margin - NonNegativeFloat!
|
Example
{"margin": 123.45}
UpdateOrganizationOriginationInput
Fields
| Input Field | Description |
|---|---|
defaultLoanChannel - LoanChannel
|
The origination channel this customer's loans default to. Pass null to reset it to the default channel (Wholesale). |
mersOrgId - Int
|
The customer's MERS Organization ID. Must be a 7-digit integer. Pass null to clear it. |
Example
{"defaultLoanChannel": "Broker", "mersOrgId": 123}
UpdateOrganizationOriginationResponse
Fields
| Field Name | Description |
|---|---|
defaultLoanChannel - LoanChannel
|
|
mersOrgId - Int
|
Example
{"defaultLoanChannel": "Broker", "mersOrgId": 123}
UpdateOrganizationResponse
Fields
| Field Name | Description |
|---|---|
organization - Organization
|
Example
{"organization": Organization}
UpdateOrganizationRolePermissionsInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
|
permissions - [String!]!
|
Example
{
"id": "4",
"permissions": ["abc123"]
}
UpdateOrganizationRolePermissionsResponse
Fields
| Field Name | Description |
|---|---|
organizationRole - OrganizationRole
|
|
userErrors - [GenericUserError!]!
|
Example
{
"organizationRole": OrganizationRole,
"userErrors": [GenericUserError]
}
UpdateOrganizationUserDetailsInput
Description
Fields to change on an organization user. Omitted fields are left unchanged. Names cannot be cleared, so a null name is also left unchanged; a null phone number or individual NMLS id clears the value.
Fields
| Input Field | Description |
|---|---|
firstName - String
|
New first name. Omit or pass null to leave unchanged. |
id - ID!
|
|
individualNmlsId - String
|
New individual NMLS id. Omit to leave unchanged; pass null to clear. |
lastName - String
|
New last name. Omit or pass null to leave unchanged. |
phoneNumber - String
|
New phone number. Omit to leave unchanged; pass null to clear. |
Example
{
"firstName": "xyz789",
"id": "4",
"individualNmlsId": "xyz789",
"lastName": "xyz789",
"phoneNumber": "xyz789"
}
UpdateOrganizationUserDetailsResponse
Fields
| Field Name | Description |
|---|---|
organizationUser - OrganizationUser
|
|
userErrors - [GenericUserError!]!
|
Example
{
"organizationUser": OrganizationUser,
"userErrors": [GenericUserError]
}
UpdateOrganizationUserRolesInput
UpdateOrganizationUserRolesResponse
Fields
| Field Name | Description |
|---|---|
organizationUser - OrganizationUser
|
|
userErrors - [GenericUserError!]!
|
Example
{
"organizationUser": OrganizationUser,
"userErrors": [GenericUserError]
}
UpdateOtherAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
description - String
|
Description of the asset |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
isLiquid - Boolean
|
Indicates whether or not the asset is liquid |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"description": "abc123",
"id": "4",
"institutionName": "abc123",
"isLiquid": true,
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateOtherIncomeInput
Description
Input for updating an OtherIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
description - String
|
Information about the income type |
id - ID!
|
The ID of the income to update |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"description": "xyz789",
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
UpdateOwnedPropertyInput
Description
Input to the updateOwnedProperty mutation.
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
The address of the property |
borrowingOwnerIds - [ID!]
|
IDs of the borrowers who own this property. If this field is defined, it will replace the existing owner IDs. |
currentUsageType - PropertyUsageType
|
How the owner is using this property. |
homeInsuranceMonthlyPayment - NonNegativeInt
|
The dollar amount of monthly home insurance premium. |
id - ID!
|
The ID of the OwnedProperty |
intendedDisposition - PropertyDisposition
|
The intended disposition of the property. Indicates whether the borrowers will be retaining or selling (or sold) the property. |
intendedUsageType - PropertyUsageType
|
How the owner intends to use this property. |
monthlyAssociationDues - NonNegativeInt
|
Monthly association dues (in dollars) |
monthlyRentalIncome - NonNegativeInt
|
The expected monthly rental income (in dollars) |
mortgageInsuranceMonthlyPayment - NonNegativeInt
|
The dollar amount of monthly mortgage insurance monthly premium. |
neighborhoodHousingType - NeighborhoodHousingType
|
The type of housing (e.g. single or multi-family) |
propertyTaxMonthlyPayment - NonNegativeInt
|
The dollar amount of property taxes due per month. |
propertyValue - NonNegativeInt
|
The estimated value of the owned property, in whole dollars |
purchaseDate - Date
|
The date when the property was originally purchased. |
sellDate - Date
|
The date when the property was sold. Only relevant for previously owned properties. |
Example
{
"address": AddressInput,
"borrowingOwnerIds": ["4"],
"currentUsageType": "INVESTMENT",
"homeInsuranceMonthlyPayment": 123,
"id": 4,
"intendedDisposition": "PENDING_SALE",
"intendedUsageType": "INVESTMENT",
"monthlyAssociationDues": 123,
"monthlyRentalIncome": 123,
"mortgageInsuranceMonthlyPayment": 123,
"neighborhoodHousingType": "CONDOMINIUM",
"propertyTaxMonthlyPayment": 123,
"propertyValue": 123,
"purchaseDate": "2007-12-03",
"sellDate": "2007-12-03"
}
UpdateOwnedPropertyResponse
Description
Response of the updateOwnedProperty mutation.
Fields
| Field Name | Description |
|---|---|
ownedProperty - OwnedProperty!
|
The updated OwnedProperty |
Example
{"ownedProperty": OwnedProperty}
UpdatePartyInput
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
US address to update. Fields with non-null values will be updated, the rest will be ignored. |
id - ID!
|
Node ID |
individual - PartyIndividualInput
|
Details about the individual associated with the party. |
legalEntity - PartyLegalEntityInput
|
Details about the party, if the party is a legal entity |
role - PartyRole
|
Indicates the type of relationship between the party and the loan. |
Example
{
"address": AddressInput,
"id": "4",
"individual": PartyIndividualInput,
"legalEntity": PartyLegalEntityInput,
"role": "APPRAISER"
}
UpdatePartyResponse
Fields
| Field Name | Description |
|---|---|
party - Party
|
|
userErrors - [UserError!]!
|
Example
{
"party": Party,
"userErrors": [UserError]
}
UpdatePendingNetSaleProceedsFromRealEstateAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
ownedPropertyId - ID
|
The ID of the associated OwnedProperty that is pending sale |
salePrice - NonNegativeInt
|
Sale price of the property in dollars |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": "4",
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"],
"ownedPropertyId": "4",
"salePrice": 123
}
UpdatePreviousBorrowerAddressInput
Description
Update previous borrower address input
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
US address to update |
id - ID!
|
Borrower Address ID |
monthlyRentAmount - NonNegativeInt
|
The monthly rental amount in dollars |
moveInDate - Date
|
Move in date |
moveOutDate - Date
|
Move out date |
residencyBasis - BorrowerResidencyBasis
|
The basis on which the borrower lives/lived at this address |
Example
{
"address": AddressInput,
"id": "4",
"monthlyRentAmount": 123,
"moveInDate": "2007-12-03",
"moveOutDate": "2007-12-03",
"residencyBasis": "LIVING_RENT_FREE"
}
UpdatePreviousBorrowerAddressResponse
Fields
| Field Name | Description |
|---|---|
address - Address!
|
US Address |
id - ID!
|
Node ID |
monthlyRentAmount - NonNegativeInt
|
The monthly rental amount in dollars |
moveInDate - Date
|
Move in date |
moveOutDate - Date
|
Move out date |
residencyBasis - BorrowerResidencyBasis
|
The basis on which the borrower lives/lived at this address |
Example
{
"address": Address,
"id": "4",
"monthlyRentAmount": 123,
"moveInDate": "2007-12-03",
"moveOutDate": "2007-12-03",
"residencyBasis": "LIVING_RENT_FREE"
}
UpdateProceedsFromSaleOfNonRealEstateAssetInput
Fields
| Input Field | Description |
|---|---|
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"amount": 123,
"id": "4",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateProceedsFromSecuredLoanAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": "4",
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateProceedsFromUnsecuredLoanAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": "4",
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateProcessorFeeInput
UpdateProcessorFeeResponse
Fields
| Field Name | Description |
|---|---|
blockedLoans - [BlockedLoan!]!
|
|
updatedLoanCount - Int!
|
|
userErrors - [UserError!]!
|
Example
{
"blockedLoans": [BlockedLoan],
"updatedLoanCount": 987,
"userErrors": [UserError]
}
UpdateRetirementFundAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "abc123",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateSavingsAccountAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": "4",
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateSelfEmploymentBusinessInput
Description
Input for updating a self employment business
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
|
name - String
|
Name |
percentOwnership - NonNegativeFloat
|
Percent of the business that the borrower owns. This field is expressed as a percent. As an example, 50.1% is expressed as 50.1. |
Example
{
"address": AddressInput,
"name": "abc123",
"percentOwnership": 123.45
}
UpdateSelfEmploymentIncomeInput
Description
Input for updating a SelfEmploymentIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerId - ID
|
The borrower associated with the income |
business - UpdateSelfEmploymentBusinessInput
|
The associated self-employment business (if one exists) |
employmentClassification - EmploymentClassificationType
|
Whether this is the borrower's primary or secondary employer |
endDate - Date
|
End date. A value of null indicates that the employment is current. |
externalId - String
|
External ID from third-party services |
id - ID!
|
The ID of the income to update |
isCurrentEmployment - Boolean
|
Is the employment current? |
numberOfMonthsInLineOfWork - NonNegativeInt
|
The total number of months the borrower has been employed in this line of work, regardless of employer |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
position - String
|
A name or description of the employment position or job title |
startDate - Date
|
Start date |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerId": 4,
"business": UpdateSelfEmploymentBusinessInput,
"employmentClassification": "PRIMARY",
"endDate": "2007-12-03",
"externalId": "xyz789",
"id": "4",
"isCurrentEmployment": false,
"numberOfMonthsInLineOfWork": 123,
"payPeriodFrequency": "ANNUALLY",
"position": "abc123",
"startDate": "2007-12-03",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
UpdateStandardEmploymentIncomeInput
Description
Input for updating a StandardEmploymentIncome
Fields
| Input Field | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrowerHasSpecialRelationshipWithEmployer - Boolean
|
When true, indicates that the borrower has a special relationship with the employer, such as familial ties. Default = false |
borrowerId - ID
|
The borrower associated with the income |
employer - EmployerInput
|
Employer details |
employmentClassification - EmploymentClassificationType
|
Whether this is the borrower's primary or secondary employer |
endDate - Date
|
End date. A value of null indicates that the employment is current. |
externalId - String
|
External ID from third-party services |
id - ID!
|
The ID of the income to update |
incomePayType - IncomePayType
|
The type of pay (hourly or salaried) |
isCurrentEmployment - Boolean
|
Is the employment current? |
numberOfMonthsInLineOfWork - NonNegativeInt
|
The total number of months the borrower has been employed in this line of work, regardless of employer |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income. Default = MONTHLY |
position - String
|
A name or description of the employment position or job title |
startDate - Date
|
Start date |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt
|
Stated monthly income amount in dollars |
Example
{
"averageHoursPerWeek": 123,
"borrowerHasSpecialRelationshipWithEmployer": true,
"borrowerId": 4,
"employer": EmployerInput,
"employmentClassification": "PRIMARY",
"endDate": "2007-12-03",
"externalId": "abc123",
"id": "4",
"incomePayType": "HOURLY",
"isCurrentEmployment": false,
"numberOfMonthsInLineOfWork": 123,
"payPeriodFrequency": "ANNUALLY",
"position": "xyz789",
"startDate": "2007-12-03",
"statedAmount": 123.45,
"statedMonthlyAmount": 123
}
UpdateStockAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "abc123",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["xyz789"]
}
UpdateStockOptionsAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": 4,
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"]
}
UpdateSubjectPropertyInput
Description
Input to the updateSubjectProperty mutation
Fields
| Input Field | Description |
|---|---|
attachmentType - AttachmentEnum
|
Whether the property is physically attached to neighboring units |
borrowerSpecifiedMonthlyPropertyTaxes - NonNegativeInt
|
The borrower-specified monthly property taxes |
city - String
|
City |
country - String
|
Country |
fipsCountyCode - String
|
County-level FIPS code |
hoaDues - NonNegativeInt
|
The monthly HOA dues of the property |
homeInsuranceMonthlyAmount - NonNegativeInt
|
The monthly home insurance premium associated with this property |
id - ID!
|
The ID of the SubjectProperty to update |
isManufacturedHome - Boolean
|
Marks a subject property as a manufactured home |
isMixedUse - Boolean
|
Marks a subject property as having a mixed-use character |
isPlannedUnitDevelopment - Boolean
|
Marks a subject property as being part of a planned unit development |
line - String
|
Street address line 1 |
line2 - String
|
Street address line 2 |
manuallyEstimatedValue - NonNegativeInt
|
The manually estimated value of the property |
neighborhoodHousingType - NeighborhoodHousingType
|
The type of property |
numberOfUnits - NonNegativeInt
|
The number of dwelling units on the property |
propertyTaxesAndInsuranceIncludedInPayment - Boolean
|
Is Property taxes and insurance included in payment |
rentalEstimatedGrossMonthlyRentAmount - NonNegativeInt
|
The estimated gross monthly rent amount (for investment properties) |
zipCode - String
|
Zip code |
Example
{
"attachmentType": "ATTACHED",
"borrowerSpecifiedMonthlyPropertyTaxes": 123,
"city": "abc123",
"country": "abc123",
"fipsCountyCode": "xyz789",
"hoaDues": 123,
"homeInsuranceMonthlyAmount": 123,
"id": "4",
"isManufacturedHome": false,
"isMixedUse": false,
"isPlannedUnitDevelopment": true,
"line": "abc123",
"line2": "abc123",
"manuallyEstimatedValue": 123,
"neighborhoodHousingType": "CONDOMINIUM",
"numberOfUnits": 123,
"propertyTaxesAndInsuranceIncludedInPayment": false,
"rentalEstimatedGrossMonthlyRentAmount": 123,
"zipCode": "abc123"
}
UpdateSubjectPropertyIntentInput
Description
Input to the updateSubjectPropertyIntent mutation
Fields
| Input Field | Description |
|---|---|
fipsCountyCode - String
|
County-level FIPS code |
id - ID!
|
The ID of the subject property intent to update |
isPlannedUnitDevelopment - Boolean
|
Marks a subject property as being part of a planned unit development |
neighborhoodHousingType - NeighborhoodHousingType
|
The type of housing |
propertyUsageType - PropertyUsageType
|
How the borrower(s) intend to use the property |
state - StateAbbreviated
|
Abbreviated US state name (including DC) |
Example
{
"fipsCountyCode": "abc123",
"id": 4,
"isPlannedUnitDevelopment": true,
"neighborhoodHousingType": "CONDOMINIUM",
"propertyUsageType": "INVESTMENT",
"state": "AK"
}
UpdateSubjectPropertyIntentResponse
Description
Response of the updateSubjectPropertyIntent mutation
Fields
| Field Name | Description |
|---|---|
subjectPropertyIntent - SubjectPropertyIntent!
|
The updated SubjectPropertyIntent |
Example
{"subjectPropertyIntent": SubjectPropertyIntent}
UpdateSubjectPropertyResponse
Description
Response of the updateSubjectProperty mutation
Fields
| Field Name | Description |
|---|---|
subjectProperty - SubjectProperty!
|
The SubjectProperty that was updated |
Example
{"subjectProperty": SubjectProperty}
UpdateTaskNameInput
UpdateTaskNameResponse
Description
Response of the updateTaskName mutation.
Fields
| Field Name | Description |
|---|---|
assignedTo - TaskAssignee!
|
Who the task is assigned to |
assigneeBorrowerId - ID
|
The id of the borrower that this task is related to |
completedAt - DateTime
|
The timestamp of when the task was completed |
createdOn - DateTime!
|
The timestamp of when the task was created |
customTaskName - String
|
The custom name override of the task |
deletedAt - DateTime
|
An optional timestamp for when the task was deleted |
details - TaskEntityDetails
|
Details about the entity this task is associated with Use relatedEntity instead, which resolves the associated entity as a Node whose own fields can be queried directly.
|
documentRequiredCondition - [DocumentRequiredCondition!]
|
The required document conditions on the task |
dueDate - DateTime
|
The due date of the task |
id - ID!
|
The Id of the task |
priority - Int
|
The priority level of the task |
relatedEntity - Node
|
The entity this task is about (e.g. the Asset for a bank-statement upload task, or the AssetTransaction for a large-deposit task), resolvable as a Node. Prefer this over the deprecated details field. |
relatedEntityId - String
|
The global id of the entity this task is about, resolvable via relatedEntity or the node(id) query. Use relatedEntity { id } instead — relatedEntity resolves the entity itself (its id plus all its other fields) in one query.
|
status - TaskStatus!
|
The status of task |
taskDescription - String
|
The description of the task |
taskName - String
|
The name of the task |
type - TaskType!
|
The type of task |
Example
{
"assignedTo": "BORROWER",
"assigneeBorrowerId": "4",
"completedAt": "2007-12-03T10:15:30Z",
"createdOn": "2007-12-03T10:15:30Z",
"customTaskName": "abc123",
"deletedAt": "2007-12-03T10:15:30Z",
"details": TaskEntityDetails,
"documentRequiredCondition": [
DocumentRequiredCondition
],
"dueDate": "2007-12-03T10:15:30Z",
"id": "4",
"priority": 987,
"relatedEntity": Node,
"relatedEntityId": "abc123",
"status": "AutomaticallyCancelled",
"taskDescription": "xyz789",
"taskName": "abc123",
"type": "DataVerification"
}
UpdateTrustAccountAssetInput
Fields
| Input Field | Description |
|---|---|
accountIdentifier - String
|
A unique alphanumeric string identifying the asset. Also known as 'Account Number' |
accountOpenedDate - Date
|
The date when financial account was opened |
amount - NonNegativeInt
|
The cash or market value of the asset in dollars |
id - ID!
|
The ID of the asset to update |
institutionName - String
|
Institution name |
nonBorrowerOwnerNames - [String!]
|
Full names of asset owners or account holders not included in the loan application |
trusteeName - String
|
The legal name of the trustee |
Example
{
"accountIdentifier": "xyz789",
"accountOpenedDate": "2007-12-03",
"amount": 123,
"id": "4",
"institutionName": "xyz789",
"nonBorrowerOwnerNames": ["abc123"],
"trusteeName": "xyz789"
}
UpdateUdnNotificationEmailsInput
Description
Input to update UDN notification emails
Fields
| Input Field | Description |
|---|---|
monitorId - ID!
|
The UDN monitor ID |
notificationEmails - [String!]!
|
New notification email addresses |
Example
{
"monitorId": 4,
"notificationEmails": ["abc123"]
}
UpdateUdnNotificationEmailsResponse
UpgradeCreditReportInput
Description
Input to upgrade an existing credit report to tri-merge
Fields
| Input Field | Description |
|---|---|
creditPullId - ID!
|
The ID of the completed credit pull to upgrade |
Example
{"creditPullId": "4"}
UpgradeCreditReportResponse
Description
Response from upgrading a credit report
Fields
| Field Name | Description |
|---|---|
job - CreditPullJob
|
Credit pull job for the upgrade |
userErrors - [GenericUserError!]
|
User errors preventing upgrade |
Example
{
"job": CreditPullJob,
"userErrors": [GenericUserError]
}
UsCounty
UsState
Fields
| Field Name | Description |
|---|---|
abbreviation - String!
|
Two-letter abbreviation |
counties - [UsCounty!]!
|
|
name - String!
|
Example
{
"abbreviation": "xyz789",
"counties": [UsCounty],
"name": "abc123"
}
UserError
Description
User error interface
Fields
| Field Name | Description |
|---|---|
code - String
|
A stable error code for programmatic handling. Format: {DOMAIN}_{ERROR_NAME} (e.g., 'LOAN_CLOSED', 'AUS_NO_PRODUCT_PRICING'). |
errorId - ID!
|
A unique identifier for this error instance, useful for tracking and debugging. |
field - [String!]
|
Path to the input field that caused the error (e.g., ['input', 'customer', 'email']). Null when not associated with a specific field. |
message - String!
|
A human-readable error message. |
Possible Types
| UserError Types |
|---|
Example
{
"code": "xyz789",
"errorId": 4,
"field": ["abc123"],
"message": "xyz789"
}
VaBenefitsNonEducationalIncome
Description
Veteran's Association benefits that are not related to education
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": "4",
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
VendorName
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PLAID"
VerifyMutations
Description
Verification mutations namespace
Fields
| Field Name | Description |
|---|---|
createInitializationToken - CreateInitializationTokenResponse
|
|
Arguments
|
|
createUpdateModeToken - CreateUpdateModeTokenResponse
|
|
Arguments
|
|
exchangePublicToken - ExchangePublicTokenResponse
|
|
Arguments
|
|
getPlaidLayerSession - GetPlaidLayerSessionResponse
|
|
Arguments
|
|
Example
{
"createInitializationToken": PlaidLinkToken,
"createUpdateModeToken": CreateUpdateModeTokenResponse,
"exchangePublicToken": PlaidItemAccess,
"getPlaidLayerSession": GetPlaidLayerSessionResponse
}
VerifyQueries
Description
Verification queries namespace
Fields
| Field Name | Description |
|---|---|
truvVerificationOutcome - TruvVerificationOutcome!
|
|
Arguments
|
|
Example
{"truvVerificationOutcome": "COMPLETE"}
WaivedRequirement
Description
A requirement that has been explicitly waived by an authorized actor.
Fields
| Field Name | Description |
|---|---|
borrowerIds - [ID!]!
|
Borrowers this requirement applies to; empty when the requirement is loan-level. A composite carries the union of its children's borrowers. |
children - [Requirement!]!
|
Child requirements of a composite, each with its own phase, recursing through nested composites so a deep tree renders as a tree. Empty for leaf requirements. Unlike fulfillmentOptions, present in every phase — a satisfied or waived composite still lists its children here. |
description - String!
|
Human-readable label for this requirement, e.g. "W2 for Acme Corp (2025)". |
id - ID!
|
Node ID |
openedAt - DateTimeISO!
|
When this requirement (re)entered its current OPEN period. A removed and later restored requirement carries the restore time, not its original creation time. |
phase - RequirementPhase!
|
Current resolution phase. Redundant with __typename but useful for client-side filtering without fragment matching. |
provenance - [ProvenanceSource!]!
|
Why this requirement exists — rule evaluation, manual condition, or data dependency. |
reason - String!
|
Reason the requirement was waived. |
waivedAt - DateTimeISO!
|
When this requirement was waived. |
waivedBy - String!
|
Identifier of the user who waived this requirement. |
Example
{
"borrowerIds": ["4"],
"children": [Requirement],
"description": "xyz789",
"id": "4",
"openedAt": "2007-12-03T10:15:30Z",
"phase": "OPEN",
"provenance": [ProvenanceSource],
"reason": "abc123",
"waivedAt": "2007-12-03T10:15:30Z",
"waivedBy": "xyz789"
}
WarehousingCost
WarehousingCosts
Fields
| Field Name | Description |
|---|---|
products - [WarehousingCost!]
|
A list of products and their warehouse margins |
Example
{"products": [WarehousingCost]}
WithdrawLoanInput
Description
Input to the withdrawLoan mutation.
Fields
| Input Field | Description |
|---|---|
id - ID!
|
ID of the loan to withdraw |
Example
{"id": 4}
WithdrawLoanResponse
Types
| Union Types |
|---|
Example
LoanClosedError
WithdrawLoanSuccess
Description
A successful response after a loan has been archived.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
ID of the withdrawn loan |
Example
{"id": 4}
WorkersCompensationIncome
Description
Workers compensation income
Fields
| Field Name | Description |
|---|---|
averageHoursPerWeek - NonNegativeInt
|
The average number of hours worked per week |
borrower - Borrower!
|
The borrower associated with the income |
id - ID!
|
Node ID |
payPeriodFrequency - PayPeriodFrequency
|
The pay cycle frequency of this income |
qualifiedAmount - NonNegativeFloat
|
The qualified amount determined from this income |
statedAmount - NonNegativeFloat
|
The amount paid per cycle for this income |
statedMonthlyAmount - NonNegativeInt!
|
Stated monthly income amount in dollars Use statedAmount along with a payPeriodFrequency instead of this combined field
|
verifiedAmount - NonNegativeFloat
|
The verified amount of this income |
voieReportId - ID
|
The external report if income has been verified |
Example
{
"averageHoursPerWeek": 123,
"borrower": Borrower,
"id": 4,
"payPeriodFrequency": "ANNUALLY",
"qualifiedAmount": 123.45,
"statedAmount": 123.45,
"statedMonthlyAmount": 123,
"verifiedAmount": 123.45,
"voieReportId": "4"
}
WriteDisputeInput
Fields
| Input Field | Description |
|---|---|
kind - ApprovalProcessDisputeKind!
|
The dispute action being recorded. |
loanId - ID!
|
Loan application id where the dispute evidence will be written. |
reason - String
|
Rejection rationale for REJECTION. |
reasoning - String
|
Reasoning narrative for CHALLENGE and WAIVE. |
target - ID
|
Target requirement id for WAIVE. |
targetRef - ApprovalProcessEvidenceRefInput
|
Target assertion-edge ref for CHALLENGE and REJECTION. Unused for WAIVE. |
Example
{
"kind": "CHALLENGE",
"loanId": 4,
"reason": "xyz789",
"reasoning": "xyz789",
"target": 4,
"targetRef": ApprovalProcessEvidenceRefInput
}
WriteDisputeResponse
Fields
| Field Name | Description |
|---|---|
evidenceId - ID!
|
Id of the inserted dispute evidence row. |
warnings - [UnderwritingReviewWarning!]!
|
Non-fatal warnings about the write (the review verbs' warning vocabulary). Empty on a clean write. |
Example
{
"evidenceId": "4",
"warnings": ["TARGET_SUPERSEDED"]
}
ZeroToleranceFeeIncreasedReason
Description
§1026.19(e)(3)(i): an individual zero-tolerance charge increased.
Fields
| Field Name | Description |
|---|---|
currentAmount - MonetaryAmount!
|
|
disclosedAmount - MonetaryAmount!
|
|
fee - DisclosureDriftFeeIdentity!
|
|
increaseAmount - MonetaryAmount!
|
|
kind - DisclosureDriftReasonKind!
|
Example
{
"currentAmount": MonetaryAmount,
"disclosedAmount": MonetaryAmount,
"fee": DisclosureDriftFeeIdentity,
"increaseAmount": MonetaryAmount,
"kind": "APR_INACCURATE"
}