Ascend OneTimePayments API
Represents records of a transaction between an insured and an agency or MGA.
Represents records of a transaction between an insured and an agency or MGA.
openapi: 3.0.1
info:
title: Ascend API V1 Accounts OneTimePayments 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: OneTimePayments
description: Represents records of a transaction between an insured and an agency or MGA.
paths:
/v1/one_time_payments:
post:
summary: Create One Time Payment
tags:
- OneTimePayments
operationId: createOneTimePayment
security:
- bearer_auth: []
parameters: []
responses:
'201':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/OneTimePayment'
'400':
description: Bad Request
'422':
description: Unprocessable entity
requestBody:
content:
application/json:
schema:
type: object
description: A document representing a transaction between an insured and an agency or MGA.
properties:
account_manager_id:
description: The unique identifier of the user belonging to your organization that will be associated as the account manager for the one time payment. This user is listed as the agent on checkout and receives any invoice communications
format: uuid
type: string
secondary_account_manager_id:
description: The unique identifier of the user belonging to your organization that will be associated as the secondary account manager for the one time payment. This user receives any invoice communications that the account manager also receives
format: uuid
type: string
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.
due_date:
type: string
format: date
nullable: true
description: The date by which the one time payment should be paid.
funds_distribution:
type: object
description: Dictates where funds will be routed upon receiving payment for this one time payment. Defaults to full allocation to the issuer's configured bank account.
properties:
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
payables:
type: array
description: Payables paid to your organization
items:
type: object
properties:
account_type:
type: string
enum:
- trust_account
- commission_account
description: The type of the bank account that will receive funds
amount_cents:
type: integer
description: Amount to be paid
remittance_memo:
type: string
description: Remittance memo such as the policy number to identify the payable
maxLength: 50
required:
- account_type
- amount_cents
- remittance_memo
insured_id:
type: string
format: uuid
description: The unique identifier of the insured for this one time payment. By default, the one time payment will be issued to the insured.
invoice_items:
type: array
description: A breakdown of items being charged for.
items:
$ref: '#/components/schemas/InvoiceItem'
memo:
type: string
description: Information about the one time payment shown to the payer.
default: Invoice for {payer_name}
nullable: true
example: Additional premium for auto policy
metadata:
type: object
description: Metadata to be associated with the one time payment. 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 one time payment.
items:
type: string
format: uuid
required:
- account_manager_id
- due_date
- funds_distribution
- insured_id
- invoice_items
get:
summary: List One Time Payments
tags:
- OneTimePayments
operationId: listOneTimePayments
security:
- bearer_auth: []
parameters:
- name: insured_id
in: query
schema:
type: string
format: uuid
description: Filter by one time payments related to this insured
required: false
- name: organization_account_id
in: query
schema:
type: string
format: uuid
description: Filter by one time payments related to this organization account
required: false
- name: due_date_start
in: query
schema:
type: string
format: date
description: Filter by one time payments due on or after this date
required: false
- name: due_date_end
in: query
schema:
type: string
format: date
description: Filter by one time payments due on or before this date
required: false
- name: paid_at
in: query
style: deepObject
explode: true
description: Only return one time payments paid during the given date interval. The date should be defined as an ISO-8601 datetime.
required: false
schema:
type: object
properties:
lt:
type: string
format: date-time
description: Maximum value to filter by (exclusive).
gte:
type: string
format: date-time
description: Minimum value to filter by (inclusive).
- name: page
in: query
required: false
schema:
type: integer
description: Page number for paginating results. Default is 1.
- name: updated_at
in: query
style: deepObject
explode: true
description: Only return one time payments that were updated during the given date interval. The date should be defined as an ISO-8601 datetime.
required: false
schema:
type: object
properties:
lt:
type: string
format: date-time
description: Maximum value to filter by (exclusive).
gte:
type: string
format: date-time
description: Minimum value to filter by (inclusive).
- name: created_at
in: query
style: deepObject
explode: true
description: Only return one time payments that were created during the given date interval. The date should be defined as an ISO-8601 datetime.
required: false
schema:
type: object
properties:
lt:
type: string
format: date-time
description: Maximum value to filter by (exclusive).
gte:
type: string
format: date-time
description: Minimum value to filter by (inclusive).
responses:
'200':
description: successful
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/OneTimePayment'
meta:
type: object
properties:
count:
type: integer
next:
type: string
nullable: true
prev:
type: string
nullable: true
/v1/one_time_payments/{id}:
parameters:
- name: id
in: path
description: The one time payment identifier
required: true
schema:
type: string
get:
summary: Get One Time Payment
tags:
- OneTimePayments
operationId: getOneTimePayment
security:
- bearer_auth: []
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/OneTimePayment'
'404':
description: not found
patch:
summary: Update One Time Payment
tags:
- OneTimePayments
operationId: updateOneTimePayment
security:
- bearer_auth: []
parameters: []
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/OneTimePayment'
'400':
description: Bad Request
'422':
description: Unprocessable Entity
requestBody:
content:
application/json:
schema:
type: object
description: A document representing a transaction between an insured and an agency or MGA.
properties:
account_manager_id:
description: The unique identifier of the user belonging to your organization that will be associated as the account manager for the one time payment. This user is listed as the agent on checkout and receives any invoice communications
format: uuid
type: string
secondary_account_manager_id:
description: The unique identifier of the user belonging to your organization that will be associated as the secondary account manager for the one time payment. This user receives any invoice communications that the account manager also receives
format: uuid
type: string
due_date:
type: string
format: date
nullable: true
description: The date by which the one time payment should be paid.
funds_distribution:
type: object
description: Dictates where funds will be routed upon receiving payment for this invoice. Defaults to full allocation to the issuer's configured bank account.
properties:
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
payables:
type: array
description: Payables paid to your organization
items:
type: object
properties:
account_type:
type: string
enum:
- trust_account
- commission_account
description: The type of the bank account that will receive funds
amount_cents:
type: integer
description: Amount to be paid
remittance_memo:
type: string
description: Remittance memo such as the policy number to identify the payable
maxLength: 50
required:
- account_type
- amount_cents
- remittance_memo
invoice_items:
type: array
description: A breakdown of items the insured is being charged for
items:
$ref: '#/components/schemas/InvoiceItem'
memo:
type: string
description: Information about the one time payment shown to the insured.
nullable: true
example: Additional premium for auto policy
metadata:
type: object
description: Metadata to be associated with the one time payment. 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.
properties:
users:
type: array
description: An array of user ids belonging to the billing account who should receive communications for the one time payment.
items:
type: string
format: uuid
required:
- funds_distribution
- invoice_items
delete:
summary: Void One Time Payment
tags:
- OneTimePayments
operationId: voidOneTimePayment
security:
- bearer_auth: []
responses:
'204':
description: One Time Payment Voided
/v1/one_time_payments/{id}/send:
parameters:
- name: id
in: path
description: The id of the one_time_payment
required: true
schema:
type: string
post:
summary: Notify User
tags:
- OneTimePayments
operationId: sendOneTimePaymentReminder
security:
- bearer_auth: []
responses:
'200':
description: successful
components:
schemas:
OneTimePayment:
type: object
description: A document representing a transaction between an insured and an agency or MGA.
properties:
id:
type: string
format: uuid
description: The one time payment unique identifier.
readOnly: true
account_manager:
$ref: '#/components/schemas/User'
secondary_account_manager:
$ref: '#/components/schemas/User'
nullable: true
billing_type:
type: string
enum:
- agency_bill
- direct_bill
description: (MGA only) The type of billing used for this one time payment.
checkout_url:
type: string
nullable: true
readOnly: true
description: The checkout url of the one time payment.
due_date:
type: string
format: date
nullable: true
description: The date by which the one time payment should be paid.
funds_distribution:
type: object
nullable: true
description: Dictates where funds will be routed upon receiving payment for this one time payment. Defaults to full allocation to the issuer's configured bank account.
properties:
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
payables:
type: array
description: Payables paid to your organization
items:
type: object
properties:
account_type:
type: string
enum:
- trust_account
- commission_account
description: The type of the bank account that will receive funds
amount_cents:
type: integer
description: Amount to be paid
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: The unique identifier of the insured for this one time payment.
invoice_documents:
type: array
nullable: true
description: A collection of documents associated with the one time payment.
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.
invoice_items:
type: array
items:
$ref: '#/components/schemas/InvoiceItem'
invoice_number:
type: string
description: A number assigned to uniquely identify the invoice.
example: I909821
readOnly: true
memo:
type: string
description: Information about the one time payment shown to the payer.
nullable: true
example: Additional premium for auto policy
metadata:
type: object
description: Metadata associated with the one time payment.
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
paid_at:
type: string
format: date-time
nullable: true
description: The date when the one time payment was paid by the payer.
readOnly: true
payer:
type: object
description: The payer of the one time payment.
properties:
id:
type: string
format: uuid
description: The unique identifier of the payer of the one time payment.
type:
type: string
enum:
- Insured
- OrganizationAccount
description: The type of payer.
status:
type: string
description: The current state of the one time payment.
example: awaiting_payment
readOnly: true
enum:
- draft
- awaiting_payment
- overdue
- processing_payment
- paid
- void
total_amount_cents:
type: integer
description: The total amount charged.
minimum: 0
example: 10000
readOnly: true
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
InvoiceItem:
type: object
description: Representation of a line item on the invoice.
properties:
amount_cents:
type: integer
description: The total amount charged.
minimum: 0
example: 10000
title:
type: string
description: Information about the invoice item.
example: Policy Tax
required:
- amount_cents
- title
securitySchemes:
bearer_auth:
type: http
scheme: bearer