Ascend InstallmentPlans API
A payment plan broken down over a seriies of regular installments
A payment plan broken down over a seriies of regular installments
openapi: 3.0.1
info:
title: Ascend API V1 Accounts InstallmentPlans API
version: v1
description: 'Ascend REST API for insurance financial operations: billing & invoicing, premium financing, payments, installment plans, insureds, programs, loans, payouts, and refunds.'
servers:
- url: https://sandbox.api.useascend.com
description: Test server
- url: https://api.useascend.com
description: Production server
tags:
- name: InstallmentPlans
description: A payment plan broken down over a seriies of regular installments
paths:
/v1/installment_plans:
post:
summary: Create installment plan
tags:
- InstallmentPlans
security:
- bearer_auth: []
parameters: []
responses:
'201':
description: created
content:
application/json:
schema:
$ref: '#/components/schemas/InstallmentPlan'
'400':
description: Bad request
'422':
description: Unprocessable entity
requestBody:
content:
application/json:
schema:
type: object
description: An installment plan for a series of payments
properties:
account_manager_id:
type: string
format: uuid
description: Id of the account manager belonging to your organization who will receive email communications for the installment plan
secondary_account_manager_id:
type: string
format: uuid
description: Id of the secondary account manager belonging to your organization who will receive the same email communications for the installment plan as the account manager
attachments:
type: array
nullable: true
items:
type: object
properties:
id:
type: string
format: uuid
description: The unique identifier of the attachment.
required:
- id
billing_type:
type: string
enum:
- agency_bill
- direct_bill
description: (MGA only) The type of billing used for this one time payment. If not specified, defaults to the billing type on the organization account.
installments:
type: array
description: An array of installments
items:
type: object
properties:
amount_cents:
type: integer
description: Total amount to be paid for the installment
due_date:
type: string
format: date
description: 'Due date of the installment. Format: YYYY-MM-DD'
payables:
type: array
description: Payables paid to your organization
items:
type: object
properties:
amount_cents:
type: integer
description: Amount to be paid
account_type:
type: string
enum:
- trust_account
- commission_account
description: The type of the bank account that will receive funds
remittance_memo:
type: string
description: Remittance memo such as the policy number to identify the payable
maxLength: 50
required:
- amount_cents
- account_type
- remittance_memo
company_payables:
type: array
description: Payables paid to the issuing or billing company
items:
type: object
properties:
amount_cents:
type: integer
description: Amount to be paid
identifier:
type: string
description: Identifier of the issuing or billing company
remittance_memo:
type: string
description: Remittance memo such as the policy number to identify the payable
maxLength: 50
required:
- amount_cents
- identifier
- remittance_memo
organization_account_payables:
type: array
description: Payables to partner agencies
items:
type: object
properties:
amount_cents:
type: integer
description: Amount to be paid
organization_account_id:
type: string
description: Organization account id for the partner agency
remittance_memo:
type: string
description: Remittance memo such as the policy number to identify the payable
maxLength: 50
required:
- amount_cents
- organization_account_id
- remittance_memo
required:
- amount_cents
- due_date
minItems: 2
insured_id:
type: string
format: uuid
description: Id of the insured responsible for installment payments
memo:
type: string
description: Short description for the installment plan
maxLength: 50
metadata:
type: object
description: Metadata to be associated with the installment plan. Keys cannot be longer than 40 characters, cannot contain [] or {}, and the entire metadata object must be less than 5kB.
nullable: true
organization_account:
type: object
description: (MGA only) The billing account associated to the one time payment. This can represent either the wholesaler or the retail agency.
nullable: true
properties:
id:
type: string
format: uuid
description: The unique identifier of the billing account associated to the one time payment.
users:
type: array
description: An array of user ids belonging to the billing account who should receive communications for the installment plan.
items:
type: string
format: uuid
required:
- insured_id
- account_manager_id
- memo
- installments
/v1/installment_plans/{id}:
parameters:
- name: id
in: path
description: The id of the installment plan
required: true
schema:
type: string
delete:
summary: Archive Installment Plan
tags:
- InstallmentPlans
operationId: archiveInstallmentPlan
security:
- bearer_auth: []
description: Archives a unpurchased installment plan. This will void all installments.
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'204':
description: Installment Plan Archived
'422':
description: unprocessable entity
content:
application/json:
schema:
$ref: '#/components/schemas/InstallmentPlan'
get:
summary: Get installment plan
tags:
- InstallmentPlans
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/InstallmentPlan'
patch:
summary: Update Installment Plan
tags:
- InstallmentPlans
operationId: updateInstallmentPlan
security:
- bearer_auth: []
parameters: []
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/InstallmentPlan'
requestBody:
content:
application/json:
schema:
properties:
account_manager_id:
type: string
format: uuid
description: Id of the account manager who will receive the email communications for the installment plan
metadata:
type: object
description: Metadata to be associated with the installment plan. Keys cannot be longer than 40 characters, cannot contain [] or {}, and the entire metadata object must be less than 5kB.
nullable: true
secondary_account_manager_id:
type: string
format: uuid
description: Id of the secondary account manager who will receive the same email communications for the installment plan as the account manager
organization_account:
type: object
description: (MGA only) The billing account associated to the installment plan. This can represent either the wholesaler or the retail agency.
properties:
users:
type: array
description: An array of user ids belonging to the billing account who should receive communications for the installment plan.
items:
type: string
format: uuid
type: object
/v1/installment_plans/{id}/cancel:
parameters:
- name: id
in: path
description: The id of the installment plan
required: true
schema:
type: string
post:
summary: Cancel Installment Plan
tags:
- InstallmentPlans
operationId: cancelInstallmentPlan
security:
- bearer_auth: []
description: Cancels a purchased installment plan. This will void any unpaid installments, but existing payments will not be reversed.
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/InstallmentPlan'
'422':
description: unprocessable entity
content:
application/json:
schema:
$ref: '#/components/schemas/InstallmentPlan'
/v1/installment_plans/{id}/send:
parameters:
- name: id
in: path
description: The id of the installment plan
required: true
schema:
type: string
post:
summary: Notify User
tags:
- InstallmentPlans
operationId: sendInstallmentPlanReminder
security:
- bearer_auth: []
responses:
'200':
description: successful
components:
schemas:
User:
type: object
properties:
id:
type: string
format: uuid
description: The unique identifier for the user
email:
type: string
format: email
description: The email for the user
first_name:
type: string
description: First name of the user.
last_name:
type: string
description: Last name of the user.
phone:
type: string
nullable: true
description: 'Phone number. Formatted: 5555555555'
required:
- email
- phone
InstallmentPlan:
type: object
description: An installment plan for a series of payments
properties:
id:
type: string
format: uuid
description: Id of the installment plan
account_manager:
$ref: '#/components/schemas/User'
secondary_account_manager:
$ref: '#/components/schemas/User'
nullable: true
autopay_enabled:
type: boolean
description: Whether autopay is enabled for the installment plan.
readOnly: true
billing_type:
type: string
enum:
- agency_bill
- direct_bill
description: (MGA only) The type of billing used for this one time payment.
documents:
type: array
nullable: true
description: A collection of documents associated with the installment plan.
items:
type: object
properties:
title:
type: string
description: The display name of the static asset.
nullable: true
url:
type: string
description: The url to access the static asset.
installments:
type: array
description: ''
items:
type: object
description: ''
properties:
id:
type: string
format: uuid
description: Id of the installment
status:
type: string
enum:
- awaiting_payment
- processing_payment
- paid
- overdue
- void
description: Status of the installment
due_date:
type: string
format: date
description: 'Due date of the installment. Format: YYYY-MM-DD'
payables:
type: array
description: Payables paid to your organization
items:
type: object
properties:
amount_cents:
type: integer
description: Amount to be paid
account_type:
type: string
enum:
- trust_account
- commission_account
description: The type of the bank account that will receive funds
remittance_memo:
type: string
description: Remittance memo such as the policy number to identify the payable
maxLength: 50
company_payables:
type: array
description: Payables paid to the issuing or billing company
items:
type: object
properties:
amount_cents:
type: integer
description: Amount to be paid
identifier:
type: string
description: Identifier of the issuing or billing company
remittance_memo:
type: string
description: Remittance memo such as the policy number to identify the payable
maxLength: 50
organization_account_payables:
type: array
description: Payables to partner agencies
items:
type: object
properties:
amount_cents:
type: integer
description: Amount to be paid
organization_account_id:
type: string
description: Organization account id for the partner agency
remittance_memo:
type: string
description: Remittance memo such as the policy number to identify the payable
maxLength: 50
insured_id:
type: string
format: uuid
description: Id of the insured responsible for installment payments
memo:
type: string
description: Short description for the installment plan
maxLength: 50
metadata:
type: object
description: Metadata associated with the installment plan.
nullable: true
organization_account_id:
type: string
format: uuid
description: (MGA only) The unique identifier of the organization account associated with this one time payment.
nullable: true
securitySchemes:
bearer_auth:
type: http
scheme: bearer