Kanmon Issued Products API
The Issued Products API from Kanmon — 2 operation(s) for issued products.
The Issued Products API from Kanmon — 2 operation(s) for issued products.
openapi: 3.0.0
info:
contact: {}
description: Kanmon's public api. Contains all of the endpoints for both capital providers and platforms
title: Kanmon Public V2 Bank Accounts Issued Products API
version: 2.0.0
servers:
- description: Production
url: https://api.kanmon.com
- description: Sandbox
url: https://api.kanmon.dev
- description: Local
url: http://localhost:3333
- description: Staging
url: https://workflow.concar.dev
tags:
- name: Issued Products
paths:
/api/platform/v2/issued-products/{id}:
get:
operationId: getIssuedProductById
parameters:
- description: The Kanmon issued product UUID.
example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/IssuedProduct'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
description: BadRequestException
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
description: ForbiddenException
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/IssuedProductNotFoundException'
description: IssuedProductNotFoundException
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
description: TooManyRequestsException
headers:
X-RateLimit-Limit:
description: Maximum number of requests allowed per minute.
explode: false
schema:
type: integer
style: simple
X-RateLimit-Remaining:
description: Number of remaining requests available.
explode: false
schema:
type: integer
style: simple
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
description: InternalServerErrorException
security:
- Authorization: []
summary: Fetch an issued product
tags:
- Issued Products
x-readme:
code-samples:
- language: node
install: npm install @kanmon/sdk
name: SDK
code: "\nkanmonApi.issuedProducts.getIssuedProductById({\n ...params...\n})\n "
x-accepts:
- application/json
/api/platform/v2/issued-products:
get:
operationId: getAllIssuedProducts
parameters:
- description: A comma delimited list of Kanmon’s unique IDs for offers.
example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6,70eaa08c-f7a5-4f3a-860d-a16dde5771e34
explode: true
in: query
name: offerIds
required: false
schema:
type: string
style: form
- description: A comma delimited list of Kanmon’s unique IDs for issued products.
example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6,70eaa08c-f7a5-4f3a-860d-a16dde5771e34
explode: true
in: query
name: ids
required: false
schema:
type: string
style: form
- description: A comma delimited list of your platform’s unique IDs for businesses.
example: 12345,67890
explode: true
in: query
name: platformBusinessIds
required: false
schema:
type: string
style: form
- description: A comma delimited list of Kanmon’s unique IDs for businesses.
example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6,70eaa08c-f7a5-4f3a-860d-a16dde5771e34
explode: true
in: query
name: businessIds
required: false
schema:
type: string
style: form
- description: The number of records to skip when performing pagination. Defaults to `0`.
example: '0'
explode: true
in: query
name: offset
required: false
schema:
type: number
style: form
- description: The number of records to limit when performing pagination. Defaults to `100`, which is the max.
example: '100'
explode: true
in: query
name: limit
required: false
schema:
type: number
style: form
- description: Filter for records where `createdAt` is greater than or equal to this value. ISO 8601 format.
example: 2022-06-01 03:57:26.115000+00:00
explode: true
in: query
name: createdAtStart
required: false
schema:
type: string
style: form
- description: Filter for records where `createdAt` is less than or equal to this value. ISO 8601 format.
example: 2022-06-01 03:57:26.115000+00:00
explode: true
in: query
name: createdAtEnd
required: false
schema:
type: string
style: form
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetIssuedProductsResponse'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
description: BadRequestException
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
description: ForbiddenException
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
description: TooManyRequestsException
headers:
X-RateLimit-Limit:
description: Maximum number of requests allowed per minute.
explode: false
schema:
type: integer
style: simple
X-RateLimit-Remaining:
description: Number of remaining requests available.
explode: false
schema:
type: integer
style: simple
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
description: InternalServerErrorException
security:
- Authorization: []
summary: Fetch issued products
tags:
- Issued Products
x-readme:
code-samples:
- language: node
install: npm install @kanmon/sdk
name: SDK
code: "\nkanmonApi.issuedProducts.getAllIssuedProducts({\n ...params...\n})\n "
x-accepts:
- application/json
components:
schemas:
FixedDateInvoiceRepaymentWindow:
properties:
repaymentType:
enum:
- FIXED_DATE
type: string
monthlyRepaymentDay:
description: The day on which the repayment is due. E.g. a value of `15` means the repayment is due on the 15th.
example: 15
type: number
required:
- monthlyRepaymentDay
- repaymentType
type: object
InvoicePaymentPlan:
properties:
id:
description: The UUID representing the invoice payment plan.
example: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
type: string
advanceRatePercentage:
description: The percentage of the invoice that is allowed for advances. E.g. a value of `80` would mean that $800 would be advanced on a $1,000 invoice.
example: 80
type: number
transactionFeePercentage:
description: The percentage of the transaction that is charged as a fee. E.g. a value of `5` means 5%.
example: 5
type: number
repaymentWindow:
$ref: '#/components/schemas/InvoicePaymentPlan_repaymentWindow'
required:
- advanceRatePercentage
- id
- repaymentWindow
- transactionFeePercentage
type: object
PaymentPlanRepaymentSchedule:
properties:
schedule:
description: An array of repayment schedule items that represents how the invoice will be paid back over multiple repayments.
items:
$ref: '#/components/schemas/PaymentPlanRepaymentScheduleItem'
type: array
required:
- schedule
type: object
IntegratedMcaServicingData:
properties:
productType:
$ref: '#/components/schemas/ProductType'
advanceAmountCents:
description: The loan amount - in cents.
example: 1000000
type: number
repaymentPercentage:
description: The repayment percentage for calculating repayment amounts. E.g. a value of a `20` means 20%. If a business has $100 of income over a repayment period, the repayment amount would be $20.
example: 20
type: number
feeFactor:
description: The fee percentage charged as the borrowing cost of the loan. E.g. a value of `1.3` means a 30% fee.
example: 1.3
type: number
totalRepaymentCents:
description: The total repayment amount in cents required to settle and close the debt. E.g. for a $10,000 loan with a fee factor of 1.3, the repayment amount equates to $13,000.
example: 1300000
type: number
advanceBalanceCents:
description: The total repayment amount less the amount repaid - in cents.
example: 1100000
type: number
monthlyMinimumPaymentAmountCents:
description: The monthly minimum payment amount - in cents. `null` if there is no monthly minimum payment.
example: 100000
nullable: true
type: object
feeAmountCents:
description: The calculated fee amount in cents.
example: 300000
type: number
required:
- advanceAmountCents
- advanceBalanceCents
- feeAmountCents
- feeFactor
- monthlyMinimumPaymentAmountCents
- productType
- repaymentPercentage
- totalRepaymentCents
type: object
LineOfCreditServicingData:
properties:
productType:
$ref: '#/components/schemas/ProductType'
totalLimitCents:
description: The total credit limit - in cents.
example: 1000000
type: number
availableLimitCents:
description: The total limit less the amount of balance outstanding - in cents.
example: 900000
type: number
interestRatePercentage:
description: The rate of interest on the loan. E.g. a value of `10` means 10%.
example: 10
type: number
feePercentage:
description: The fee percentage charged as the borrowing cost of the loan. E.g. a value of `2` means a 2% fee.
example: 2
type: number
repaymentDurationMonths:
deprecated: true
description: 'The duration of the repayment for each draw - in months. Deprecated: use `numPaymentPeriods` and `repaymentCadence` instead.'
example: 3
type: number
repaymentCadence:
$ref: '#/components/schemas/RepaymentCadence'
gracePeriodDays:
description: The number of days after each draw during which no installment payments are due. Interest still accrues.
example: 30
type: number
numPaymentPeriods:
description: The number of installment payment periods for each draw.
example: 3
type: number
required:
- availableLimitCents
- feePercentage
- gracePeriodDays
- interestRatePercentage
- numPaymentPeriods
- productType
- repaymentCadence
- repaymentDurationMonths
- totalLimitCents
type: object
PaymentPlanRepaymentScheduleItem:
properties:
repaymentDurationDays:
description: This amount of days after which the repayment duration is due.
example: 30
type: number
repaymentPercentage:
description: The percentage of the payment that is due for this repayment. E.g. a value of `50` means 50%.
example: 50
type: number
required:
- repaymentDurationDays
- repaymentPercentage
type: object
PaginationResult:
properties:
limit:
description: The number of records to limit when performing pagination.
example: 100
type: number
offset:
description: The number of records to skip when performing pagination.
example: 0
type: number
totalCount:
description: The total number of records that matched the query.
example: 100
type: number
required:
- limit
- offset
- totalCount
type: object
FixedDurationInvoiceRepaymentWindow:
properties:
repaymentType:
enum:
- FIXED_DURATION
type: string
repaymentDurationDays:
description: This amount of days after which the repayment duration is due.
example: 30
type: number
required:
- repaymentDurationDays
- repaymentType
type: object
RepaymentCadence:
enum:
- WEEKLY
- MONTHLY
type: string
IssuedProductNotFoundException:
example:
errorCode: IssuedProductNotFoundException
message: Internal Server Error
timestamp: 2022-06-01 03:57:26.115000+00:00
properties:
errorCode:
description: Safe for programmatic use.
enum:
- IssuedProductNotFoundException
type: string
message:
description: The human readable description of the error.
example: Internal Server Error
type: string
timestamp:
description: When the error occurred - ISO 8601 format.
example: 2022-06-01 03:57:26.115000+00:00
type: string
required:
- errorCode
- message
- timestamp
type: object
InternalServerErrorException:
example:
errorCode: InternalServerErrorException
message: Internal Server Error
timestamp: 2022-06-01 03:57:26.115000+00:00
properties:
errorCode:
description: Safe for programmatic use.
enum:
- InternalServerErrorException
type: string
message:
description: The human readable description of the error.
example: Internal Server Error
type: string
timestamp:
description: When the error occurred - ISO 8601 format.
example: 2022-06-01 03:57:26.115000+00:00
type: string
required:
- errorCode
- message
- timestamp
type: object
McaServicingData:
properties:
productType:
$ref: '#/components/schemas/ProductType'
advanceAmountCents:
description: The loan amount - in cents.
example: 1000000
type: number
repaymentPercentage:
description: The repayment percentage for calculating repayment amounts. E.g. a value of a `20` means 20%. If a business has $100 of income over a repayment period, the repayment amount would be $20.
example: 20
type: number
feeFactor:
description: The fee percentage charged as the borrowing cost of the loan. E.g. a value of `1.3` means a 30% fee.
example: 1.3
type: number
totalRepaymentCents:
description: The total repayment amount in cents required to settle and close the debt. E.g. for a $10,000 loan with a fee factor of 1.3, the repayment amount equates to $13,000.
example: 1300000
type: number
repaymentFrequency:
description: The repayment frequency of the loan. E.g. biweekly repayment occurs every 14 days, weekly repayment occurs every 7 days, etc.
enum:
- DAILY
- WEEKLY
- BIWEEKLY
- MONTHLY
example: WEEKLY
type: string
nextPaymentDate:
description: The next scheduled payment date - ISO 8601 date format.
example: 2023-12-15
nullable: true
type: string
advanceBalanceCents:
description: The total repayment amount less the amount repaid - in cents.
example: 1100000
type: number
feeAmountCents:
description: The calculated fee amount in cents.
example: 300000
type: number
required:
- advanceAmountCents
- advanceBalanceCents
- feeAmountCents
- feeFactor
- nextPaymentDate
- productType
- repaymentFrequency
- repaymentPercentage
- totalRepaymentCents
type: object
ProductType:
enum:
- INVOICE_FINANCING
- TERM_LOAN
- MCA
- LINE_OF_CREDIT
- INTEGRATED_MCA
- ACCOUNTS_PAYABLE_FINANCING
type: string
InvoicePaymentPlan_repaymentWindow:
description: The repayment window
oneOf:
- $ref: '#/components/schemas/FixedDateInvoiceRepaymentWindow'
- $ref: '#/components/schemas/FixedDurationInvoiceRepaymentWindow'
- $ref: '#/components/schemas/MultipleDurationInvoiceRepaymentWindow'
GetIssuedProductsResponse:
example:
pagination: ''
issuedProducts:
- createdAt: 2022-06-01 03:57:26.115000+00:00
platformBusinessId: '12345'
servicingData:
interestRate: 10
loanAmountCents: 1000000
monthlyPaymentCents: 100000
nextPaymentDate: 2023-12-15
originationFeeCents: 100000
productType: INVOICE_FINANCING
principalBalanceCents: 1000000
businessId: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
loanStatus: CURRENT
offerId: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
id: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
updatedAt: 2022-06-01 03:57:26.115000+00:00
- createdAt: 2022-06-01 03:57:26.115000+00:00
platformBusinessId: '12345'
servicingData:
interestRate: 10
loanAmountCents: 1000000
monthlyPaymentCents: 100000
nextPaymentDate: 2023-12-15
originationFeeCents: 100000
productType: INVOICE_FINANCING
principalBalanceCents: 1000000
businessId: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
loanStatus: CURRENT
offerId: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
id: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
updatedAt: 2022-06-01 03:57:26.115000+00:00
properties:
issuedProducts:
description: Array of issued products.
items:
$ref: '#/components/schemas/IssuedProduct'
type: array
pagination:
allOf:
- $ref: '#/components/schemas/PaginationResult'
description: Pagination metadata.
required:
- issuedProducts
- pagination
type: object
IssuedProduct_servicingData:
description: The data needed to service this specific type of issued product
discriminator:
mapping:
TERM_LOAN: '#/components/schemas/TermLoanServicingData'
INVOICE_FINANCING: '#/components/schemas/InvoiceFinancingServicingData'
MCA: '#/components/schemas/McaServicingData'
INTEGRATED_MCA: '#/components/schemas/IntegratedMcaServicingData'
LINE_OF_CREDIT: '#/components/schemas/LineOfCreditServicingData'
ACCOUNTS_PAYABLE_FINANCING: '#/components/schemas/InvoiceFinancingServicingData'
propertyName: productType
oneOf:
- $ref: '#/components/schemas/TermLoanServicingData'
- $ref: '#/components/schemas/InvoiceFinancingServicingData'
- $ref: '#/components/schemas/McaServicingData'
- $ref: '#/components/schemas/IntegratedMcaServicingData'
- $ref: '#/components/schemas/LineOfCreditServicingData'
InvoiceFinancingServicingData:
properties:
productType:
$ref: '#/components/schemas/ProductType'
totalLimitCents:
description: The total limit allowed - in cents.
type: number
pricingPlans:
description: The pricing plans available for this issued product.
items:
$ref: '#/components/schemas/InvoicePaymentPlan'
type: array
availableLimitCents:
description: The total limit less the amount of balance outstanding - in cents.
type: number
required:
- availableLimitCents
- pricingPlans
- productType
- totalLimitCents
type: object
ForbiddenException:
example:
errorCode: ForbiddenException
message: Forbidden
timestamp: 2022-06-01 03:57:26.115000+00:00
properties:
errorCode:
description: Safe for programmatic use.
enum:
- ForbiddenException
type: string
message:
description: The human readable description of the error.
example: Forbidden
type: string
timestamp:
description: When the error occurred - ISO 8601 format.
example: 2022-06-01 03:57:26.115000+00:00
type: string
required:
- errorCode
- message
- timestamp
type: object
TermLoanServicingData:
example:
interestRate: 10
loanAmountCents: 1000000
monthlyPaymentCents: 100000
nextPaymentDate: 2023-12-15
originationFeeCents: 100000
productType: INVOICE_FINANCING
principalBalanceCents: 1000000
properties:
productType:
$ref: '#/components/schemas/ProductType'
loanAmountCents:
description: The total loan amount - in cents.
example: 1000000
type: number
originationFeeCents:
description: The total origination fee amount - in cents.
example: 100000
type: number
principalBalanceCents:
description: The principal remaining on the loan - in cents.
example: 1000000
type: number
monthlyPaymentCents:
description: The monthly payment amount - in cents.
example: 100000
type: number
interestRate:
description: The interest rate of the loan. E.g. a value of `10` means 10%.
example: 10
type: number
nextPaymentDate:
description: The next scheduled payment date - ISO 8601 date format.
example: 2023-12-15
nullable: true
type: string
required:
- interestRate
- loanAmountCents
- monthlyPaymentCents
- nextPaymentDate
- originationFeeCents
- principalBalanceCents
- productType
type: object
BadRequestException:
example:
errorCode: BadRequestException
message: Bad Request
timestamp: 2022-06-01 03:57:26.115000+00:00
properties:
errorCode:
description: Safe for programmatic use.
enum:
- BadRequestException
type: string
message:
description: The human readable description of the error.
example: Bad Request
type: string
timestamp:
description: When the error occurred - ISO 8601 format.
example: 2022-06-01 03:57:26.115000+00:00
type: string
required:
- errorCode
- message
- timestamp
type: object
MultipleDurationInvoiceRepaymentWindow:
properties:
repaymentType:
enum:
- MULTIPLE_DURATION
type: string
repaymentSchedule:
$ref: '#/components/schemas/PaymentPlanRepaymentSchedule'
required:
- repaymentSchedule
- repaymentType
type: object
IssuedProduct:
example:
createdAt: 2022-06-01 03:57:26.115000+00:00
platformBusinessId: '12345'
servicingData:
interestRate: 10
loanAmountCents: 1000000
monthlyPaymentCents: 100000
nextPaymentDate: 2023-12-15
originationFeeCents: 100000
productType: INVOICE_FINANCING
principalBalanceCents: 1000000
businessId: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
loanStatus: CURRENT
offerId: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
id: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
updatedAt: 2022-06-01 03:57:26.115000+00:00
properties:
id:
description: The UUID representing the issued product in Kanmon.
example: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
type: string
offerId:
description: The UUID representing the offer tied to this issued product in Kanmon.
example: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
type: string
businessId:
description: The UUID representing the business in Kanmon.
example: 2b5d0f14-9b73-4f44-a82a-2182a9ff77bb
type: string
platformBusinessId:
description: Your platform’s unique ID for the business.
example: '12345'
nullable: true
type: string
loanStatus:
$ref: '#/components/schemas/LoanStatus'
servicingData:
$ref: '#/components/schemas/IssuedProduct_servicingData'
createdAt:
description: Creation UTC ISO 8601 timestamp of the prequalification.
example: 2022-06-01 03:57:26.115000+00:00
type: string
updatedAt:
description: Last updated UTC ISO 8601 timestamp of the prequalification.
example: 2022-06-01 03:57:26.115000+00:00
type: string
required:
- businessId
- createdAt
- id
- loanStatus
- offerId
- platformBusinessId
- servicingData
- updatedAt
type: object
TooManyRequestsException:
example:
errorCode: TooManyRequestsException
message: Too Many Requests
timestamp: 2022-06-01 03:57:26.115000+00:00
properties:
errorCode:
description: Safe for programmatic use.
enum:
- TooManyRequestsException
type: string
message:
description: The human readable description of the error.
example: Too Many Requests
type: string
timestamp:
description: When the error occurred - ISO 8601 format.
example: 2022-06-01 03:57:26.115000+00:00
type: string
required:
- errorCode
- message
- timestamp
type: object
LoanStatus:
description: 'The current status of the loan.<table>
<tr>
<td>CURRENT</td>
<td>All scheduled loan payments are up to date</td>
</tr>
<tr>
<td>LATE</td>
<td>One or more scheduled loan payments are past due</td>
</tr>
<tr>
<td>FULLY_PAID</td>
<td>The loan has been fully repaid and closed. Not applicable for AR, AP, or Line of Credit products</td>
</tr>
<tr>
<td>REFINANCED</td>
<td>The loan has been refinanced and replaced by a new loan agreement. Not applicable for AR, AP, or Line of Credit products</td>
</tr>
<tr>
<td>CLOSED</td>
<td>The loan has been closed and is no longer active</td>
</tr>
<tr>
<td>DEFAULTED</td>
<td>The loan has been marked as defaulted due to missed payments</td>
</tr>
</table>'
enum:
- CURRENT
- LATE
- FULLY_PAID
- REFINANCED
- CLOSED
- DEFAULTED
type: string
securitySchemes:
Authorization:
in: header
name: Authorization
type: apiKey