RequestByEmail
This is a payer-initiated method wherein our API endpoint will be used to send an email request to the payees for the completion of W-9 forms.
This endpoint sends a unique URL via email to enable the payees to complete their W-9 Forms. In order to generate this unique URL, the payee’s email address is required. Once they complete the Form W-9 using this URL, you will receive a notification through Webhook regarding the W-9 completion.
How does it work?
-
Like any other TaxBandits API Endpoint, the first step is to call the notification to get the access token. This access token must be provided in the request header as the ‘Bearer‘ token. Refer to the OAuth 2.0 Authentication for more information on JWT authentication and integrating with subsequent requests.
-
The second step is to call the [POST] FormW9/RequestByEmail endpoint with the following values:
- Access Token in the header as Bearer Token (Generated using TaxBandits OAuth authentication API).
- Payee Email Address - The link to complete W-9 will be sent to this email address.
- Payee Reference (Optional) - A unique identifier for each payee who completes Form W-9. This identifier will be used in future references of the payee in the API.
- Payee Name and Address (Optional) - The payee information will be pre-filled on the form when passed in the request.
- Requester (Business Id or TIN) (optional) - To identify and save the W-9 under a particular business. Refer to the Business endpoint to learn more about creating a business in TaxBandits. If you don’t provide a Business id or TIN in the request, the W-9 will be associated with the default business, i.e., the first business created in your account.
- DBA Reference (Optional) - If you have multiple DBA names for your business, you can provide the DBA name you want to use as the Requester Name on W-9 forms.
- Customizations (Optional) - You can provide the following things in your request for customization.
- Business Logo - You can provide your business logo and its position.
- Color Theme - Specify the primary and secondary colors of the page.
- Interview-Style - As an alternative to direct-form entry, provide your recipients with an interview-style W-9 completion.
- ShowDownloadPage - Choose whether or not to provide your recipients with the option to download their completed form.
-
TaxBandits will send the W-9 request emails to the payees. The email will have the link to complete Form W-9.
-
The payees will complete and e-sign Form W-9 in a secure portal. The secured portal can be white-labeled with your URL, logo, and theme.
-
Once the payee completes and signs the Form W-9, you will be notified via Webhook. The Webhook payload will have the W-9 information, such as the name, address, EIN/SSN, etc., along with the link to download the completed Form W-9.
Refer to Form W-9 webhook to learn more about webhook setup and sample payload.
-
If IsTINMatching is set to ‘TRUE’, TaxBandits will validate the payee’s TIN against the IRS database.
POST FormW9/RequestByEmail
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/RequestByEmail. 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 |
Name | string | Name of the recipient. Size Range: ..40 |
string | Email Address of the recipient. This is the email address to which the W-9 request email will be sent. Size Range: ..100 | |
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 in the console. Note: You can customize the W-9/W-8 page (secure URL) with your own logo, fav icon, primary and secondary colors, and email. |
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. |
Request JSON
- Sample 1
- Sample 2
- Sample 3
- Sample 4
- Sample 5
- Sample 6
- Sample 7
Pass the BusinessId, recipient’s name,email address and customizations. W-9 email requests will be triggered to recipients. (Make sure the Form W-9 Status Change Webhook is configured.)
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"PayerRef": null,
"TIN": null,
"DBAId": null,
"DBARef": null
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Mark Davis",
"Email": "mark@sample.com",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
],
"Customization": {
"BusinessLogoUrl": "https://www.spanenterprises.com/Content/Images/span.png"}
}
Pass the BusinessId, recipient’s name, and email address. W-9 email requests will be triggered to recipients. (Make sure the Form W-9 Status Change Webhook is configured.)
{
"SubmissionManifest": {
"IsTINMatching": true",
"TINType": "EIN",
"PayerRef": "FJK123W",
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Mark Davis",
"Email": "mark@sample.com",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
]
}
Pass the Business TIN instead of BusinessId along with recipient information. (TIN must be associated with a business in the account.)
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": null,
"TIN": "22-2222222",
"TINType": "EIN",
"DBAId": null,
"DBARef": null
"PayerRef": "FJK123W"
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Mark Davis",
"Email": "mark@sample.com",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
]
}
Pass just the recipient information without the Business (Requestor) details and request TIN Matching on the W-9 submissions. The recipients will be tied to the default business.
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": null,
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Mark Davis",
"Email": "mark@sample.com",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
]
}
Pass the W-9 request with an invalid email address format.
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": null,
"TIN": "22-2222222",
"TINType": "EIN",
"PayerRef": "FJK123W"
"DBAId": null,
"DBARef": null
},
"Recipients": [
{
"PayeeRef": "8987844654654658",
"Name": "Mark Davis",
"Email": "mark@sample.com",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
}
]
}
RequestByEmail with DBA details
{
"WebhookRef": null,
"SubmissionManifest": {
"IsTINMatching": false
},
"Requester": {
"BusinessId": null,
"PayerRef": null,
"TIN": null,
"DBAId": "dfb13337-f49b-42fb-b989-07c674a7b81c",
"DBARef": "#001"
},
"Recipients": [
{
"PayeeRef": "1452631",
"Name": "Mark Davis",
"Email": "mark@sample.com",
"Address": {
"Address1": "201 KATLIAN ST",
"Address2": "STE. 108",
"City": "SITKA",
"State": "AK",
"ZipCd": "99835"
}
},
{
"PayeeRef": null,
"Name": null,
"Email": "Geffry@sample.com",
"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"
}
}
Request Email for Form W-9 with Payer Reference and opt for Customization and TIN Matching
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": "959763e4-26d3-4d52-a8eb-b954b22616fd",
"PayerRef": "Pay025",
"TIN": "865923062",
"DBAId": null,
"DBARef": null
},
"Recipients": [
{
"PayeeRef": "PayeeRef007",
"Name": "Mark Davis",
"Email": "markdavis@sample.com",
"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"
}
}
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. |
String | Email Address of the recipient to which W-9 request was sent. | |
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. |
String | Email Address of the recipient given in the request | |
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. |
Response JSON
- Response 1
- Response 2
- Response 3
- Response 4
- Response 5
- Response 6
- Response 7
The response will contain the W-9 request for the recipient included in the submission with the customizations updated on the W-9 page. When a recipient submits the FORM W-9, the Form W-9 Status Change Webhook payload will include the W-9 data.
{
"SubmissionId": "54755d41-4883-4ae6-9bf5-48d8482b50a1",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"PayerRef": "aATT12",
"BusinessNm": "Express Solutions",
"TINType": "EIN",
"TIN": "00-7711148",
"DBAId": null,
"DBARef": null
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "1",
"Email": "mark@sample.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2023-10-26 01:32:01 -04:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
A single submission contains W-9 requests to multiple recipients. All W-9s in this submission are linked to the same BusinessId. When a recipient submits the FORM W-9, the Form W-9 Status Change Webhook payload will include the W-9 data.
{
"SubmissionId": "5a7ddb71-a6ac-4312-ab09-7ad9a2b3507d",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "Snowdaze LLC",
"TINType": "EIN",
"TIN": "22-2222222",
"PayerRef": "FJK123W"
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "8987844654654654",
"Email": "mark@sample.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2021-03-09 05:21:56 -05:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
All W-9s in this submission are linked to the same Business TIN. Upon W-9 submission, the Form W-9 Status Change Webhook payload will include the W-9 data.
{
"SubmissionId": "5a7ddb71-a6ac-4312-ab09-7ad9a2b3507d",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "Snowdaze LLC",
"TINType": "EIN",
"TIN": "22-2222222",
"PayerRef": "FJK123W"
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "8987844654654654",
"Email": "mark@sample.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2021-03-09 05:21:56 -05:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
All W-9s in this submission are linked to the default business. The requestor information of default business is returned along with order details. Upon W-9 submission, the Form W-9 Status Change Webhook payload will include W-9 and TIN Matching statuses.
{
"SubmissionId": "5a7ddb71-a6ac-4312-ab09-7ad9a2b3507d",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "William Enterprises",
"TINType": "EIN",
"TIN": "22-2222222",
"PayerRef": "FJK123W"
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "8987844654654654",
"Email": "mark@sample.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2021-03-09 05:21:56 -05:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
The order is not created, and an invalid email format error is returned in the ErrorRecords tag.
{
"SubmissionId": "5a7ddb71-a6ac-4312-ab09-7ad9a2b3507d",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "Snowdaze LLC",
"TINType": "EIN",
"TIN": "22-2222222",
"PayerRef": "FJK123W"
},
"FormW9Records": {
"SuccessRecords": null,
"ErrorRecords": [
{
"PayeeRef": "8987844654654658",
"Email": "mark@sample.com",
"Errors": [
{
"Id": "F08-100022",
"Name": "Email",
"Message": "Invalid Email address."
}
]
}
]
},
"Errors": null
}
{
"SubmissionId": "d2faea09-d822-4e87-bf73-f21bec61f3e3",
"Requester": {
"BusinessId": "2f7db6c1-c7aa-4dd0-8ae3-e45e4c5db106",
"PayerRef": "96459",
"BusinessNm": "Snowdaze LLC",
"TINType": "SSN",
"TIN": "644-51-5744",
"DBAId": "dfb13337-f49b-42fb-b989-07c674a7b81c",
"DBARef": "#001"
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "1452631",
"Email": "mark@sample.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2024-04-03 08:06:12 -04:00"
},
{
"PayeeRef": null,
"Email": "Geffry@sample.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2024-04-03 08:06:12 -04:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
{
"SubmissionId": "5e2cdda5-2ae8-4ca7-8252-2de66e3829f6",
"Requester": {
"BusinessId": "959763e4-26d3-4d52-a8eb-b954b22616fd",
"PayerRef": "Pay025",
"BusinessNm": "Snowdaze LLC",
"FirstNm": null,
"MiddleNm": null,
"LastNm": null,
"Suffix": null,
"TINType": "EIN",
"TIN": "86-5923062",
"DBAId": null,
"DBARef": null
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "PayeeRef007",
"Email": "markdavis@sample.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2024-09-18 01:57:37 -04:00"
}
],
"ErrorRecords": null
},
"Errors": null
}