Skip to content

Integrations

Encompass (API user)

Connect a lender's Encompass API key and an Encompass user to Alter Vault through the password grant

Use a lender’s own Encompass API key and an Encompass user’s login to make Encompass Developer Connect calls through Alter Vault. The client secret and the password stay in the vault: Alter exchanges them for a short-lived Encompass access token through the password grant, which ICE requires of lenders, and only that token is sent on the wire and returned to the SDK.

PropertyValue
Template IDencompass-api-user
CategoryFinance
Credential TypeOAuth password grant (API user)

Why the password grant, and a dedicated user

Section titled “Why the password grant, and a dedicated user”

ICE allows the client-credentials grant only for ISV partners: “Lenders must use grant type = password” (Encompass authentication guide). OAuth’s current security guidance (RFC 9700) says the password grant must not be used, because it exposes a user’s password to the application; this route uses it only because Encompass offers a lender no other grant for an agent that runs unattended. Encompass also issues no refresh token, so Alter keeps the password in the vault and sends it each time it mints a token, at least every 30 minutes. The exchange requests Encompass’s one scope, lp, as ICE’s own Postman collection does for this grant.

The password therefore stays stored for as long as the secret exists. Use a dedicated, non-human Encompass user created for the integration, never a person’s own login:

  • Its persona grants only what the agent needs, and disabling the user in Encompass cuts off the agent and nothing else.
  • Encompass records each change under the user who made it, so the agent’s changes stay apart from any person’s.
  • A person’s password changes and lockouts do not stop the agent, and the agent’s logins never lock a person out.

Get the API key

An Encompass Super Admin signs in to Encompass Developer Connect, opens My Account → API Key, and copies the Client ID (OAuth) and Client Secret. Do not click Regenerate Secret: it breaks every application using this API key.

Create a dedicated Encompass user

Create an Encompass user for the agent to act as, not a person’s own login, with a persona that grants only what the agent needs. Note its user ID and password, and the instance ID (for example BE11234567).

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Encompass (API user)

Go to Managed Secrets > Add Provider > Encompass (API user).

Enter credentials

Enter the client ID, the Instance ID, the Encompass user ID, and the password in their fields, and paste the client secret into the credential field. Enter the user ID alone: Alter adds @encompass:<Instance ID>.

Set the allowed host

Set the secret’s allowed host to api.elliemae.com.

Save

Click Save. Alter performs a real token exchange to verify the credentials before storing them; a client ID and secret, or a user ID and password, that Encompass rejects fail the save. You’ll receive a grant_id to use with the SDK.

response = await alter_app.request(
HttpMethod.GET,
"https://api.elliemae.com/encompass/v3/loans/LOAN_ID",
grant_id="YOUR_GRANT_ID",
)

request hands the token to the application, which then calls Encompass itself, so Alter never sees the request. Alter can only enforce an approval rule, a method and endpoint restriction, or a content rule (one that names an operation, a family, or a request field) on a call it makes itself. Once any such rule applies to the grant, at any level, every request on that grant is refused with RestrictedGrantRequiresProxyError (errors). Use proxy_request for a grant that carries the rules in Policy: it sends the whole request to Alter, which checks it against the rules, injects the token, and calls Encompass.

result = await alter_app.proxy_request(
HttpMethod.GET,
"https://api.elliemae.com/encompass/v3/loans/LOAN_ID",
grant_id="YOUR_GRANT_ID",
reason="Read the loan for the pipeline report",
)

proxy_request returns an ApprovalResult with Encompass’s status_code and body (result.body_json()), or a PendingApproval when a rule requires a person to approve the call first; see human-in-the-loop approvals. A recipients rule judges the body Alter sends, so it works only through proxy_request.

