RequestByText
RequestByText
This is a payer-initiated method where the API sends a secure, personalized text message to each recipient containing a unique URL to complete their W-9 form. Every URL is scoped to that specific recipient and cannot be accessed by anyone else. This option is helpful if your recipients are more likely to respond to an SMS than an email.
You must provide the recipient's phone number in the request. If no country code is provided, the US country code is used by default.
If you want to reach recipients via email, use RequestByEmail instead.
How it works
Authenticate
Obtain a Bearer token via the OAuth 2.0 flow and include it in all request headers.
Ensure a business (payer) exists
Before calling this endpoint, confirm the payer has been created using the Business endpoint. If no
BusinessIdis provided in the request, the request will be associated with the default payer (the first payer created in your account).Call the endpoint
Along with the payer and recipient details, your request may include the following optional parameters:
DBAId / DBARef— Scope the URL to a specific DBA under the payer. The DBA name will appear as the requester on the form.Customization— Apply your logo and primary/secondary colors to brand the form page. Alternatively, pass aCustomizationIdgenerated from the PortalCustomization endpoint.InterviewFlow— Set to TRUE to present the W-9 as a guided interview rather than a traditional form.PrefLang— Specify the language for the form. Recipients can also change their preferred language if needed. Supported languages: English, French, Spanish, German, Ukrainian, and Portuguese.
Automate TIN MatchingSet
IsTINMatchingto TRUE to automatically trigger IRS TIN Matching once the recipient submits their form.Recipient completes the form
TaxBandits sends the email request to the recipient. When the recipient opens the secure URL, they can complete, e-sign, and submit Form W-9 online.
Get notified
Once a recipient submits, you can receive notification through any of the following:
- Webhooks — Configure the Form W-9 Status Change webhook event to receive a payload with the recipient's name, TIN, address, and a link to download the completed form. Learn more
- Status endpoint — Poll the Status endpoint on demand to retrieve the current form status for a given recipient.
- Web messaging — Receive in-browser notifications when a recipient completes their form. Learn more
POST FormW9/RequestByText Request Body
| Field | Type | Description |
|---|---|---|
| SubmissionManifest | object | SubmissionManifest provides brief information about submission and the services opted for. |
| IsTINMatching | Boolean | Optional TIN Matching will be enabled when the value is set as True. Once the recipient completes Form W-9, TaxBandits will match the Recipient's Name and SSN with the IRS database and notify the client via the webhook with the TIN results. |
| Requester | object | Collects the Requester identifier, i.e., TIN (or) Business ID/PayerRef generated by TaxBandits. If neither is supplied, the default Business will be assumed as the Requester. |
| PayerRef | String | Optional Unique payer identifier assigned by the client while requesting the payer information using the endpoint Business/RequestByText. Size Range: 1-50 |
| BusinessId | Guid | Optional TaxBandits Unique Business Identifier. This ID is generated by TaxBandits after you create a business in your account using the Business endpoint. If you do not provide the BusinessId in the request, then the URL will be generated against the default business, i.e., the first business created in your account. |
| TINType | String | OptionalTIN Type of the Requester. |
| TIN | String | Optional Taxpayer Identification Number. Use this as an alternate for BusinessId. (Values: EIN, SSN) Size Range: 9-11 Allowed values"EIN", "SSN" (Including hyphen) |
| DBAId | String | Optional Unique Identifier for the DBA. |
| DBARef | String | Optional Unique identifier for each DBA. This identifier can be used in future references of the DBA in the API. |
| Recipients | object[] | Collects the recipient's unique identifier and other basic information that will be pre-filled on the Form. |
| PayeeRef | String | Optional A unique identifier for each recipient completing the Form W-9 for future references. Size Range: 1-50 |
| Phone | String | The phone number of the recipient Size Range: 4-16 |
| CountryPhoneCode | String | Recipient’s country code. If not provided, the US will be selected by default. Size Range: 2 Allowed values"AF", "AX", "AL", "AG", "AQ", "AN", "AO", "AV", "AY", "AC", "AR", "AM", "AA", "AT", "AS", "AU", "AJ", "BF", "BA", "FQ", "BG", "BB", "BO", "BE", "BH", "BN", "BD", "BT", "BL", "BK", "BC", "BV", "BR", "IO", "VI", "BX", "BU", "UV", "BM", "BY", "CB", "CM", "CA", "CV", "CJ", "CT", "CD", "CI", "CH", "KT", "IP", "CK", "CO", "CN", "CF", "CG", "CW", "CR", "CS", "IV", "HR", "CU", "UC", "CY", "EZ", "DA", "DX", "DJ", "DO", "DR", "TT", "EC", "EG", "ES", "EK", "ER", "EN", "ET", "FK", "FO", "FM", "FJ", "FI", "FR", "FP", "FS", "GB", "GA", "GG", "GM", "GH", "GI", "GR", "GL", "GJ", "GQ", "GT", "GK", "GV", "PU", "GY", "HA", "HM", "VT", "HO", "HK", "HQ", "HU", "IC", "IN", "ID", "IR", "IZ", "EI", "IS", "IT", "JM", "JN", "JA", "DQ", "JE", "JQ", "JO", "KZ", "KE", "KQ", "KR", "KN", "KS", "KV", "KU", "KG", "LA", "LG", "LE", "LT", "LI", "LY", "LS", "LH", "LU", "MC", "MK", "MA", "MI", "MY", "MV", "ML", "MT", "IM", "RM", "MR", "MP", "MX", "MQ", "MD", "MN", "MG", "MJ", "MH", "MO", "MZ", "WA", "NR", "BQ", "NP", "NL", "NC", "NZ", "NU", "NG", "NI", "NE", "NF", "CQ", "NO", "MU", "OC", "PK", "PS", "LQ", "PM", "PP", "PF", "PA", "PE", "RP", "PC", "PL", "PO", "RQ", "QA", "RO", "RS", "RW", "TB", "RN", "WS", "SM", "TP", "SA", "SG", "RI", "SE", "SL", "SN", "NN", "LO", "SI", "BP", "SO", "SF", "SX", "OD", "SP", "PG", "CE", "SH", "SC", "ST", "SB", "VC", "SU", "NS", "SV", "WZ", "SW", "SZ", "SY", "TW", "TI", "TZ", "TH", "TO", "TL", "TN", "TD", "TS", "TU", "TX", "TK", "TV", "UG", "UP", "AE", "UK", "UY", "UZ", "NH", "VE", "VM", "VQ", "WQ", "WF", "WI", "YM", "ZA", "ZI" |
| Address | Object | Collects US address details of the recipient. |
| Address1 | string | Optional Recipient US Address 1 (street address or post office box of that locality). This will be pre-filled on the Form. Size Range: ..46 |
| Address2 | string | Optional Recipient US Address 2 (suite or apartment number). This will be pre-filled on the Form. Size Range: ..46 |
| City | string | Optional Recipient US City. This will be pre-filled on the Form. Size Range: ..46 |
| State | string | Optional OptionalRecipient US State Code. This will be pre-filled on the Form. Size Range: 2 Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "AS", "FM", "GU", "MH", "MP", "PW", "PR", "VI", "AA", "AE", "AP" |
| ZipCd | string | Optional Recipient Zip Code. In the format 99999 or 99999-9999. This will be pre-filled on the Form. Size Range: 5..10 |
| CustomizationId | Guid | Optional A unique customization identifier generated by TaxBandits after you complete the customization process in the Developer console or the unique ID you received in the response of the PortalCustomization CREATE Endpoint. endpoint. Note: You can customize the W-9/W-8 page (secure URL) with your own logo, favicon, and primary and secondary colors. |
| Customization | Object | Optional Collects the customizations like TIN service, Business Logo and Callback URLs. |
| BusinessLogoUrl | String | Optional Gets the Business Logo. If given the business logo will be shown in the Iframe page. Size Range: ..150 |
| LogoPosition | String | Optional Optional The position where your business logo will be placed on the page.Allowed values"LEFT", "CENTER", "RIGHT" |
| InterviewFlow | Boolean | Optional As an alternative to direct-form entry, provide your recipients with an interview-style W-9/W-8 completion. |
| PrimaryColor | String | Optional The color theme of the iframe page will be customized with this primary color. |
| SecondaryColor | String | Optional The color theme of the iframe page will be customized with this secondary color. |
| PrefLang | String | OptionalLanguage Preference of the formAllowed values"en-US", "es-ES", "fr-FR","de-DE","uk-UA","pt-PT" |
Response Body
| Field | Type | Description |
|---|---|---|
| SubmissionId | Guid | A unique identifier of a submission. |
| Requester | Object | Requester information. |
| BusinessId | Guid | A unique identifier of the business. |
| BusinessNm | String | Requester Name. If the requester is a Business, then the Business Name will be returned. If the requester is an Individual, then the Payer’s full name will be returned. |
| FirstNm | String | First Name of the Individual Size Range: ..20 |
| MiddleNm | String | Middle Name of the Individual Size Range: ..20 |
| LastNm | String | Last Name of the Individual Size Range: ..20 |
| Suffix | String | Suffix of the Individual Allowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
| TINType | String | TIN Type of the Requester. |
| TIN | String | Taxpayer Identification Number of the requester. |
| DBAId | String | Unique Identifier for the DBA. |
| DBARef | String | Unique identifier for each DBA. This identifier can be used in future references of the DBA in the API |
| FormW9Records | Object | Details of Form W-9 requests given in the request. |
| SuccessRecords | Object[] | Recipients with no error in the request |
| PayeeRef | String | Unique identifier of the recipient. |
| Phone | String | The phone number of the recipient |
| CountryPhoneCode | String | Recipient’s country code. |
| W9Status | String | Status of the W-9 |
| StatusTs | String | Timestamp of the W-9 status |
| ErrorRecords | Object | Details of the recipients with errors |
| PayeeRef | String | A unique identifier of a recipient. |
| Phone | String | The phone number of the recipient |
| CountryPhoneCode | String | Recipient’s country code. |
| Errors | object[] | Collection of errors for the recipient |
| Id | string | Error ID number. This ID is assigned by TaxBandits and it is unique for each error. |
| Name | string | Name of the errored node. |
| Message | string | Shows the error message. |
| Errors | object[] | Collection of errors in the request. Example :
|
| Id | string | Error ID number. This ID is assigned by TaxBandits and it is unique for each error. |
| Name | string | Name of the errored node. |
| Message | string | Shows the error message. |
Request JSON
- Sample 1
- Sample 2
- Sample 3
- Sample 4
- Sample 5
- Sample 6
- Sample 7
{
"SubmissionManifest": {
"IsTINMatching": true",
"TINType": "EIN",
"PayerRef": "FJK123W",
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Mark Davis",
"CountryPhoneCode": "US",
"Phone": "5687657876"
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
]
}
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"PayerRef": "NGD123",
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"TIN": "20-1652371",
"DBAId": "97a16024-c7d2-41d7-92fe-103341d58fa0",
"DBARef": "DBA NGD123"
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Mark Davis",
"CountryPhoneCode": "US",
"Phone": "5687657876",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
],
"Customization": {
"BusinessLogoUrl": "https://www.spanenterprises.com/Content/Images/span.png"}
}
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"PayerRef": "NGD123",
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"TIN": "20-1652371",
"DBAId": "97a16024-c7d2-41d7-92fe-103341d58fa0",
"DBARef": "DBA NGD123"
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Mark Davis",
"CountryPhoneCode": "US",
"Phone": "5687657876",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
]
}
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": null,
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Mark Davis",
"CountryPhoneCode": "US",
"Phone": "5687657876",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
]
}
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"PayerRef": "NGD123",
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"TIN": "20-1652371",
"DBAId": "97a16024-c7d2-41d7-92fe-103341d58fa0",
"DBARef": "DBA NGD123"
},
"Recipients": [
{
"PayeeRef": "8987844654654658",
"Name": "Mark Davis",
"CountryPhoneCode": "US",
"Phone": "5687657876",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
]
}
{
"WebhookRef": "2E9C7CA0-F0CF-4257-99AA-7FD6CCFD9D4",
"SubmissionManifest": {
"IsTINMatching": false
},
"Requester": {
"PayerRef": "NGD123",
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"TIN": "20-1652371",
"DBAId": "97a16024-c7d2-41d7-92fe-103341d58fa0",
"DBARef": "DBA NGD123"
},
"Recipients": [
{
"PayeeRef": "1452631",
"Name": "Mark Davis",
"CountryPhoneCode": "US",
"Phone": "5687657524",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
},
{
"PayeeRef": null,
"Name": null,
"CountryPhoneCode": "US",
"Phone": "5687657876"
"Address": {
"Address1": "1201 Milford Poston Rd",
"Address2": "Main St",
"City": "Dothan",
"State": "AL",
"ZipCd": "36303"
}
}
],
"Customization": {
"BusinessLogoUrl": "https://www.spanenterprises.com/Content/Images/span.png"
},
"RedirectUrls": {
"ReturnUrl": "https://example.com",
"CancelUrl": "https://example.com"
}
}
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"PayerRef": "NGD123",
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"TIN": "20-1652371",
"DBAId": "97a16024-c7d2-41d7-92fe-103341d58fa0",
"DBARef": "DBA NGD123"
},
"Recipients": [
{
"PayeeRef": "PayeeRef007",
"Name": "Mark Davis",
"CountryPhoneCode": "US",
"Phone": "5687657876",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
],
"CustomizationId": "0ecbdb4f-4cf0-440f-b412-8793eeaf6ee1",
"Customization": {
"InterviewFlow": true,
"BusinessLogoUrl": "https://www.spanenterprises.com/Content/Images/span.png",
"LogoPosition": "RIGHT",
"PrimaryColor": "#46E62D",
"SecondaryColor": "#1321E6",
"PrefLang": "es-ES"
}
}
Response JSON
- 200
- 400
- 401
Success Response - This is a sample response for successful API requests.
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8"
},
"Recipients": [
{
"PayeeRef": "ER001",
"Name": "Mark Davis",
"CountryPhoneCode": "US",
"Phone": "5687657876"
}
]
}
Bad Request Response - You'll get the below response when your API requests contain any validation errors.
{
"SubmissionId": null,
"Requester": {
"PayerRef": "NGD123",
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"TIN": "20-1652371",
"DBAId": "97a16024-c7d2-41d7-92fe-103341d58fa0",
"DBARef": "DBA NGD123"
},
"FormW9Records": {
"SuccessRecords": null,
"ErrorRecords": [
{
"PayeeRef": "Pe8374",
"CountryPhoneCode": null,
"Phone": null,
"Errors": [
{
"Id": "F75-100031",
"Name": "Recipients.Phone[0]",
"Message": "Phone is required"
}
]
}
]
},
"Errors": null
}
Unauthorized Response - You'll get the below response when your API requests don't contain valid authentication credentials.
{
"StatusCode": 401,
"StatusName": "Unauthorized",
"StatusMessage": "Invalid authorization credentials",
"Errors": [
{
"Id": "AUTH-100025",
"Name": "Authorization",
"Message": "Authorization should not be empty"
}
]
}