Splitit Eligibility API

Check shopper eligibility for installment plans

OpenAPI Specification

splitit-eligibility-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Splitit Account Management System Authentication Eligibility API
  description: API for onboarding and managing sub-merchants on the Splitit platform. Enables payment facilitators and marketplace operators to add merchant partners, upload compliance documents, send onboarding invitations, monitor approval status, retrieve pending accounts, and generate time-limited secure login links for merchant portal access.
  version: '1.0'
  contact:
    name: Splitit Developer Support
    url: https://developers.splitit.com/
  license:
    name: Proprietary
servers:
- url: https://webapi.production.splitit.com
  description: Production
- url: https://web-api-v3.sandbox.splitit.com
  description: Sandbox
security:
- bearerAuth: []
tags:
- name: Eligibility
  description: Check shopper eligibility for installment plans
paths:
  /check-eligibility:
    post:
      tags:
      - Eligibility
      operationId: checkEligibility
      summary: Check Eligibility
      description: Verify a shopper's overall eligibility for Splitit installment plans and determine which plans they are eligible for. Use this endpoint before initiating a plan to confirm availability.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckEligibilityRequest'
      responses:
        '200':
          description: Eligibility check result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckEligibilityResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    CheckEligibilityResponse:
      type: object
      properties:
        isEligible:
          type: boolean
          description: Whether the shopper is eligible for installment plans
        eligiblePlans:
          type: array
          items:
            type: object
            properties:
              numberOfInstallments:
                type: integer
              installmentAmount:
                $ref: '#/components/schemas/Money'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorResponse:
      type: object
      properties:
        errorCode:
          type: string
          description: Splitit error code (e.g., 400-542, 400-563)
        message:
          type: string
          description: Human-readable error description
        additionalInfo:
          type: string
          description: Additional context about the error
    Money:
      type: object
      properties:
        value:
          type: number
          format: float
          description: Monetary amount
        currency:
          type: string
          description: ISO 4217 currency code
          example: USD
    PlanData:
      type: object
      properties:
        totalAmount:
          $ref: '#/components/schemas/Money'
        numberOfInstallments:
          type: integer
          description: Number of monthly installments
          example: 3
        refOrderNumber:
          type: string
          description: Merchant's reference order number
        extendedParams:
          type: object
          additionalProperties:
            type: string
          description: Additional merchant-defined key-value parameters
        firstInstallmentAmount:
          $ref: '#/components/schemas/Money'
        firstChargeDate:
          type: string
          format: date
          description: Date of the first installment charge
    CheckEligibilityRequest:
      type: object
      required:
      - planData
      properties:
        planData:
          $ref: '#/components/schemas/PlanData'
        billingAddress:
          $ref: '#/components/schemas/BillingAddress'
    BillingAddress:
      type: object
      properties:
        addressLine1:
          type: string
          description: Street address line 1
        addressLine2:
          type: string
          description: Street address line 2
        city:
          type: string
          description: City
        state:
          type: string
          description: State or province code
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
          example: US
        zip:
          type: string
          description: Postal/ZIP code
  responses:
    InternalServerError:
      description: Internal Server Error - unexpected server condition
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized - token is not authorized or is expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Not Found - resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Forbidden - merchant has no right to access this resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnprocessableEntity:
      description: Unprocessable Entity - validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT