OpenAPI Specification
openapi: 3.0.3
info:
title: Flex Pay API (Upgrade) Marketing Offers API
description: Flex Pay (by Upgrade, formerly Uplift) lets travel and retail merchants offer Buy Now, Pay Later payment plans. The REST surface covers the Marketing Offers API (monthly-payment pricing offers early in the shopping flow), the Checkout Orders API (create, read, and confirm orders and retrieve the virtual-card payout resource), and the Transactions API (authorize, capture, void, refund — the Direct Settle disbursement model). All requests require an OAuth 2.0 access token obtained with the client-credentials grant and sent as a Bearer token.
version: v1
contact:
name: Flex Pay Integration Support
url: https://www.uplift.com/partners/
servers:
- url: https://partner.upgrade.com/api/checkout
description: Production (checkout + transactions)
- url: https://partner.credify.tech/api/checkout
description: Pre-production (checkout + transactions)
security:
- flexPayOAuth: []
tags:
- name: Marketing Offers
description: Marketing Offers API
paths:
/v1/marketing/offers:
servers:
- url: https://partner.upgrade.com/api/flexpay
description: Production (marketing)
- url: https://partner.credify.tech/api/flexpay
description: Pre-production (marketing)
post:
operationId: getOffers
tags:
- Marketing Offers
summary: Get offers
description: Generates marketing offers (monthly-payment pricing and availability) for a list of orders, for display early in the shopping flow.
externalDocs:
url: https://docs.uplift.com/apidocs/generates-marketing-offers-for-orders-4
requestBody:
required: true
content:
application/json:
schema:
type: object
description: List of orders.
required:
- integrationId
- orders
properties:
integrationId:
type: string
description: Unique integration identifier.
example: UP-12345678-9
orders:
type: array
description: List of orders.
items:
$ref: '#/components/schemas/Order'
responses:
'200':
description: Marketing offers response
content:
application/json:
schema:
type: object
components:
schemas:
Order:
type: object
description: Order details (documented subset — see https://docs.uplift.com/docs/high-level-schema-overview for the full schema guidance).
properties:
addOns:
type: array
description: List of addons.
items:
type: object
properties:
externalId:
type: string
description: Unique addon identifier.
name:
type: string
description: Addon name.
price:
type: string
description: Addon price in dollar format.
example: '100.13'
billingContact:
$ref: '#/components/schemas/BillingContact'
BillingContact:
type: object
properties:
city:
type: string
description: Billing contact city.
example: New York City
country:
type: string
description: Billing contact country.
enum:
- US
- CA
dateOfBirth:
type: string
format: date
description: Billing contact date of birth in YYYY-MM-DD format.
example: '1996-10-21'
email:
type: string
description: Billing contact email.
example: sample@flexpay.com
firstName:
type: string
description: Billing contact first name.
example: Arthur
lastName:
type: string
description: Billing contact last name.
example: Davis
securitySchemes:
flexPayOAuth:
type: oauth2
description: 'OAuth 2.0 client-credentials grant. Client IDs and secrets are issued per merchant and per environment by the Flex Pay integration team (server IP allowlisting required). Tokens expire after 30 minutes by default and are sent as `Authorization: Bearer {token}`.'
flows:
clientCredentials:
tokenUrl: https://partner.upgrade.com/api/auth/v1/oauth/token
scopes: {}
bearerAuth:
type: http
scheme: bearer
description: Access token from the Flex Pay authorization server, included in the Authorization HTTP header for all API requests.
externalDocs:
description: Flex Pay REST API reference
url: https://docs.uplift.com/apidocs
x-generated: '2026-07-21'
x-method: generated
x-source: Generated faithfully from the published Flex Pay REST API reference at https://docs.uplift.com/apidocs (Upgrade, Inc. — Flex Pay, formerly Uplift). Upgrade does not publish a machine-readable OpenAPI; every path, method, parameter, and field below is taken from the documented reference pages (creates-an-order, retrieves-an-order, confirms-an-order, retrieves-an-orders-card-resource, authorize-transaction, void-transaction, capture-transaction, refund-transaction, get-transaction, generates-marketing-offers-for-orders-4, authorization-1). Schemas capture the documented subset of fields, not the full internal model.