openapi: 3.2.0 info: title: AutoFi Calculate Payment API description: "\n# Introduction\n Welcome to the AutoFi REST API. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.\n\n# HTTP Requests\n### Environments\nEnvironment | URL\n----------------|-------------\nTest Sandbox | https://api-uat.autofi.com\nProduction | https://api.autofi.com\n\n### Request Headers\n\nThe `Content-Type` header for `POST` and `PUT` requests should be set to `application/json` unless otherwise noted.\n\nHeader | Value\n----------------|-------------\nContent-Type | application/json\n\n### Response Headers\nHeader | Value\n----------------|-------------\nX-RateLimit-Limit | Request quota\nX-RateLimit-Reset | UNIX timestamp the request quota will be reset after exceeding it\nX-RateLimit-Remaining | Remaining requests in quota\nRetry-After | Time in seconds to retry after\nX-Response-Time | The time in milliseconds it took to respond to the request\n\n# HTTP Responses\nAutoFi uses standard HTTP response codes to indicate the success or failure of an API request. \n\n## Successful requests\nHTTP requests that are successfully processed returns `2xx` status codes.\n\n| Status code | Description |\n| -- | -- |\n| **200 OK** | The request was successfully processed and requested content is returned in the response body. |\n| **201 Created** | The request was successfully processed and a new resource was created. |\n| **204 No Content** | The request was successfully processed and the response body has no content. |\n\n## Failed Requests\nHTTP requests that are not successfully processed, due to a client or server error, returns `4xx` or `5xx` status codes respectively.\n\n### HTTP 4XX status codes\n| Status code | Description \n| -- | -- |\n| **400 Bad Request** | The request cannot be processed. Typically due to a malformed payload.\n| **401 Unauthorized** | The request has invalid credentials (token).\n| **403 Forbidden** | The request has insufficient privileges.\n| **404 Not Found** | The requested resource could not be found.\n| **405 Method Not Allowed** | The API does not allow this method.\n| **415 Unsupported Media Type** | The payload format is not supported. [AutoFi request headers](#request-headers).\n| **429 Too Many Requests** | There were too many request in a given amount of time.\n\n### Error response definition\nMost types of errors have the following structure:\n| field | Description \n| --- | --- \n| code | reference to the status code of the response\n| message | defines the error type \n| errors | contains an array of objects with the description for an error or multiple errors generated.\n\n### Error Types\n\n`4xx` Errors can be thrown for different reasons. The following section describes common shapes for the error objects returned.\n\n#### Validation Errors\nValidation errors return a `400` status code indicating a `Bad Request`.\n\n| Parameter type | Description \n| --- | --- \n| string | `dob`, `email`, `phone`, etc., have formats and possibly character restrictions which must be observed. e.g. `phone` must be a 10 character long string that contains only numbers.\n| number | `apr`, `downPayment`, `term`, etc., have range requirements which must be observed. e.g. `apr` must be a number between [0...1]. \n| integer | `timeInMonths`, `monthlyPayment`, `year`, etc., have range requirements which must be observed. \n\n\n> #### Example Response `400 Bad Request`\n> ```json\n> {\n> \"code\": 400,\n> \"message\": \"Validation Error\",\n> \"errors\": [\n> {\n> \"description\": \"Required field \\\"applicant\\\" was not provided.\"\n> },\n> {\n> \"description\": \"Field \\\"cosigner.email\\\" is invalid: io.\"\n> }\n> ]\n> }\n> ```\n\n\n#### Authorization Errors\nAuthorization errors return a `401` status code indicating a `Unauthorized`.\nMost endpoints will return some of the following errors in case of an invalid\n(malformed or expired) or absent authorization token, indicating that a new \ntoken must be requested.\n\n> #### Example Response `401 `\n> ```json\n> {\n> \"error\": \"UnauthorizedError: invalid token\"\n> }\n> ```\n> ```json\n> {\n> \"error\": \"UnauthorizedError: No authorization token was found\"\n> }\n> ```\n> ```json\n> {\n> \"error\": \"UnauthorizedError: Format is Authorization: Bearer [token]\"\n> }\n> ```\n> ```json\n> {\n> \"error\": \"UnauthorizedError: jwt malformed\"\n> }\n> ```\n\n#### Not Found Errors\nNot Found errors return a `404` status code indicating a `Not Found`.\n\n> #### Example Response `404 Not found`\n> ```json\n> {\n> \"error\": \"Error: Not Found\"\n> }\n> ```\n\n#### Rate Limiting\nIf the server is receiving an excessive amount of requests from a \nparticular user, it may return errors with a `429` status code \nindicating `Too many requests`.\n\n> #### Example Response `429 Too many requests`\n> ```json\n> {\n> \"code\": 429,\n> \"message\": \"Account limit exceeded.\",\n> }\n> ```\n\n\n### HTTP 5XX status codes\n| Http Status | Description |\n| -- | -- |\n| **500 Internal Server Error** | An unexpected error occurred, preventing successfully processing the request. |\n| **503 Service Unavailable** | An AutoFi service is unavailable, preventing successfully processing the request. | \n\n> See the [Hypertext Transfer Protocol (HTTP)](https://datatracker.ietf.org/doc/html/rfc7231) or the [MDN docs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) for more details.\n\n### Error Type\n\n#### 503 Service Unavailable\nService unavailable error is returned when our servers is not available to process and return a response.\n\n> #### Example Response `503 service unavailable`\n> ```json\n> {\n> \"code\": 503,\n> \"message\": \"Service Unavailable\",\n> \"errors\": [\n> {\n> \"description\": \"Service Unavailable\"\n> },\n> ]\n> }\n> ```\n" version: 1.0.0 x-logo: url: https://app.autofi.com/images/email-autofi-logo.png backgroundColor: '#FFFFFF' altText: AutoFi href: / servers: - url: https://api.autofi.com description: Production server - url: https://api-uat.autofi.com description: Sandbox server security: - bearerAuth: [] tags: - name: Calculate Payment paths: /v1/estimate/cash: post: security: - bearerAuth: - create:estimate summary: Cash description: 'Use this endpoint to calculate estimated payments for a `cash` car deal. ' tags: - Calculate Payment requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CashEstimateBody' responses: '200': description: Payments successfully calculated content: application/json: schema: $ref: '#/components/schemas/CashEstimateResponse' '400': $ref: '#/components/responses/CashEstimate400' /v1/estimate/finance: post: security: - bearerAuth: - create:estimate summary: Finance description: 'Use this endpoint to calculate estimated payments for a `finance` car deal. ' tags: - Calculate Payment requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FinanceEstimateBody' responses: '200': description: Payments successfully calculated content: application/json: schema: $ref: '#/components/schemas/FinanceEstimateResponse' '400': $ref: '#/components/responses/FinanceEstimate400' /v1/estimate/lease: post: security: - bearerAuth: - create:estimate summary: Lease description: 'Use this endpoint to calculate estimated payments for a `lease` car deal. ' tags: - Calculate Payment requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LeaseEstimateBody' responses: '200': description: Payments successfully calculated content: application/json: schema: $ref: '#/components/schemas/LeaseEstimateResponse' '400': $ref: '#/components/responses/LeaseEstimate400' components: schemas: SelfReportedCreditScore: type: integer minimum: 300 maximum: 850 description: Self reported Credit score. Number between 300 and 850 or `null` to indicate that no credit score is available. EstimatePaymentFinancePricingStack: type: object description: The `pricingStack` details for `FINANCE`. allOf: - $ref: '#/components/schemas/PartialBasePricingStack' properties: amountFinanced: allOf: - $ref: '#/components/schemas/amountFinanced' leaseCharge: allOf: - $ref: '#/components/schemas/financeCharge' example: 1740.98 monthlyPayment: $ref: '#/components/schemas/monthlyPayment' numberOfPayments: $ref: '#/components/schemas/numberOfPayments' termMonths: $ref: '#/components/schemas/termMonths' totalFees: type: - number - 'null' format: float description: Total amount of all fees. totalRebates: $ref: '#/components/schemas/totalRebates' totalProducts: $ref: '#/components/schemas/totalProducts' totalOfPayments: $ref: '#/components/schemas/totalOfPayments' totalTaxes: allOf: - $ref: '#/components/schemas/totalTaxes' tradeInAmount: type: number format: float description: The submitted trade-in amount. example: financeCharge: 2269.57 totalTaxes: 4075.55 totalFees: 249.99 amountFinanced: 43193.03 apr: 0.02 buyRate: 0.019 monthlyPayment: 757.71 numberOfPayments: 59 termMonths: 60 totalOfPayments: 45462.6 totalRebates: 2499.99 totalProducts: 760.01 tradeInAmount: 9100 amount: type: number description: The difference between the value of the vehicle and payoff amount i.e. `bookValue` - `payoff`. format: float example: 9100 totalOfPayments: type: - number - 'null' format: float description: Total paid for all payments. example: 13736.9 NonOemRebateInput: allOf: - $ref: '#/components/schemas/RebateBaseInput' properties: isPrivateOffer: type: boolean default: false description: Indicates that the rebate is a private offer for the applicant. taxRule: type: - string - 'null' default: null enum: - DEDUCT_AFTER_TAX - DEDUCT_BEFORE_TAX - null example: DEDUCT_AFTER_TAX description: 'Indicates how the rebate should be applied with respect to the tax calculation. When `null` or not provided, the default tax behavior is applied for the given jurisdiction. `DEDUCT_AFTER_TAX`: The rebate amount is deducted **_after_** tax is calculated. `DEDUCT_BEFORE_TAX`: The rebate amount is deducted **_before_** tax is calculated. ' LeaseRebateTypeInput: example: CASH description: Default is `CASH` type: string enum: - CASH - LEASE_RATE LeaseEstimateBody: type: object required: - dealer - vehicle - offerPreferences properties: applicant: allOf: - $ref: '#/components/schemas/CalculatePaymentsApplicant' description: The `applicant` is recommended to calculate accurate taxes. dealer: allOf: - $ref: '#/components/schemas/DealerCodeOnlyInput' fees: allOf: - $ref: '#/components/schemas/LeaseEstimateFeeInput' description: Fees included in the deal. These can come from the input body or the dealer configuration. offerPreferences: allOf: - $ref: '#/components/schemas/PaymentOfferPreferences' description: Offer preferences may be used to set constraints on a potential `LEASE` payment schedule. properties: annualMileage: description: Miles or km associated with the offer. minimum: 1 example: 12000 type: integer required: - annualMileage example: isSubvented: true annualMileage: 12000 apr: 0.02 downPayment: 2000 incentiveOption: LOWEST_MONTHLY term: 36 products: type: array items: allOf: - $ref: '#/components/schemas/ProductInput' description: List of products included in the `LEASE` payment calculation. rebates: allOf: - $ref: '#/components/schemas/EstimatePaymentLeaseRebatesInput' tradeIn: allOf: - $ref: '#/components/schemas/EstimatesTradeInInput' vehicle: allOf: - $ref: '#/components/schemas/EstimateVehicle' description: Vehicle may be specified by its `VIN` if it already exists in the AutoFi inventory for the dealer. Otherwise, the required fields for `FullVehicle` must be submitted. RebateBaseInput: type: object properties: amount: type: number example: 2499.99 format: float description: The rebate amount. exclusiveMinimum: 0 disclaimer: type: string description: Disclaimer for the rebate. Displayed as a tooltip next to each rebate line item. example: Rebate Disclaimer isDiscount: type: boolean default: false description: When `true` the `amount` is included in `discounts` instead of as a rebate line item. This can also affect the tax calculation (unless tax is submitted). isQualifiedOffer: type: boolean default: false description: Indicates that the rebate is only available under certain conditions. For example special rebates for students or military. name: type: string minLength: 1 description: Description of the rebate to be shown to the customer. example: VA Rebate EstimatePaymentFinanceNonOemRebatesOutput: type: array description: Rebates applied to the `FINANCE` payment estimation. items: allOf: - $ref: '#/components/schemas/NonOemRebateInput' example: - amount: 7500 disclaimer: Only applicable at time of purchase for registered dealers. isDiscount: false isPrivateOffer: false isQualifiedOffer: false name: Federal EV Tax Credit taxRule: DEDUCT_AFTER_TAX FinanceEstimateFeeOutput: type: array items: properties: amount: $ref: '#/components/schemas/FeeAmount' code: $ref: '#/components/schemas/schemas-FeeCodeInput' name: $ref: '#/components/schemas/schemas-FeeName' example: amount: 249.99 code: SHIPPING_FEE name: Shipping fee offerPreferences: allOf: - $ref: '#/components/schemas/PaymentOfferPreferences' properties: pricePlan: description: This field can be used to denote a discount pricing program. Some manufacturers may allow eligible employees and their family members additional savings on the purchase of new vehicles. type: string example: Z TaxItemLease: type: object description: Lease Tax Item. properties: amount: description: Tax item amount. type: number format: float description: description: Tax item description. type: string descriptionI18n: description: Tax item description for locale. type: string EstimatePaymentCashPricingStack: type: object description: The `pricingStack` details for `CASH`. properties: totalDue: description: The total amount to pay (i.e. includes `vehicle`, `fees`, `rebates`, `products` and `trade-in`). type: - number - 'null' format: float example: 34202.76 totalFees: type: - number - 'null' format: float description: Total amount of all fees. example: 249.99 totalProducts: allOf: - $ref: '#/components/schemas/totalProducts' example: 760.01 totalRebates: $ref: '#/components/schemas/totalRebates' totalTaxes: description: "Total amount of all vehicle and products taxes. \n**Notes:** For vehicle specific taxes see `appliedTaxes.amount`. \nFor product specific taxes see `selectedProducts.tax`.\n" type: - number - 'null' format: float example: 6513.67 tradeInAmount: type: number format: float example: 9100 description: The submitted trade-in amount. EstimatePaymentLeaseRebatesOutput: type: array description: Rebates which should be applied to the `LEASE` payment estimation. items: allOf: - $ref: '#/components/schemas/schemas-RebateInput' properties: expiryDate: type: string format: date description: Expiration date of the rebate. type: $ref: '#/components/schemas/LeaseRebateTypeInput' example: - amount: 2499.99 disclaimer: Veterans only Rebate expiryDate: 12-01-2024 isDiscount: true isPrivateOffer: true isQualifiedOffer: true name: VA Rebate programId: VA_1234 type: LEASE_RATE numberOfPayments: type: - integer - 'null' minimum: 0 description: Number of payments to make. example: 35 CashEstimateBody: type: object required: - dealer - vehicle properties: applicant: allOf: - $ref: '#/components/schemas/CalculatePaymentsApplicant' description: The `applicant` is recommended to calculate accurate taxes. dealer: allOf: - $ref: '#/components/schemas/DealerCodeOnlyInput' fees: allOf: - $ref: '#/components/schemas/FinanceEstimateFeeInput' description: Fees included in the deal. These can come from the input body or the dealer configuration. products: type: array items: allOf: - $ref: '#/components/schemas/ProductInput' description: List of products included in the `CASH` payment calculation. rebates: type: array description: Rebates which should be applied to the `CASH` payment estimation. In order for the given rebates to be applied, they must exist for the `dealer`. items: $ref: '#/components/schemas/schemas-RebateInput' tradeIn: allOf: - $ref: '#/components/schemas/EstimatesTradeInInput' vehicle: $ref: '#/components/schemas/EstimateVehicle' referenceId: type: - string - 'null' title: Product Reference ID example: 23b605f6-2a9e-11ec-8d3d-0242ac130003 description: Product identifier used to reference a product within a DMS. FeeAmount: type: number example: 249.99 format: float minimum: 0 EstimateVehicle: description: Vehicle may be specified by either only its `VIN` or the `Full Vehicle`. A `vehicle` submitted with only a `VIN` must be in the AutoFi inventory. However, when submitting the `FullVehicle`, it is not required to be in the AutoFi inventory. oneOf: - $ref: '#/components/schemas/VehicleVinOnlyInput' - $ref: '#/components/schemas/FullVehicle' example: age: NEW bodyType: '84102' color: Yellow dealerRetailPrice: 52412 fuelType: GASOLINE invoice: 47412.99 make: FORD mileage: 12 model: Mustang modelCode: SN-95 msrp: 52412.99 stockNumber: LT14 trim: GT vin: 1FM5K8HC6LGB91718 year: 2021 Ownership: type: string description: Represents the ownership status of the trade-in vehicle. default to `OWNED` enum: - OWNED - LEASED default: OWNED FinanceEstimateResponse: type: object properties: offerPreferences: allOf: - $ref: '#/components/schemas/offerPreferences' pricingStack: allOf: - $ref: '#/components/schemas/EstimatePaymentFinancePricingStack' appliedTaxes: allOf: - $ref: '#/components/schemas/FinanceEstimateTaxOutput' description: Taxes applied to estimated payment calculation. appliedFees: allOf: - $ref: '#/components/schemas/FinanceEstimateFeeOutput' description: Fees applied to estimated payment calculation. appliedRebates: allOf: - $ref: '#/components/schemas/EstimatePaymentFinanceRebatesOutput' description: Rebates applied to estimated payment calculation. appliedNonOemRebates: allOf: - $ref: '#/components/schemas/EstimatePaymentFinanceNonOemRebatesOutput' description: Non OEM Rebates applied to estimated payment calculation. selectedProducts: type: array description: Selected products. items: allOf: - $ref: '#/components/schemas/ProductOutput' example: - mileage: 50000 monthlyPayment: 12.67 name: Extended Warranty price: 700 referenceId: 23b605f6-2a9e-11ec-8d3d-0242ac130003 tax: 60.01 taxableAmount: 700 taxLineItems: - jurisdiction: name: COLORADO type: STATE imposition: General Sales and Use Tax tax: rate: 0.086 amount: 60.1 termMonths: 60 total: 760.01 price: type: number example: 100 format: float minimum: 0 description: Pretax price. totalTaxes: description: "Total amount of all vehicle and products taxes. \n**Notes:** For vehicle specific taxes see `appliedTaxes.amount`. \nFor product specific taxes see `selectedProducts.tax`.\n" type: - number - 'null' format: float example: 6513.67 TaxItemsLease: type: object description: Tax items applied to estimated lease payment calculation. properties: capitalized: type: - array - 'null' description: Capitalized tax items. items: allOf: - $ref: '#/components/schemas/TaxItemLease' dueAtSigning: type: - array - 'null' description: Tax items due at signing. items: allOf: - $ref: '#/components/schemas/TaxItemLease' biweekly: type: - array - 'null' description: Bi-weekly tax items. items: allOf: - $ref: '#/components/schemas/TaxItemLease' monthly: type: - array - 'null' description: Monthly tax items. items: allOf: - $ref: '#/components/schemas/TaxItemLease' payoff: type: number description: The payoff amount the customer needs to pay to satisfy the terms of their vehicle loan. format: float example: 5500 EstimatePaymentFinanceRebatesInput: title: Rebate type: array description: 'Rebates which should be applied to the `FINANCE` payment estimation. This field can be used to include qualified rebates (i.e. selected by the customer). The `programId` is required to match these up with the correct rebate program. ' items: allOf: - $ref: '#/components/schemas/schemas-RebateInput' properties: type: $ref: '#/components/schemas/FinanceRebateTypeInput' example: - amount: 2499.99 disclaimer: Veterans only Rebate isDiscount: false isPrivateOffer: false isQualifiedOffer: true name: VA Rebate programId: VA_1234 type: CASH TaxableAmount: type: number example: 34317.99 format: float minimum: 0 description: '