Every call runs through Alter’s policy rules, with the same operations and families as Encompass OAuth: require approval for send (Encompass Docs package deliveries, Loan Opportunity notifications, partner service orders, and webhook subscriptions) and payment (rate locks, trades, funding balances, compensation plans, a TPO company’s pricing and warehouse banks, and every route that writes a loan’s contract), and deny admin for agent grants. Sending an Encompass Docs package projects a recipients parameter with every email address and phone number it is delivered to; a package that names a recipient only by id, or a fulfillment sent by mail, cannot be judged, so a rule that names recipients refuses it. Issuing or introspecting a token, creating a Delivery Room session for a recipient in a partner portal, and changing a user’s own password are always refused, as on the OAuth route, because each would hand the caller a credential.

  • An API key belongs to one Encompass client ID. An instance with a different client ID needs its own key.
  • Encompass allows 30 concurrent calls per lender by default, shared by the lender’s own users and every partner, and answers 429 beyond that. ICE asks lenders to keep the remaining ratio at or below 80%; each response carries X-Concurrency-Limit-Limit and X-Concurrency-Limit-Remaining (concurrency limits).
  • Rotating, deleting or revoking the secret discards Alter’s cached token and revokes at Encompass the tokens Alter recorded as minted from the secret’s credentials in the last 24 hours, and the tokens of its save-time checks: Encompass extends a token each time it is used, for up to 24 hours, so a token a caller still holds can outlive Alter’s copy. A token minted while Alter’s token cache was unavailable, or whose record could not be written, is not covered and expires on its own within 24 hours. Revocation is best effort; a failed one is audited as credential.minted_token_revocation_failed, and a token Encompass does not revoke lapses 30 minutes after it was issued or last extended, and 24 hours after issue at the latest.
  • When Encompass rejects the login or the client pair, Alter does not send that login again until the credential is saved again, so a wrong password cannot lock the Encompass user out. Any other refusal of the exchange is replayed for 60 seconds instead of being sent again, with Retry-After set to the time left. A bare 401 does not say which credential is wrong, so Alter’s error names both, the Encompass user’s login first, then the client ID and secret: check the password before regenerating an API key’s secret, which breaks every other application that uses it.
  • Only production (api.elliemae.com) is reachable. ICE’s API reference lists concept.api.elliemae.com as a separate UAT server, and Alter does not connect to it.
  • Uploading or downloading an attachment takes a second call straight to ICE’s storage service, outside Alter; importing a MISMO 3.4 or Fannie Mae file cannot go through proxy_request; and Alter returns at most 5 MiB of a response body. See Files and large responses.
  • A request field ICE adds to an operation after Alter’s catalog was generated is refused by a content rule that judges a request field on that operation until Alter regenerates the catalog; see the OAuth route’s notes.

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider pathNotes
create-an-invitationwritePOST/consumers/v1/invitations—
create-reminder-urlwritePOST/consumers/v1/reminders—
get-packagesreadGET/delivery/v3/{groupNamespace}/{groupId}/packages—
get-packagereadGET/delivery/v3/{groupNamespace}/{groupId}/packages/{packageId}—
get-compliance-reportsreadGET/ecs/v1/complianceReports—
create-a-compliance-reportwritePOST/ecs/v1/complianceReports—
manage-comp-settings-rpt-permissionsadmin, writePOST/ecs/v1/settings/user—
export-attachmentswritePOST/efolder/v1/exportjobs—
get-export-statusreadGET/efolder/v1/exportjobs/{jobId}—
export-files-job-creatorwritePOST/efolder/v1/loans/{loanId}/exportJobsCreator—
v1-get-attachment-metadatareadGET/efolder/v1/loans/{loanId}/files/{fileId}—
view-contacts-with-paginationreadPOST/encompass/v1/borrowerContactSelector—
create-contactwritePOST/encompass/v1/borrowerContacts—
delete-borrower-contactdeleteDELETE/encompass/v1/borrowerContacts/{contactId}—
get-borrower-contactsreadGET/encompass/v1/borrowerContacts/{contactId}—
update-contactwritePATCH/encompass/v1/borrowerContacts/{contactId}—
get-notesreadGET/encompass/v1/borrowerContacts/{contactId}/notes—
create-notewritePOST/encompass/v1/borrowerContacts/{contactId}/notes—
delete-notedeleteDELETE/encompass/v1/borrowerContacts/{contactId}/notes/{noteId}—
get-notereadGET/encompass/v1/borrowerContacts/{contactId}/notes/{noteId}—
update-notewritePATCH/encompass/v1/borrowerContacts/{contactId}/notes/{noteId}—
get-business-contact-listreadPOST/encompass/v1/businessContactSelector—
create-contact-businesswritePOST/encompass/v1/businessContacts—
delete-contact-businessdeleteDELETE/encompass/v1/businessContacts/{contactId}—
get-contact-businessreadGET/encompass/v1/businessContacts/{contactId}—
update-contact-1writePATCH/encompass/v1/businessContacts/{contactId}—
create-note-businesswritePOST/encompass/v1/businessContacts/{contactId}/notes—
delete-note-businessdeleteDELETE/encompass/v1/businessContacts/{contactId}/notes/{noteId}—
get-note-businessreadGET/encompass/v1/businessContacts/{contactId}/notes/{noteId}—
update-note-businesswritePATCH/encompass/v1/businessContacts/{contactId}/notes/{noteId}—
calculate-loanreadPOST/encompass/v1/calculators/loan—
get-global-cdosreadGET/encompass/v1/company/customObjects—
delete-global-cdoadmin, deleteDELETE/encompass/v1/company/customObjects/{objectName}—
get-global-cdoreadGET/encompass/v1/company/customObjects/{objectName}—
update-global-cdoadmin, writePATCH/encompass/v1/company/customObjects/{objectName}—
create-or-replace-global-cdoadmin, writePUT/encompass/v1/company/customObjects/{objectName}—
get-a-list-of-usersreadGET/encompass/v1/company/users—
get-a-user-profilereadGET/encompass/v1/company/users/{userId}—
get-users-assigned-rightsreadGET/encompass/v1/company/users/{userId}/assignedRights—
get-compensation-plansreadGET/encompass/v1/company/users/{userId}/compensation—
get-users-effective-rightsreadGET/encompass/v1/company/users/{userId}/effectiveRights—
get-list-of-user-groupsreadGET/encompass/v1/company/users/{userId}/groups—
get-license-detailsreadGET/encompass/v1/company/users/{userId}/licenses—
get-contact-groupsreadGET/encompass/v1/contactGroups—
create-contact-groupwritePOST/encompass/v1/contactGroups—
delete-contact-groupdeleteDELETE/encompass/v1/contactGroups/{groupId}—
get-contact-groupreadGET/encompass/v1/contactGroups/{groupId}—
update-contact-groupwritePATCH/encompass/v1/contactGroups/{groupId}—
get-all-contacts-in-contact-groupreadGET/encompass/v1/contactGroups/{groupId}/contacts—
add-or-remove-group-contactsdelete, writePATCH/encompass/v1/contactGroups/{groupId}/contacts—
create-loan-from-import-filepayment, writePOST/encompass/v1/importers/loan—
update-loansadmin, payment, writePOST/encompass/v1/loanBatch/updateRequests—
get-statusreadGET/encompass/v1/loanBatch/updateRequests/{requestId}—
post-encompass-v1-loanpipelinereadPOST/encompass/v1/loanPipeline—
v1-get-canonical-fieldsreadGET/encompass/v1/loanPipeline/fieldDefinitions—
move-to-loan-folderwritePATCH/encompass/v1/loanfolders/{folderName}/loans—
create-loanpayment, writePOST/encompass/v1/loans—
get-list-of-loan-cdosreadGET/encompass/v1/loans/customObjects/{loanId}—
get-supported-entitiesreadGET/encompass/v1/loans/supportedEntities—
get-associatesreadGET/encompass/v1/loans/{id}/associates—
get-associatereadGET/encompass/v1/loans/{id}/associates/{logId}—
assign-loan-associatewritePUT/encompass/v1/loans/{id}/associates/{logId}—
get-milestone-free-rolesreadGET/encompass/v1/loans/{id}/milestoneFreeRoles—
get-milestone-free-rolereadGET/encompass/v1/loans/{id}/milestoneFreeRoles/{logId}—
update-a-milestone-free-rolewritePATCH/encompass/v1/loans/{id}/milestoneFreeRoles/{logId}—
get-all-milestonesreadGET/encompass/v1/loans/{id}/milestones—
get-a-milestonereadGET/encompass/v1/loans/{id}/milestones/{logId}—
update-a-milestonewritePATCH/encompass/v1/loans/{id}/milestones/{logId}—
delete-loandeleteDELETE/encompass/v1/loans/{loanId}—
get-loanreadGET/encompass/v1/loans/{loanId}—
update-loanpayment, writePATCH/encompass/v1/loans/{loanId}—
get-borrower-pairsreadGET/encompass/v1/loans/{loanId}/applications—
move-borrower-pairwritePATCH/encompass/v1/loans/{loanId}/applications—
create-borrower-pairwritePOST/encompass/v1/loans/{loanId}/applications—
delete-borrower-pairdeleteDELETE/encompass/v1/loans/{loanId}/applications/{applicationId}—
get-borrower-pairreadGET/encompass/v1/loans/{loanId}/applications/{applicationId}—
update-borrower-pairwritePATCH/encompass/v1/loans/{loanId}/applications/{applicationId}—
get-attachmentsreadGET/encompass/v1/loans/{loanId}/attachments—
upload-attachment-to-efolderwritePUT/encompass/v1/loans/{loanId}/attachments/url—
get-attachmentreadGET/encompass/v1/loans/{loanId}/attachments/{attachmentId}—
update-attachmentwritePATCH/encompass/v1/loans/{loanId}/attachments/{attachmentId}—
get-thumbnail-of-pagereadPOST/encompass/v1/loans/{loanId}/attachments/{attachmentId}/pages/{pageId}/thumbnail/url—
get-page-of-attachmentreadPOST/encompass/v1/loans/{loanId}/attachments/{attachmentId}/pages/{pageId}/url—
get-attachment-urlreadPOST/encompass/v1/loans/{loanId}/attachments/{attachmentId}/url—
get-all-aus-tracking-logreadGET/encompass/v1/loans/{loanId}/ausTrackingLogs—
create-an-aus-tracking-logwritePOST/encompass/v1/loans/{loanId}/ausTrackingLogs—
get-aus-tracking-log-snapshotreadGET/encompass/v1/loans/{loanId}/ausTrackingLogs/snapshot/{logId}—
get-an-aus-tracking-logreadGET/encompass/v1/loans/{loanId}/ausTrackingLogs/{logId}—
update-an-aus-tracking-logwritePATCH/encompass/v1/loans/{loanId}/ausTrackingLogs/{logId}—
get-all-post-closing-conditionsreadGET/encompass/v1/loans/{loanId}/conditions/postclosing—
manage-post-closing-conditionsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/postclosing—
create-post-closing-conditionswritePOST/encompass/v1/loans/{loanId}/conditions/postclosing—
get-a-post-closing-conditionreadGET/encompass/v1/loans/{loanId}/conditions/postclosing/{conditionId}—
manage-post-closing-commentsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/postclosing/{conditionId}/comments—
manage-post-closing-documentsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/postclosing/{conditionId}/documents—
get-all-preliminary-conditions-1readGET/encompass/v1/loans/{loanId}/conditions/preliminary—
manage-preliminary-conditionsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/preliminary—
create-preliminary-conditionswritePOST/encompass/v1/loans/{loanId}/conditions/preliminary—
get-all-preliminary-conditionsreadGET/encompass/v1/loans/{loanId}/conditions/preliminary/{conditionId}—
manage-preliminary-commentsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/preliminary/{conditionId}/comments—
manage-preliminary-documentsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/preliminary/{conditionId}/documents—
get-all-underwriting-conditionsreadGET/encompass/v1/loans/{loanId}/conditions/underwriting—
manage-underwriting-conditionsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/underwriting—
create-underwriting-conditionswritePOST/encompass/v1/loans/{loanId}/conditions/underwriting—
get-an-underwriting-conditionreadGET/encompass/v1/loans/{loanId}/conditions/underwriting/{conditionId}—
manage-underwriting-commentsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/underwriting/{conditionId}/comments—
manage-underwriting-documentsdelete, writePATCH/encompass/v1/loans/{loanId}/conditions/underwriting/{conditionId}/documents—
get-all-conversation-logsreadGET/encompass/v1/loans/{loanId}/conversationLogs—
get-a-conversation-logreadGET/encompass/v1/loans/{loanId}/conversationLogs/{logId}—
get-list-of-loan-cdos-alternate-pathreadGET/encompass/v1/loans/{loanId}/customObjectsThe API reference documents this operation at /encompass/v1/loans/customObjects/{loanId} and every other loan custom data object route (and the user list, /encompass/v1/users/{userId}/customObjects) at this path; ICE does not say which it serves, so both are cataloged with the same families and parameters
delete-a-loan-cdodeleteDELETE/encompass/v1/loans/{loanId}/customObjects/{objectName}—
get-a-loan-cdoreadGET/encompass/v1/loans/{loanId}/customObjects/{objectName}—
update-a-loan-cdowritePATCH/encompass/v1/loans/{loanId}/customObjects/{objectName}—
create-or-replace-a-loan-cdowritePUT/encompass/v1/loans/{loanId}/customObjects/{objectName}—
get-all-disclosure-tracking-logsreadGET/encompass/v1/loans/{loanId}/disclosureTracking2015—
get-a-disclosure-tracking-logreadGET/encompass/v1/loans/{loanId}/disclosureTracking2015/{logId}—
get-snapshotreadGET/encompass/v1/loans/{loanId}/disclosureTracking2015/{logId}/snapshot—
get-documentsefolder-documentreadGET/encompass/v1/loans/{loanId}/documents—
create-documentwritePOST/encompass/v1/loans/{loanId}/documents—
get-documentreadGET/encompass/v1/loans/{loanId}/documents/{documentId}—
update-documentwritePATCH/encompass/v1/loans/{loanId}/documents/{documentId}—
get-document-attachmentsreadGET/encompass/v1/loans/{loanId}/documents/{documentId}/attachments—
assign-document-attachmentdelete, writePATCH/encompass/v1/loans/{loanId}/documents/{documentId}/attachments—
add-comments-to-a-documentwritePATCH/encompass/v1/loans/{loanId}/documents/{documentId}/comments—
v1-field-readerreadPOST/encompass/v1/loans/{loanId}/fieldReader—
v1-get-loan-metadatareadGET/encompass/v1/loans/{loanId}/metadata—
get-rate-lockreadGET/encompass/v1/loans/{loanId}/ratelockRequests—
submit-a-rate-lock-requestpayment, writePOST/encompass/v1/loans/{loanId}/ratelockRequests—
get-rate-lock-requestreadGET/encompass/v1/loans/{loanId}/ratelockRequests/{requestId}—
update-a-rate-lock-requestpayment, writePATCH/encompass/v1/loans/{loanId}/ratelockRequests/{requestId}—
cancel-lock-requestpayment, writePUT/encompass/v1/loans/{loanId}/ratelockRequests/{requestId}/cancellation—
confirm-a-rate-lock-requestpayment, writePUT/encompass/v1/loans/{loanId}/ratelockRequests/{requestId}/confirmation—
deny-a-rate-lock-requestpayment, writePUT/encompass/v1/loans/{loanId}/ratelockRequests/{requestId}/denial—
get-snapshot-of-a-rate-lockreadGET/encompass/v1/loans/{loanId}/ratelockRequests/{requestId}/snapshot—
void-a-rate-lock-requestpayment, writePUT/encompass/v1/loans/{loanId}/ratelockRequests/{requestId}/void—
get-all-organizationsreadGET/encompass/v1/organizations—
get-root-organization-detailreadGET/encompass/v1/organizations/root—
get-organization-detailreadGET/encompass/v1/organizations/{orgId}—
get-children-of-organizationreadGET/encompass/v1/organizations/{orgId}/children—
get-resource-locksreadGET/encompass/v1/resourceLocks—
lock-resourcewritePOST/encompass/v1/resourceLocks—
unlock-resourcedeleteDELETE/encompass/v1/resourceLocks/{lockId}—
get-resource-lockreadGET/encompass/v1/resourceLocks/{lockId}—
get-loan-schemareadGET/encompass/v1/schema/loan—
contract-generatorreadPOST/encompass/v1/schema/loan/contractGenerator—
path-generatorreadPOST/encompass/v1/schema/loan/pathGenerator—
get-field-schemareadGET/encompass/v1/schema/loan/{fieldId}—
get-borrower-canonical-namesreadGET/encompass/v1/settings/borrowerContacts/fieldDefinitions—
get-business-canonical-namesreadGET/encompass/v1/settings/businessContacts/fieldDefinitions—
get-custom-fieldsreadGET/encompass/v1/settings/loan/customFields—
get-a-custom-fieldreadGET/encompass/v1/settings/loan/customFields/{customFieldId}—
get-a-list-of-personasreadGET/encompass/v1/settings/personas—
get-a-personareadGET/encompass/v1/settings/personas/{id}—
get-a-list-of-rolesreadGET/encompass/v1/settings/roles—
get-template-foldersreadGET/encompass/v1/settings/templates/loanTemplateSet/folders/{folderPath}—
get-template-filesreadGET/encompass/v1/settings/templates/loanTemplateSet/items—
get-user-cdosreadGET/encompass/v1/users/{userId}/customObjects—
delete-user-cdodeleteDELETE/encompass/v1/users/{userId}/customObjects/{objectName}—
get-user-cdoreadGET/encompass/v1/users/{userId}/customObjects/{objectName}—
update-user-cdowritePATCH/encompass/v1/users/{userId}/customObjects/{objectName}—
create-or-replace-user-cdowritePUT/encompass/v1/users/{userId}/customObjects/{objectName}—
evaluate-automated-conditionsreadPOST/encompass/v3/calculators/automatedConditions—
v3-amortization-schedule-calculatorreadPOST/encompass/v3/calculators/payments/amortization—
v3-get-external-organization-commitmentsreadPOST/encompass/v3/calculators/tpoCommitments—
converter-to-import-new-loanwritePOST/encompass/v3/converter/loans—
get-external-organizationsreadGET/encompass/v3/externalOrganizations/tpos—
get-an-external-organizationreadGET/encompass/v3/externalOrganizations/tpos/{orgId}—
get-all-external-usersreadGET/encompass/v3/externalUsers—
manage-external-usersadmin, delete, writePATCH/encompass/v3/externalUsers—
v3-change-external-user-passwordadmin, writePOST/encompass/v3/externalUsers/me/changePasswordrefused by default: leaves the caller holding a provider credential (a credential_minting rule can allow it); Announced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it. The caller sets the user’s new Encompass password and would then hold a working Encompass login outside Alter, so it is refused on every grant
get-an-external-userreadGET/encompass/v3/externalUsers/{userId}—
get-effective-rights-of-external-userreadGET/encompass/v3/externalUsers/{userId}/effectiveRights—
get-list-of-loan-foldersreadGET/encompass/v3/loanFolders—
get-a-loan-folderreadGET/encompass/v3/loanFolders/{folderName}—
view-pipeline-with-pagination-1readPOST/encompass/v3/loanPipeline—
get-canonical-namesreadGET/encompass/v3/loanPipeline/canonicalFields—
v3-create-cursorreadPOST/encompass/v3/loanPipeline/report—
create-loan-1payment, writePOST/encompass/v3/loans—
get-a-list-of-disclosure-tracking-logs-alternate-pathreadGET/encompass/v3/loans/disclosureTracking2015Logs/{loanId}The API reference documents this operation at /encompass/v3/loans/{loanId}/disclosureTracking2015Logs and ICE’s 26.1 release notes at this path; ICE does not say which it serves, so both are cataloged with the same families and parameters
delete-loan-1deleteDELETE/encompass/v3/loans/{loanId}—
get-loan-1readGET/encompass/v3/loans/{loanId}—
update-loan-1payment, writePATCH/encompass/v3/loans/{loanId}—
get-affiliated-business-arrangementsreadGET/encompass/v3/loans/{loanId}/affiliatedBusinessArrangements—
manage-affiliated-business-arrangementsdelete, writePATCH/encompass/v3/loans/{loanId}/affiliatedBusinessArrangements—
get-additional-loansreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/additionalLoans—
manage-additional-loansdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/additionalLoans—
get-gifts-and-grantsreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/giftsGrants—
manage-gifts-and-grantsdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/giftsGrants—
get-other-assetsreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/otherAssets—
manage-other-assetsdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/otherAssets—
get-other-incomereadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/otherIncomeSources—
manage-other-incomesdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/otherIncomeSources—
get-other-liabilitiesreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/otherLiabilities—
manage-other-liabilitiesdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/otherLiabilities—
get-reo-propertiesreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/reoProperties—
manage-reo-propertiesdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/reoProperties—
v3-get-request-for-transcript-of-taxreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/tax4506Ts—
v3-patch-request-for-transcript-of-taxdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/tax4506Ts—
get-vodsreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/vods—
manage-vodsdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/vods—
get-volsreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/vols—
manage-volsdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/vols—
get-employmentreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/{applicantType}/employment—
manage-employmentdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/{applicantType}/employment—
get-residencesreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/{applicantType}/residences—
manage-residencesdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/{applicantType}/residences—
get-urla-alternate-namesreadGET/encompass/v3/loans/{loanId}/applications/{applicationId}/{applicantType}/urlaAlternateNames—
update-urla-alternate-namesdelete, writePATCH/encompass/v3/loans/{loanId}/applications/{applicationId}/{applicantType}/urlaAlternateNames—
get-download-attachment-urlreadPOST/encompass/v3/loans/{loanId}/attachmentDownloadUrl—
create-attachment-urlwritePOST/encompass/v3/loans/{loanId}/attachmentUploadUrl—
get-list-of-attachmentsreadGET/encompass/v3/loans/{loanId}/attachments—
update-or-remove-attachmentsdelete, writePATCH/encompass/v3/loans/{loanId}/attachments—
get-an-attachmentreadGET/encompass/v3/loans/{loanId}/attachments/{attachmentId}—
pull-field-audit-datareadPOST/encompass/v3/loans/{loanId}/auditTrail—
view-vesting-entitiesreadGET/encompass/v3/loans/{loanId}/closingDocument/vestingEntities—
manage-vesting-entitiesdelete, writePATCH/encompass/v3/loans/{loanId}/closingDocument/vestingEntities—
get-all-enhanced-conditionsreadGET/encompass/v3/loans/{loanId}/conditions—
manage-enhanced-conditions-1delete, writePATCH/encompass/v3/loans/{loanId}/conditions—
get-an-enhanced-conditionreadGET/encompass/v3/loans/{loanId}/conditions/{conditionId}—
get-commentsreadGET/encompass/v3/loans/{loanId}/conditions/{conditionId}/comments—
manage-commentsdelete, writePATCH/encompass/v3/loans/{loanId}/conditions/{conditionId}/comments—
get-documents-1readGET/encompass/v3/loans/{loanId}/conditions/{conditionId}/documents—
manage-documentsdelete, writePATCH/encompass/v3/loans/{loanId}/conditions/{conditionId}/documents—
get-tracking-entriesreadGET/encompass/v3/loans/{loanId}/conditions/{conditionId}/tracking—
manage-tracking-entriesdelete, writePATCH/encompass/v3/loans/{loanId}/conditions/{conditionId}/tracking—
create-conversation-logwritePATCH/encompass/v3/loans/{loanId}/conversationlogs—
v3-get-cpa-tracking-logsreadGET/encompass/v3/loans/{loanId}/cpaTrackingLogsAnnounced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it
v3-create-cpa-tracking-logwritePOST/encompass/v3/loans/{loanId}/cpaTrackingLogsAnnounced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it
v3-get-cpa-tracking-logreadGET/encompass/v3/loans/{loanId}/cpaTrackingLogs/{cpaLogId}Announced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it
v3-update-cpa-tracking-logwritePATCH/encompass/v3/loans/{loanId}/cpaTrackingLogs/{cpaLogId}Announced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it
v3-get-disastersreadGET/encompass/v3/loans/{loanId}/disasters—
v3-manage-disastersdelete, writePATCH/encompass/v3/loans/{loanId}/disasters—
get-a-list-of-disclosure-tracking-logsreadGET/encompass/v3/loans/{loanId}/disclosureTracking2015Logs—
add-a-disclosure-tracking-logwritePOST/encompass/v3/loans/{loanId}/disclosureTracking2015Logs—
v3-get-dt-snapshotsreadGET/encompass/v3/loans/{loanId}/disclosureTracking2015Logs/snapshots—
get-a-disclosure-tracking-log-1readGET/encompass/v3/loans/{loanId}/disclosureTracking2015Logs/{disclosureLogId}—
update-a-disclosure-tracking-logwritePATCH/encompass/v3/loans/{loanId}/disclosureTracking2015Logs/{disclosureLogId}—
v3-get-disclosure-tracking-log-email-messagesreadGET/encompass/v3/loans/{loanId}/disclosureTracking2015Logs/{disclosureLogId}/emailMessage—
v3-add-manual-fulfillmentwritePOST/encompass/v3/loans/{loanId}/disclosureTracking2015Logs/{disclosureLogId}/fulfillments—
v3-get-dt-snapshotreadGET/encompass/v3/loans/{loanId}/disclosureTracking2015Logs/{disclosureLogId}/snapshot—
get-list-of-documentsreadGET/encompass/v3/loans/{loanId}/documents—
manage-documents-1-1delete, writePATCH/encompass/v3/loans/{loanId}/documents—
get-a-document-1readGET/encompass/v3/loans/{loanId}/documents/{documentId}—
assign-document-attachmentsdelete, writePATCH/encompass/v3/loans/{loanId}/documents/{documentId}/attachments—
update-field-lock-datadelete, payment, writePATCH/encompass/v3/loans/{loanId}/fieldLockData—
v3-field-readerreadPOST/encompass/v3/loans/{loanId}/fieldReader—
v3-field-writerpayment, writePOST/encompass/v3/loans/{loanId}/fieldWriter—
v3-get-funding-balancesreadGET/encompass/v3/loans/{loanId}/fundingBalances—
v3-get-funding-feesreadGET/encompass/v3/loans/{loanId}/fundingFees—
v3-patch-funding-balancespayment, writePATCH/encompass/v3/loans/{loanId}/fundingFees—
v3-get-efolder-historyreadGET/encompass/v3/loans/{loanId}/histories/eFolder—
get-homecounselingproviderreadGET/encompass/v3/loans/{loanId}/homeCounselingProviders—
manage-home-counseling-providers-listdelete, writePATCH/encompass/v3/loans/{loanId}/homeCounselingProviders—
importer-to-update-loanpayment, writePOST/encompass/v3/loans/{loanId}/importer—
v3-get-milestonefree-role-listreadGET/encompass/v3/loans/{loanId}/milestoneFreeRoles—
v3-update-milestone-free-rolewritePATCH/encompass/v3/loans/{loanId}/milestoneFreeRoles—
v3-get-milestone-logs-listreadGET/encompass/v3/loans/{loanId}/milestones—
v3-update-milestone-dateswritePATCH/encompass/v3/loans/{loanId}/milestones—
v3-get-milestone-logreadGET/encompass/v3/loans/{loanId}/milestones/{milestoneId}—
v3-update-milestone-logwritePATCH/encompass/v3/loans/{loanId}/milestones/{milestoneId}—
get-non-borrowing-ownersreadGET/encompass/v3/loans/{loanId}/nonBorrowingOwners—
manage-non-borrowing-ownersdelete, writePATCH/encompass/v3/loans/{loanId}/nonBorrowingOwners—
get-non-volsreadGET/encompass/v3/loans/{loanId}/nonVols—
manage-non-volsdelete, writePATCH/encompass/v3/loans/{loanId}/nonVols—
get-recipientsreadGET/encompass/v3/loans/{loanId}/recipients—
get-registration-logsreadGET/encompass/v3/loans/{loanId}/registrationLogs—
create-registration-logwritePOST/encompass/v3/loans/{loanId}/registrationLogs—
get-a-registration-logreadGET/encompass/v3/loans/{loanId}/registrationLogs/{logId}—
update-registration-logwritePATCH/encompass/v3/loans/{loanId}/registrationLogs/{registrationLogId}—
stage-service-order-resourceswritePOST/encompass/v3/loans/{loanId}/serviceOrderResourcesserved by the provider but absent from its published spec
get-service-ordersreadGET/encompass/v3/loans/{loanId}/serviceOrdersserved by the provider but absent from its published spec
create-service-orderpayment, send, writePOST/encompass/v3/loans/{loanId}/serviceOrdersserved by the provider but absent from its published spec
get-service-orderreadGET/encompass/v3/loans/{loanId}/serviceOrders/{serviceOrderId}served by the provider but absent from its published spec
update-service-order-requestpayment, send, writePATCH/encompass/v3/loans/{loanId}/serviceOrders/{serviceOrderId}/requestserved by the provider but absent from its published spec
get-service-order-response-resourcesreadGET/encompass/v3/loans/{loanId}/serviceOrders/{serviceOrderId}/response/resourcesserved by the provider but absent from its published spec
get-service-provider-contactsreadGET/encompass/v3/loans/{loanId}/serviceProviderContacts—
manage-service-provider-contacts-listdelete, writePATCH/encompass/v3/loans/{loanId}/serviceProviderContacts—
v3-get-ucd-fieldsreadGET/encompass/v3/loans/{loanId}/ucdfields—
update-urla-versionwritePATCH/encompass/v3/loans/{loanId}/urlaVersion—
get-list-of-resource-locksreadGET/encompass/v3/resourceLocks—
lock-resource-1writePOST/encompass/v3/resourceLocks—
unlock-resource-1deleteDELETE/encompass/v3/resourceLocks/{lockId}—
get-a-resource-lockreadGET/encompass/v3/resourceLocks/{lockId}—
get-loan-schema-1readGET/encompass/v3/schemas/loan—
get-field-schema-1readGET/encompass/v3/schemas/loan/standardFields—
get-virtual-fieldsreadGET/encompass/v3/schemas/loan/virtualFields—
v3-get-list-standard-print-forms-loanreadPOST/encompass/v3/settings/calculators/standardPrintForms—
v3-compliance-calendar-date-calcreadPOST/encompass/v3/settings/calculators/timerCompletion—
v3-get-bus-contacts-categoriesreadGET/encompass/v3/settings/contacts/businessContacts/categories—
v3-get-bus-contacts-custom-cat-fieldsreadGET/encompass/v3/settings/contacts/businessContacts/customCategoryFields—
v3-get-bus-contacts-custom-fieldsreadGET/encompass/v3/settings/contacts/businessContacts/customFields—
v3-get-efolder-document-groupsreadGET/encompass/v3/settings/eFolder/documentGroup—
v3-get-efolder-document-groups-alternate-pathreadGET/encompass/v3/settings/eFolder/documentGroupsThe API reference documents this operation at /encompass/v3/settings/eFolder/documentGroup and ICE’s 26.1 release notes at this path; ICE does not say which it serves, so both are cataloged with the same families and parameters
v3-get-list-efolder-doc-stacking-templatesreadGET/encompass/v3/settings/eFolder/documentStackingTemplates—
v3-get-efolder-doc-stacking-template-detailsreadGET/encompass/v3/settings/eFolder/documentStackingTemplates/{templateId}—
v3-get-efolder-document-settingsreadGET/encompass/v3/settings/efolder/documents—
v3-get-efolder-document-optionsreadGET/encompass/v3/settings/efolder/documents/options—
v3-get-external-banksreadGET/encompass/v3/settings/externalOrganizations/banks—
v3-get-tpo-custom-field-definitionsreadGET/encompass/v3/settings/externalOrganizations/tpoCustomFieldDefinitions—
v3-get-global-tpo-feesreadGET/encompass/v3/settings/externalOrganizations/tpoFees—
v3-get-global-tpo-fee-detailsreadGET/encompass/v3/settings/externalOrganizations/tpoFees/{feeId}—
v3-get-global-tpo-late-feesreadGET/encompass/v3/settings/externalOrganizations/tpoLateFees—
v3-get-company-price-groupsreadGET/encompass/v3/settings/externalOrganizations/tpoSettings/PriceGroup—
v3-get-company-ratingreadGET/encompass/v3/settings/externalOrganizations/tpoSettings/companyRating—
v3-get-company-statusreadGET/encompass/v3/settings/externalOrganizations/tpoSettings/companyStatus—
v3-get-list-of-available-external-site-urlsreadGET/encompass/v3/settings/externalOrganizations/tpoSettings/externalUrls—
v3-get-external-orgsreadGET/encompass/v3/settings/externalOrganizations/tpos—
v3-create-external-organizationadmin, payment, writePOST/encompass/v3/settings/externalOrganizations/tpos—
v3-get-external-organizationreadGET/encompass/v3/settings/externalOrganizations/tpos/{orgId}—
v3-update-external-organizationadmin, payment, writePATCH/encompass/v3/settings/externalOrganizations/tpos/{orgId}—
v3-manage-dba-recordsadmin, delete, writePATCH/encompass/v3/settings/externalOrganizations/tpos/{orgId}/dbas—
v3-manage-external-organization-site-urlsadmin, delete, writePATCH/encompass/v3/settings/externalOrganizations/tpos/{orgId}/externalUrls—
v3-manage-external-organization-licensesadmin, writePATCH/encompass/v3/settings/externalOrganizations/tpos/{orgId}/licensesAnnounced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it
v3-get-external-organization-notesreadGET/encompass/v3/settings/externalOrganizations/tpos/{orgId}/notesAnnounced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it
v3-manage-external-organization-notesadmin, delete, writePATCH/encompass/v3/settings/externalOrganizations/tpos/{orgId}/notesAnnounced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it
v3-get-external-organization-notereadGET/encompass/v3/settings/externalOrganizations/tpos/{orgId}/notes/{noteId}Announced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it
v3-manage-warehouse-detailsadmin, delete, payment, writePATCH/encompass/v3/settings/externalOrganizations/tpos/{orgId}/warehouses—
get-ami-limit-settingsreadGET/encompass/v3/settings/fees/affordableLending/amiLimits—
get-mfi-limit-settingsreadGET/encompass/v3/settings/fees/affordableLending/mfiLimits—
v3-get-itemization-fee-managementreadGET/encompass/v3/settings/fees/itemization—
v3-get-loan-originator-compensation-plansreadGET/encompass/v3/settings/fees/loCompensationPlans—
get-all-enhanced-condition-setsreadGET/encompass/v3/settings/loan/conditions/sets—
get-an-enhanced-condition-setreadGET/encompass/v3/settings/loan/conditions/sets/{setId}—
get-all-enhanced-condition-templatesreadGET/encompass/v3/settings/loan/conditions/templates—
manage-enhanced-condition-templatesadmin, delete, writePATCH/encompass/v3/settings/loan/conditions/templates—
get-an-enhanced-condition-templatereadGET/encompass/v3/settings/loan/conditions/templates/{templateId}—
get-all-enhanced-condition-typesreadGET/encompass/v3/settings/loan/conditions/types—
manage-enhanced-condition-typesadmin, delete, writePATCH/encompass/v3/settings/loan/conditions/types—
get-an-enhanced-condition-typereadGET/encompass/v3/settings/loan/conditions/types/{typeId}—
manage-custom-fieldsreadGET/encompass/v3/settings/loan/customFields—
v3-manage-custom-fieldsadmin, delete, writePATCH/encompass/v3/settings/loan/customFields—
get-encompass-v3-settings-loan-customprintformsreadGET/encompass/v3/settings/loan/customPrintForms—
get-disclosure-tracking-settingsreadGET/encompass/v3/settings/loan/disclosureTracking—
v3-get-list-of-hmda-profilesreadGET/encompass/v3/settings/loan/hmdaProfiles—
v3-get-hmda-profile-detailsreadGET/encompass/v3/settings/loan/hmdaProfiles/{profileId}—
v3-get-print-form-group-detailsreadGET/encompass/v3/settings/loan/printFormGroupDetail—
v3-get-list-print-form-groupsreadGET/encompass/v3/settings/loan/printFormGroups—
v3-get-list-standard-print-formsreadGET/encompass/v3/settings/loan/standardPrintForms—
v3-get-list-milestonesreadGET/encompass/v3/settings/milestones—
v3-get-details-specific-milestonereadGET/encompass/v3/settings/milestones/{milestoneId}—
get-a-list-of-personas-1readGET/encompass/v3/settings/personas—
get-a-persona-1readGET/encompass/v3/settings/personas/{id}—
referenceget-urla-configurationreadGET/encompass/v3/settings/policies/urla—
v3-get-list-of-rolesreadGET/encompass/v3/settings/roles—
v3-get-role-mappingsreadGET/encompass/v3/settings/roles/roleMappings—
v3-get-specific-role-detailsreadGET/encompass/v3/settings/roles/{roleId}—
get-funding-templatesreadGET/encompass/v3/settings/secondary/fundingTemplates—
get-investor-templatesreadGET/encompass/v3/settings/secondary/investorTemplates—
get-an-investor-templatereadGET/encompass/v3/settings/secondary/investorTemplates/{templateId}—
get-list-of-closing-cost-templatesreadGET/encompass/v3/settings/templates/closingCost/folders—
v3-get-closing-cost-template-settingsreadGET/encompass/v3/settings/templates/closingCost/items—
get-loan-program-templatesreadGET/encompass/v3/settings/templates/loanProgram/folders—
v3-get-loan-program-template-settingsreadGET/encompass/v3/settings/templates/loanProgram/items—
get-list-of-loan-template-setsreadGET/encompass/v3/settings/templates/loanTemplateSet/folders—
get-list-of-settlement-service-providers-1readGET/encompass/v3/settings/templates/settlementServiceProvider/folders—
get-list-of-settlement-service-providersreadGET/encompass/v3/settings/templates/settlementServiceProvider/items—
v3-get-list-of-transcript-of-tax-templatesreadGET/encompass/v3/settings/templates/transcriptRequests—
v3-get-transcript-of-tax-templatereadGET/encompass/v3/settings/templates/transcriptRequests/{templateId}—
v3-get-list-internal-usersreadGET/encompass/v3/users—
v3-update-internal-usersadmin, writePATCH/encompass/v3/users—
v3-create-internal-useradmin, payment, writePOST/encompass/v3/users—
v3-change-internal-user-passwordadmin, writePOST/encompass/v3/users/me/changePasswordrefused by default: leaves the caller holding a provider credential (a credential_minting rule can allow it); Announced in ICE’s 26.3 release notes (developer-connect/changelog/263-major-release, release scheduled 2026-12-05) and not yet in the API reference; cataloged so a request to it is classified under these families before ICE publishes it. The caller sets the user’s new Encompass password and would then hold a working Encompass login outside Alter, so it is refused on every grant
v3-create-pipeline-viewwritePOST/encompass/v3/users/me/views/pipelineViews—
update-pipeline-viewwritePATCH/encompass/v3/users/me/views/pipelineViews/{viewId}—
v3-delete-internal-user-profileadmin, deleteDELETE/encompass/v3/users/{userId}—
v3-get-internal-user-profilereadGET/encompass/v3/users/{userId}—
v3-update-internal-useradmin, writePATCH/encompass/v3/users/{userId}—
v3-manage-internal-user-comp-plansadmin, payment, writePUT/encompass/v3/users/{userId}/compensationPlans—
get-eligible-rolesreadGET/encompass/v3/users/{userId}/eligibleRoles—
v3-get-internal-user-public-profilereadGET/encompass/v3/users/{userId}/publicProfile—
v3-update-internal-user-public-profileadmin, writePATCH/encompass/v3/users/{userId}/publicProfile—
audit-closing-loan-filewritePOST/encompassdocs/v1/documentAudits/closing—
get-document-audit-to-remove-copy-copyreadGET/encompassdocs/v1/documentAudits/closing/{auditId}—
audit-openingwritePOST/encompassdocs/v1/documentAudits/opening—
get-document-audit-to-remove-copyreadGET/encompassdocs/v1/documentAudits/opening/{auditId}—
generate-closing-doc-setwritePOST/encompassdocs/v1/documentOrders/closing—
get-docs-added-to-closing-doc-setreadGET/encompassdocs/v1/documentOrders/closing/documents/{jobId}/{orderId}—
get-closing-order-statusreadGET/encompassdocs/v1/documentOrders/closing/{orderId}—
send-closing-docssend, writePOST/encompassdocs/v1/documentOrders/closing/{orderId}/delivery—
get-closing-package-delivery-detailsreadGET/encompassdocs/v1/documentOrders/closing/{orderId}/delivery/{jobId}—
add-docs-to-closing-doc-setwritePOST/encompassdocs/v1/documentOrders/closing/{orderId}/documents—
generate-formswritePOST/encompassdocs/v1/documentOrders/forms—
send-formssend, writePOST/encompassdocs/v1/documentOrders/forms/{orderId}/delivery—
get-forms-delivery-detailsreadGET/encompassdocs/v1/documentOrders/forms/{orderId}/delivery/{jobId}—
print-formswritePOST/encompassdocs/v1/documentOrders/ondemand—
223-get-print-job-urlreadGET/encompassdocs/v1/documentOrders/ondemand/{orderId}—
generate-opening-doc-setwritePOST/encompassdocs/v1/documentOrders/opening—
get-order-statusreadGET/encompassdocs/v1/documentOrders/opening/{orderId}—
send-initial-disclosuressend, writePOST/encompassdocs/v1/documentOrders/opening/{orderId}/delivery—
get-delivery-detailsreadGET/encompassdocs/v1/documentOrders/opening/{orderId}/delivery/{jobId}—
add-docs-to-opening-doc-setwritePOST/encompassdocs/v1/documentOrders/opening/{orderId}/documents—
get-docs-to-opening-doc-setreadGET/encompassdocs/v1/documentOrders/opening/{orderId}/documents/{jobId}—
view-plan-codesreadGET/encompassdocs/v1/planCodes—
apply-plan-codewritePOST/encompassdocs/v1/planCodes/{planCodeID}/evaluator—
search-for-field-formreadPOST/encwsearch/v1/search—
get-programs-and-ratesreadPOST/epps/v2/loanQualifier—
get-adjustments-1readPOST/epps/v2/loans/programs/{programId}/adjustments—
v2-get-eligible-ratesreadPOST/epps/v2/loans/programs/{programId}/eligibility—
select-ratepayment, writePOST/epps/v2/loans/{loanId}/rateSelector—
nod-typesreadGET/epps/v2/lookups/NODTypes—
agency-approvalsreadGET/epps/v2/lookups/agencyapprovals—
bankruptcyreadGET/epps/v2/lookups/bankruptcy—
get-buydown-contributor-typereadGET/epps/v2/lookups/buydownContributorType—
get-buydown-typereadGET/epps/v2/lookups/buydownType—
get-citizenshipreadGET/epps/v2/lookups/citizenship—
get-client-settingsreadGET/epps/v2/lookups/clientSettings—
get-commitment-typesreadGET/epps/v2/lookups/commitmentTypes—
epps-get-custom-fieldsreadGET/epps/v2/lookups/customFields—
delivery-typesreadGET/epps/v2/lookups/deliveryTypes—
get-documentation-typesreadGET/epps/v2/lookups/documentationTypes—
encompass-elementsreadGET/epps/v2/lookups/encompassElements—
foreclosurereadGET/epps/v2/lookups/foreclosure—
investorsreadGET/epps/v2/lookups/investors—
lien-positionreadGET/epps/v2/lookups/lienPos—
get-loan-limitsreadGET/epps/v2/lookups/loan/{loanID}/loanLimits—
loan-termsreadGET/epps/v2/lookups/loanTerms—
loan-usagereadGET/epps/v2/lookups/loanUsage—
lock-daysreadGET/epps/v2/lookups/lockdays—
get-non-qm-doc-levelreadGET/epps/v2/lookups/nonQMDocLevel—
prepay-penalty-termsreadGET/epps/v2/lookups/prepayPenaltyTerms—
product-optionsreadGET/epps/v2/lookups/productOptions—
property-typesreadGET/epps/v2/lookups/propertyTypes—
property-usereadGET/epps/v2/lookups/propertyUse—
special-productsreadGET/epps/v2/lookups/specialProducts—
standard-productsreadGET/epps/v2/lookups/standardProducts—
countiesreadGET/epps/v2/lookups/state/{stateId}/counties—
statesreadGET/epps/v2/lookups/states—
get-unit-typesreadGET/epps/v2/lookups/unitTypes—
get-locationsreadGET/epps/v2/lookups/zipcodes/{zipCode}/locations—
get-guidelinesreadGET/epps/v2/programs/{programID}/guidelines/details/{qualificationID}—
get-user-mapping-1readGET/epps/v2/userMappings—
map-epps-useradmin, delete, writePATCH/epps/v2/userMappings—
get-loan-opportunitiesreadGET/loanOpportunity/v1/loanOpportunities—
create-loan-opportunitywritePOST/loanOpportunity/v1/loanOpportunities—
convert-loan-opportunitywritePOST/loanOpportunity/v1/loanOpportunities/opportunityContractGenerator—
create-a-documentwritePOST/loanOpportunity/v1/loanOpportunities/{OpportunityId}/documents—
convert-scenario-to-loanreadGET/loanOpportunity/v1/loanOpportunities/{OpportunityId}/scenarios/{ScenarioId}/loanContractGenerator—
delete-loan-opportunitydeleteDELETE/loanOpportunity/v1/loanOpportunities/{opportunityId}—
get-a-loan-opportunityreadGET/loanOpportunity/v1/loanOpportunities/{opportunityId}—
update-loan-opportunity-1writePATCH/loanOpportunity/v1/loanOpportunities/{opportunityId}—
update-loan-opportunitywritePUT/loanOpportunity/v1/loanOpportunities/{opportunityId}—
get-a-documentreadGET/loanOpportunity/v1/loanOpportunities/{opportunityId}/documents/{documentId}—
update-a-documentwritePATCH/loanOpportunity/v1/loanOpportunities/{opportunityId}/documents/{documentId}—
create-a-notificationsend, writeGET/loanOpportunity/v1/loanOpportunities/{opportunityId}/notifications—
create-a-notification-postsend, writePOST/loanOpportunity/v1/loanOpportunities/{opportunityId}/notificationsICE documents this request only as a GET with a body. The POST form is cataloged with the GET’s families so a POST to the route is classified, not left unclassified; ICE does not document whether it serves the POST form
get-a-scenarioreadGET/loanOpportunity/v1/loanOpportunities/{opportunityId}/scenarios—
create-a-scenariowritePOST/loanOpportunity/v1/loanOpportunities/{opportunityId}/scenarios—
delete-a-scenariodeleteDELETE/loanOpportunity/v1/loanOpportunities/{opportunityId}/scenarios/{scenarioId}—
get-a-scenario-1readGET/loanOpportunity/v1/loanOpportunities/{opportunityId}/scenarios/{scenarioId}—
updates-a-scenariowritePATCH/loanOpportunity/v1/loanOpportunities/{opportunityId}/scenarios/{scenarioId}—
update-a-scenariowritePUT/loanOpportunity/v1/loanOpportunities/{opportunityId}/scenarios/{scenarioId}—
get-loan-opportunities-with-searchreadGET/loanOpportunity/v1/loanOpportunitySelector—
get-affordability-qualificationreadGET/loanOpportunity/v1/settings/affordabilityQualification—
create-affordability-qualification-settingadmin, writePOST/loanOpportunity/v1/settings/affordabilityQualification—
delete-affordability-qualificationadmin, deleteDELETE/loanOpportunity/v1/settings/affordabilityQualification/{affordabilityQualificationId}—
update-affordabilityqualificationadmin, writePUT/loanOpportunity/v1/settings/affordabilityQualification/{affordabilityQualificationId}—
get-email-templatesreadGET/loanOpportunity/v1/settings/emailTemplates—
create-new-email-templateadmin, writePOST/loanOpportunity/v1/settings/emailTemplates—
delete-an-email-templateadmin, deleteDELETE/loanOpportunity/v1/settings/emailTemplates/{templateId}—
get-email-template-detailsreadGET/loanOpportunity/v1/settings/emailTemplates/{templateId}—
update-email-templateadmin, writePUT/loanOpportunity/v1/settings/emailTemplates/{templateId}—
get-feature-managementreadGET/loanOpportunity/v1/settings/featureManagement—
update-feature-managementadmin, writePATCH/loanOpportunity/v1/settings/featureManagement—
create-new-featureadmin, writePOST/loanOpportunity/v1/settings/featureManagement—
delete-a-feature-management-settingadmin, deleteDELETE/loanOpportunity/v1/settings/featureManagement/{featureManagementId}—
update-a-featureadmin, writePUT/loanOpportunity/v1/settings/featureManagement/{featureManagementId}—
get-letter-templatereadGET/loanOpportunity/v1/settings/letterTemplates—
create-a-new-letter-templateadmin, writePOST/loanOpportunity/v1/settings/letterTemplates—
delete-a-letter-templateadmin, deleteDELETE/loanOpportunity/v1/settings/letterTemplates/{templateId}—
get-letter-template-detailsreadGET/loanOpportunity/v1/settings/letterTemplates/{templateId}—
update-existing-letter-templateadmin, writePUT/loanOpportunity/v1/settings/letterTemplates/{templateId}—
oauth2-tokenadminPOST/oauth2/v1/tokenrefused by default: leaves the caller holding a provider credential (a credential_minting rule can allow it); served by the provider but absent from its published spec
oauth2-token-introspectionadminPOST/oauth2/v1/token/introspectionrefused by default: leaves the caller holding a provider credential (a credential_minting rule can allow it); served by the provider but absent from its published spec
oauth2-token-revocationadmin, deletePOST/oauth2/v1/token/revocationserved by the provider but absent from its published spec
create-a-sessionwritePOST/pos/v1/sessionsrefused by default: leaves the caller holding a provider credential (a credential_minting rule can allow it)
create-account-linkadmin, writePOST/scim2/v1/accountLinks—
delete-account-linkadmin, deleteDELETE/scim2/v1/accountLinks/{globalUserId}—
get-linked-accountsreadGET/scim2/v1/accountLinks/{globalUserId}—
link-user-to-existing-guidadmin, writePATCH/scim2/v1/accountLinks/{globalUserId}—
get-user-groupsreadGET/scim2/v1/groups—
get-user-groupreadGET/scim2/v1/groups/{groupId}—
update-user-groupadmin, writePATCH/scim2/v1/groups/{groupId}—
get-usersreadGET/scim2/v1/users—
create-useradmin, writePOST/scim2/v1/users—
delete-useradmin, deleteDELETE/scim2/v1/users/{globalUserId}—
get-userreadGET/scim2/v1/users/{globalUserId}—
update-useradmin, writePATCH/scim2/v1/users/{globalUserId}—
get-trade-pipeline-of-correspondent-tradereadPOST/secondary/v1/tradePipeline—
get-field-definitionsreadGET/secondary/v1/tradePipeline/canonicalFields—
create-a-correspondent-tradepayment, writePOST/secondary/v1/trades/correspondent—
get-correspondent-tradereadGET/secondary/v1/trades/correspondent/{tradeId}—
update-a-correspondent-tradepayment, writePATCH/secondary/v1/trades/correspondent/{tradeId}—
get-event-historyreadGET/secondary/v1/trades/correspondent/{tradeId}/eventHistory—
delete-correspondent-tradedelete, paymentDELETE/secondary/v1/trades/correspondent/{tradeId}/loans—
assign-loans-to-correspondent-tradepayment, writePUT/secondary/v1/trades/correspondent/{tradeId}/loans—
extend-a-correspondent-tradepayment, writePUT/secondary/v1/trades/correspondent/{tradeId}/loans/extend—
update-assigned-loans-in-a-correspondent-tradepayment, writePUT/secondary/v1/trades/correspondent/{tradeId}/loans/update—
get-correspondent-trade-notesreadGET/secondary/v1/trades/correspondent/{tradeId}/notes—
update-a-notewritePATCH/secondary/v1/trades/correspondent/{tradeId}/notes—
create-trade-notewritePUT/secondary/v1/trades/correspondent/{tradeId}/notes—
get-correspondent-trade-statisticsreadGET/secondary/v1/trades/correspondent/{tradeId}/statistics—
generate-download-urlreadPOST/secondary/v1/trades/downloadUrlGenerator—
create-loan-tradepayment, writePOST/secondary/v1/trades/loanTrades—
assign-loans-to-a-loan-tradepayment, writePUT/secondary/v1/trades/loanTrades/loans/{tradeId}—
get-loan-tradereadGET/secondary/v1/trades/loanTrades/{tradeId}—
update-loan-tradepayment, writePATCH/secondary/v1/trades/loanTrades/{tradeId}—
manage-loan-trade-documentsdelete, writePATCH/secondary/v1/trades/loanTrades/{tradeId}/documents—
get-loan-trade-documentreadPOST/secondary/v1/trades/loanTrades/{tradeId}/documents—
unassign-loans-from-a-loan-tradedelete, paymentDELETE/secondary/v1/trades/loanTrades/{tradeId}/loans—
assign-loans-to-a-loan-trade-alternate-pathpayment, writePUT/secondary/v1/trades/loanTrades/{tradeId}/loansThe API reference documents this operation at /secondary/v1/trades/loanTrades/loans/{tradeId} and ICE’s 26.1 release notes at this path; ICE does not say which it serves, so both are cataloged with the same families and parameters
update-assigned-loans-in-a-loan-tradepayment, writePUT/secondary/v1/trades/loanTrades/{tradeId}/loans/update—
generate-upload-urlwritePOST/secondary/v1/trades/urlGenerator—
order-servicespayment, send, writePOST/services/v1/partners/{partnerId}/transactions—
get-service-order-statusreadGET/services/v1/partners/{partnerId}/transactions/{transactionId}—
export-loan-to-mismo-34readGET/services/v1/transformer—
202-get-all-eventsreadGET/webhook/v1/events—
get-an-eventreadGET/webhook/v1/events/{eventId}—
get_webhook-v1-functions-authreadGET/webhook/v1/functions/auth—
post_webhook-v1-functions-authadmin, writePOST/webhook/v1/functions/auth—
delete_webhook-v1-functions-auth-functionidadmin, deleteDELETE/webhook/v1/functions/auth/{functionId}—
patch_webhook-v1-functions-auth-functionidadmin, writePATCH/webhook/v1/functions/auth/{functionId}—
put_webhook-v1-functions-auth-functionidadmin, writePUT/webhook/v1/functions/auth/{functionId}—
post_webhook-v1-functions-auth-functionid-testadmin, writePOST/webhook/v1/functions/auth/{functionId}/test—
get-all-resourcesreadGET/webhook/v1/resources—
get-a-resourcereadGET/webhook/v1/resources/{name}—
get-resource-eventsreadGET/webhook/v1/resources/{resourceName}/events—
get-all-subscriptionsreadGET/webhook/v1/subscriptions—
create-a-subscriptionadmin, send, writePOST/webhook/v1/subscriptions—
delete-subscriptionadmin, deleteDELETE/webhook/v1/subscriptions/{subscriptionId}—
get-a-subscriptionreadGET/webhook/v1/subscriptions/{subscriptionId}—
update-subscriptionadmin, send, writePUT/webhook/v1/subscriptions/{subscriptionId}—
get_webhook-v1-subscriptions-subscriptionid-functions-authreadGET/webhook/v1/subscriptions/{subscriptionId}/functions/auth—
delete_webhook-v1-subscriptions-subscriptionid-functions-auth-functionidadmin, deleteDELETE/webhook/v1/subscriptions/{subscriptionId}/functions/auth/{functionId}—
patch_webhook-v1-subscriptions-subscriptionid-functions-auth-functionidadmin, writePATCH/webhook/v1/subscriptions/{subscriptionId}/functions/auth/{functionId}—
get-workflow-v1-settings-taskreadGET/workflow/v1/settings/task—
update-task-settingsadmin, writePUT/workflow/v1/settings/task—
get-task-pipelinereadGET/workflow/v1/taskPipeline—
get-tasksreadGET/workflow/v1/tasks—
update-taskswritePATCH/workflow/v1/tasks—
create-a-taskwritePOST/workflow/v1/tasks—
tasks-bulk-updatewritePATCH/workflow/v1/tasks/bulk—
delete-a-taskdeleteDELETE/workflow/v1/tasks/{id}—
get-a-taskreadGET/workflow/v1/tasks/{id}—
update-a-taskwritePATCH/workflow/v1/tasks/{id}—
get-comments-for-a-taskreadGET/workflow/v1/tasks/{id}/comments—
add-a-comment-to-a-taskwritePOST/workflow/v1/tasks/{id}/comments—
get-subtasksreadGET/workflow/v1/tasks/{taskId}/subtasks—
create-a-subtaskwritePOST/workflow/v1/tasks/{taskId}/subtasks—
delete-a-subtaskdeleteDELETE/workflow/v1/tasks/{taskId}/subtasks/{subTaskId}—
get-a-subtaskreadGET/workflow/v1/tasks/{taskId}/subtasks/{subTaskId}—
update-a-task-1writePATCH/workflow/v1/tasks/{taskId}/subtasks/{subTaskId}—
get-comments-for-a-subtaskreadGET/workflow/v1/tasks/{taskId}/subtasks/{subTaskId}/comments—
add-a-comment-to-a-subtaskwritePOST/workflow/v1/tasks/{taskId}/subtasks/{subTaskId}/comments—
get-all-templatesreadGET/workflow/v1/templates/task/items—
update-templatesadmin, writePATCH/workflow/v1/templates/task/items—
create-a-templateadmin, writePOST/workflow/v1/templates/task/items—
delete-a-templateadmin, deleteDELETE/workflow/v1/templates/task/items/{id}—
get-a-template-1readGET/workflow/v1/templates/task/items/{id}—
update-a-templateadmin, writePATCH/workflow/v1/templates/task/items/{id}—
get-subtask-templatesreadGET/workflow/v1/templates/task/items/{taskTemplateId}/subtasks—
create-a-subtask-templateadmin, writePOST/workflow/v1/templates/task/items/{taskTemplateId}/subtasks—
delete-a-subtask-templateadmin, deleteDELETE/workflow/v1/templates/task/items/{taskTemplateId}/subtasks/{subTaskTemplateId}—
get-a-subtask-templatereadGET/workflow/v1/templates/task/items/{taskTemplateId}/subtasks/{subTaskTemplateId}—
update-a-subtask-templateadmin, writePATCH/workflow/v1/templates/task/items/{taskTemplateId}/subtasks/{subTaskTemplateId}—

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.