Skip to main content
POST
/
v5
/
taxEngineExpress
/
calculateTax
Calculate Taxes
curl --request POST \
  --url https://sandbox.hurdlr.com/rest/v5/taxEngineExpress/calculateTax \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: */*' \
  --data '
{
  "client_id": "fake_client_id",
  "userId": "fake_userId",
  "state": "DC",
  "year": 2019,
  "filingStatusCode": "S",
  "businessIncome": 100000,
  "businessExpenses": 5000,
  "personalExpenses": [
    {
      "category": "MEDICAL_AND_DENTAL",
      "amount": 1000
    }
  ],
  "mileage": 500,
  "w2Income": 10000,
  "tipIncome": 5000,
  "overtimeIncome": 3000,
  "numExemptions": 1,
  "taxPeriod": "YTD",
  "testDate": "2023-12-25",
  "taxPayments": [
    {
      "date": "2019-09-14",
      "region": "FEDERAL",
      "period": "Q1",
      "amount": 1000.51
    }
  ],
  "useManualW2Withholding": true,
  "federalW2Withholding": 5000,
  "stateW2Withholding": 3000,
  "wageExpenses": 0,
  "otherIncomes": [
    {
      "type": "FEDERAL_OR_TERRITORIES_INTEREST",
      "amount": 3000
    }
  ],
  "businessType": "CONSULTANT",
  "entityType": "SOLE_PROPRIETORSHIP",
  "numDependents": 1,
  "numOtherDependents": 1,
  "numStateDependents": 1,
  "numStateOtherDependents": 1,
  "alternativeMinimumTaxAdjustments": [
    {
      "type": "TAXABLE_REFUNDS",
      "amount": 1000
    }
  ],
  "spouse": {
    "businessIncome": 100000,
    "businessExpenses": 5000,
    "personalExpenses": [
      {
        "category": "MEDICAL_AND_DENTAL",
        "amount": 1000
      }
    ],
    "mileage": 500,
    "w2Income": 10000,
    "otherIncomes": [
      {
        "type": "FEDERAL_OR_TERRITORIES_INTEREST",
        "amount": 3000
      }
    ],
    "entityType": "SOLE_PROPRIETORSHIP",
    "alternativeMinimumTaxAdjustments": [
      {
        "type": "TAXABLE_REFUNDS",
        "amount": 1000
      }
    ],
    "numDependents": 1,
    "numOtherDependents": 1,
    "numStateDependents": 1,
    "numStateOtherDependents": 1
  }
}
'
{
  "country": "<string>",
  "state": "<string>",
  "year": 123,
  "federalFilingStatus": "S",
  "stateFilingStatus": "S",
  "w2Income": 123,
  "businessIncome": 123,
  "expenses": 123,
  "businessExpenses": 123,
  "personalExpenses": 123,
  "deductibleExpenses": 123,
  "deductibleMileageExpenses": 123,
  "deductibleNonMileageExpenses": 123,
  "homeOfficeDeduction": 123,
  "selfEmploymentDeduction": 123,
  "adjustedGrossIncome": 123,
  "overallTax": 123,
  "overallTaxSavings": 123,
  "overallTaxUnpaid": 123,
  "federalTaxUnpaid": 123,
  "stateTaxUnpaid": 123,
  "annualPaymentDueDate": "2023-11-07T05:31:56Z",
  "afterTaxIncome": 123,
  "otherIncome": 123,
  "federalTax": {
    "w2MarginalTaxRate": 123,
    "businessMarginalTaxRate": 123,
    "adjustedGrossIncome": 123,
    "businessIncomeDeduction": 123,
    "businessIncomeDeductionEffectiveRate": 123,
    "federalDeduction": 123,
    "qualifiedTipDeduction": 123,
    "qualifiedOvertimeDeduction": 123,
    "taxableIncome": 123,
    "federalEffectiveTaxRate": 123,
    "federalTaxAmount": 123,
    "medicareSurtax": {
      "investmentIncomeMedicareSurtax": 123,
      "earnedIncomeMedicareSurtax": 123
    },
    "selfEmploymentTax": {
      "socialSecurityTaxableIncome": 123,
      "socialSecurityEffectiveTaxRate": 123,
      "socialSecurityTax": 123,
      "medicareTaxableIncome": 123,
      "medicareEffectiveTaxRate": 123,
      "medicareTax": 123,
      "taxAmount": 123
    },
    "tentativeMinimumTax": 123,
    "alternativeMinimumTax": 123,
    "taxAmountWithoutTaxCredit": 123,
    "dependentTaxCredit": 123,
    "totalTaxCredit": 123,
    "totalTaxCreditAppliedToTax": 123,
    "taxBeforeWithholding": 123,
    "effectiveTaxRateBeforeWithholding": 123,
    "withholdingAppliedToTax": 123,
    "taxAmount": 123,
    "effectiveTaxRate": 123,
    "employmentTax": {
      "socialSecurityTaxableIncome": 123,
      "socialSecurityEffectiveTaxRate": 123,
      "socialSecurityTax": 123,
      "medicareTaxableIncome": 123,
      "medicareEffectiveTaxRate": 123,
      "medicareTax": 123,
      "taxAmount": 123
    }
  },
  "stateTax": {
    "w2MarginalTaxRate": 123,
    "businessMarginalTaxRate": 123,
    "adjustedGrossIncome": 123,
    "stateDeduction": 123,
    "taxableIncome": 123,
    "preCreditEffectiveTaxRate": 123,
    "taxAmountWithoutTaxCredit": 123,
    "totalTaxCredit": 123,
    "totalTaxCreditAppliedToTax": 123,
    "taxBeforeWithholding": 123,
    "effectiveTaxRateBeforeWithholding": 123,
    "withholdingAppliedToTax": 123,
    "taxAmount": 123,
    "effectiveTaxRate": 123
  },
  "quarterlyEstimates": {
    "q1": {
      "dueDate": "2023-12-25",
      "federalTax": {
        "taxOwed": 123,
        "taxPaid": 123,
        "paymentsAllocatedFromPast": 123,
        "paymentsRolledOverToFuture": true,
        "paymentsBalance": 123
      },
      "stateTax": {
        "taxOwed": 123,
        "taxPaid": 123,
        "paymentsAllocatedFromPast": 123,
        "paymentsRolledOverToFuture": true,
        "paymentsBalance": 123
      }
    },
    "q2": {
      "dueDate": "2023-12-25",
      "federalTax": {
        "taxOwed": 123,
        "taxPaid": 123,
        "paymentsAllocatedFromPast": 123,
        "paymentsRolledOverToFuture": true,
        "paymentsBalance": 123
      },
      "stateTax": {
        "taxOwed": 123,
        "taxPaid": 123,
        "paymentsAllocatedFromPast": 123,
        "paymentsRolledOverToFuture": true,
        "paymentsBalance": 123
      }
    },
    "q3": {
      "dueDate": "2023-12-25",
      "federalTax": {
        "taxOwed": 123,
        "taxPaid": 123,
        "paymentsAllocatedFromPast": 123,
        "paymentsRolledOverToFuture": true,
        "paymentsBalance": 123
      },
      "stateTax": {
        "taxOwed": 123,
        "taxPaid": 123,
        "paymentsAllocatedFromPast": 123,
        "paymentsRolledOverToFuture": true,
        "paymentsBalance": 123
      }
    },
    "q4": {
      "dueDate": "2023-12-25",
      "federalTax": {
        "taxOwed": 123,
        "taxPaid": 123,
        "paymentsAllocatedFromPast": 123,
        "paymentsRolledOverToFuture": true,
        "paymentsBalance": 123
      },
      "stateTax": {
        "taxOwed": 123,
        "taxPaid": 123,
        "paymentsAllocatedFromPast": 123,
        "paymentsRolledOverToFuture": true,
        "paymentsBalance": 123
      }
    }
  }
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

*/*

tax calculation parameters

Parameters for the v5 calculateTax endpoint

client_id
string
required

The client_id of the Tight Partner

Example:

"fake_client_id"

userId
string
required

An anonymized userId, used for tracking API usage. The Tight Partner decides how to anonymize it.

Example:

"fake_userId"

state
string
required

The two-character State abbreviation for which tax needs to be calculated on

Example:

"DC"

year
integer<int32>
required

Tax year for which tax needs to be calculated on

Example:

2019

filingStatusCode
enum<string>

The Tax Filing Status Code

Available options:
S,
M,
MS,
H,
QW
businessIncome
number

The year-to-date business income for which tax needs to be calculated on

Example:

100000

businessExpenses
number

The year-to-date deductible expense total for which tax needs to be calculated on

Example:

5000

personalExpenses
object[]

Array of JSON objects, where each object represents a personal expense for itemized deductions (Form 1040 Schedule A). You can also total many personal expenses together into one object, if they have the same category.

mileage
number

The year-to-date deductible mileage total (specified in miles, not dollars) for which tax needs to be calculated on

Example:

500

w2Income
number

The year-to-date W2 income total for which tax needs to be calculated on

Example:

10000

tipIncome
number

The year-to-date tip income total for which tax needs to be calculated on

Example:

5000

overtimeIncome
number

The year-to-date overtime income total for which tax needs to be calculated on

Example:

3000

numExemptions
integer<int32>

The number of state personal exemptions the tax filer qualifies for

Example:

1

taxPeriod
enum<string>

Period for which tax needs to get calculated, defaults to YTD

Available options:
YTD,
ANNUAL_PROJECTED,
YTD,
ANNUAL_PROJECTED
testDate
string<date>

Date that the TaxEngine should treat as 'today', e.g. if you are trying to simulate a future scenario for test purposes. This field should be empty when deployed in production.

taxPayments
object[]

Array of JSON objects, where each object represents a tax payment

useManualW2Withholding
boolean

True if the user wants to specify their own withholdings, as opposed to using our estimated withholdings

federalW2Withholding
number

Federal income tax that was withheld from wages; only utilized if useManualW2Witholding is true

Example:

5000

stateW2Withholding
number

State income tax that was withheld from wages; only utilized if useManualW2Witholding is true

Example:

3000

wageExpenses
number

The year-to-date business W-2 wage expenses total. Used to calculate Schedule A (Form 8995-A).

Example:

0

otherIncomes
object[]

Array of JSON objects, where each object represents one income. You can also total many income together into one object, if they have the same incomeType

businessType
enum<string>

Business type of tax filer, for determining whether they qualify as a Specified Service Trade or Business

Available options:
CONSULTANT,
DRIVER,
E_COMMERCE,
FREELANCER,
HOST,
INSURANCE_AGENT,
OTHER,
REAL_ESTATE_AGENT,
RETAIL,
SALES
entityType
enum<string>

Type of entity belonging to the tax filer, defaults to SOLE_PROPRIETORSHIP

Available options:
SOLE_PROPRIETORSHIP,
LLP,
LLC,
S_CORP,
C_CORP
numDependents
integer<int32>

The number of qualifying children under age 17 with a social security number

Example:

1

numOtherDependents
integer<int32>

The number of other dependents, including qualifying children 17 or older or who do not have a social security number

Example:

1

numStateDependents
integer<int32>

The number of qualifying dependents at the state level. See State Dependents Documentation for state specific info.

Example:

1

numStateOtherDependents
integer<int32>

The number of other qualifying dependents at the state level. See State Dependents Documentation for state specific info.

Example:

1

alternativeMinimumTaxAdjustments
object[]

Array of JSON objects, where each object represents one alternative minimum tax adjustment (Form 6251). You can also total many alternative minimum tax adjustments together into one object, if they have the same type.

spouse
object

JSON object representing spouse-specific input fields. Used when the tax filing status code is M or MS

Response

200 - application/json

Successful operation

country
string

The ISO 3166-1 alpha-3 country code

state
string

The two-character state (or Province) abbreviation for which tax needs to be calculated on

year
integer<int32>

Tax year for which tax needs to be calculated on

federalFilingStatus
enum<string>

The tax filing status code at the federal level

Available options:
S,
M,
MS,
H,
QW
Example:

"S"

stateFilingStatus
enum<string>

The tax filing status code at the state level

Available options:
S,
M,
MS,
H,
QW
Example:

"S"

w2Income
number

The year-to-date W2 income total for which tax needs to be calculated on

businessIncome
number

The year-to-date business income for which tax needs to be calculated on

expenses
number

The year-to-date deductible expense total for which tax needs to be calculated on

businessExpenses
number

The year-to-date business expenses total for which tax needs to be calculated on

personalExpenses
number

The year-to-date deductible personal expenses total for which tax needs to be calculated on

deductibleExpenses
number

The year-to-date deductible expenses total for which tax needs to be calculated on

deductibleMileageExpenses
number

The year-to-date deductible expense total originating from mileage

deductibleNonMileageExpenses
number

The year-to-date deductible expense total not originating from mileage

homeOfficeDeduction
number

Home office deduction

selfEmploymentDeduction
number

Self employment deduction

adjustedGrossIncome
number

Adjusted gross income

overallTax
number

Overall tax amount

overallTaxSavings
number

Overall amount saved by tracking expenses with Tight

overallTaxUnpaid
number

Remaining tax amount to be paid

federalTaxUnpaid
number

Remaining federal tax amount to be paid

stateTaxUnpaid
number

Remaining state tax amount to be paid

annualPaymentDueDate
string<date-time>

Yearly due date for this year's tax season

afterTaxIncome
number

Income remaining after tax collected

otherIncome
number

Total taxable income from sources other than wages, tips, and business

federalTax
object
stateTax
object
quarterlyEstimates
object