Experimental Taxable amount.

' EstimatePaymentFinanceRebatesOutput: type: array description: Rebates applied to the `FINANCE` payment estimation. items: allOf: - $ref: '#/components/schemas/schemas-RebateInput' properties: type: $ref: '#/components/schemas/FinanceRebateTypeInput' expiryDate: type: string format: date description: Expiration date of the rebate. example: - amount: 2499.99 disclaimer: Veterans only Rebate expiryDate: 12-01-2024 isDiscount: true isPrivateOffer: true isQualifiedOffer: true name: VA Rebate programId: VA_1234 type: CASH CashEstimateResponse: type: object properties: pricingStack: allOf: - $ref: '#/components/schemas/EstimatePaymentCashPricingStack' appliedTaxes: allOf: - $ref: '#/components/schemas/FinanceEstimateTaxOutput' description: Taxes applied to estimated payment calculation. example: 6513.67 appliedFees: allOf: - $ref: '#/components/schemas/FinanceEstimateFeeOutput' description: Fees applied to estimated payment calculation. appliedRebates: allOf: - $ref: '#/components/schemas/EstimatePaymentFinanceRebatesOutput' description: Rebates applied to estimated payment calculation. selectedProducts: type: array items: allOf: - $ref: '#/components/schemas/BaseSelectedProduct' type: object properties: taxableAmount: $ref: '#/components/schemas/TaxableAmount' taxLineItems: $ref: '#/components/schemas/TaxLineItems' description: Selected products. example: - mileage: 50000 name: Extended Warranty price: 700 referenceId: 23b605f6-2a9e-11ec-8d3d-0242ac130003 tax: 60.01 termMonths: 60 total: 760.01 taxableAmount: 100 taxLineItems: - jurisdiction: name: COLORADO type: STATE imposition: General Sales and Use Tax tax: rate: 0.029 amount: 2.9 CalculatePaymentsApplicant: properties: address: description: Applicant's address used to calculate `taxes`. properties: street: type: string example: 1234 Main St description: Applicant street line. street2: type: string example: Apt B description: Applicant street line 2. city: type: string example: Madison description: _Required if `street` is included._ state: type: string example: WI description: Two character code for state (US). _Required if `street` is included._ zip: type: string minLength: 1 example: '53714' description: Zip code. required: - zip selfReportedCreditScore: $ref: '#/components/schemas/SelfReportedCreditScore' type: object BaseSelectedProduct: type: object description: Fields in common for FINANCE, CASH and LEASE. properties: mileage: type: - integer - 'null' example: 1 minimum: 0 description: The mileage selected by the customer for a specific product (e.g. VSC). name: type: - string - 'null' description: Name of the F&I product selected. price: $ref: '#/components/schemas/price' referenceId: $ref: '#/components/schemas/referenceId' tax: $ref: '#/components/schemas/tax' taxableAmount: $ref: '#/components/schemas/TaxableAmount' taxLineItems: $ref: '#/components/schemas/TaxLineItems' termMonths: type: - integer - 'null' example: 1 minimum: 0 description: The term selected by the customer for a specific product (e.g. Tire and Wheel). total: type: - number - 'null' example: 1 format: float minimum: 0 description: The total price of the product including the finance charge. example: mileage: 50000 name: Extended Warranty price: 700 referenceId: 23b605f6-2a9e-11ec-8d3d-0242ac130003 tax: 60.01 taxableAmount: 700 taxLineItems: - jurisdiction: name: COLORADO type: STATE imposition: General Sales and Use Tax tax: rate: 0.086 amount: 60.1 termMonths: 60 total: 760.01 code: type: integer description: HTTP status code. EstimatePaymentLeasePricingStack: type: object description: The `pricingStack` details for `LEASE`. allOf: - $ref: '#/components/schemas/AppliedLeasePricingStackFigures' - $ref: '#/components/schemas/PartialBasePricingStack' properties: annualMileage: description: Miles or km associated with the offer. example: 12000 type: - integer - 'null' cashAppliedToCap: deprecated: true description: Cash applied to the capitalized cost. type: - number - 'null' example: 4500 format: float capReduction: description: Capitalized Cost Reduction. The sum of the cash, rebates and trade in. This will be subtracted from the Gross Capitalization Cost. type: - number - 'null' example: 7018.44 format: float depreciation: description: The amount of the vehicle will depreciate over the life of the term. type: - number - 'null' example: 17125.97 format: float grossCap: description: Gross Capitalization Cost. The total amount that will be applied to the loan. format: float example: 46127.96 type: - number - 'null' leaseCharge: description: The lease charge is an interest applied to the total financing of the vehicle. type: - number - 'null' example: 6313.76 format: float leaseTaxItems: $ref: '#/components/schemas/TaxItemsLease' moneyFactor: description: The money factor is the financing charge a person will pay on a lease. type: - number - 'null' example: 0 format: float netCap: description: Net Capitalization Cost. type: - number - 'null' example: 39109.52 format: float residualPercentage: description: Value of the vehicle at the end of the term expressed as a percentage of the sale price. type: - number - 'null' example: 0.51 format: float residualValue: description: Value of the vehicle at the end of the term. type: - number - 'null' example: 21983.55 format: float taxRate: description: Effective tax rate. type: - number - 'null' format: float minimum: 0 maximum: 1 example: 0.08625 totalDueAtSigning: description: Total amount due upon signing. type: - number - 'null' example: 2000 format: float totalCapitalizedFees: description: Total amount of applied fees with a fee placement of `GROSS_CAP`. type: - number - 'null' example: 249.99 format: float totalSigningFees: description: Total amount of applied fees with a fee placement of `DUE_AT_SIGNING`. type: - number - 'null' example: 2000 format: float tradeInAmount: type: number format: float example: 9100 description: The submitted trade-in amount. example: annualMileage: 12000 appliedToCap: downPayment: 1513.4 rebates: 750 tradeIn: 9100 appliedToSigning: downPayment: 486.6 rebates: 0 tradeIn: 0 moneyFactor: 0.0008333333333333334 leaseCharge: 1740.98 grossCap: 45365.49 capReduction: 11363.4 cashAppliedToCap: 1513.4 depreciation: 9702.09 netCap: 34002.09 residualPercentage: 0.54 residualValue: 24300 leaseTaxItems: capitalized: [] dueAtSigning: - amount: 151.26 description: Capitalized Cost Reduction Tax biweekly: - amount: 8.07 description: Sales/Use Tax monthly: - amount: 17.48 description: Sales/Use Tax taxRate: 0.055 totalCapitalizedFees: 249.99 totalDueAtSigning: 2000 totalSigningFees: 0 amountFinanced: null apr: 0.02 buyRate: 0.0275 monthlyPayment: 335.34 numberOfPayments: 35 termMonths: 36 totalOfPayments: 13736.9 totalRebates: 750 totalProducts: 115.5 tradeInAmount: 9100 amountFinanced: description: Total amount financed for the vehicle. example: 2269.57 LeaseEstimateResponse: type: object properties: offerPreferences: allOf: - $ref: '#/components/schemas/properties-offerPreferences' properties: isSubvented: type: boolean description: Indicates that the rate in this offer contains a subvented or special rate. This influences rules relating to markup and rebate compatibility. This flag will always be `true` for leases. pricingStack: allOf: - $ref: '#/components/schemas/EstimatePaymentLeasePricingStack' appliedRebates: allOf: - $ref: '#/components/schemas/EstimatePaymentLeaseRebatesOutput' description: Rebates applied to estimated payment calculation. appliedFees: allOf: - $ref: '#/components/schemas/LeaseEstimateFeeInput' description: Fees applied to estimated payment calculation. example: amount: 249.99 code: SHIPPING_FEE feePlacement: GROSS_CAP name: Shipping fee. selectedProducts: type: array description: Selected products. items: allOf: - $ref: '#/components/schemas/ProductOutput' example: - mileage: 50000 monthlyPayment: 25.6 name: Extended Warranty price: 700 referenceId: 23b605f6-2a9e-11ec-8d3d-0242ac130003 tax: 60.01 termMonths: 60 total: 760.01 taxableAmount: 100 taxLineItems: - jurisdiction: name: COLORADO type: STATE imposition: General Sales and Use Tax tax: rate: 0.029 amount: 2.9 PartialBasePricingStack: type: object description: Fields in common for FINANCE and LEASE. properties: amountFinanced: type: - number - 'null' format: float apr: type: - number - 'null' format: float description: Annual percentage rate. example: 0.02 buyRate: description: Dealer financing rate. type: - number - 'null' format: float example: 0.0275 monthlyPayment: type: - number - 'null' format: float example: 335.34 numberOfPayments: type: - integer - 'null' minimum: 0 description: Number of payments to make. example: 35 termMonths: type: - integer - 'null' description: Duration of the contract in months. totalRebates: type: - integer - 'null' description: Total rebate amount. example: 2499.99 totalOfPayments: type: - number - 'null' format: float description: Total paid for all payments. example: 13736.9 totalProducts: description: Total amount of all products including taxes. type: - number - 'null' format: float example: 115.5 schemas-FeeName: type: string description: The name of the fee. This fee varies per application and is different from dealer fees that are constant across all applications. ProductBaseInput: type: object title: Product description: Product information. properties: category: $ref: '#/components/schemas/ProductCategory' name: type: string description: Product description. example: Extended Warranty price: $ref: '#/components/schemas/price' termMiles: type: integer description: Product mileage limit. example: 100000 termMonths: type: integer description: Product duration. example: 60 schemas-FeeCodeInput: example: SHIPPING_FEE description: 'Default is `OTHER`.
Note: The `SHIPPING_FEE` is added to the vehicle''s sales price when submitted to the middleman.
All fee types will be taxable based upon the appropriate jurisdiction with the exception of `OTHER`.' type: string enum: - DOC_FEE - OTHER - SHIPPING_FEE - TIRE_FEE - TITLE_REG DealerCodeOnlyInput: type: object title: Dealer description: Dealer information. required: - code properties: code: description: Identification code assigned to dealer by AutoFi. type: string pattern: ^[A-Z0-9]{4}$ minLength: 4 maxLength: 4 example: 76KR tax: type: number example: 15.5 format: float minimum: 0 description: "Tax amount for the product. Defaults to 0. \n**Notes:** Does not include vehicle taxes. \n For vehicle specific taxes see `appliedTaxes.amount`. \n For Total taxes see `pricingStack.totalTaxes`.\n" totalProducts: description: Total amount of all products including taxes. type: - number - 'null' format: float example: 115.5 ProductInput: allOf: - $ref: '#/components/schemas/ProductBaseInput' properties: isTaxable: type: boolean example: true default: false description: Flag indicating whether this product is taxable or not. When `tax` is set to a `non-zero` amount then `isTaxable` is automatically set to true. In the case that zero or no `tax` is provided and `isTaxable` is `true`, the `tax` is calculated and included in the deal. tax: $ref: '#/components/schemas/tax' required: - category - name - price VinBaseSchema: type: string maxLength: 17 minLength: 17 pattern: ^[a-zA-Z0-9]{17}$ FinanceEstimateBody: type: object required: - dealer - vehicle properties: applicant: allOf: - $ref: '#/components/schemas/CalculatePaymentsApplicant' description: The `applicant` is recommended to calculate accurate taxes. dealer: allOf: - $ref: '#/components/schemas/DealerCodeOnlyInput' fees: allOf: - $ref: '#/components/schemas/FinanceEstimateFeeInput' description: Fees included in the deal. These can come from the input body or the dealer configuration. offerPreferences: allOf: - $ref: '#/components/schemas/PaymentOfferPreferences' properties: pricePlan: description: This field can be used to denote a discount pricing program. Some manufacturers may allow eligible employees and their family members additional savings on the purchase of new vehicles. type: string example: Z products: type: array items: allOf: - $ref: '#/components/schemas/ProductInput' description: List of products included in the `FINANCE` payment calculation. rebates: $ref: '#/components/schemas/EstimatePaymentFinanceRebatesInput' nonOemRebates: $ref: '#/components/schemas/EstimatePaymentFinanceNonOemRebatesInput' tradeIn: allOf: - $ref: '#/components/schemas/EstimatesTradeInInput' vehicle: $ref: '#/components/schemas/EstimateVehicle' PaymentOfferPreferences: description: Offer preferences may be used to set constraints on a potential `FINANCE` payment schedule. type: object properties: apr: type: number format: float example: 0.02 description: Annual percentage rate in decimals. e.g. if the apr is 2% this should be 0.02 downPayment: type: integer example: 2000 minimum: 0 description: Amount the consumer is putting down towards the vehicle incentiveOption: $ref: '#/components/schemas/IncentiveOption' isSubvented: type: boolean description: Indicates that the rate in this offer contains a subvented or special rate. This influences rules relating to markup and rebate compatibility. term: type: integer example: 60 minimum: 1 description: Length of term in months totalRebates: type: - integer - 'null' description: Total rebate amount. example: 2499.99 LeaseEstimateFeeInput: type: array items: properties: amount: type: number example: 249.99 format: float minimum: 0 description: Amount value. code: type: string example: SHIPPING_FEE description: 'Default is `OTHER`. Note: The `SHIPPING_FEE` is added to the vehicle''s sales price when submitted to the middleman.' enum: - DOC_FEE - OTHER - SHIPPING_FEE - TIRE_FEE - TITLE_REG feePlacement: type: string enum: - GROSS_CAP - DUE_AT_SIGNING description: 'Applies only when `requestedOfferType` is "LEASE". Defaults to `GROSS_CAP`. `GROSS_CAP` means that the fee will be added to the Gross Capitalization Cost of the lease. `DUE_AT_SIGNING` means that the fee will be added to the Due at Signing Calculation and thus deducted from the down payment. ' name: type: string description: The name of the fee. This fee varies per application and is different from dealer fees that are constant across all applications. required: - amount - name description: These given `Fees` take priority over any dealer specific `Fees`. Fee submission is optional. FinanceEstimateFeeInput: type: array items: properties: amount: $ref: '#/components/schemas/FeeAmount' code: $ref: '#/components/schemas/schemas-FeeCodeInput' isTaxable: type: boolean description: 'Default: `false`
Indicates whether fee is taxable or not.' deprecated: true name: $ref: '#/components/schemas/schemas-FeeName' required: - amount - name description: These given `Fees` take priority over any dealer specific `Fees`. Fee submission is optional. example: amount: 249.99 code: SHIPPING_FEE name: Shipping fee properties-offerPreferences: allOf: - $ref: '#/components/schemas/PaymentOfferPreferences' description: Offer preferences may be used to set constraints on a potential `LEASE` payment schedule. properties: annualMileage: description: Miles or km associated with the offer. minimum: 1 example: 12000 type: integer required: - annualMileage example: isSubvented: true annualMileage: 12000 apr: 0.02 downPayment: 2000 incentiveOption: LOWEST_MONTHLY term: 36 message: type: string description: HTTP status description. ValidationError: description: "Array of validation input errors found in the payload:\n - Required field not provided\n - Field can not be null\n - Field must be an object\n - Field is not a defined field\n - Field is invalid\n" allOf: - $ref: '#/components/schemas/errors' errors: type: array items: properties: description: type: string description: Error description. termMonths: description: Duration of the `FINANCE` contract in months. example: 48 ProductOutput: type: object properties: price: $ref: '#/components/schemas/price' name: type: - string - 'null' example: Extended Warranty description: Name of the F&I product selected. mileage: type: - integer - 'null' example: 12000 minimum: 0 description: The mileage selected by the customer for a specific product (e.g. VSC). monthlyPayment: type: - number - 'null' example: 25.6 format: float minimum: 0 description: Monthly payment over the finance term including the finance charge. referenceId: $ref: '#/components/schemas/referenceId' tax: $ref: '#/components/schemas/tax' taxableAmount: $ref: '#/components/schemas/TaxableAmount' taxLineItems: $ref: '#/components/schemas/TaxLineItems' termMonths: type: - integer - 'null' example: 12 minimum: 0 description: The term selected by the customer for a specific product (e.g. Tire and Wheel). total: type: - number - 'null' example: 115.5 format: float minimum: 0 description: The total price of the product including the finance charge. FinanceEstimateTaxOutput: type: array items: properties: amount: allOf: - $ref: '#/components/schemas/FeeAmount' example: 4015.54 description: "Total amount for this tax. \n**Note**: For product specific taxes see `selectedProducts.tax`. \nFor Total taxes see `pricingStack.totalTaxes`.\n" code: type: string enum: - TAX - TAX_FEE - OTHER example: OTHER name: type: string description: "The name of the tax. \n**Note**: if \"Total Taxes\" value is received, it is the total tax amount for the vehicle. Does not include product taxes.\n" example: Total Taxes taxableAmount: $ref: '#/components/schemas/TaxableAmount' taxLineItems: $ref: '#/components/schemas/TaxLineItems' schemas-RebateInput: type: object title: Rebate properties: amount: type: number format: float minimum: 1 description: Amount value. example: 2499.99 disclaimer: type: string description: Disclaimer for the rebate. example: Veterans only Rebate isDiscount: type: boolean default: false description: When `true` the `amount` is included in `discounts` instead of as a rebate line item. This can also affect the tax calculation (unless tax is submitted). isPrivateOffer: type: boolean default: false description: Indicates that the rebate is a private offer for the applicant. isQualifiedOffer: type: boolean default: false description: Indicates that the rebate is only available under certain conditions. For example special rebates for students or military. name: type: string minLength: 1 description: Description of the rebate to be shown to the customer. example: VA Rebate programId: type: string description: Unique identifier for the rebate program. OEM rebates will require this field. example: VA_1234 FullVehicle: type: object title: Full Vehicle properties: age: description: Vehicle age. type: string enum: - NEW - CPO - USED bodyType: type: string example: Fastback description: Vehicle body type. color: type: string example: blue description: Vehicle color. dealerRetailPrice: type: integer example: 30995 minimum: 1 description: The vehicle's price. fuelType: description: Fuel type used by the vehicle engine. type: string default: GASOLINE example: GASOLINE enum: - ELECTRIC - GASOLINE - HYBRID invoice: type: number example: 29850.75 format: float minimum: 0 description: The initial price for the vehicle from the manufacturer. _Must be a positive number when `age` is `NEW`._ make: type: string example: FORD description: Vehicle make. minLength: 1 mileage: type: integer example: 35684 minimum: 0 description: Number of miles (US) or km (Canada) on vehicle. _Required if `age` is `USED` or `CPO`._ model: type: string example: Mustang description: Vehicle model. minLength: 1 modelCode: type: string example: P8T description: The code for the model provided by the manufacturer. This field is optional but strongly recommended for new vehicles and lease applications since it greatly improves deal accuracy, e.g. determining the correct rebates. msrp: type: number format: float example: 34950.65 description: Manufacturer Suggested Retail Price. _Required if `age` is `NEW`._ stockNumber: type: string example: FCL1425 description: Vehicle stock number in dealer's inventory. Displayed in customer profile page in AutoFi Dealer Portal. trim: type: string example: GT description: Vehicle trim. This field is optional but strongly recommended for lease applications since it greatly improves deal accuracy, e.g. determining the correct rebates. vin: type: string example: 1FATP8FFXJ5139341 maxLength: 17 minLength: 17 pattern: ^[a-zA-Z0-9]{17}$ description: Vehicle Identification Number. Must be 17 alphanumeric characters. year: type: integer example: 2020 minimum: 1900 description: Vehicle year. required: - age - dealerRetailPrice - make - model - vin - year EstimatePaymentFinanceNonOemRebatesInput: title: Non OEM Rebate type: array description: 'Rebates which should be applied to the `FINANCE` payment estimation. This field can be used to add special rebates that are not available from standard rebate providers: For example, government rebates for electric vehicles. Additionally, the `taxRule` can be used to specify how the rebate should be applied with respect to tax. ' items: allOf: - $ref: '#/components/schemas/NonOemRebateInput' example: - amount: 7500 disclaimer: Only applicable at time of purchase for registered dealers. isDiscount: false isPrivateOffer: false isQualifiedOffer: false name: Federal EV Tax Credit taxRule: DEDUCT_AFTER_TAX EstimatesTradeInInput: type: object description: Trade in information. properties: amount: allOf: - $ref: '#/components/schemas/amount' payoff: allOf: - $ref: '#/components/schemas/payoff' ownership: allOf: - $ref: '#/components/schemas/Ownership' EstimatePaymentLeaseRebatesInput: type: array description: Rebates which should be applied to the `LEASE` payment estimation. items: allOf: - $ref: '#/components/schemas/schemas-RebateInput' properties: type: $ref: '#/components/schemas/LeaseRebateTypeInput' TaxLineItems: type: array description: '

