Upgrade Marketing Offers API

Marketing Offers API

OpenAPI Specification

upgrade-marketing-offers-api-openapi.yml Raw ↑
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.