---
title: Get Minimum Monthly Payment
slug: api-documentation/get-minimum-monthly-payment
docTags: 
createdAt: 2026-08-27T16:56:05.859Z
---

{
  "id": "HYbXxUmnZyOYDicmmOWHp",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.upstartcommerce.com/v1/finance-offers/minimum-monthly-payment",
    "servers": [
      {
        "url": "https://api.upstartcommerce.com/v1/finance-offers/minimum-monthly-payment"
      }
    ],
    "name": "Get Minimum Monthly Payment",
    "description": "<p>This endpoint retrieves the minimum monthly payment, currency, and promotional period for a given purchase amount, currency, and provider.</p>\n<p>Authorized permissions:</p>\n<ul>\n<li><code>finance-offer.read</code></li>\n</ul>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        },
        {
          "kind": "required",
          "name": "x-upstart-tenant",
          "type": "string",
          "description": "Tenant identifier associated with the site this call is for."
        }
      ],
      "queryParameters": [
        {
          "kind": "required",
          "name": "currency",
          "type": "string",
          "example": "USD",
          "description": "<p>The <a href=\"https://en.wikipedia.org/wiki/ISO_4217\" target=\"_blank\">3-character ISO code</a>. Must be one of the supported currencies (currently only USD is supported).</p>",
          "pattern": "^[A-Z]{3}"
        },
        {
          "kind": "required",
          "name": "purchase-amount",
          "type": "number<float>",
          "description": "<p>Purchase amount that the minimum-monthly-payment calculation is based on.</p>",
          "format": "float"
        },
        {
          "kind": "optional",
          "name": "provider",
          "type": "string",
          "description": "The provider being used to calculate minimum monthly payment.",
          "enum": [
            "Synchrony",
            "Fortiva"
          ]
        },
        {
          "kind": "optional",
          "name": "timezoneId",
          "type": "string",
          "example": "America/Denver",
          "description": "<p>Timezone id (tz database). If not specified - tenant's default timezone is used.</p>"
        },
        {
          "kind": "optional",
          "name": "productIds",
          "type": "array",
          "description": "<p>Optional list of product IDs in the cart. When supplied, general finance offers (those without\nany product association) and product-specific finance offers associated with at least one of\nthe supplied productIds are considered. When omitted, only general offers (those without any\nproduct association) are considered.</p>",
          "schema": [],
          "itemType": "string",
          "customType": "string[]"
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "AnonymousAuth",
          "name": "AnonymousAuth",
          "kind": "optional",
          "type": "http",
          "description": "This is the most basic authentication. The minimum requirement for access is a token representing the user as an anonymous client.",
          "scheme": "bearer"
        },
        {
          "id": "LoggedIn",
          "name": "LoggedIn",
          "kind": "optional",
          "type": "http",
          "description": "The presence of this token indicates that the user is a known consumer that has previously logged into the platform.",
          "scheme": "bearer"
        },
        {
          "id": "NoChannelPortalAccess",
          "name": "NoChannelPortalAccess",
          "kind": "optional",
          "type": "http",
          "description": "<p>This authentication is required for clients to interact with any of the management APIs. Similar to 'LoggedIn', it indicates that the user has actually logged into the system, but in this case with a management role.</p>",
          "scheme": "bearer"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "<p>Success-details of the minimum monthly payment returned.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "This returns the minimum monthly payment.",
            "customType": "MinimumMonthlyPayment",
            "schema": [
              {
                "name": "currency",
                "kind": "required",
                "type": "string",
                "description": "",
                "example": "USD"
              },
              {
                "name": "financeOfferId",
                "kind": "required",
                "type": "string<uuid>",
                "description": "",
                "format": "uuid"
              },
              {
                "name": "minimumMonthlyPayment",
                "kind": "required",
                "type": "number",
                "description": "The minimum monthly payment for this finance offer.",
                "example": 250
              },
              {
                "name": "promotionalPeriodMonths",
                "kind": "required",
                "type": "integer<int32>",
                "description": "The length of the promotional period in months.",
                "example": 12,
                "format": "int32"
              },
              {
                "name": "provider",
                "kind": "required",
                "type": "string",
                "description": "",
                "modelRef": "#/components/schemas/Provider",
                "customType": "Provider",
                "schema": []
              },
              {
                "name": "providerFinanceOfferId",
                "kind": "required",
                "type": "string",
                "description": "",
                "modelRef": "#/components/schemas/ProviderFinanceOfferId",
                "customType": "ProviderFinanceOfferId",
                "schema": []
              }
            ],
            "modelRef": "#/components/schemas/MinimumMonthlyPayment",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "The request contained information that the server was unable to process. Appropriate errors are provided in the response body.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ValidationErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "optional",
                "type": "object",
                "description": "",
                "complexType": "oneOf",
                "complexItems": [],
                "schema": []
              }
            ],
            "modelRef": "#/components/schemas/ValidationErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "404",
        "description": "The requested resource was not found in the NoChannel system.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "TZg9KtQn1CR_Pf0fZ4dFQ",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url 'https://api.upstartcommerce.com/v1/finance-offers/minimum-monthly-payment?currency=USD&purchase-amount=number%3Cfloat%3E' \\\n     --header 'accept: application/json' \\\n     --header 'x-upstart-tenant: string'"
        },
        {
          "id": "yrN4dNj9duS5tiwiHRAV9",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\nmyHeaders.append(\"x-upstart-tenant\", \"string\");\n\nvar requestOptions = {\n   method: 'GET',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.upstartcommerce.com/v1/finance-offers/minimum-monthly-payment?currency=USD&purchase-amount=number<float>\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "iDTSKc055fjWdgKhwatNn",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.upstartcommerce.com/v1/finance-offers/minimum-monthly-payment?currency=USD&purchase-amount=number<float>\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest[\"x-upstart-tenant\"] = \"string\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "jQnL3yE955FSugYiAm-oF",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.upstartcommerce.com/v1/finance-offers/minimum-monthly-payment?currency=USD&purchase-amount=number<float>\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json',\n   'x-upstart-tenant': 'string'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "TZg9KtQn1CR_Pf0fZ4dFQ"
    },
    "results": {
      "languages": [
        {
          "id": "QcFjlC6sG73PXXMzrRfW_",
          "language": "200",
          "code": "// Success-details of the minimum monthly payment returned.\n{\n  \"currency\": \"USD\",\n  \"financeOfferId\": \"\",\n  \"minimumMonthlyPayment\": 250,\n  \"promotionalPeriodMonths\": 12,\n  \"provider\": \"\",\n  \"providerFinanceOfferId\": \"\"\n}"
        },
        {
          "id": "E5LlIlYKI7IQvv9-otPWB",
          "language": "400",
          "code": "// The request contained information that the server was unable to process. Appropriate errors are provided in the response body.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": {}\n}"
        },
        {
          "id": "2pBzjwGBvRihk-e4mxErJ",
          "language": "401",
          "code": "// The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "uJadrbtDu1-KRIJo1qaOZ",
          "language": "404",
          "code": "// The requested resource was not found in the NoChannel system.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "QcFjlC6sG73PXXMzrRfW_"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}