curl --request POST \
--url https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/tax-forms/w9 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"formInvestorName": "Jane Test",
"address1": "1007 Liberty Street",
"address2": "Apt 2",
"city": "Meadville",
"region": "PA",
"postalCode": "16335",
"country": "US",
"formClassification": "INDIVIDUAL",
"taxPayerIdType": "SSN",
"taxPayerIdNumber": "123456789",
"taxCountry": "US",
"certification": {
"certifiedAt": "2026-10-28T15:28:40Z",
"signatureName": "Jane Test",
"subjectToBackupWithholding": false,
"isUSPerson": true,
"certificationTextVersion": "w9-sm-2026-10"
}
}
'{
"taxFormId": "5c2fe256-5474-4f5f-8d02-595b058ae698",
"formType": "W-9",
"submittedAt": "2026-10-22T17:57:47.187Z"
}Send an investor's W-9 as data
Sends Securitize the fields of the W-9 an investor completed with you, as JSON, instead of a signed PDF, together with the investor’s certification. Securitize puts the form on file for the investor, recorded as sent by you, and generates its PDF from these fields. For a US person, individual or entity: formClassification says which. The form can be sent at any point of the investor’s verification, before or after it is verified.
The investor certifies the W-9 in your flow before you send it (Part II, under penalties of perjury), on the certification text Securitize publishes in Send a tax form. certification records it: when the investor agreed, the name they signed with, their answers, and the version of the text they were shown.
Checks, in order — each one stops the request, and nothing is kept:
- the body is JSON (
content-type: application/json) — else415 mime_not_supported; - every field,
certificationincluded, is valid — else400 validation_error, withdetailsnaming each field; - the investor resolves in your account — else
404 investor_not_found; - you lead the investor’s verification — else
409 investor_not_owned; - the investor is not subject to backup withholding — else
422 business_rule_violation, withdetails.reasonbackup_withholding_not_supported; - the investor has no tax form in force (valid, or pending review; an expired or rejected form does not count) — else
409 tax_form_already_active, withdetails.activeTaxFormnaming it.
A W-9 sent as data does not replace a form on file. To correct or replace it, contact Securitize support with its taxFormId. The answer is a receipt: there is no call to read or list an investor’s tax forms.
curl --request POST \
--url https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/tax-forms/w9 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"formInvestorName": "Jane Test",
"address1": "1007 Liberty Street",
"address2": "Apt 2",
"city": "Meadville",
"region": "PA",
"postalCode": "16335",
"country": "US",
"formClassification": "INDIVIDUAL",
"taxPayerIdType": "SSN",
"taxPayerIdNumber": "123456789",
"taxCountry": "US",
"certification": {
"certifiedAt": "2026-10-28T15:28:40Z",
"signatureName": "Jane Test",
"subjectToBackupWithholding": false,
"isUSPerson": true,
"certificationTextVersion": "w9-sm-2026-10"
}
}
'{
"taxFormId": "5c2fe256-5474-4f5f-8d02-595b058ae698",
"formType": "W-9",
"submittedAt": "2026-10-22T17:57:47.187Z"
}Authorizations
OAuth 2.0 client credentials. Exchange the client id and secret Securitize issued you for a bearer token at the token URL (the host root, not under the base URL), with grant_type=client_credentials; the token lasts 2 hours and goes in the Authorization: Bearer header of every request. No scope is needed. The token identifies your partner account, so you never send a partner id, and every record you create is scoped to you.
Path Parameters
Body
The fields of the W-9, as the investor completed it. Securitize generates the form's PDF from them, with the line 1 name as the signature and the day Securitize receives the form as its date. Text fields are trimmed; unknown fields are ignored.
Line 3a, the federal tax classification. INDIVIDUAL, SOLE (sole proprietor) and SINGLE (single-member LLC) mark the first box; C-CORPORATION, S-CORPORATION, PARTNERSHIP and TRUST (trust or estate) their own box; LLC-C-CORPORATION, LLC-S-CORPORATION and LLC-PARTNERSHIP mark the LLC box with that tax classification.
INDIVIDUAL, SOLE, SINGLE, C-CORPORATION, S-CORPORATION, PARTNERSHIP, TRUST, LLC-C-CORPORATION, LLC-S-CORPORATION, LLC-PARTNERSHIP Response
The W-9 is on file for the investor.
The receipt for a W-9 now on file for the investor.