ExperimentalThe breakdown of the tax amount by jurisdiction. Each tax line item contains the tax rate and corresponding amount for each jurisdiction or tax authority.

' items: properties: jurisdiction: type: object description: The jurisdiction responsible for the tax line item. properties: type: type: string example: STATE description: Type of jurisdiction. enum: - STATE - CITY - COUNTY - DISTRICT name: type: string example: COLORADO description: Name of the jurisdiction. imposition: type: string example: General Sales and Use Tax description: Name of the tax imposition. tax: type: object description: Tax rate and amount calculated for the jurisdiction. properties: rate: type: number format: float minimum: 0 maximum: 1 example: 0.029 description: Tax rate. amount: type: number format: float minimum: 0 example: 995.22 description: Tax amount. ProductCategory: type: string title: Product Category description: Product category. example: VSC enum: - GAP_WAIVER - OTHER - VSC monthlyPayment: description: Total monthly payment. FinanceRebateTypeInput: example: CASH description: Default is `CASH` type: string enum: - CASH - FINANCE_RATE AppliedLeasePricingStackFigures: properties: appliedToCap: description: Breakdown of capitalized costs. properties: downPayment: description: Cash applied to the capitalized costs. example: 0 format: float type: - number - 'null' rebates: description: Rebates applied to the capitalized costs. example: 0 format: float type: - number - 'null' tradeIn: description: Trade-in applied to the capitalized costs. example: 0 format: float type: - number - 'null' type: object appliedToSigning: description: Breakdown of costs applied at signing. properties: downPayment: description: Cash applied to signing costs. example: 2000 format: float type: - number - 'null' rebates: description: Rebates applied to signing costs. example: 2499.99 format: float type: - number - 'null' tradeIn: description: Trade-in applied to signing costs. example: 3600 format: int64 type: - number - 'null' type: object VehicleVinOnlyInput: type: object title: VIN Only description: Vehicle Information. required: - vin properties: vin: allOf: - $ref: '#/components/schemas/VinBaseSchema' - example: 1FATP8FFXJ5139341 description: Vehicle Identification Number. Must be 17 alphanumeric characters. The vehicle must exist in the dealer's inventory. financeCharge: type: - number - 'null' format: float description: Finance charge calculated based on the `amountFinanced`, `apr` and `termMonths`. example: 345.01 IncentiveOption: type: string title: Incentive Option description: The type of incentive the consumer is looking for. default: LOWEST_MONTHLY enum: - LARGEST_REBATE - LOWEST_APR - LOWEST_MONTHLY responses: LeaseEstimate400: description: BadRequest content: application/json: schema: type: object properties: code: $ref: '#/components/schemas/code' message: $ref: '#/components/schemas/message' errors: $ref: '#/components/schemas/ValidationError' example: code: 400 message: Bad Request errors: - description: Field annualMileage is required when requestedOfferType is LEASE. - description: 'Field "offerPreferences.annualMileage" is invalid: Must be an integer greater than 0.' - description: Could not get offers with provided mileage. Did you mean to provide an annualMileage from one of the following available mileages? [7500,10500,12000,13500,15000,16500,18000,19500] - description: 'Field "offerPreferences.downPayment" is invalid: Must be an integer greater than or equal to 0.' - description: 'Field "offerPreferences.incentiveOption" is invalid: Did you mean the enum value "LARGEST_REBATE"?.' - description: 'Field "offerPreferences.incentiveOption" is invalid: Did you mean the enum value "LOWEST_MONTHLY"?.' - description: 'Field "offerPreferences.incentiveOption" is invalid: Did you mean the enum value "LOWEST_APR"?.' - description: 'Field "offerPreferences.incentiveOption" is invalid: Value "NOT_AN_INCENTIVE_OPTION_VALUE" does not exist in "IncentiveOption" enum.' - description: 'Field "vehicle.vin" is invalid: Must be 17 alphanumeric characters.' - description: Required field "vehicle.vin" was not provided. - description: Required field "vehicle.msrp" was not provided. - description: Required field "vehicle.invoice" was not provided. - description: Required field "vehicle.year" was not provided. - description: Required field "vehicle.model" was not provided. - description: Required field "vehicle.make" was not provided. - description: Required field "vehicle.dealerRetailPrice" was not provided. - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "NEW"?.' - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "USED"?.' - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "CPO"?.' - description: 'Field "vehicle.dealerRetailPrice" is invalid: Must be an integer greater than 0.' - description: 'Field "vehicle.year" is invalid: Must be 4 digit integer between 1900 and 2024.' - description: 'Field "rebates[0].type" is invalid: Did you mean the enum value "CASH"?.' - description: 'Field "rebates[0].type" is invalid: Did you mean the enum value "FINANCE_RATE" or "LEASE_RATE"?.' - description: Could not get offers with provided terms 240. Did you mean to provide one of the following terms? [12,24,36,48,60,72,75,84] - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "DOC_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "OTHER"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "SHIPPING_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "TIRE_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "TITLE_REG"?.' - description: Required field "fees[0].name" was not provided. - description: 'Field "fees[0].amount" is invalid: Must be a float greater than or equal to 0.' - description: 'Field "applicant.selfReportedCreditScore" is invalid: score is too high, must be lower than 850.' - description: 'Field "applicant.selfReportedCreditScore" is invalid: score is too low, must be greater than 300.' - description: 'Vehicle not found using dealer code: RFRD and vin: MAJ6S3JL9MC396799' - description: 'Could not get offers for this vehicle: MAJ6S3JL9MC396793' - description: 'Dealer not found using code: RFTD' - description: 'Dealer is not enabled with code: RFTD' CashEstimate400: description: BadRequest content: application/json: schema: type: object properties: code: $ref: '#/components/schemas/code' message: $ref: '#/components/schemas/message' errors: $ref: '#/components/schemas/ValidationError' example: code: 400 message: Bad Request errors: - description: 'Field "vehicle.vin" is invalid: Must be 17 alphanumeric characters.' - description: Required field "vehicle.vin" was not provided. - description: Required field "vehicle.msrp" was not provided. - description: Required field "vehicle.invoice" was not provided. - description: Required field "vehicle.year" was not provided. - description: Required field "vehicle.model" was not provided. - description: Required field "vehicle.make" was not provided. - description: Required field "vehicle.dealerRetailPrice" was not provided. - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "NEW"?.' - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "USED"?.' - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "CPO"?.' - description: 'Field "vehicle.dealerRetailPrice" is invalid: Must be an integer greater than 0.' - description: 'Field "vehicle.year" is invalid: Must be 4 digit integer between 1900 and 2024.' - description: 'Field "rebates[0].type" is invalid: Did you mean the enum value "CASH"?.' - description: 'Field "rebates[0].type" is invalid: Did you mean the enum value "FINANCE_RATE" or "LEASE_RATE"?.' - description: Could not get offers with provided terms 240. Did you mean to provide one of the following terms? [12,24,36,48,60,72,75,84] - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "DOC_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "OTHER"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "SHIPPING_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "TIRE_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "TITLE_REG"?.' - description: Required field "fees[0].name" was not provided. - description: 'Field "fees[0].amount" is invalid: Must be a float greater than or equal to 0.' - description: 'Field "applicant.selfReportedCreditScore" is invalid: score is too high, must be lower than 850.' - description: 'Field "applicant.selfReportedCreditScore" is invalid: score is too low, must be greater than 300.' - description: 'Vehicle not found using dealer code: RFRD and vin: MAJ6S3JL9MC396799' - description: 'Could not get offers for this vehicle: MAJ6S3JL9MC396793' FinanceEstimate400: description: BadRequest content: application/json: schema: type: object properties: code: $ref: '#/components/schemas/code' message: $ref: '#/components/schemas/message' errors: $ref: '#/components/schemas/ValidationError' example: code: 400 message: Bad Request errors: - description: 'Field "offerPreferences.downPayment" is invalid: Must be an integer greater than or equal to 0.' - description: 'Field "offerPreferences.incentiveOption" is invalid: Did you mean the enum value "LARGEST_REBATE"?.' - description: 'Field "offerPreferences.incentiveOption" is invalid: Did you mean the enum value "LOWEST_MONTHLY"?.' - description: 'Field "offerPreferences.incentiveOption" is invalid: Did you mean the enum value "LOWEST_APR"?.' - description: 'Field "offerPreferences.incentiveOption" is invalid: Value "NOT_AN_INCENTIVE_OPTION_VALUE" does not exist in "IncentiveOption" enum.' - description: 'Field "vehicle.vin" is invalid: Must be 17 alphanumeric characters.' - description: Required field "vehicle.vin" was not provided. - description: Required field "vehicle.msrp" was not provided. - description: Required field "vehicle.invoice" was not provided. - description: Required field "vehicle.year" was not provided. - description: Required field "vehicle.model" was not provided. - description: Required field "vehicle.make" was not provided. - description: Required field "vehicle.dealerRetailPrice" was not provided. - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "NEW"?.' - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "USED"?.' - description: 'Field "vehicle.age" is invalid: Did you mean the enum value "CPO"?.' - description: 'Field "vehicle.dealerRetailPrice" is invalid: Must be an integer greater than 0.' - description: 'Field "vehicle.year" is invalid: Must be 4 digit integer between 1900 and 2024.' - description: 'Field "rebates[0].type" is invalid: Did you mean the enum value "CASH"?.' - description: 'Field "rebates[0].type" is invalid: Did you mean the enum value "FINANCE_RATE" or "LEASE_RATE"?.' - description: Could not get offers with provided terms 240. Did you mean to provide one of the following terms? [12,24,36,48,60,72,75,84] - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "DOC_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "OTHER"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "SHIPPING_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "TIRE_FEE"?.' - description: 'Field "fees[0].code" is invalid: Did you mean the enum value "TITLE_REG"?.' - description: Required field "fees[0].name" was not provided. - description: 'Field "fees[0].amount" is invalid: Must be a float greater than or equal to 0.' - description: 'Field "applicant.selfReportedCreditScore" is invalid: score is too high, must be lower than 850.' - description: 'Field "applicant.selfReportedCreditScore" is invalid: score is too low, must be greater than 300.' - description: 'Vehicle not found using dealer code: RFRD and vin: MAJ6S3JL9MC396799' - description: 'Could not get offers for this vehicle: MAJ6S3JL9MC396793' securitySchemes: bearerAuth: description: 'Get access to data while protecting your account credentials. ' type: http scheme: bearer bearerFormat: Bearer {token}