Skip to main content
Version: 1.7.3

Webhook

Webhooks notify your system whenever there is a status update on a recipient’s Form W-9 submission. The webhook payload includes key data such as the recipient’s name, address, TIN, and a secure download link for the completed form.

For detailed information, Click here.

Configure the Webhook for W-9 Status

  1. Log in to the developer console.

  2. Navigate to Settings >> Webhooks.

  3. Click ‘Add Webhook’. Choose the event type as Form W-9 Status Change.

Webhook Settings

Add Webhook

  1. Enter your Callback URL where you want to receive notifications and click Save. You can add up to 5 Webhook URLs and choose the Callback URL to which the webhook response needs to be posted.
    Note:
    • Upon saving a webhook in TaxBandits, a unique Webhook Reference (GUID) is generated for each Callback URL you register.

    • Store these Webhook References on your end. When making API requests (e.g., to the FormW9/RequestByUrl endpoint), you can specify the preferred Callback URL by including the corresponding WebhookRef in the request JSON.

    • The WebhookRef node is optional. If you provide a WebhookRef, the webhook notifications for that request will be sent to the Callback URL tied to the specified Webhook Reference.

    • If you do not specify a WebhookRef, webhook notifications will be sent to your default Callback URL (usually Callback URL 1).

    • Ensure your callback URL is valid and publicly accessible. Upon saving, the API sends a sample JSON payload to your callback URL.

    • Your server must respond with HTTP status code 200 to keep the webhook active.

    • If your callback URL does not return HTTP 200, the webhook will become inactive. You can retry posting sample data to reactivate it.

info

By default, the webhook response will include the recipient’s TIN. If you prefer not to include the TIN, you can adjust this preference in the console. See how

Response Body

FieldTypeDescription
SubmissionIdGuidA Unique identifier of a submission
WebhookRefGuid
  • A unique identifier of the Webhook that TaxBandits generates against each Callback URL when adding it in the console site.
  • If you pass the WebhookRef in the request JSON, we will post the webhook response to the corresponding Callback URL. If you don't pass one, the webhook response will be posted to the default Callback URL.
RequesterobjectRequester information.
    BusinessIdGuidA Unique identifier of a business
    BusinessNmStringRequester 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.
    FirstNmstringFirst Name of the Individual
    MiddleNmstringMiddle Name of the Individual
    LastNmstringLast Name of the individual
    SuffixstringSuffix of the Individual
    TINTypestringTIN Type of the Requester.
    TINstringTaxpayer Identification Number of the requester.
    DBAIdGuidUnique Identifier for the DBA.
    DBARefGuidUnique identifier for each DBA. This identifier can be used in future references of the DBA in the API
PayeeRefstringA Unique identifier of the recipient
W9StatusstringRecordStatus Status of the W-9
StatusTsstringTimestamp of the W-9 Status.
TINMatchingObjectTIN Matching information.
    StatusStringTIN Matching status.
    StatusTsStringTimestamp of the TIN Matching Status.
    StatusMsgStringStatus message of the TIN Matching.
    Errorsobject[]Shows the detailed error message.
FormW9RequestTypestringForm W-9 requested Type.
  • URL_API - Form W-9 was requested using the RequestByURL method.
  • Email_API - Form W-9 was requested using the RequestByEmail method.
  • Email_UI - Form W-9 was requested from the TaxBandits UI application.
