Status
Status
Use this endpoint to retrieve the status of all Form W-9 or W-8BEN requests (both complete and incomplete) associated with a specific recipient (payee).
As an alternative to using this endpoint, you can configure webhooks for the event type 'WhCertificate Status Change Webhook'. You also have the option to enable web messaging for status updates.
Key Points
- If multiple forms exist for the same PayeeRef, all statuses will be returned as an array.
- If no BusinessId is provided, the API will return the statuses for the recipient with a matching email or PayeeRef linked under your default business.
WHCertificate Statuses
| Status | Applies to RequestByEmail | Applies to RequestByUrl /RequestByBusinessUrl | Description |
|---|---|---|---|
| URL_GENERATED | ✅ | ✅ | The URL was generated, but the recipient hasn’t opened it yet. |
| ORDER_CREATED | ✅ | N/A | The request was created but has not yet been processed by TaxBandits. |
| SCHEDULED | ✅ | N/A | The email has been scheduled to be sent to the recipient. |
| SENT | ✅ | N/A | W-9/W-8 form email has been sent to the recipient. |
| OPENED | ✅ | ✅ | The recipient has opened the form link but has not completed it. |
| COMPLETED | ✅ | ✅ | The recipient completed and signed the form |
| AWAITING_TIN_CERTIFICATE | ✅ | ✅ | The recipient has completed and signed Form W-9 but has not provided their TIN. |
| COMPLETED_AND_TIN_MATCH_INPROGRESS | ✅ | ✅ | Form completed, and TIN Matching is still processing. |
| INVALID | ✅ | ✅ | TIN Matching failed; the form is now invalid. |
| BOUNCED | ✅ | N/A | The email could not be delivered. This may occur due to:
|
| ORDER_NOT_CREATED | ✅ | ✅ | A TIN Matching request was not created since the provided TIN type is not applicable for TIN Matching. |
TIN Matching Status Codes (Applicable only for W-9)
- ORDER_CREATED - The recipient completed the Form W-9, and a TIN Matching order is created in Taxbandits. The TIN Matching request is yet to be sent to the IRS.
- SUCCESS - The recipient’s Name and TIN combination match the records in the IRS database.
- FAILED - The recipient’s Name and TIN combination do not match the records in the IRS database.
GET WhCertificate/Status Request Params
| Field | Type | Description |
|---|---|---|
| PayeeRef | String | A unique identifier for each recipient completing the Form W-9 and W-8 series. Size Range: 1-50 |
| BusinessId | Guid | Optional A Unique Business Identifier. If you do not supply the BusinessId in the request, the BusinessId of the default business will be mapped. |
| TIN | String | Optional Taxpayer Identification Number. Use this as an alternative for BusinessId. Size Range: 9-11. |
| String | Email Address of the recipient. Size Range: 1-100 | |
| 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" |
Response Body
| Field | Type | Description |
|---|---|---|
| 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. |
| TINType | String | TIN Type of the Requester. |
| TIN | String | Taxpayer Identification Number of the requester. |
| PayeeRef | String | A unique identifier of the recipient. |
| TotalRecords | int | The number of records available for the Payee Reference |
| Status | Object[] | Statuses of the records for the recipient Allowed values"URL_GENERATED" ,"ORDER_CREATED" ,"SCHEDULED" ,"SENT" ,"OPENED" ,"COMPLETED" ,"AWAITING_TIN_CERTIFICATE" ,"COMPLETED_AND_TIN_MATCH_INPROGRESS" ,"INVALID" ,"BOUNCED" ,"ORDER_NOT_CREATED" |
| SubmissionId | Guid | Submission ID of the original Form Request |
| FormType | String | Form Type W-9 or W-8series. |
| FormStatus | String | Status of the form. |
| StatusTs | String | Timestamp of the Form status. |
| TINMatching | Object | TIN Matching information. |
| Status | String | TIN Matching status. |
| StatusTs | String | Timestamp of the TIN Status. |
| Errors | Object[] | Shows detailed error information of the API request. |
| ID | String | Error ID number assigned by TaxBandits and it is unique for each error. |
| Name | String | Name of the errored node. |
| Message | String | Shows the error message. |
Request Params
- Sample 1
- Sample 2
- Sample 3
- Sample 4
Get W-9 status of a recipient with PayeeRef and BusinessId.
WhCertificate/Status?PayeeRef=Pe123451234&BusinessId=1df66ad8-cb70-4b3f-9b9b-a216bd72814698F620
Get W-9 status of a recipient with Payee Reference and BusinessId. This recipient was requested to complete W-9 multiple times using the same PayeeRef.
WhCertificate/Status?PayeeRef=Pe123451234&BusinessId=1df66ad8-cb70-4b3f-9b9b-a216bd728146
Get W-9 status of a recipient with PayeeRef and TIN.
WhCertificate/Status?PayeeRef=Pe123451234&TIN=122222222
Get W-9 status of a recipient with PayeeRef and no Requester (BusinessId or TIN) information.
WhCertificate/Status?PayeeRef=Pe123451234
Response JSON
- 200
- 400
- 401
Success Response - This is a sample response for successful API requests.
{
"Requester": {
"BusinessId": "1df66ad8-cb70-4b3f-9b9b-a216bd728146",
"BusinessNm": "Snowdaze LLC",
"TINType": "EIN",
"TIN": "XX-XXX2222"
},
"PayeeRef": "Pe123451234",
"TotalRecords": 1,
"Status": [
{
"SubmissionId": "23f02d75-cdb5-46d4-99c7-1395911a1c6d",
"FormType": "FormW9",
"FormStatus": "COMPLETED_AND_TIN_MATCH_INPROGRESS",
"StatusTs": "2025-09-29 02:57:17 -04:00",
"TINMatching": {
"Status": "ORDER_CREATED",
"StatusTs": "2025-09-29 03:30:14 -04:00",
"Errors": null
}
}
],
"Errors": null
}
Bad Request Response - You'll get the below response when your API requests contain any validation errors.
{
"Requester": {
"BusinessId": "a20b6f77-664f-4aa4-93f4-e0bde09bbf92",
"PayerRef": "Pe4520",
"BusinessNm": "Lehner, Glover and Thiel",
"FirstNm": null,
"MiddleNm": null,
"LastNm": null,
"Suffix": null,
"TINType": "EIN",
"TIN": "XX-XXX5706"
},
"PayeeRef": null,
"Email": null,
"TotalRecords": 0,
"Status": null,
"Errors": [
{
"Id": "F08-100028",
"Name": "PayeeRef",
"Message": "The Payee Reference is not associated with given Business"
}
]
}
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"
}
]
}