NAV
NodeJS

Salt Partner API v.5

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

The Salt Partner API allows business to interface with and utilize Salt Lending's crypto-backed loan offerings.

Base URLs:

Authentication

# HTTP Header
x-api-key: 4eC39HqLyjWDarjtT1zdp7dc

The Salt Partner API uses API keys to authenticate requests. API keys will be distrubited via Salt's security team.

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

Authentication to the API is performed via the x-api-key header. Simply provide your API key as the value to a header with the key x-api-key. All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without a valid API key in the x-api-key header will also fail.

Webhooks Overview

SALT uses webhooks to notify your application when an event happens in your account. Webhooks are useful for asynchronous events like when a user’s registration is complete or a loan request changes its status.

Security

API customers should use IP whitelisting to restrict access to their webhook handler endpoints. Please reach out to SALT for more information.

What are webhooks

A webhook enables SALT to push real-time notifications to your app. SALT uses HTTPS to send these notifications to your app as a JSON payload. You can then use these notifications to execute actions in your backend systems.

Steps to receive webhooks

You can start receiving event notifications in your app using the steps in this section:

  1. Identify the events you want to monitor and the event payloads to parse.
  2. Create a webhook endpoint as an HTTP endpoint (URL) on your local server.
  3. Handle requests from SALT by parsing each event object and returning 2xx response status codes.
  4. Test that your webhook endpoint is working properly.
  5. Deploy your webhook endpoint so it’s a publicly accessible HTTPS URL.
  6. Subscribe your publicly accessible HTTPS URL in the Partner API.

What is a webhook endpoint

Creating a webhook endpoint is no different from creating any other page on your website. It’s an HTTP or HTTPS endpoint on your server with a URL. If you’re still developing your endpoint on your local machine, it can be HTTP. After it’s publicly accessible, it must be HTTPS. You can use one endpoint to handle several different event types at once, or set up individual endpoints for specific events.

Events

{
  "loanId": "81502fdc-1072-40e7-9309-93bdb549d8da",
  "subject": "registration",
  "action": "complete"
}
{
  "loanId": "81502fdc-1072-40e7-9309-93bdb549d8da",
  "subject": "loan_request",
  "action": "under_review"
}
{
  "loanId": "81502fdc-1072-40e7-9309-93bdb549d8da",
  "subject": "loan_request",
  "action": "awaiting_funding"
}
{
  "loanId": "81502fdc-1072-40e7-9309-93bdb549d8da",
  "subject": "loan_request",
  "action": "active"
}

Events are our way of letting you know when something interesting happens in your account. When an event occurs, we create a new Event object. If you registered a webhook endpoint to receive that event, we send it to your endpoint as part of a POST request.

Types of events

loan_request:*

Using a wildcard for the loan request action will capture all of the loan request events.

loan_request:registration_complete

Occurs when the user has logged in and completed the initial registration.

loan_request:awaiting_collateral

Occurs when the user of the loan has completed the full KYC process.

loan_request:under_review

Occurs when the user deposits sufficient collateral and the loan is ready for review.

loan_request:awaiting_funding

Occurs when all loan documents and requirements have been completed and the loan funding is actively being prepared.

loan_request:active

Occurs when the loan has been funded.

loan_request:cancelled

Occurs when the loan request has been cancelled.

Partners

getOwnPartner

Code samples

GET /partners/me

Get Own Partner Data

Returns Partner data for current user

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "email": "user@example.com"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response GetOwnPartnerSuccessResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Campaigns

getAllCampaigns

Code samples

GET /campaigns

Get all Campaigns

Returns all Campaigns for current users Partner

Parameters

Name In Type Required Description
page query number false Page number for pagination
limit query number false Limit for pagination

Example responses

200 Response

{
  "page": 0,
  "limit": 0,
  "totalRecords": 0,
  "hasMore": true,
  "records": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "description": "string",
      "bankAccount": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "isInUSA": true,
        "accountType": "checking",
        "routingNumber": "string",
        "accountNumber": "stringstri",
        "swift": "stringst",
        "iban": "string",
        "notes": "string"
      },
      "walletAddress": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "address": "string",
        "currency": "string"
      },
      "code": "string",
      "logoURL": "string",
      "payoutType": "bank_account",
      "merchant": {
        "name": "string",
        "DBA": "string",
        "taxId": "string",
        "industrySector": "string",
        "country": "string",
        "address": "string",
        "city": "string",
        "state": "string",
        "zip": "string",
        "createdAt": "2019-08-24T14:15:22Z"
      },
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response GetAllCampaignsResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

createCampaign

Code samples

POST /campaigns

Create a new campaign

Creates a new campaign and returns the value

Body parameter

{
  "name": "string",
  "description": "string",
  "code": "string",
  "logoURL": "string"
}

Parameters

Name In Type Required Description
body body CreateCampaignRequest false A campaign information object

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

getCampaignById

Code samples

GET /campaigns/{campaignId}

Gets a single campaign by id

Returns a single campaign

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to fetch

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

updateCampaign

Code samples

PUT /campaigns/{campaignId}

Update a campaign by id

Updates an entire or partial campaign and returns the updated result.

Body parameter

{
  "name": "string",
  "description": "string",
  "code": "string",
  "logoURL": "string"
}

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to update
body body UpdateCampaignRequest false A campaign information object

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

