RequestPdfUrls
RequestPdfUrls
This endpoint retrieves PDF copies of a Form 1099 for a single recipient or multiple recipients. Request the PDF URLs by providing the RecordId associated with the returns.
Key points
- This endpoint does not generate new PDFs - it only retrieves links to PDFs that already exist in the system.
- PDF URLs are returned only if they've already been generated by TaxBandits. This endpoint will not work for in-progress returns.
GET form1099/requestpdfurls Request Body
| Field | Type | Description |
|---|---|---|
| TINMaskType | string | Optional Mention whether you want the TIN to be masked in the PDF. If masked, only the last digits of the SSN will be visible, and the rest of the digits will be crossed out (xxx-xx-1234).Allowed values"MASKED", "UNMASKED", "BOTH" |
| RecordId | string | A unique identifier generated by TaxBandits when a return is created. Mention the return's RecordId that you want to request PDF. |
Response Body
| Field | Type | Description |
|---|---|---|
| FormType | string | Denotes the type of the form. |
| Form1099Records | object[] | Pulls the form records with Success and Error statuses; the successful records with PDF URLs if the forms are generated. |
| RecordId | Guid | A unique identifier of the return. |
| Status | string | Status of the PDF in TaxBandits Servers. The PDF is generated, and you can download it. |
| Files | object | Contains multiple copies of a particular return. |
| Copy1 | object | Copy 1: For State Tax Department. |
| Unmasked | string | Link to download the Unmasked copy. |
| UnmaskedPath | string | The storage path of the unmasked TIN. |
| Masked | string | Link to download the Masked copy. |
| MaskedPath | string | The storage path of the masked TIN. |
| Copy2 | object | Copy 2: To be filed with the recipient state income tax return, when required. |
| Unmasked | string | Link to download the Unmasked copy. |
| UnmaskedPath | string | The storage path of the unmasked TIN. |
| Masked | string | Link to download the Masked copy. |
| MaskedPath | string | The storage path of the masked TIN. |
| CopyB | object | Copy B: For Recipient. |
| Unmasked | string | Link to download the Unmasked copy. |
| UnmaskedPath | string | The storage path of the unmasked TIN. |
| Masked | string | Link to download the Masked copy. |
| MaskedPath | string | The storage path of the masked TIN. |
| CopyC | object | Copy C: For Payer. |
| Unmasked | string | Link to download the Unmasked copy. |
| UnmaskedPath | string | The storage path of the unmasked TIN. |
| Masked | string | Link to download the Masked copy. |
| MaskedPath | string | The storage path of the masked TIN. |
| ErrorRecords | object[] | Contains the error records. |
| RecordId | Guid | Unique identifier of the return. |
| Status | string | Status of the error record PDF. "Not_Generated_PDF" is yet to be generated. You will have to wait and send a new API request to get the PDF. "NotTransmitted" - the return is not transmitted yet. Invalid RecordId - Given RecordId is invalid. |
| Message | string | Description of each status. |
| Errors | object[] | Lists the errors in the API call. |
| Id | string | Returns the error ID. |
| Name | string | Name of the validation error. |
| Message | string | Description of the validation error. |
Payload

Go Lang
Node.js
Python
.NET C#

Ruby
Java

