ChargeAfter Links API
The Links API from ChargeAfter — 3 operation(s) for links.
The Links API from ChargeAfter — 3 operation(s) for links.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/chargeafter-links-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: OmniLink Links API
description: Welcome to ChargeAfter API reference! This API is implemented in a RESTful state of mind, it has straight-forward, resource-oriented endpoints, and produces standard HTTP response codes to communicate back the result of operations. To get started please contact ChargeAfter support to get your API keys, and get an access to your testing and live environments.
termsOfService: https://chargeafter.com/privacy-policy
contact:
name: Customer Support
email: support@chargeafter.com
version: 1.11.8-310191-1-12-0+708877d18ffcdbb1c401c591f87af6a07c842632
servers:
- url: https://api-sandbox.ca-dev.co
description: Local Environment
- url: https://api.chargeafter.com
description: Production Environment
security:
- Bearer: []
tags:
- name: Links
paths:
/v2/omni-link/consumer/application:
post:
tags:
- Links
summary: Generate consumer application link
description: This endpoint generates a unique URL for a given consumer context that can be used to launch ChargeAfter's Apply experience.
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.ConsumerApplicationLinkRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.GenerateLinkResponse'
'400':
description: Bad Request:<br/><ul><li><i>10000</i> - Invalid request payload</li><li><i>10001</i> - Field value is required</li><li><i>10002</i> - Field value is invalid</li></ul>
content:
application/json:
schema:
properties:
requestId:
type: string
description: Associated request id
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
description:
type: string
description: Error description
example:
requestId: Unique RequestId
errors:
- code: '10000'
description: Invalid request payload
- code: '10001'
description: Field value is required
- code: '10002'
description: Field value is invalid
'401':
description: Unauthorized
'403':
description: Forbidden:<br/><ul><li><i>10101</i> - The selected option is not enabled</li><li><i>10201</i> - The specified consumer has opted-out</li></ul>
content:
application/json:
schema:
properties:
requestId:
type: string
description: Associated request id
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
description:
type: string
description: Error description
example:
requestId: Unique RequestId
errors:
- code: '10101'
description: The selected option is not enabled
- code: '10201'
description: The specified consumer has opted-out
'422':
description: Input Validation Error
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
message:
type: string
errors:
type: array
items:
properties:
field:
type: string
validationState:
type: string
error:
type: string
example:
RequestId: Unique RequestId
Message: Input Validation Failure
Errors:
- Field: RequestField1
ValidationState: Invalid
Error: RequestField1 should be up to 150 characters, and can contain a-z, A-Z, _ characters.
'500':
description: General Server Error
content:
application/json:
schema:
example:
requestId: Unique RequestId
errors:
- code: '1'
description: Internal unknown error occurred
/v2/omni-link/consumer/checkout:
post:
tags:
- Links
summary: Generate consumer checkout link
description: This endpoint generates a unique URL for a given consumer context that can be used to launch ChargeAfter's Checkout experience.
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.ConsumerCheckoutLinkRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.GenerateLinkResponse'
'400':
description: Bad Request:<br/><ul><li><i>10000</i> - Invalid request payload</li><li><i>10001</i> - Field value is required</li><li><i>10002</i> - Field value is invalid</li></ul>
content:
application/json:
schema:
properties:
requestId:
type: string
description: Associated request id
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
description:
type: string
description: Error description
example:
requestId: Unique RequestId
errors:
- code: '10000'
description: Invalid request payload
- code: '10001'
description: Field value is required
- code: '10002'
description: Field value is invalid
'401':
description: Unauthorized
'403':
description: Forbidden:<br/><ul><li><i>10101</i> - The selected option is not enabled</li><li><i>10201</i> - The specified consumer has opted-out</li></ul>
content:
application/json:
schema:
properties:
requestId:
type: string
description: Associated request id
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
description:
type: string
description: Error description
example:
requestId: Unique RequestId
errors:
- code: '10101'
description: The selected option is not enabled
- code: '10201'
description: The specified consumer has opted-out
'422':
description: Input Validation Error
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
message:
type: string
errors:
type: array
items:
properties:
field:
type: string
validationState:
type: string
error:
type: string
example:
RequestId: Unique RequestId
Message: Input Validation Failure
Errors:
- Field: RequestField1
ValidationState: Invalid
Error: RequestField1 should be up to 150 characters, and can contain a-z, A-Z, _ characters.
'500':
description: General Server Error
content:
application/json:
schema:
example:
requestId: Unique RequestId
errors:
- code: '1'
description: Internal unknown error occurred
/v2/omni-link/consumer/{linkId}:
get:
tags:
- Links
summary: Get link data
description: Enables retrieval of link data for the consumer-associated context.
parameters:
- name: linkId
in: path
required: true
schema:
minLength: 1
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.GetConsumerLinkDataResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
example: Unique RequestId
message:
type: string
example: Message Describing The Error
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: The specified link ID was not found
'422':
description: Input Validation Error
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
message:
type: string
errors:
type: array
items:
properties:
field:
type: string
validationState:
type: string
error:
type: string
example:
RequestId: Unique RequestId
Message: Input Validation Failure
Errors:
- Field: RequestField1
ValidationState: Invalid
Error: RequestField1 should be up to 150 characters, and can contain a-z, A-Z, _ characters.
'500':
description: General Server Error
content:
application/json:
schema:
example:
requestId: Unique RequestId
errors:
- code: '1'
description: Internal unknown error occurred
components:
schemas:
ChargeAfter.OmniLink.WebApi.Contracts.LinkDataApplicationDetails:
required:
- channel
type: object
properties:
tags:
type:
- object
- 'null'
additionalProperties:
type: string
description: Application associated custom identifiers
currency:
type:
- string
- 'null'
description: Application currency (ISO 4217)
creditTiers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.CreditTier'
description: Credit tiers
correlationId:
type:
- string
- 'null'
description: Correlation ID
channel:
minLength: 1
type: string
description: 'Application channel. <br />
Possible values:<br />
- `E_COMMERCE` <br />
- `IN_STORE` <br />
- `IN_HOME` <br />
- `CALL_CENTER` <br />'
language:
type:
- string
- 'null'
description: 'Application language. <br />
Possible values:<br />
- `en` <br />
- `fr` <br />'
additionalProperties: false
description: Application details associated with specific link data application
ChargeAfter.OmniLink.WebApi.Contracts.Consumer:
type: object
properties:
merchantConsumerId:
type:
- string
- 'null'
description: Merchant consumer ID
firstName:
type:
- string
- 'null'
description: 'Consumer first name <br />
Should be specified if `Email` or `Sms` is selected as the `deliveryMethod`'
lastName:
type:
- string
- 'null'
description: 'Consumer last name <br />
Should be specified if `Email` or `Sms` is selected as the `deliveryMethod`'
email:
type:
- string
- 'null'
description: 'Consumer email <br />
Should be specified if `Email` is the selected `deliveryMethod`'
mobilePhoneNumber:
type:
- string
- 'null'
description: 'Consumer mobile phone number <br />
Should be specified if `Sms` is the selected `deliveryMethod`'
billingAddress:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.Address'
description: Consumer billing address
shippingAddress:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.Address'
description: Consumer shipping address
additionalProperties: false
description: Applicant details
ChargeAfter.OmniLink.WebApi.Contracts.Warranty:
required:
- name
- sku
type: object
properties:
name:
minLength: 1
type: string
description: Warranty name / description
sku:
minLength: 1
type: string
description: Warranty SKU
price:
minimum: 0
type: number
description: Warranty price
format: double
additionalProperties: false
description: Cart item warranty details
ChargeAfter.OmniLink.WebApi.Contracts.ConsumerApplicationLinkRequest:
required:
- applicationDetails
type: object
properties:
applicationDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.ApplyOrCheckoutApplicationDetails'
description: Application details
consumer:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.Consumer'
description: Consumer details
merchantDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.Api.Common.Contracts.MerchantDetails'
description: Merchant details
linkOptions:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.Api.Common.Contracts.LinkOptions'
description: Link options
additionalProperties: false
ChargeAfter.OmniLink.WebApi.Contracts.Address:
required:
- city
- line1
- state
- zipCode
type: object
properties:
state:
minLength: 1
type: string
description: Address state (ISO 3166-2:US codes)
city:
minLength: 1
type: string
description: Address city
line1:
minLength: 1
type: string
description: Address line 1
line2:
type: string
description: Address line 2
zipCode:
minLength: 1
type: string
description: Address zip code
additionalProperties: false
description: Address information
ChargeAfter.OmniLink.WebApi.Contracts.CreditTier:
enum:
- Prime
- NearPrime
- SubPrime
type: string
description: Credit tier<p>Description:</p><ul><li><i>Prime</i> - Prime credit tier</li><li><i>NearPrime</i> - Near-prime credit tier</li><li><i>SubPrime</i> - Sub-prime credit tier</li></ul>
ChargeAfter.OmniLink.WebApi.Contracts.ConsumerCheckoutLinkRequest:
required:
- applicationDetails
- cart
type: object
properties:
cart:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.Cart'
description: Checkout cart
checkoutOptions:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.CheckoutOptions'
description: Checkout options
applicationDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.ApplyOrCheckoutApplicationDetails'
description: Application details
consumer:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.Consumer'
description: Consumer details
merchantDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.Api.Common.Contracts.MerchantDetails'
description: Merchant details
linkOptions:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.Api.Common.Contracts.LinkOptions'
description: Link options
additionalProperties: false
ChargeAfter.OmniLink.Api.Common.Contracts.DeliveryMethod:
enum:
- None
- Email
- Sms
type: string
description: The delivery method by which the link will be sent<p>Description:</p><ul><li><i>None</i> - No delivery method is specified, the link will not be sent</li><li><i>Email</i> - Email</li><li><i>Sms</i> - SMS message</li></ul>
ChargeAfter.OmniLink.WebApi.Contracts.LinkStatus:
enum:
- New
- Accessed
- Expired
type: string
description: Describes the status of a given link<p>Description:</p><ul><li><i>New</i> - A new link not yet accessed by the consumer</li><li><i>Accessed</i> - The consumer has accessed the link</li><li><i>Expired</i> - The link has expired</li></ul>
ChargeAfter.OmniLink.WebApi.Contracts.ApplicationStatus:
enum:
- Started
- Prequalified
- PendingConsumer
- PendingLender
- Approved
- Confirmed
- Completed
- Declined
- Cancelled
- Failed
type: string
description: <p>Description:</p><ul><li><i>Started</i> - Application process started</li><li><i>Prequalified</i> - The consumer application was pre-approved by at least one lender</li><li><i>PendingConsumer</i> - Application process is pending a consumer action</li><li><i>PendingLender</i> - Application process is pending a lender review</li><li><i>Approved</i> - The consumer application was approved by at least one lender</li><li><i>Confirmed</i> - The consumer has confirmed the application</li><li><i>Completed</i> - Application process completed</li><li><i>Declined</i> - Application declined</li><li><i>Cancelled</i> - Application process was cancelled by the consumer</li><li><i>Failed</i> - Application process failed</li></ul>
ChargeAfter.OmniLink.WebApi.Contracts.GenerateLinkResponse:
type: object
properties:
url:
type:
- string
- 'null'
description: Application link URL
qrCode:
type:
- string
- 'null'
description: Application link QR Code in base64 format
linkId:
type: string
description: Application link ID
additionalProperties: false
description: Generate link response
ChargeAfter.OmniLink.WebApi.Contracts.AccountStatus:
enum:
- Prequalified
- PendingConsumer
- PendingLender
- Cancelled
- Declined
- Approved
type: string
description: The account (or lender application) status<p>Description:</p><ul><li><i>Prequalified</i> - The lender application is prequalified (pre-approved)</li><li><i>PendingConsumer</i> - The lender application is pending a consumer action</li><li><i>PendingLender</i> - The lender application is under the lender review</li><li><i>Cancelled</i> - The lender application was cancelled</li><li><i>Declined</i> - The lender application was declined</li><li><i>Approved</i> - The lender application was approved</li></ul>
ChargeAfter.OmniLink.WebApi.Contracts.Cart:
required:
- items
- totalAmount
type: object
properties:
items:
minItems: 1
type: array
items:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.CartItem'
description: Cart items (must include at least one item)
totalAmount:
type: number
description: Cart total amount
format: double
exclusiveMinimum: 0
totalTaxAmount:
minimum: 0
type:
- number
- 'null'
description: Cart total tax amount
format: double
shippingAmount:
minimum: 0
type:
- number
- 'null'
description: Cart shipping amount
format: double
merchantOrderId:
maxLength: 100
type:
- string
- 'null'
description: Merchant Order ID
discounts:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.Discount'
description: Discounts
additionalProperties: false
description: Cart details
ChargeAfter.OmniLink.WebApi.Contracts.CreditInfo:
type: object
properties:
availableAmount:
type: number
description: Available amount (Obsolete - Replaced with Amount)
format: double
deprecated: true
amount:
type: number
description: Associated amount
format: double
additionalProperties: false
description: Credit information
ChargeAfter.OmniLink.WebApi.Contracts.Account:
required:
- creditInfo
- lenderId
- lenderName
type: object
properties:
accountStatus:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.AccountStatus'
description: The account (lender application) status
accountToken:
type:
- string
- 'null'
description: Account token
lenderId:
minLength: 1
type: string
description: Lender ID
lenderName:
minLength: 1
type: string
description: 'Lender name
<br><b>Disclaimer:</b> Because this value may change, customers should not bind to this parameter.
Instead, bind to the lenderId and set the lenderName in your system.
'
creditInfo:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.CreditInfo'
description: Credit information
additionalProperties: false
description: Account information
ChargeAfter.OmniLink.WebApi.Contracts.GetConsumerLinkDataResponse:
type: object
properties:
createdAt:
type: string
description: Timestamp of when the link was created (UTC)
format: date-time
updatedAt:
type: string
description: Timestamp of when the link was last updated (UTC)
format: date-time
linkType:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.Entities.LinkType'
description: Link type
linkStatus:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.LinkStatus'
description: Link status
applicationDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.LinkDataApplicationDetails'
description: Application details
merchantDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.Api.Common.Contracts.MerchantDetails'
description: Merchant details
applications:
type: array
items:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.LinkApplication'
description: Link associated applications
additionalProperties: false
description: Consumer link data
ChargeAfter.OmniLink.WebApi.Contracts.Discount:
required:
- amount
- name
type: object
properties:
name:
minLength: 1
type: string
description: Discount name / description
amount:
type: number
description: Discount amount
format: double
exclusiveMinimum: 0
additionalProperties: false
ChargeAfter.OmniLink.WebApi.Contracts.CartItem:
required:
- name
- price
- quantity
- sku
type: object
properties:
name:
minLength: 1
type: string
description: Cart item name
sku:
minLength: 1
type: string
description: Cart item SKU
leasable:
type:
- boolean
- 'null'
description: Indication whether the item can be leased or not
price:
minimum: 0
type: number
description: Cart item price
format: double
quantity:
type: integer
description: Cart item quantity
format: int32
exclusiveMinimum: 0
productCategory:
type:
- string
- 'null'
description: Cart item product category
warranty:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.Warranty'
description: Cart item warranty
additionalProperties: false
description: Cart item details
ChargeAfter.OmniLink.Api.Common.Contracts.LinkFormat:
enum:
- Url
- QrCode
- UrlAndQrCode
type: string
description: Specifies how the link will be formatted<p>Description:</p><ul><li><i>Url</i> - URL</li><li><i>QrCode</i> - QR code</li><li><i>UrlAndQrCode</i> - URL and QR code</li></ul>
ChargeAfter.OmniLink.WebApi.Contracts.LinkApplication:
type: object
properties:
createdAt:
type: string
description: Application creation timestamp (UTC)
format: date-time
updatedAt:
type: string
description: Application last updated timestamp (UTC)
format: date-time
applicationId:
type: string
description: Application ID
applicationStatus:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.ApplicationStatus'
description: Application status
consumerId:
type:
- string
- 'null'
description: ChargeAfter consumer ID
accounts:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.Account'
description: Application associated accounts
checkoutDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.LinkApplicationCheckoutData'
description: Associated checkout data
additionalProperties: false
description: Link associated consumer application details
ChargeAfter.OmniLink.Api.Common.Contracts.LinkOptions:
type: object
properties:
linkFormat:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.Api.Common.Contracts.LinkFormat'
description: Specifies how the link will be formatted
deliveryMethod:
allOf:
- $ref: '#/components/schemas/ChargeAfter.OmniLink.Api.Common.Contracts.DeliveryMethod'
description: 'The selected delivery method by which the link will be sent <br />
If `Email` was selected, the consumer `email` should be specified. <br />
If `Sms` was selected, the consumer `mobilePhoneNumber` should be specified.'
onSuccessRedirectUrl:
type:
- string
- 'null'
description: A URL to which the client should be redirected when the application completes successfully
onFailureRedirectUrl:
type:
- string
- 'null'
description: A URL to which the client should be redirected when the application completes unsuccessfully
additionalProperties: false
description: Application options
ChargeAfter.Libraries.Entities.LinkType:
enum:
- ConsumerApplication
- ConsumerCheckout
- ConsumerResume
- ConsumerModifyLoan
- ConsumerAdditionalAction
- ConsumerLookup
- MerchantApplication
type: string
ChargeAfter.OmniLink.WebApi.Contracts.LinkApplicationCheckoutData:
type: object
properties:
lenderId:
type: string
description: Associated lender ID
lenderName:
type: string
description: 'Associated lender name
<br><b>Disclaimer:</b> Because this value may change, customers should not bind to this parameter.
Instead, bind to the lenderId and set the lenderName in your system.
'
confirmationToken:
type: string
description: Checkout confirmation token
additionalProperties: false
description: Consumer checkout data associated with specific link application
ChargeAfter.OmniLink.WebApi.Contracts.ApplyOrCheckoutApplicationDetails:
required:
- channel
type: object
properties:
tags:
type:
- object
- 'null'
additionalProperties:
type: string
description: Application associated custom identifiers
requestedLoanAmount:
type:
- number
- 'null'
description: Requested loan amount
format: double
currency:
type:
- string
- 'null'
description: Application currency (ISO 4217)
creditTiers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.OmniLink.WebApi.Contracts.CreditTier'
description: 'Credit tiers. <br />
Allowed values:<br />
- `Prime` <br />
- `NearPrime` <br />
- `SubPrime` <br />'
correlationId:
type:
- string
- 'null'
description: Correlation ID
channel:
minLength: 1
type: string
description: 'Application channel. <br />
Possible values:<br />
- `E_COMMERCE` <br />
- `IN_STORE` <br />
- `IN_HOME` <br />
- `CALL_CENTER` <br />'
language:
type:
- string
- 'null'
description: 'Application language. <br />
Possible values:<br />
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chargeafter/refs/heads/main/openapi/chargeafter-links-api-openapi.yml