Good Leap
GoodLeap (formerly Loanpal) is a fintech platform providing point-of-sale financing for sustainable home improvements — solar and battery storage, efficient heating and cooling, roofing and ventilation, water conservation, and energy-efficient windows. Its Developer API (v2, POS financing) lets approved partners originate and manage home-improvement loans through the full lifecycle: authentication and elevation, offers and payment calculation, loan submission, status and timeline tracking, case (stipulation) management, document upload via pre-signed URLs, project and milestone management, change orders, notes, tags, and user management. Authentication is JWT bearer; partner credentials from developer.goodleap.com are required. This profile was surfaced as a portfolio company of Ribbit Capital and enriched from GoodLeap's public developer surface (developer portal + public Postman collection).
Good Leap publishes 1 API on the APIs.io network: GoodLeap Developer API. Tagged areas include Company, Fintech, Financing, Lending, and Solar.
Good Leap’s developer surface includes documentation, API reference, engineering blog, support, authentication, sandbox, and 18 more developer resources.
API Rating
API Evangelist Rating
How this is scored →scored 2026-07-20 · rubric v0.4
APIs
GoodLeap Developer API
REST + JSON POS-financing API for approved partners to originate and manage sustainable home-improvement loans through their lifecycle. JWT bearer auth; v2 under /posfinancing/r...
Collections
GoodLeap - Developer API
POSTMANArazzo Workflows
_Index
ARAZZOOriginate and track a GoodLeap loan
Authenticate, submit a loan application, then track its status and next actions.
ARAZZOResources
Get Started 2
Portal, sign-up, and the first successful call
Documentation 3
Reference material describing how the API behaves
Agent Surfaces 4
MCP servers, agent skills, and machine-readable catalogs
Design & Contract 5
Pagination, idempotency, versioning, errors, and events
Build 1
SDKs, sample code, and the tooling you integrate with
Access & Security 4
Authentication, authorization, and security posture
Operate 1
Status, limits, changes, and where to get help
Commercial 2
Pricing, plans, and the legal terms of use
Company 2
The organization behind the API
Source (apis.yml)
info:
_postman_id: 302c98bf-6378-4e45-94c8-12fe90a6d548
name: GoodLeap - Developer API
description: "The Developer API is designed for partners to originate \nand manage loans through their lifecycle.\n\nTo\
\ use this library you must first be gratned credentials and access to developer.goodleap.com."
schema: https://schema.getpostman.com/json/collection/v2.0.0/collection.json
item:
- name: Version 2.0
item:
- name: Authorization & Elevation Management
item:
- name: Connected Organizations List
id: 0dead4b4-2c95-4193-aa89-9d94d3fd9c6e
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url: '{{baseUrl}}/posfinancing/rest/v2/auth/organizations'
description: Get a list of connected organizations.
response: []
- name: Generate JWT Token
id: a5f6d8ab-a8b4-4f4b-a689-45a5e7579eab
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"organizationId\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url: '{{baseUrl}}/posfinancing/rest/v2/auth/token'
description: Returns an elevated access token with Guest claims from an input host organization.
response: []
- name: Refresh JWT Token
id: caba0813-8b5c-4e2e-991f-1bb69bc1af6f
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"refreshToken\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url: '{{baseUrl}}/posfinancing/rest/v2/auth/token/refresh'
description: Create a refreshed elevated jwt token with Guest claims from a host organization.
response: []
- name: Connected Parties
id: e952bc9d-8b6b-4b15-9365-701ff0ac4c22
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url: '{{baseUrl}}/posfinancing/rest/v2/parties'
description: Get a list of connected parties.
response: []
id: 9a2e4f04-2595-4c16-905b-b28dd5e1dba5
- name: States & Channels
item:
- name: Channels by States
id: 06a24e58-2504-44f2-9c5d-62a27cc45ef4
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/states'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- states
query:
- key: channels
value: <string>
disabled: true
- key: channels
value: <string>
disabled: true
description: "Get a collection of valid states for the client. \nUseful when searching for offers that are available\
\ to an applicant in their state."
response: []
- name: States by Channels
id: f411ddd9-6064-4c5a-a257-417c6bac037c
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/channels'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- channels
query:
- key: states
value: MT
disabled: true
- key: states
value: MA
disabled: true
description: "Get a collection of valid channels for the client. \nUseful when searching for offers that are available\
\ to an applicant given a channel under which the client\nwishes to operate."
response: []
id: 54d88b4f-5dd3-4e2f-9236-14111a13cda1
- name: Promotions
item:
- name: Promotions
id: 514af217-c82e-42de-b1d0-a19d1217593f
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/promotions'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- promotions
query:
- key: categoryId
value: <uuid>
disabled: true
- key: offerId
value: <string>
disabled: true
description: Returns a collection of promotions to use when getting offers.
response: []
id: 78d97ea6-4f5d-4fd3-81a2-561596e80253
- name: Install Categories & Loan Limitations
item:
- name: Install Categories
id: ecd6b020-f296-42b8-b407-4842869c9985
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url: '{{baseUrl}}/posfinancing/rest/v2/categories'
description: Returns a collection of categories.
response: []
- name: All Loan min/max values for states and categories
id: 72924723-d6be-4ef8-a654-2a3510fe8b22
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/categories/all/limitations'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- categories
- all
- limitations
query:
- key: states
value: NH
disabled: true
- key: states
value: AL
disabled: true
description: Get categories limitations
response: []
- name: Loan min/max values by category ID
id: 8406dceb-337d-49b7-8035-666ecb7b03a9
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/categories/:id/limitations'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- categories
- :id
- limitations
query:
- key: states
value: NH
disabled: true
- key: states
value: AL
disabled: true
variable:
- id: c844ccbf-e004-427f-9221-8ab261199dd4
key: id
value: <string>
description: Get category limitations
response: []
id: 3606dd21-508f-4d50-93b2-94a9d3ee24a3
- name: Offers
item:
- name: Offers
id: f6fda08c-7662-4b0c-9f2f-faf9e66d2894
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/offers'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- offers
query:
- key: channels
value: <string>
disabled: true
- key: channels
value: <string>
disabled: true
- key: states
value: OH
disabled: true
- key: states
value: MA
disabled: true
- key: categoryId
value: <uuid>
disabled: true
- key: promotionIds
value: <uuid>
disabled: true
- key: loanId
value: ''
disabled: true
description: Returns a collection of Offers.
response: []
id: f3df10e2-7f00-41e2-8e53-9bdb222e60c7
- name: Calculate Payments
item:
- name: Current ITC Percentage
id: 07196e37-2126-4b14-adc2-02e56b347f1f
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: '*/*'
url: '{{baseUrl}}/posfinancing/rest/v2/itc-latest'
description: Get the current ITC percentage.
response: []
- name: Monthly Loan Payments
id: 1937ac49-39e6-4922-8641-96192cbe3cf6
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/payments'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- payments
query:
- key: offerIds
value: <UUID>
description: '(Required) '
disabled: true
- key: offerIds
value: <UUID>
description: '(Required) '
disabled: true
- key: amount
value: <double>
description: '(Required) '
disabled: true
- key: extraPaydownAmount
value: <double>
disabled: true
- key: extraPaydownPercent
value: <double>
disabled: true
- key: currencyType
value: USD
disabled: true
- key: promotionIds
value: <string>
disabled: true
- key: promotionIds
value: <string>
disabled: true
description: Calculate estimated payments for offers.
response: []
id: 528fe404-b095-4e54-9ec4-accf9ad1ffd6
- name: Disclosures
item:
- name: Disclosures
id: f25f8b3d-83d6-4f17-bc1c-2db5b721db66
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/disclosures'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- disclosures
query:
- key: current
value: <boolean>
disabled: true
- key: inputCategory
value: solar
type: text
disabled: true
description: Get a list of available disclosures.
response: []
id: 6a664262-380d-495b-8794-f2b0078367f4
- name: Loan Submission
item:
- name: Submit Loan Application
id: 24e60cf6-c4f8-4a73-b02f-12c3a3197282
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"applicant\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dob\": \"\
1986-08-13\",\n \"ssn\": \"0101\",\n \"annualIncome\": {\n \"type\": \"USD\",\n \"value\": \"\
<double>\"\n },\n \"email\": \"<email>\",\n \"primaryPhoneNumber\": {\n \"type\": \"MOBILE\",\n\
\ \"value\": \"+16785759581\"\n },\n \"electronicConsent\": \"<boolean>\",\n \"occupation\": \"\
<string>\",\n \"homeOccupancy\": \"SECONDARY\",\n \"homeOwnership\": \"OWNED_WITH_MORTGAGE\",\n \"address\"\
: {\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"AZ\",\n \"zip\":\
\ \"93781\",\n \"street2\": \"<string>\"\n },\n \"employmentStatus\": \"RETIRED\",\n \"citizenshipStatus\"\
: \"LAWFUL_PERMANENT_RESIDENT_ALIEN\",\n \"spokenLanguage\": \"SPANISH\",\n \"employer\": \"<string>\",\n\
\ \"employmentDuration\": \"<float>\",\n \"secondaryPhoneNumber\": {\n \"type\": \"HOME\",\n \"\
value\": \"+10577329886\"\n }\n },\n \"submittingUser\": {\n \"firstName\": \"<string>\",\n \"lastName\"\
: \"<string>\",\n \"email\": \"<email>\",\n \"phone\": \"<string>\"\n },\n \"offerId\": \"<string>\",\n\
\ \"amount\": {\n \"type\": \"USD\",\n \"value\": \"<double>\"\n },\n \"applicantSignature\": \"<string>\"\
,\n \"subjectProperty\": {\n \"address\": {\n \"street\": \"<string>\",\n \"city\": \"<string>\"\
,\n \"state\": \"CA\",\n \"zip\": \"59311\",\n \"street2\": \"<string>\"\n },\n \"mortgageTotalBalances\"\
: {\n \"type\": \"USD\",\n \"value\": \"<double>\"\n },\n \"mortgageTotalPayments\": {\n \
\ \"type\": \"USD\",\n \"value\": \"<double>\"\n },\n \"isMobileOrManufacturedHome\": \"<boolean>\"\
\n },\n \"disclosureToken\": \"<string>\",\n \"coApplicant\": {\n \"firstName\": \"<string>\",\n \"lastName\"\
: \"<string>\",\n \"dob\": \"2463-42-46\",\n \"ssn\": \"728708467\",\n \"annualIncome\": {\n \"\
type\": \"USD\",\n \"value\": \"<double>\"\n },\n \"email\": \"<email>\",\n \"primaryPhoneNumber\"\
: {\n \"type\": \"HOME\",\n \"value\": \"+13478140431\"\n },\n \"electronicConsent\": \"<boolean>\"\
,\n \"occupation\": \"<string>\",\n \"homeOccupancy\": \"SECONDARY\",\n \"homeOwnership\": \"OWNED_FREE_AND_CLEAR\"\
,\n \"address\": {\n \"street\": \"|Postostostost...\\t\uFEFFFFICfficfficFFICfficE BOx\",\n \"\
city\": \"<string>\",\n \"state\": \"NY\",\n \"zip\": \"32262\",\n \"street2\": \"<string>\"\n\
\ },\n \"employmentStatus\": \"OTHER\",\n \"citizenshipStatus\": \"OTHER\",\n \"spokenLanguage\":\
\ \"ENGLISH\",\n \"employer\": \"<string>\",\n \"employmentDuration\": \"<float>\",\n \"secondaryPhoneNumber\"\
: {\n \"type\": \"MOBILE\",\n \"value\": \"+14479458337\"\n }\n },\n \"categoryId\": \"<uuid>\"\
,\n \"channel\": \"<string>\",\n \"agent\": \"<string>\",\n \"referenceNumber\": \"<string>\",\n \"enrollments\"\
: [\n \"AUTOPAY\",\n \"AUTOPAY\"\n ],\n \"parties\": [\n {\n \"organizationId\": \"<uuid>\",\n\
\ \"organizationType\": \"SALES\"\n },\n {\n \"organizationId\": \"<uuid>\",\n \"organizationType\"\
: \"SALES\"\n }\n ],\n \"tags\": [\n \"<string>\",\n \"<string>\"\n ]\n}"
options:
raw:
headerFamily: json
language: json
url: '{{baseUrl}}/posfinancing/rest/v2/loans'
description: Submit an application to create a new loan. Returns the application’s outcome
response: []
- name: Share Loan Application
id: 1fcf4186-b6f1-4dd3-b7cb-0591b374bbb2
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"offerId\": \"<string>\",\n \"state\": \"IN\",\n \"amount\": {\n \"type\": \"USD\",\n \"value\"\
: \"<double>\"\n },\n \"applicant\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n\
\ \"email\": \"nDd5t@G.>d7&a\"\n },\n \"submittingUser\": {\n \"firstName\": \"<string>\",\n \"lastName\"\
: \"<string>\",\n \"email\": \"q=+I^@D(?uo.}IC)\",\n \"phone\": \"<string>\"\n },\n \"channel\": \"<string>\"\
,\n \"referenceNumber\": \"<string>\",\n \"enrollments\": [\n \"AUTOPAY\",\n \"AUTOPAY\"\n ],\n \"additionalPaydownAmount\"\
: {\n \"type\": \"USD\",\n \"value\": \"<double>\"\n },\n \"sendEmail\": \"<boolean>\",\n \"parties\"\
: [\n {\n \"organizationId\": \"<uuid>\",\n \"organizationType\": \"INTEGRATOR\"\n },\n {\n\
\ \"organizationId\": \"<uuid>\",\n \"organizationType\": \"SALES\"\n }\n ],\n \"tags\": [\n \
\ \"<string>\",\n \"<string>\"\n ],\n \"decisionPageOptions\": {\n \"redirectUrl\": \"<string>\"\n }\n\
}"
options:
raw:
headerFamily: json
language: json
url: '{{baseUrl}}/posfinancing/rest/v2/loans-share'
description: Returns the url and an optional email to the application for completion and loan submission.
response: []
id: 26b6193b-8520-476c-ac7e-9d3f0c6f167c
- name: Loan Status
item:
- name: Loan by ID
id: 57d97ed9-f824-4948-bf1a-8457f0b037fe
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
variable:
- id: 1fb7f749-bb9b-4441-b3e2-eda8dcc7fedb
key: id
value: 24-85-401703
description: Get the details of a Loan instance.
response: []
- name: Loan Status
id: 55ac98d2-65a9-4a1c-ba55-f5c5b6e16b17
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id/status'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
- status
variable:
- id: f563b8bf-188b-45dd-9ddb-e208f745554b
key: id
value: 44-27-695805
description: "Get the current timestamps for the loan. \nThis can include milestones, document signing, approval status\
\ and more."
response: []
- name: Loan Offer Details
id: dd4cdca9-c743-4521-a6da-fe4fb2dc0915
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id/offer'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
- offer
variable:
- id: cd0a1ff8-25b0-47a4-8675-063e3804bd4b
key: id
value: <string>
description: Get the details of the current offer associated with a loan ID.
response: []
- name: List Loans
id: c911286b-a337-46d3-967e-b9c9a81adfa0
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans?referenceNumber=<string>'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
query:
- key: referenceNumber
value: <string>
- key: tags
value: <string>
disabled: true
- key: tags
value: <string>
disabled: true
description: Get a list of loans submitted by the client.
response: []
- name: Loan Timeline
id: 13414844-19a6-424a-b90f-31ffacd4d277
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id/timeline'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
- timeline
variable:
- id: b6898827-a612-4709-9539-c12127829ff5
key: id
value: 54-07-370220
description: Get the loan timeline.
response: []
- name: Next Available Loan Actions
id: 839ae7d3-c2a5-4d37-9b9b-df418439e55a
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id/actions'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
- actions
variable:
- id: a9ab3b4f-6e05-4b71-9167-0109040a1419
key: id
value: 44-27-695805
description: Get the next actions for a loan.
response: []
id: e7a131f9-5ae8-422a-8bee-30e9c6685722
- name: Case (loan stipulations) Management
item:
- name: Cases
id: 71bb5222-650b-4a3f-9fba-bdd9c6abe90b
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id/cases'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
- cases
variable:
- id: 81e2aa08-ea38-4b3b-a857-fcd30b543dfa
key: id
value: 24-85-401703
description: Returns a collection of cases.
response: []
- name: Case Upload URL
id: bcdbbc24-b166-457f-97ae-499da53e6712
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id/cases/:caseId/uploadurl'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
- cases
- :caseId
- uploadurl
query:
- key: mimeType
value: application/pdf
disabled: true
- key: docType
value: DEED_OF_TRUST
disabled: true
variable:
- id: 2cf90748-cf14-4705-9359-59d0dbe67ffc
key: id
value: 24-85-401703
- id: 4a9e7918-c189-4a5b-bbd6-630a87f690c4
key: caseId
value: <uuid>
description: Get a single-use, signed URL to upload a case document.
response: []
- name: Upload Document to Pre-signed URL
id: 6a8d5575-438e-4e91-9d15-3e5396f28081
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: noauth
method: PUT
header:
- key: Accept
value: application/json
body:
mode: file
file: {}
url: <pre-signed url>
description: Get a single-use, signed URL to upload a case document.
response: []
- name: Update Sales Rep State License Info
id: c4268593-e2aa-4aac-9a5e-de89f12d1dc4
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: PUT
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"caseId\": \"<uuid>\",\n \"stepId\": \"<uuid>\",\n \"action\": \"<string>\",\n \"jsonData\": \"<string>\"\
\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:loanId/cases'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :loanId
- cases
variable:
- id: 9ca71d85-b166-4214-8480-c6666e1673c5
key: loanId
value: 24-85-401703
description: Update a loan’s case information.
response: []
- name: GoodLeap Borrower Portal URL
id: 35fcbef2-0f4e-4e4d-a36e-14ab32d45feb
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id/portals/borrower-upload-url'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
- portals
- borrower-upload-url
variable:
- id: 27b8d604-3967-4842-9f18-3048f6106477
key: id
value: 24-85-401703
description: URL redirect to the GoodLeap hosted borrower upload experience to upload documents for cases.
response: []
- name: Socure Identity Verification
id: 51c5c49d-4bdc-44a2-b5a2-0aab654dc38d
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/cases/:id/identity-verification'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- cases
- :id
- identity-verification
query:
- key: documentType
value: <string>
description: The type of the document to be scanned
disabled: true
- key: mobileNumber
value: <string>
description: The phone number to send the SMS to
disabled: true
- key: sendSms
value: <boolean>
description: Indicates if an SMS should be sent
disabled: true
variable:
- key: id
value: ''
response: []
id: 47c480cd-9de1-40bd-8e95-f991af1644be
- name: Loan Documents Management
item:
- name: Home Improvement Contract Upload URL
id: ac7d720a-edc1-49f3-8dbb-65181a0ef64e
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthUsername}}'
password: '{{basicAuthPassword}}'
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/posfinancing/rest/v2/loans/:id/uploadurls?uploadType=HIC'
host:
- '{{baseUrl}}'
path:
- posfinancing
- rest
- v2
- loans
- :id
- uploadurls
query:
- key: uploadType
value: HIC
variable:
- key: id
value: ''
description: Get a single-use, signed URL to upload a case document.
response: []
- name: Upload HIC to Pre-signed URL
id: fb85d078-f25a-4e48-b513-de2243c78f75
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: noauth
method: PUT
header:
- key: Accept
value: application/json
body:
mode: file
file: {}
url: <pre-signed url>
description: Get a single-use, signed URL to upload a case document.
response: []
- name: Send Loan Documents
id: c9268e0c-8b0e-401b-8cda-1ff8390e6732
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
username: '{{basicAuthU
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/good-leap/refs/heads/main/apis.yml