PdfUrlstringURL to download the completed W-9.
Note: This URL will expire in 24 hours.
EmailstringEmail address of the recipient. This is the email to which the W-9 request was sent.(The value will be null if the Form W-9 was requested using the RequestByUrl method).
FormDataobjectForm W-9 details of the recipient.
    Line1NmstringName as shown on the income tax return.
    Line2NmstringBusiness name/disregarded entity name, if different from Line1 Name.
    FirstNmstringFirst Name of the Individual
    MiddleNmstringMiddle Name of the Individual
    LastNmstringLast Name of the individual
    SuffixstringSuffix of the Individual
    TINTypestringTIN type of the recipient
    TINstringRecipient’s TIN.
    AddressobjectRecipient’s complete address
    Address1stringRecipient’s Address 1 (street address or post office box of that locality). This will be pre-filled on the Form.
    Address2stringRecipient’s Address 2 (suite or apartment number). This will be pre-filled on the Form.
        CitystringRecipient’s City
        StatestringRecipient’s State
        ZipCdstringRecipient’s Zip Code
    AccountNumstringRecipient’s account number. You can use this field to enter any identification number you have for the recipient.
    FederalTaxClassificationstringU.S. Federal Tax Classification of the person whose name is entered on line 1
    IsLine3bBooleanIf TRUE, identifies that the recipient is
  1. Either a partnership, trust or estate that has foreign partners, owners, or beneficiaries and the recipient is providing this form to a partnership, trust, or estate, in which they have an ownership interest. (or)
  2. Received a Form W-8 from any partner, owner, or beneficiary establishing foreign status (or)
  3. Received a Form W-9 from any partner, owner, or beneficiary that has checked the box on line 3b.
    ExemptPayeeCdstringThis code identifies recipients that are exempt from backup withholding.
    ExemptFromFATCAstringThis code identifies recipients that are exempt from reporting under FATCA.
    IsBackUpWHBooleanWhen true, identifies the recipient is subject to backup withholding. The completed Form W-9 PDF will have the item 2 under Part II crossed out. When false, identifies the recipient is not subject to backup withholding.
ErrorsObject[]Detailed error information.
    IdstringError ID number. This ID is assigned by TaxBandits and it is unique for each error.
    NamestringName of the errored node.
    MessagestringShows the error message

Scenario 1: Recipient completes Form W-9, status changes to ‘Completed and TIN Matching In Progress’. You receive a webhook notification with the status update. PdfUrl is included to download the completed form.

{
"SubmissionId": "75838ff2-8e57-49eb-8fa0-3d8d7ca4c006",
"WebhookRef":"99db0874-e749-48d6-b96f-de6447d03667",
"Requester": {
"BusinessId": "7b0e44d7-17f1-4dc8-87a2-5e4d18b10929",
"PayerRef": "Pay140054",
"BusinessNm": "Snowdaze LLC",
"FirstNm": null,
"MiddleNm": null,
"LastNm": null,
"Suffix": null,
"TINType": "EIN",
"TIN": "86-5923037",
"DBAId": null,
"DBARef": null
},
"PayeeRef": "pay2147",
"RecipientId": "17c639fe-14f2-46ca-9e74-a510a47eb1d5",
"W9Status": "COMPLETED_AND_TIN_MATCH_INPROGRESS",
"StatusTs": "2024-07-30 05:04:35 -04:00",
"TINMatching": {
"Status": "ORDER_CREATED",
"StatusTs": "2024-07-30 05:04:36 -04:00",
"StatusMsg": null,
"Errors": null
},
"FormW9RequestType": "URL_API",
"PdfUrl": "https://s3.amazonaws.com/taxbandits-sb-api/7cc37d30-d645-408d-986f-6ee79b91adfc.Pdf",
"Email": null,
"FormData": {
"Line1Nm": "michal k william Jr",
"Line2Nm": null,
"FirstNm": "michal",
"MiddleNm": "k",
"LastNm": "william",
"Suffix": "Jr",
"TINType": "SSN",
"TIN": "665-74-5684",
"Address": {
"Address1": "71 SAINT NICHOLAS DR",
"Address2": null,
"City": "NORTH POLE",
"State": "AK",
"ZipCd": "99705-7752"
},
"AccountNum": "42526325",
"FederalTaxClassification": "Individual or Sole proprietor or Single-member LLC",
"IsLine3b": false,
"ExemptPayeeCd": null,
"ExemptFromFATCA": null,
"IsBackUpWH": false
},
"Errors": null
}

