---
title: "Submit W-9 tax form"
method: POST
path: "/payout/{user_token}/tax/interview/w9"
tags: ["Tax"]
---

# Submit W-9 tax form

`POST /payout/{user_token}/tax/interview/w9`

This **POST** endpoint is used to submit a W-9 tax form for a specific user identified by their `user_token`. Basic information (name, address, phone) is retrieved from the user's existing profile.

## Request body

- W9FormRequest
  - `tin_type` 'SSN' | 'EIN' | 'ITIN', required — Type of Taxpayer Identification Number
  - `tin` string, required — Taxpayer Identification Number (format: XXX-XX-XXXX for SSN/ITIN or XX-XXXXXXX for EIN)
  - `federal_tax_classification` 'Individual' | 'Sole Proprietor' | 'Single Member LLC Not Elected' | 'Single Member LLC Elected' | 'C Corporation' | 'S Corporation' | 'Partnership' | 'Trust or Estate' | 'LLC C Corporation' | 'LLC S Corporation' | 'LLC Partnership' | 'Others', required — Federal tax classification of the person
  - `business_name` string — Business name/disregarded entity name, if different from name on file
  - `is_backup_withholding` boolean — Whether the person is subject to backup withholding
  - `exempt_payee_code` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' — Exempt payee code (if applicable)
  - `exempt_fatca_code` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' — Exemption from FATCA reporting code (if applicable)
  - `account_numbers` string — Account number(s) for reference
  - `is_line_3b` boolean — Check if partnership/trust/estate with foreign partners/owners/beneficiaries
  - `other_description` string — Description when 'Others' is selected as federal tax classification

## Response `200`

OK

- TaxFormSubmissionResponse
  - `submission_id` string, uuid — Unique identifier for the submission
  - `form_type` 'W9' | 'W8BEN' | 'W8BENE' | 'W8ECI' | 'W8IMY' — Type of form submitted
  - `status` 'Submitted' | 'Pending' | 'Validated' | 'Error' — Current status of the submission
  - `submitted_at` string, date-time — Timestamp of submission
  - `errors` TaxFormError[] — List of validation errors (if any)
    - `id` string — Error code
    - `name` string — Field name with the error
    - `message` string — Error description
  - `pdf_content` string — Base64 encoded byte representing the content of the file

## Other responses

- `400` — Bad request.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Not Found
- `405` — Method Not Allowed.
- `500` — Internal server error.
- `504` — Gateway Time-out.

---

[API](https://skmtc.net/masspay/apis/masspay-api.md) · [All operations](https://skmtc.net/masspay/apis/masspay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/masspay/masspay-api/revisions/c03b61a6a551/schema)
