---
title: "Save Tax Profile"
method: POST
path: "/api/tax/profile"
tags: ["Tax"]
---

# Save Tax Profile

`POST /api/tax/profile`

## Request

- Base URL: `https://api.earmarkiq.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.earmarkiq.app/api/tax/profile`
- Auth: HTTP bearer

Save or update tax profile for the current user.

## Request body

- TaxProfileRequest
  - `annual_salary` number, nullable
  - `tax_code` string, nullable
  - `student_loan_plan` string, nullable
  - `has_children` boolean
  - `num_children` integer
  - `employer_pension_match` boolean
  - `employer_match_percentage` number
  - `pension_contribution_pct` number
  - `self_employed` boolean

## Response `200`

Successful Response

- TaxProfileResponse
  - `annual_salary` number, nullable, required
  - `tax_code` string, nullable, required
  - `student_loan_plan` string, nullable, required
  - `has_children` boolean, required
  - `num_children` integer, required
  - `employer_pension_match` boolean, required
  - `employer_match_percentage` number, required
  - `pension_contribution_pct` number, required
  - `self_employed` boolean, required
  - `has_profile` boolean, required
  - `is_pre_filled` boolean
  - `pre_fill_source` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/earmarkiq/apis/earmark-api.md) · [All operations](https://skmtc.dev/earmarkiq/apis/earmark-api/llms.txt) · [OpenAPI document](https://skmtc.dev/earmarkiq/apis/earmark-api/revisions/4a2c41907105?raw)
