tools · POST /v1/tools/determine_dependent

determine_dependent

§ 152 qualifying child or qualifying relative, with proof.

Call it

bash
curl -s https://opentax.invaro.ai/v1/tools/determine_dependent \
  -H "Authorization: Bearer $OPENTAX_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "depRelationshipChild": true,
  "depAge": 12,
  "depLivedWithTaxpayerOverHalfYear": true,
  "depProvidedOwnSupportOverHalf": false,
  "depFilesJointReturn": false,
  "asOf": "2025-12-31"
}'

What it does

Determine whether ONE candidate person is the taxpayer's § 152 dependent — qualifying child or qualifying relative, including multiple-support agreements and the divorced-parents release — as a proof-backed yes/no with citations. Feed the result into calculate_tax's credits group (qualifyingChildren / otherDependents).

This is the description the MCP server hands to a model. The imperative sentences are addressed to the model; the facts about scope apply to every caller.

Inputs

Nothing is syntactically required, but computation needs asOf, and the engine names any fact the target depends on with NEEDS_FACTS.

fieldtypedescription
depRelationshipChildbooleanCandidate is the taxpayer's child, stepchild, foster child, sibling, step-sibling, or a descendant of any of them (§ 152(c)(2)).
depAgeinteger | stringCandidate's age at the end of the year (§ 152(c)(3)).
depIsFullTimeStudentbooleanCandidate was a full-time student for at least 5 months (§ 152(f)(2)).
depPermanentlyDisabledbooleanCandidate is permanently and totally disabled (§ 152(c)(3)(B)).
depYoungerThanTaxpayerbooleanCandidate is younger than the taxpayer (§ 152(c)(3)(A)).
depLivedWithTaxpayerOverHalfYearbooleanCandidate had the same principal residence as the taxpayer for more than half the year (§ 152(c)(1)(B)).
depProvidedOwnSupportOverHalfbooleanCandidate provided more than half of their own support (§ 152(c)(1)(D)).
depFilesJointReturnbooleanCandidate files a joint return with a spouse (other than a refund-only claim) (§ 152(c)(1)(E)).
depRelationshipRelativebooleanCandidate bears a § 152(d)(2) relationship to the taxpayer (parent, grandparent, sibling, in-law, etc.) or lived in the household all year.
depGrossIncomenumber | stringCandidate's gross income for the year (§ 152(d)(1)(B) limit: $5,200 TY2025 / $5,300 TY2026). In dollars.
taxpayerProvidedOverHalfSupportbooleanThe taxpayer provided more than half of the candidate's support (§ 152(d)(1)(C)).
depIsQualifyingChildOfAnotherbooleanCandidate is the qualifying child of the taxpayer or any other taxpayer (§ 152(d)(1)(D)).
hasMultipleSupportAgreementbooleanA § 152(d)(3) multiple-support agreement is in place for the candidate: the group together provided over half the support, no one person provided over half, each member could otherwise claim the candidate, and every other over-10% contributor signed a Form 2120 waiver.
taxpayerProvidedOver10PercentSupportbooleanThe taxpayer contributed over 10 percent of the candidate's support (§ 152(d)(3)(D) — the support test under a multiple-support agreement).
depDivorcedParentsRuleboolean§ 152(e) applies to the candidate child: the parents are divorced, separated, or lived apart the last 6 months of the year; the child received over half their support from the parents and was in their custody over half the year.
taxpayerIsCustodialParentbooleanThe taxpayer is the custodial parent (the parent with whom the child resided the greater number of nights, § 152(e)(4)(A)).
custodialParentReleasedClaimbooleanThe custodial parent signed a written declaration (Form 8332) releasing the claim to the child for this year (§ 152(e)(2)).
targetstringrule to derive (default: us.federal.dependent.is_dependent). Other targets: us.federal.dependent.qualifying_child, us.federal.dependent.qualifying_relative
asOfstringREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
pattern ^\d{4}-\d{2}-\d{2}$
includeProofbooleaninclude the full proof artifact in the response as `proof` (PROOF-FORMAT v2: every applied rule, input, assumption and rounding, verifiable offline against corpusMerkleRoot; ~200 KB). Default false — the hashes alone are returned.

Example

No captured example for this tool yet; the call above is a valid request. The examples page has ten end-to-end pairs including two refusals.