Sezzle Customer API
The Customer API from Sezzle — 4 operation(s) for customer.
The Customer API from Sezzle — 4 operation(s) for customer.
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/sezzle-customer-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Sezzle API v2 Bearer Authentication Customer API
description: This Sezzle API is for merchants who want to accept Sezzle as a payment option
termsOfService: https://legal.sezzle.com
version: 2.0.0
x-logo:
url: https://media.sezzle.com/branding/2.0/png/Logo_WhiteWordmark_500x126.png
backgroundColor: '#392558'
servers:
- url: https://sandbox.gateway.sezzle.com/v2
description: development server, usa, ca
- url: https://gateway.sezzle.com/v2
description: production server, usa, ca
security:
- Bearer: []
tags:
- name: Customer
paths:
/customer:
get:
tags:
- Customer
summary: Get list of customers
operationId: getV2CustomerList
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
uuid:
type: string
expiration:
type: string
format: date-time
links:
type: array
items:
$ref: '#/components/schemas/Link'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/customer/{customer_uuid}:
get:
tags:
- Customer
summary: Get customer
operationId: getV2Customer
parameters:
- name: customer_uuid
in: path
description: Customer UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SessionStatus'
- $ref: '#/components/schemas/Customer'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- Customer
summary: Delete customer
operationId: deleteV2Token
parameters:
- name: customer_uuid
in: path
description: Customer UUID
required: true
schema:
type: string
responses:
'204':
description: Deleted
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/customer/{customer_uuid}/preapprove:
post:
tags:
- Customer
summary: Preapprove amount by customer
operationId: preapproveV2Token
parameters:
- name: customer_uuid
in: path
description: Customer UUID
required: true
schema:
type: string
requestBody:
description: Preapproval request
content:
application/json:
schema:
$ref: '#/components/schemas/Price'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
uuid:
type: string
approved:
type: boolean
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/Unprocessable'
/customer/{customer_uuid}/order:
post:
tags:
- Customer
summary: Create order by customer
operationId: postV2CustomerOrder
parameters:
- name: customer_uuid
in: path
description: Customer UUID
required: true
schema:
type: string
- name: Sezzle-Request-Id
in: header
description: Unique client-generated ID to enforce idempotency
required: false
schema:
type: string
requestBody:
description: Order request
content:
application/json:
schema:
allOf:
- type: object
properties:
intent:
$ref: '#/components/schemas/Intent'
reference_id:
type: string
order_amount:
$ref: '#/components/schemas/Price'
financing_options:
description: '*The financing options of the order. Only one option can be included.*
'
type: array
items:
$ref: '#/components/schemas/InstallmentPlan'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SessionStatus'
- type: object
properties:
intent:
type: string
reference_id:
type: string
order_amount:
$ref: '#/components/schemas/Price'
authorization:
$ref: '#/components/schemas/OrderAuthorization'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/Unprocessable'
components:
schemas:
OrderAuthorization:
type: object
properties:
authorization_amount:
$ref: '#/components/schemas/Price'
authorization_amount_in_user_currency:
$ref: '#/components/schemas/Price'
description: 'Authorization amount denominated in the shopper''s currency. Sezzle always settles in the shopper''s local currency, so this is the amount actually authorized against the shopper''s account. Only populated after the shopper has completed checkout and the order has been created; the field is omitted on pre-order calls and on the rare upstream regression.
'
approved:
type: boolean
expiration:
type: string
format: date-time
financing_option:
type: string
sezzle_order_id:
type: string
description: Internal Sezzle Order ID (in Merchant Dashboard)
releases:
type: array
items:
$ref: '#/components/schemas/Capture'
captures:
type: array
items:
$ref: '#/components/schemas/Capture'
refunds:
type: array
items:
$ref: '#/components/schemas/Refund'
SessionStatus:
type: object
properties:
uuid:
type: string
links:
type: array
items:
$ref: '#/components/schemas/Link'
Refund:
type: object
properties:
uuid:
type: string
amount:
$ref: '#/components/schemas/Price'
Customer:
type: object
properties:
email:
type: string
first_name:
type: string
last_name:
type: string
phone:
type: string
dob:
type: string
token_expiration:
type: string
format: date-time
billing_address:
$ref: '#/components/schemas/Address'
shipping_address:
$ref: '#/components/schemas/Address'
InstallmentPlan:
type: string
enum:
- 4-pay-biweekly
- 4-pay-monthly
- 6-pay-monthly
Intent:
type: string
enum:
- AUTH
- CAPTURE
Capture:
type: object
properties:
uuid:
type: string
amount:
$ref: '#/components/schemas/Price'
Link:
type: object
properties:
href:
type: string
method:
type: string
rel:
type: string
Price:
required:
- amount_in_cents
- currency
type: object
properties:
amount_in_cents:
type: integer
format: int32
currency:
type: string
Address:
required:
- city
- country_code
- postal_code
- state
- street
type: object
properties:
city:
type: string
country_code:
type: string
name:
type:
- string
- 'null'
phone:
type:
- string
- 'null'
postal_code:
type: string
state:
type: string
street:
type: string
street2:
type:
- string
- 'null'
Error:
type: array
items:
type: object
properties:
code:
type: string
location:
type: string
message:
type: string
debug_uuid:
type: string
responses:
BadRequest:
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unprocessable:
description: Unable to process the request entity
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
Bearer:
type: apiKey
name: Authorization
in: header
externalDocs:
description: Sezzle API guides and tutorials
url: https://docs.sezzle.com/sezzle-integration