deleteCampaign

Code samples

DELETE /campaigns/{campaignId}

Deletes a Campaign

Deletes a campaign and returns an empty object

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to delete

Example responses

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
204 No Content Status 204 Response None
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Response Schema

Loan Requests

getLoanQuote

Code samples

POST /loan-requests/quote

Get a loan quote

Returns loan calculation details based on input parameters

Body parameter

{
  "amount": 11111,
  "baseLTV": 0.5,
  "repaymentType": "principal_and_interest",
  "countryCode": "US",
  "province": "CO",
  "term": 12,
  "accountType": "personal"
}

Parameters

Name In Type Required Description
body body GetLoanQuoteRequest false An object containing loan quote information.

Example responses

Status 200 Response

{
  "principalAmount": 11223.24,
  "amountToCustomer": 11111,
  "monthlyPayment": 970.85,
  "apr": 0.088402,
  "interestRate": 0.0695,
  "totalInterest": 426.97,
  "originationFeeRate": 0.01,
  "originationFeeAmount": 112.24,
  "collateralNeeded": 22446.48
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response GetLoanQuoteResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

getLoanBounds

Code samples

POST /loan-requests/bounds

Get loan bounds

Get loan amount, IR, and term bounds

Body parameter

{
  "repaymentType": "principal_and_interest",
  "countryCode": "US",
  "province": "CO",
  "accountType": "personal"
}

Parameters

Name In Type Required Description
body body GetLoanBoundsRequest false An object containing loan bounds information.

Example responses

Status 200 Response

{
  "amount": [
    {
      "constraint": "GTE",
      "value": 5000
    },
    {
      "constraint": "LTE",
      "value": 1000000
    }
  ],
  "interestRate": [
    {
      "constraint": "GTE",
      "value": 0
    },
    {
      "constraint": "LTE",
      "value": 0.45
    }
  ],
  "term": [
    {
      "constraint": "GTE",
      "value": 3
    },
    {
      "constraint": "LTE",
      "value": 36
    }
  ]
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response GetLoanBoundsResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

createLoanRequest

Code samples

POST /campaigns/{campaignId}/loan-requests

Create a loan request

Creates and returns a new loan request entity

Body parameter

{
  "email": "jdoe@example.com",
  "userData": {
    "firstName": "John",
    "lastName": "Doe",
    "countryCode": "US",
    "province": "CO"
  },
  "loanData": {
    "term": 12,
    "amount": 10101.02,
    "amountToCustomer": 10000,
    "baseLTV": 0.5,
    "repaymentType": "principal_and_interest",
    "countryCode": "US",
    "province": "CO",
    "apr": 0.088415,
    "interestRate": 0.0695,
    "payment": 873.78,
    "originationFeeRate": 0.01,
    "originationFeeAmount": 101.02,
    "accountType": "personal"
  }
}

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to create a Loan Request under
body body CreateLoanRequestRequest false An object containing loan request information.

Example responses

Status 200 Response

{
  "id": "8ff80537-ea77-4024-9422-3f0948cedeb2",
  "createdAt": "2019-08-24T14:15:22Z",
  "submittedAt": "null",
  "expiresAt": "2019-08-24T14:15:22Z",
  "status": "initialized",
  "email": "jdoe@example.com",
  "userData": {
    "firstName": "John",
    "lastName": "Doe",
    "countryCode": "US",
    "province": "CO"
  },
  "loanData": {
    "term": 12,
    "amount": 10101.02,
    "amountToCustomer": 10000,
    "baseLTV": 0.5,
    "repaymentType": "principal_and_interest",
    "countryCode": "US",
    "province": "CO",
    "apr": 0.088415,
    "interestRate": 0.0695,
    "payment": 873.78,
    "originationFeeRate": 0.01,
    "originationFeeAmount": 101.02,
    "accountType": "personal",
    "loanAsset": "USD"
  }
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response CreateLoanRequestResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

getAllLoanRequests

Code samples

GET /loan-requests

Get All Loan Requests and filter by campaign

Returns a list of Loan Request entities

Parameters

Name In Type Required Description
campaignId query string false Campaign ID

Example responses

Status 200 Response

{
  "page": 1,
  "limit": 50,
  "totalRecords": 1,
  "hasMore": false,
  "records": [
    {
      "id": "8ff80537-ea77-4024-9422-3f0948cedeb2",
      "createdAt": "2019-08-24T14:15:22Z",
      "submittedAt": "2019-08-24T14:15:22Z",
      "expiresAt": "2019-08-24T14:15:22Z",
      "status": "submitted",
      "email": "jdoe@example.com",
      "userData": {
        "firstName": "John",
        "lastName": "Doe",
        "countryCode": "US",
        "province": "CO"
      },
      "loanData": {
        "term": 12,
        "amount": 10101.02,
        "amountToCustomer": 10000,
        "baseLTV": 0.5,
        "repaymentType": "principal_and_interest",
        "countryCode": "US",
        "province": "CO",
        "apr": 0.088415,
        "interestRate": 0.0695,
        "payment": 873.78,
        "originationFeeRate": 0.01,
        "originationFeeAmount": 101.02,
        "accountType": "personal"
      }
    }
  ]
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response LoanRequestsResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

getLoanRequestById

Code samples

GET /loan-requests/{loanRequestId}

Gets a Loan Request by id

Returns a single Loan Request entity

Parameters

Name In Type Required Description
loanRequestId path string true The id of the Loan Request you would like to retrieve

Example responses

Status 200 Response

{
  "id": "8ff80537-ea77-4024-9422-3f0948cedeb2",
  "createdAt": "2019-08-24T14:15:22Z",
  "submittedAt": "2019-08-24T14:15:22Z",
  "expiresAt": "2019-08-24T14:15:22Z",
  "status": "submitted",
  "email": "jdoe@example.com",
  "userData": {
    "firstName": "John",
    "lastName": "Doe",
    "countryCode": "US",
    "province": "CO"
  },
  "loanData": {
    "term": 12,
    "amount": 10101.02,
    "amountToCustomer": 10000,
    "baseLTV": 0.5,
    "repaymentType": "principal_and_interest",
    "countryCode": "US",
    "province": "CO",
    "apr": 0.088415,
    "interestRate": 0.0695,
    "payment": 873.78,
    "originationFeeRate": 0.01,
    "originationFeeAmount": 101.02,
    "accountType": "personal"
  }
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response LoanRequestResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

updateLoanRequestById

Code samples

PATCH /loan-requests/{loanRequestId}

Updates a Loan Request by id

Returns the updated Loan Request entity

Body parameter

{
  "email": "jdoe@example.com",
  "userData": {
    "firstName": "John",
    "lastName": "Doe",
    "countryCode": "US",
    "province": "CO"
  },
  "loanData": {
    "term": 12,
    "amount": 10101.02,
    "amountToCustomer": 10000,
    "baseLTV": 0.5,
    "repaymentType": "principal_and_interest",
    "countryCode": "US",
    "province": "CO",
    "apr": 0.088415,
    "interestRate": 0.0695,
    "payment": 873.78,
    "originationFeeRate": 0.01,
    "originationFeeAmount": 101.02,
    "accountType": "personal"
  }
}

Parameters

Name In Type Required Description
loanRequestId path string true The id of the Loan Request you would like to retrieve
body body UpdateLoanRequestRequest false An object containing loan request information.

Example responses

Status 200 Response

{
  "id": "8ff80537-ea77-4024-9422-3f0948cedeb2",
  "createdAt": "2019-08-24T14:15:22Z",
  "submittedAt": "2019-08-24T14:15:22Z",
  "expiresAt": "2019-08-24T14:15:22Z",
  "status": "submitted",
  "email": "jdoe@example.com",
  "userData": {
    "firstName": "John",
    "lastName": "Doe",
    "countryCode": "US",
    "province": "CO"
  },
  "loanData": {
    "term": 12,
    "amount": 10101.02,
    "amountToCustomer": 10000,
    "baseLTV": 0.5,
    "repaymentType": "principal_and_interest",
    "countryCode": "US",
    "province": "CO",
    "apr": 0.088415,
    "interestRate": 0.0695,
    "payment": 873.78,
    "originationFeeRate": 0.01,
    "originationFeeAmount": 101.02,
    "accountType": "personal"
  }
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response LoanRequestResponse
400 Bad Request Status 400 Response InvalidRequestResponse
409 Conflict Status 409 Response ConflictServerErrorResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

deleteLoanRequest

Code samples

DELETE /loan-requests/{loanRequestId}

Deletes a Loan Request

Deletes a loan request and returns an empty object

Parameters

Name In Type Required Description
loanRequestId path string true The id of the Loan Request you would like to retrieve

Example responses

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
204 No Content Status 204 Response None
400 Bad Request Status 400 Response InvalidRequestResponse
409 Conflict Status 409 Response ConflictServerErrorResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Response Schema

cancelLoanRequest

Code samples

POST /loan-requests/{loanRequestId}/cancel

Cancels a Loan Request

Cancels a Loan request and returns an empty object

Parameters

Name In Type Required Description
loanRequestId path string true The id of the Loan Request you would like to cancel

Example responses

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
204 No Content Status 204 Response None
400 Bad Request Status 400 Response InvalidRequestResponse
409 Conflict Status 409 Response ConflictServerErrorResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Response Schema

submitLoanRequest

Code samples

POST /loan-requests/{loanRequestId}/submit

Submits Loan Request

Submits a loan request and returns an onboarding link

Body parameter

{
  "token": "string"
}

Parameters

Name In Type Required Description
loanRequestId path string true The id of the Loan Request you would like to retrieve
body body LoanSubmissionRequest false A request body containing an optional reCaptcha token (only required for non-publishable keys)

Example responses

200 Response

{
  "onboardingLink": "string"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response LoanSubmissionResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

getTermLTVOptions

Code samples

GET /loan-requests/term-options

Gets a Term/LTV/APR options map

Returns an array of available Term/LTV/APR options

Example responses

200 Response

{
  "records": [
    {
      "term": 0,
      "ltv": 0,
      "apr": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response GetTermLTVOptionsResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Payouts

addWalletAddress

Code samples

POST /campaigns/{campaignId}/wallet-addresses

Add a crypto wallet address to a campaign

Adds a payout crypto wallet address to a campaign and returns the campaign with the new address attached.

Body parameter

{
  "address": "string"
}

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to add the wallet address to
body body AddWalletAddressRequest false A Wallet Address information object.

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

deleteWalletAddress

Code samples

DELETE /campaigns/{campaignId}/wallet-addresses

Removes a wallet address from a campaign

Removes a payout wallet address from a campaign and returns an empty object.

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to remove the wallet address from

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

addBankAccount

Code samples

POST /campaigns/{campaignId}/bank-accounts

Add a bank account to a campaign

Adds a payout bank account to a campaign and returns the campaign with the new address attached.

Body parameter

{
  "name": "string",
  "isInUSA": true,
  "accountType": "checking",
  "routingNumber": "string",
  "accountNumber": "stringstri",
  "swift": "stringst",
  "iban": "string",
  "notes": "string"
}

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to add the bank account to
body body AddBankAccountRequest false A Bank Account information object.

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

deleteBankAccount

Code samples

DELETE /campaigns/{campaignId}/bank-accounts

Removes a bank account from a campaign

Removes a payout bank account from a campaign and returns an empty object.

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to remove the bank account from

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Webhooks

createWebhook

Code samples

POST /webhooks

Subscribe to a webhook

Subscribe to an available webhook found in the getWebhookSubscriptions endpoint

Body parameter

{
  "subscription": "loan_request:registration_complete",
  "callbackURL": "https://example.com/salt_webhooks"
}

Parameters

Name In Type Required Description
body body CreateWebhookRequest false none

Example responses

Status 200 Response

{
  "id": "3f5f6fa0-a44f-47b5-a7ae-786f480a8d81",
  "callbackURL": "https://example.com/salt_webhooks",
  "subject": "loan_request",
  "action": "registration_complete"
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response WebhookResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

getSubscribedWebhooks

Code samples

GET /webhooks

Get a list of webhooks you are subscribed to

Returns a list of webhook options in string format

Example responses

Status 200 Response

[
  {
    "id": "3f5f6fa0-a44f-47b5-a7ae-786f480a8d81",
    "callbackURL": "https://example.com/salt_webhooks",
    "subject": "loan_request",
    "action": "registration_complete"
  },
  {
    "id": "3d8ae85b-6eb9-450e-97fc-324cd2cbb3e5",
    "callbackURL": "https://example.com/salt_webhooks",
    "subject": "loan_request",
    "action": "under_review"
  },
  {
    "id": "5bb8ea1d-a3a5-4dfc-af7f-542775591d20",
    "callbackURL": "https://example.com/salt_webhooks",
    "subject": "loan_request",
    "action": "awaiting_funding"
  },
  {
    "id": "af6684b1-fbd9-46c2-a2fc-03ab89ff2a9b",
    "callbackURL": "https://example.com/salt_webhooks",
    "subject": "loan_request",
    "action": "active"
  }
]

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response WebhooksArrayResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

getWebhookOptions

Code samples

GET /webhooks/subscriptions

Get a list of webhook options

Returns a list of webhook options in string format

Example responses

Status 200 Response

[
  "loan_request:*",
  "loan_request:registration_complete",
  "loan_request:under_review",
  "loan_request:awaiting_collateral",
  "loan_request:awaiting_funding",
  "loan_request:active",
  "loan_request:cancelled"
]

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response WebhookOptionsResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

getWebhookById

Code samples

GET /webhooks/{webhookId}

Get a subscribed webhook by id

Returns a single webhook response

Parameters

Name In Type Required Description
webhookId path string true The id of the webhook you would like to retrieve

Example responses

Status 200 Response

{
  "id": "3f5f6fa0-a44f-47b5-a7ae-786f480a8d81",
  "callbackURL": "https://example.com/salt_webhooks",
  "subject": "loan_request",
  "action": "registration_complete"
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response WebhookResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

deleteWebhook

Code samples

DELETE /webhooks/{webhookId}

Delete (unsubscribe) from a webhook

Deletes a webhook subscription so you will no longer be susbribed to the webhook

Parameters

Name In Type Required Description
webhookId path string true The id of the webhook you would like to retrieve

Example responses

204 Response

null

Responses

Status Meaning Description Schema
204 No Content Status 204 Response NoContentResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Merchants

addMerchant

Code samples

POST /campaigns/{campaignId}/merchants

Add merchant data to a campaign

Adds merchant data to a campaign and returns the updated campaign with the new merchant data attached

Body parameter

{
  "name": "string",
  "DBA": "string",
  "taxId": "string",
  "industrySector": "string",
  "country": "string",
  "address": "string",
  "city": "string",
  "state": "string",
  "zip": "string"
}

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to add the merchant data to
body body FullMerchantRequest false A Merchant information object.

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

updateMerchant

Code samples

PUT /campaigns/{campaignId}/merchants

Update merchant data on a campaign

Updates merchant data on a campaign and returns the updated campaign with the new merchant data attached

Body parameter

{
  "name": "string",
  "DBA": "string",
  "taxId": "string",
  "industrySector": "string",
  "country": "string",
  "address": "string",
  "city": "string",
  "state": "string",
  "zip": "string"
}

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to add the merchant data to
body body PartialMerchant false A Merchant information object.

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response SingleCampaignResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

deleteMerchant

Code samples

DELETE /campaigns/{campaignId}/merchants

Removes a merchant from a campaign

Removes a merchant from a campaign and returns an empty object.

Parameters

Name In Type Required Description
campaignId path string true The id of the campaign you would like to remove the merchant data from

Example responses

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
204 No Content Status 204 Response None
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Response Schema

Active Loans

getActiveLoan

Code samples

GET /loan-requests/{loanRequestId}/active-loan

Get active loan by loan request ID

Returns details about the active loan associated with the loan request ID provided

Parameters

Name In Type Required Description
loanRequestId path string true The id of the loan request associated with the active loan

Example responses

Status 200 Response

{
  "id": "18b9b1f7-2fb0-41d1-bd82-1748b52a3da6",
  "ltv": "0.64898307946090737234",
  "loanValue": "11263.64",
  "loanAsset": "USD",
  "apr": "0.11894",
  "interestRate": "0.0999",
  "repaymentType": "principal_and_interest",
  "payment": "990.2",
  "status": "active",
  "riskStatus": "Safe",
  "amortizationInfo": {
    "startDate": "2024-01-31T10:30:00.153Z",
    "term": "12",
    "beginningBalance": "11263.64",
    "currentBalance": "11263.64",
    "interestRate": "0.0999",
    "principalPaid": "0",
    "interestPaid": "0",
    "feesPaid": "0",
    "interestBalance": "15.61",
    "remainingInterest": "670.12",
    "principalBalance": "949.58",
    "nextPaymentDate": "2024-10-15T10:00:00.000Z",
    "nextPaymentAmount": "990.2",
    "lastPaymentDate": null,
    "lastPaymentAmount": null
  }
}

400 Response

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Status 200 Response ActiveLoanResponse
400 Bad Request Status 400 Response InvalidRequestResponse
500 Internal Server Error Status 500 Response InternalServerErrorResponse

Schemas

GetOwnPartnerSuccessResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "email": "user@example.com"
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none none
name string false none none
email string(email) false none none

GetAllCampaignsResponse

{
  "page": 0,
  "limit": 0,
  "totalRecords": 0,
  "hasMore": true,
  "records": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "description": "string",
      "bankAccount": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "isInUSA": true,
        "accountType": "checking",
        "routingNumber": "string",
        "accountNumber": "stringstri",
        "swift": "stringst",
        "iban": "string",
        "notes": "string"
      },
      "walletAddress": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "address": "string",
        "currency": "string"
      },
      "code": "string",
      "logoURL": "string",
      "payoutType": "bank_account",
      "merchant": {
        "name": "string",
        "DBA": "string",
        "taxId": "string",
        "industrySector": "string",
        "country": "string",
        "address": "string",
        "city": "string",
        "state": "string",
        "zip": "string",
        "createdAt": "2019-08-24T14:15:22Z"
      },
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Properties

Name Type Required Restrictions Description
page integer false none none
limit integer false none none
totalRecords integer false none none
hasMore boolean false none none
records [object] false none none
» id string(uuid) false none none
» name string false none none
» description string false none none
» bankAccount object false none none
»» id string(uuid) false none none
»» name string false none none
»» isInUSA boolean false none none
»» accountType string false none none
»» routingNumber string false none none
»» accountNumber string false none none
»» swift string false none none
»» iban string false none none
»» notes string false none none
» walletAddress object false none none
»» id string(uuid) false none none
»» address string false none none
»» currency string false none none
» code string false none none
» logoURL string false none none
» payoutType string false none none
» merchant object false none none
»» name string true none none
»» DBA string true none none
»» taxId string true none none
»» industrySector string true none none
»» country string true none none
»» address string true none none
»» city string true none none
»» state string true none none
»» zip string true none none
»» createdAt string(date-time) true none none
» createdAt string(date-time) false none none

Enumerated Values

Property Value
accountType checking
accountType savings
payoutType bank_account
payoutType wallet_address

SingleCampaignResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "description": "string",
  "bankAccount": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "isInUSA": true,
    "accountType": "checking",
    "routingNumber": "string",
    "accountNumber": "stringstri",
    "swift": "stringst",
    "iban": "string",
    "notes": "string"
  },
  "walletAddress": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "address": "string",
    "currency": "string"
  },
  "code": "string",
  "logoURL": "string",
  "payoutType": "bank_account",
  "merchant": {
    "name": "string",
    "DBA": "string",
    "taxId": "string",
    "industrySector": "string",
    "country": "string",
    "address": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none none
name string false none none
description string false none none
bankAccount object false none none
» id string(uuid) false none none
» name string false none none
» isInUSA boolean false none none
» accountType string false none none
» routingNumber string false none none
» accountNumber string false none none
» swift string false none none
» iban string false none none
» notes string false none none
walletAddress object false none none
» id string(uuid) false none none
» address string false none none
» currency string false none none
code string false none none
logoURL string false none none
payoutType string false none none
merchant object false none none
» name string true none none
» DBA string true none none
» taxId string true none none
» industrySector string true none none
» country string true none none
» address string true none none
» city string true none none
» state string true none none
» zip string true none none
» createdAt string(date-time) true none none
createdAt string(date-time) false none none

Enumerated Values

Property Value
accountType checking
accountType savings
payoutType bank_account
payoutType wallet_address

CreateCampaignRequest

{
  "name": "string",
  "description": "string",
  "code": "string",
  "logoURL": "string"
}

Properties

Name Type Required Restrictions Description
name string true none none
description string false none none
code string true none none
logoURL string false none none

UpdateCampaignRequest

{
  "name": "string",
  "description": "string",
  "code": "string",
  "logoURL": "string"
}

Properties

Name Type Required Restrictions Description
name string false none none
description string false none none
code string false none none
logoURL string false none none

AddWalletAddressRequest

{
  "address": "string"
}

Properties

Name Type Required Restrictions Description
address string true none none

AddBankAccountRequest

{
  "name": "string",
  "isInUSA": true,
  "accountType": "checking",
  "routingNumber": "string",
  "accountNumber": "stringstri",
  "swift": "stringst",
  "iban": "string",
  "notes": "string"
}

Properties

Name Type Required Restrictions Description
name string true none none
isInUSA boolean true none none
accountType string true none none
routingNumber string true none none
accountNumber string true none none
swift string false none none
iban string false none none
notes string false none none

Enumerated Values

Property Value
accountType checking
accountType savings

GetLoanQuoteResponse

{
  "principalAmount": 0,
  "amountToCustomer": 0,
  "monthlyPayment": 0,
  "apr": 0,
  "interestRate": 0,
  "totalInterest": 0,
  "originationFeeRate": 0,
  "originationFeeAmount": 0,
  "collateralNeeded": 0
}

Properties

Name Type Required Restrictions Description
principalAmount number true none none
amountToCustomer number true none none
monthlyPayment number true none none
apr number true none none
interestRate number true none none
totalInterest number true none none
originationFeeRate number true none none
originationFeeAmount number true none none
collateralNeeded number true none none

GetLoanQuoteRequest

{
  "amountToCustomer": 0,
  "baseLTV": 0,
  "repaymentType": "interest_only",
  "countryCode": "string",
  "province": "string",
  "term": 0,
  "accountType": "business"
}

Properties

Name Type Required Restrictions Description
amountToCustomer number true none none
baseLTV number true none Decimal number for loan LTV
repaymentType string true none none
countryCode string true none 2 digit ISO code for country
province string true none 1-3 digit ISO code for state/province
term integer true none Number of months for loan term
accountType string true none none

Enumerated Values

Property Value
repaymentType interest_only
repaymentType principal_and_interest
repaymentType financed_interest
accountType business
accountType personal

LoanSubmissionRequest

{
  "token": "string"
}

Properties

Name Type Required Restrictions Description
token string false none none

LoanSubmissionResponse

{
  "onboardingLink": "string"
}

Properties

Name Type Required Restrictions Description
onboardingLink string true none none

GetLoanBoundsResponse

{
  "amount": [
    {
      "constraint": "GTE",
      "value": 0
    }
  ],
  "apr": [
    {
      "constraint": "GTE",
      "value": 0
    }
  ],
  "term": [
    {
      "constraint": "GTE",
      "value": 0
    }
  ]
}

Properties

Name Type Required Restrictions Description
amount [object] true none none
» constraint string false none none
» value number false none none
apr [object] true none none
» constraint string false none none
» value number false none none
term [object] true none none
» constraint string false none none
» value number false none none

Enumerated Values

Property Value
constraint GTE
constraint GT
constraint LTE
constraint LT
constraint GTE
constraint GT
constraint LTE
constraint LT
constraint GTE
constraint GT
constraint LTE
constraint LT

GetLoanBoundsRequest

{
  "repaymentType": "interest_only",
  "countryCode": "string",
  "province": "string",
  "accountType": "business"
}

Properties

Name Type Required Restrictions Description
repaymentType string false none none
countryCode string true none 2 digit ISO code for country
province string true none 2 digit ISO code for state/province
accountType string true none none

Enumerated Values

Property Value
repaymentType interest_only
repaymentType principal_and_interest
repaymentType financed_interest
accountType business
accountType personal

CreateLoanRequestResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "createdAt": "2019-08-24T14:15:22Z",
  "submittedAt": "2019-08-24T14:15:22Z",
  "expiresAt": "2019-08-24T14:15:22Z",
  "status": "string",
  "email": "user@example.com",
  "userData": {
    "firstName": "string",
    "lastName": "string",
    "countryCode": "string",
    "province": "string"
  },
  "loanData": {
    "term": 0,
    "amount": 0,
    "amountToCustomer": 0,
    "originationFeeRate": 0,
    "originationFeeAmount": 0,
    "baseLTV": 0,
    "repaymentType": "interest_only",
    "countryCode": "string",
    "province": "string",
    "payment": 0,
    "apr": 0,
    "interestRate": 0,
    "accountType": "business",
    "loanAsset": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none none
createdAt string(date-time) false none none
submittedAt string(date-time) false none none
expiresAt string(date-time) false none none
status string false none none
email string(email) false none none
userData object false none none
» firstName string true none none
» lastName string true none none
» countryCode string true none none
» province string true none none
loanData object false none none
» term integer true none none
» amount number true none none
» amountToCustomer number true none none
» originationFeeRate number true none none
» originationFeeAmount number true none none
» baseLTV number true none none
» repaymentType string true none none
» countryCode string true none none
» province string true none none
» payment number true none none
» apr number true none none
» interestRate number true none none
» accountType string true none none
» loanAsset string true none none

Enumerated Values

Property Value
repaymentType interest_only
repaymentType principal_and_interest
repaymentType financed_interest
accountType business
accountType personal

CreateLoanRequestRequest

{
  "email": "user@example.com",
  "userData": {
    "firstName": "string",
    "lastName": "string",
    "countryCode": "string",
    "province": "string"
  },
  "loanData": {
    "term": 0,
    "amount": 0,
    "amountToCustomer": 0,
    "originationFeeRate": 0,
    "originationFeeAmount": 0,
    "baseLTV": 0,
    "repaymentType": "interest_only",
    "countryCode": "string",
    "province": "string",
    "payment": 0,
    "apr": 0,
    "interestRate": 0,
    "accountType": "business"
  }
}

Properties

Name Type Required Restrictions Description
email string(email) true none none
userData object false none none
» firstName string true none none
» lastName string true none none
» countryCode string true none none
» province string true none none
loanData object false none none
» term integer true none none
» amount number true none none
» amountToCustomer number true none none
» originationFeeRate number true none none
» originationFeeAmount number true none none
» baseLTV number true none none
» repaymentType string true none none
» countryCode string true none none
» province string true none none
» payment number true none none
» apr number true none none
» interestRate number true none none
» accountType string true none none

Enumerated Values

Property Value
repaymentType interest_only
repaymentType principal_and_interest
repaymentType financed_interest
accountType business
accountType personal

UpdateLoanRequestRequest

{
  "email": "user@example.com",
  "userData": {
    "firstName": "string",
    "lastName": "string",
    "countryCode": "string",
    "province": "string"
  },
  "loanData": {
    "term": 0,
    "amount": 0,
    "amountToCustomer": 0,
    "originationFeeRate": 0,
    "originationFeeAmount": 0,
    "baseLTV": 0,
    "repaymentType": "interest_only",
    "countryCode": "string",
    "province": "string",
    "payment": 0,
    "apr": 0,
    "interestRate": 0,
    "accountType": "business",
    "loanAsset": "string"
  }
}

Properties

Name Type Required Restrictions Description
email string(email) false none none
userData object false none none
» firstName string true none none
» lastName string true none none
» countryCode string true none none
» province string true none none
loanData object false none none
» term integer true none none
» amount number true none none
» amountToCustomer number true none none
» originationFeeRate number true none none
» originationFeeAmount number true none none
» baseLTV number true none none
» repaymentType string true none none
» countryCode string true none none
» province string true none none
» payment number true none none
» apr number true none none
» interestRate number true none none
» accountType string true none none
» loanAsset string true none none

Enumerated Values

Property Value
repaymentType interest_only
repaymentType principal_and_interest
repaymentType financed_interest
accountType business
accountType personal

LoanRequestResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "createdAt": "2019-08-24T14:15:22Z",
  "submittedAt": "2019-08-24T14:15:22Z",
  "expiresAt": "2019-08-24T14:15:22Z",
  "status": "string",
  "email": "user@example.com",
  "userData": {
    "firstName": "string",
    "lastName": "string",
    "countryCode": "string",
    "province": "string"
  },
  "loanData": {
    "term": 0,
    "amount": 0,
    "amountToCustomer": 0,
    "originationFeeRate": 0,
    "originationFeeAmount": 0,
    "baseLTV": 0,
    "repaymentType": "interest_only",
    "countryCode": "string",
    "province": "string",
    "payment": 0,
    "apr": 0,
    "interestRate": 0,
    "accountType": "business",
    "loanAsset": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none none
createdAt string(date-time) false none none
submittedAt string(date-time) false none none
expiresAt string(date-time) false none none
status string false none none
email string(email) false none none
userData object false none none
» firstName string true none none
» lastName string true none none
» countryCode string true none none
» province string true none none
loanData object false none none
» term integer true none none
» amount number true none none
» amountToCustomer number true none none
» originationFeeRate number true none none
» originationFeeAmount number true none none
» baseLTV number true none none
» repaymentType string true none none
» countryCode string true none none
» province string true none none
» payment number true none none
» apr number true none none
» interestRate number true none none
» accountType string true none none
» loanAsset string true none none

Enumerated Values

Property Value
repaymentType interest_only
repaymentType principal_and_interest
repaymentType financed_interest
accountType business
accountType personal

LoanRequestsResponse

{
  "page": 0,
  "limit": 0,
  "totalRecords": 0,
  "hasMore": true,
  "records": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "createdAt": "2019-08-24T14:15:22Z",
      "submittedAt": "2019-08-24T14:15:22Z",
      "expiresAt": "2019-08-24T14:15:22Z",
      "status": "string",
      "email": "user@example.com",
      "userData": {
        "firstName": "string",
        "lastName": "string",
        "countryCode": "string",
        "province": "string"
      },
      "loanData": {
        "term": 0,
        "amount": 0,
        "amountToCustomer": 0,
        "originationFeeRate": 0,
        "originationFeeAmount": 0,
        "baseLTV": 0,
        "repaymentType": "interest_only",
        "countryCode": "string",
        "province": "string",
        "payment": 0,
        "apr": 0,
        "interestRate": 0,
        "accountType": "business",
        "loanAsset": "string"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description
page integer false none none
limit integer false none none
totalRecords integer false none none
hasMore boolean false none none
records [object] false none none
» id string(uuid) false none none
» createdAt string(date-time) false none none
» submittedAt string(date-time) false none none
» expiresAt string(date-time) false none none
» status string false none none
» email string(email) false none none
» userData object false none none
»» firstName string true none none
»» lastName string true none none
»» countryCode string true none none
»» province string true none none
» loanData object false none none
»» term integer true none none
»» amount number true none none
»» amountToCustomer number true none none
»» originationFeeRate number true none none
»» originationFeeAmount number true none none
»» baseLTV number true none none
»» repaymentType string true none none
»» countryCode string true none none
»» province string true none none
»» payment number true none none
»» apr number true none none
»» interestRate number true none none
»» accountType string true none none
»» loanAsset string true none none

Enumerated Values

Property Value
repaymentType interest_only
repaymentType principal_and_interest
repaymentType financed_interest
accountType business
accountType personal

GetTermLTVOptionsResponse

{
  "records": [
    {
      "term": 0,
      "ltv": 0,
      "apr": 0
    }
  ]
}

Properties

Name Type Required Restrictions Description
records [object] true none none
» term number true none none
» ltv number true none none
» apr number true none none

InvalidRequestResponse

{
  "errors": [
    {
      "keyError": "string",
      "message": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
errors [object] false none none
» keyError string false none none
» message string false none none

ConflictServerErrorResponse

{
  "message": "string"
}

Properties

Name Type Required Restrictions Description
message string false none none

InternalServerErrorResponse

{
  "message": "string"
}

Properties

Name Type Required Restrictions Description
message string false none none

NoContentResponse

null

Properties

None

CreateWebhookRequest

{
  "subscription": "string",
  "callbackURL": "string"
}

Properties

Name Type Required Restrictions Description
subscription string true none none
callbackURL string true none none

WebhookResponse

{
  "id": "string",
  "subject": "string",
  "action": "string",
  "callbackURL": "string"
}

Properties

Name Type Required Restrictions Description
id string false none none
subject string false none none
action string false none none
callbackURL string false none none

WebhookOptionsResponse

[
  "string"
]

Properties

None

WebhooksArrayResponse

[
  {
    "id": "string",
    "subject": "string",
    "action": "string",
    "callbackURL": "string"
  }
]

Properties

Name Type Required Restrictions Description
id string false none none
subject string false none none
action string false none none
callbackURL string false none none

FullMerchantRequest

{
  "name": "string",
  "DBA": "string",
  "taxId": "string",
  "industrySector": "string",
  "country": "string",
  "address": "string",
  "city": "string",
  "state": "string",
  "zip": "string"
}

Properties

Name Type Required Restrictions Description
name string true none none
DBA string true none none
taxId string true none none
industrySector string true none none
country string true none none
address string true none none
city string true none none
state string true none none
zip string true none none

FullMerchantResponse

{
  "name": "string",
  "DBA": "string",
  "taxId": "string",
  "industrySector": "string",
  "country": "string",
  "address": "string",
  "city": "string",
  "state": "string",
  "zip": "string",
  "createdAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
name string true none none
DBA string true none none
taxId string true none none
industrySector string true none none
country string true none none
address string true none none
city string true none none
state string true none none
zip string true none none
createdAt string(date-time) true none none

PartialMerchant

{
  "name": "string",
  "DBA": "string",
  "taxId": "string",
  "industrySector": "string",
  "country": "string",
  "address": "string",
  "city": "string",
  "state": "string",
  "zip": "string"
}

Properties

Name Type Required Restrictions Description
name string false none none
DBA string false none none
taxId string false none none
industrySector string false none none
country string false none none
address string false none none
city string false none none
state string false none none
zip string false none none

ActiveLoanResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "ltv": "string",
  "loanValue": "d305addc-6c03-438d-a784-b42a42937545",
  "loanAsset": "string",
  "apr": "string",
  "interestRate": "string",
  "repaymentType": "interest_only",
  "payment": "string",
  "status": "string",
  "riskStatus": "Safe",
  "amortizationInfo": {
    "startDate": "2019-08-24T14:15:22Z",
    "term": "string",
    "beginningBalance": "string",
    "currentBalance": "string",
    "interestRate": "string",
    "principalPaid": "string",
    "interestPaid": "string",
    "feesPaid": "string",
    "interestBalance": "string",
    "remainingInterest": "string",
    "principalBalance": "string",
    "nextPaymentDate": "string",
    "nextPaymentAmount": "string",
    "lastPaymentDate": "string",
    "lastPaymentAmount": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
ltv string true none none
loanValue string(uuid) true none none
loanAsset string true none none
apr string true none none
interestRate string true none none
repaymentType string true none none
payment string true none none
status string true none none
riskStatus string false none none
amortizationInfo object false none none
» startDate string(date-time) false none none
» term string false none none
» beginningBalance string false none none
» currentBalance string false none none
» interestRate string false none none
» principalPaid string false none none
» interestPaid string false none none
» feesPaid string false none none
» interestBalance string false none none
» remainingInterest string false none none
» principalBalance string false none none
» nextPaymentDate string false none none
» nextPaymentAmount string false none none
» lastPaymentDate string false none none
» lastPaymentAmount string false none none

Enumerated Values

Property Value
repaymentType interest_only
repaymentType principal_and_interest
repaymentType financed_interest
riskStatus Safe
riskStatus Warning
riskStatus MarginCall
riskStatus FinalNotice
riskStatus Liquidation