cURL
Request Params
| Sample | Description | Action |
|---|---|---|
| Sample 1 | Query Params - Request PDF URLs for generated Form 1099 returns using RecordId and TINMaskType. |
Sample 1
form1099/requestpdfurls?RecordId=cfa818b8-6661-4b57-b04b-ba9ead52a16e&TINMaskType=MASKED
Response JSON
| Response | Description | Action |
|---|---|---|
| 200 | Success Response - This is a sample response for successful API requests. | |
| 400 | Bad Request Response - You'll get the below response when your API requests contain any validation errors. |
Response: 200
{
"SubmissionId": "d95658f5-d7c5-4734-ad67-96134fca6626",
"FormType": "Form1099NEC",
"Form1099Records": [
{
"RecordId": "8baa39f7-7955-4bc1-acb3-3bd54028051b",
"Status": "Success",
"Copy1": {
"Unmasked": [
"https://expressirsforms.s3.us-east-1.amazonaws.com/pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/36323837/u/copy1_1up_36323837.pdf",
"pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/u/36323837/u/copy1_1up_36323837.pdf"
],
"MaskedPath": [
"https://expressirsforms.s3.us-east-1.amazonaws.com/pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/36323837/m/copy1_1up_36323837.pdf",
"pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/m/36323837/m/copy1_1up_36323837.pdf"
]
},
"Copy2": {
"Unmasked": [
"https://expressirsforms.s3.us-east-1.amazonaws.com/pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/36323837/u/copy2_1up_36323837.pdf",
"pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/u/36323837/u/copy2_1up_36323837.pdf"
],
"Masked": [
"https://expressirsforms.s3.us-east-1.amazonaws.com/pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/36323837/m/copy2_1up_36323837.pdf",
"pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/m/36323837/m/copy2_1up_36323837.pdf"
]
},
"CopyB": {
"Unmasked": [
"https://expressirsforms.s3.us-east-1.amazonaws.com/pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/36323837/u/copyb_1up_36323837.pdf",
"pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/u/36323837/u/copyb_1up_36323837.pdf"
],
"MaskedPath": [
"https://expressirsforms.s3.us-east-1.amazonaws.com/pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/36323837/m/copyb_1up_36323837.pdf",
"pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/m/36323837/m/copyb_1up_36323837.pdf"
]
},
"CopyC": {
"Unmasked": [
"https://expressirsforms.s3.us-east-1.amazonaws.com/pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/36323837/u/copyc_1up_36323837.pdf",
"pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/u/36323837/u/copyc_1up_36323837.pdf"
],
"MaskedPath": [
"https://expressirsforms.s3.us-east-1.amazonaws.com/pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/36323837/m/copyc_1up_36323837.pdf",
"pdfs/f52ee15-25c8-41d0-83af-f68794a8cb94/099dc5ab-9f57-42f9-b4ee-9683925777f2/m/36323837/m/copyc_1up_36323837.pdf"
]
},
"ErrorRecords": null,
"Errors": null
}
]
}
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "<APIURL>/v2.0.0/Form1099/requestpdfurls?RecordId=cfa818b8-6661-4b57-b04b-ba9ead52a16e&TINMaskType=MASKED"
method := "GET"
// GET request does not require a request body
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "<ACCESS_TOKEN>")
client := &http.Client{}
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
const axios = require('axios');
let data = '';
let config = {
method: 'get',
maxBodyLength: Infinity,
url: '<APIURL>/v2.0.0/Form1099/requestpdfurls?RecordId=cfa818b8-6661-4b57-b04b-ba9ead52a16e&TINMaskType=MASKED',
headers: {
'Content-Type': 'application/json',
'Authorization': '<ACCESS_TOKEN>'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import http.client
import json
conn = http.client.HTTPSConnection("<APIURL>")
payload = ''
headers = {
'Content-Type': 'application/json',
'Authorization': '<ACCESS_TOKEN>'
}
conn.request("GET", "/v2.0.0/Form1099/requestpdfurls?RecordId=cfa818b8-6661-4b57-b04b-ba9ead52a16e&TINMaskType=MASKED", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "<APIURL>/v2.0.0/Form1099/requestpdfurls?RecordId=cfa818b8-6661-4b57-b04b-ba9ead52a16e&TINMaskType=MASKED");
request.Headers.Add("Authorization", "<ACCESS_TOKEN>");
var content = new StringContent("", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "json"
require "net/http"
url = URI("<APIURL>/v2.0.0/Form1099/requestpdfurls?RecordId=cfa818b8-6661-4b57-b04b-ba9ead52a16e&TINMaskType=MASKED")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "<ACCESS_TOKEN>"
response = http.request(request)
puts response.read_body
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("<APIURL>/v2.0.0/Form1099/requestpdfurls?RecordId=cfa818b8-6661-4b57-b04b-ba9ead52a16e&TINMaskType=MASKED")
.method("GET", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "<ACCESS_TOKEN>")
.build();
Response response = client.newCall(request).execute();
curl --location '<APIURL>/v2.0.0/Form1099/requestpdfurls?RecordId=cfa818b8-6661-4b57-b04b-ba9ead52a16e&TINMaskType=MASKED' --header 'Content-Type: application/json' --header 'Authorization: <ACCESS_TOKEN>' --data ''