Scenario 2: Recipient completes Form W-9, status changes to ‘Completed with successful TIN Matching’. Webhook notifies your system. PdfUrl included for download.

{
"SubmissionId": "75838ff2-8e57-49eb-8fa0-3d8d7ca4c006",
"WebhookRef": null,
"Requester": {
"BusinessId": "7b0e44d7-17f1-4dc8-87a2-5e4d18b10929",
"PayerRef": "Pay140054",
"BusinessNm": "Snowdaze LLC",
"FirstNm": null,
"LastNm": null,
"MiddleNm": null,
"Suffix": null,
"TINType": "EIN",
"TIN": "XX-XXX3037",
"DBAId": null,
"DBARef": null
},
"PayeeRef": "pay2147",
"RecipientId": "17c639fe-14f2-46ca-9e74-a510a47eb1d5",
"W9Status": "COMPLETED",
"StatusTs": "2024-07-30 05:19:49 -04:00",
"TinMatching": {
"Status": "SUCCESS",
"StatusTs": "2024-07-30 05:19:48 -04:00",
"StatusMsg": null,
"Errors": null
},
"FormW9RequestType": "URL_API",
"PdfUrl": "https://s3.amazonaws.com/taxbandits-dev-api/7cc37d30-d645-408d-986f-6ee79b91adfc.Pdf",
"Email": null,
"FormData": {
"Line1Nm": null,
"Line2Nm": null,
"FirstNm": "michal",
"LastNm": "william",
"MiddleNm": "k",
"Suffix": "Jr",
"TINType": "SSN",
"TIN": "665-74-5684",
"Address": {
"Address1": "71 SAINT NICHOLAS DR",
"Address2": null,
"City": "NORTH POLE",
"State": "AK",
"ZipCd": "99705-7752"
},
"AccountNum": "42526325",
"FederalTaxClassification": "Individual or Sole proprietor or Single-member LLC",
"IsLine3b": false,
"ExemptPayeeCd": null,
"ExemptFromFATCA": null,
"IsBackUpWH": false,
"OtherDescription": null
},
"Errors": null
}

Scenario 3: Recipient completes Form W-9, status changes to Invalid due to TIN Matching failure. Webhook notification sent. PdfUrl still provided for reference.

{
"SubmissionId": "4a36dc14-f059-4c89-83cd-ff9e350ed0a0",
"WebhookRef": null,
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "Snowdaze LLC",
"TINType": "EIN",
"TIN": "22-2222222"
},
"PayeeRef": "Pe123451234",
"W9Status": "Invalid",
"StatusTs": "2021-02-19 14:36:28 -04:00",
"TINMatching": {
"Status": "Failed",
"StatusTs": "2021-06-10 07:16:01 -04:00",
"StatusMsg": null,
"Errors": null
},
"FormW9RequestType": "URL_API",
"PdfUrl": "https://taxbandits-sb-api.s3.amazonaws.com/sample/807f0318-7f5a-4841-9c08-a88b4bf7e7d9.pdf",
"Email": "sample@bodeem.com",
"FormData": {
"Line1Nm": "ABC Inc",
"Line2Nm": null,
"TINType": "EIN",
"TIN": "11-1111111",
"Address": {
"Address1": "123 E. Main St",
"Address2": "Suite 400",
"City": "Rock Hill",
"State": "SC",
"ZipCd": "29730"
},
"AccountNum": "42526326",
"FederalTaxClassification": "C Corporation",
"IsLine3b": true,
"ExemptPayeeCd": "5",
"ExemptFromFATCA": "E"
},
"Errors": null
}

Scenario 4: The recipient has completed Form W-9 but has not provided the TIN, so the status has changed to ‘AWAITING_TIN_CERTIFICATE’. A reminder will be sent via Webhook before the expiration date. PdfUrl is provided to download the completed Form W-9.

{
"SubmissionId": "75838ff2-8e57-49eb-8fa0-3d8d7ca4c006",
"WebhookRef": null,
"Requester": {
"BusinessId": "7b0e44d7-17f1-4dc8-87a2-5e4d18b10929",
"PayerRef": "Pay140054",
"BusinessNm": "Snowdaze LLC",
"FirstNm": null,
"LastNm": null,
"MiddleNm": null,
"Suffix": null,
"TINType": "EIN",
"TIN": "XX-XXX3037",
"DBAId": null,
"DBARef": null
},
"PayeeRef": "pay2147",
"RecipientId": "17c639fe-14f2-46ca-9e74-a510a47eb1d5",
"W9Status": "AWAITING_TIN_CERTIFICATE",
"ExpireDate": "07-30-2024",
"StatusTs": "2024-07-30 05:19:49 -04:00",
"TinMatching": null,
"FormW9RequestType": "URL_API",
"PdfUrl": "https://s3.amazonaws.com/taxbandits-dev-api/7cc37d30-d645-408d-986f-6ee79b91adfc.Pdf",
"Email": null,
"FormData": {
"Line1Nm": null,
"Line2Nm": null,
"FirstNm": "michal",
"LastNm": "william",
"MiddleNm": "k",
"Suffix": "Jr",
"TINType": "SSN",
"TIN": "665-74-5684",
"Address": {
"Address1": "71 SAINT NICHOLAS DR",
"Address2": null,
"City": "NORTH POLE",
"State": "AK",
"ZipCd": "99705-7752"
},
"AccountNum": "42526325",
"FederalTaxClassification": "Individual or Sole proprietor or Single-member LLC",
"IsLine3b": false,
"ExemptPayeeCd": null,
"ExemptFromFATCA": null,
"IsBackUpWH": false,
"OtherDescription": null
},
"Errors": null
}

Scenario 5: No reference ID has been passed in the WebhookRef node of the request. The recipient has completed Form W-9, has provided the ITIN and TIN Matching as true and Status is updated as ‘SUCCESS’. The payload will be posted to the default Callback URL, i.e., Callback URL 1.

{
"SubmissionId": "617140eb-7de8-4259-98ac-14776eef249b",
"WebhookRef":"99db0874-e749-48d6-b96f-de6447d03667",
"Requester": {
"BusinessId": "51cd2f9f-046c-47c4-988f-7f83c2bdd3ee",
"PayerRef": null,
"BusinessNm": "James Smith",
"FirstNm": "James",
"MiddleNm": null,
"LastNm": "Smith",
"Suffix": null,
"TINType": "SSN",
"TIN": "XXX-XX-6767",
"DBAId": null,
"DBARef": null
},
"PayeeRef": "Pe6999",
"RecipientId": "22971d38-4349-4ee0-9e1b-97ab82a740eb",
"W9Status": "COMPLETED",
"ExpireDate": null,
"StatusTs": "2025-10-12 00:37:23 -04:00",
"TINMatching": {
"Status": "SUCCESS",
"StatusTs": "2025-10-12 00:37:23 -04:00",
"StatusMsg": null,
"Errors": null
},
"FormW9RequestType": "URL_API",
"PdfUrl": "https://s3.amazonaws.com/taxbandits-dev-api/b0c4e691-89dd-45d9-8aab-160ae31eec0a.Pdf",
"Email": null,
"FormData": {
"Line1Nm": "Henry David",
"Line2Nm": "Technologic",
"FirstNm": "Henry",
"MiddleNm": null,
"LastNm": "David",
"Suffix": null,
"TINType": "ITIN",
"TIN": "XXX-XX-7734",
"Address": {
"Address1": "2603 Kinsey Road",
"Address2": "Main Street",
"City": "DOTHAN",
"State": "AL",
"ZipCd": "36303",
"Country": "US"
},
"AccountNum": null,
"FederalTaxClassification": "Individual or Sole proprietor or Single-member LLC",
"IsLine3b": false,
"ExemptPayeeCd": null,
"ExemptFromFATCA": null,
"IsBackUpWH": false
},
"Errors": null
}