Downloading Tax Documents

At any point, you may request the user's tax documents from a particular tax year. To do this, call the GET /users/{userId}/documents?year={year} API endpoint.

curl \
  --request GET \
  --url '<<testUserId>>/documents?year=2020' \
  --header 'Authorization: Bearer <<apiKey>>'
const { default: Abound, Environment } = require("@withabound/node-sdk");

const abound = new Abound({
  appId: "<<sandbox_app_id>>",
  appSecret: "<<sandbox_app_secret>>",
  environment: Environment.SANDBOX,
  apiVersion: "v2",

(async () => {
  const response = await abound.documents.list(
      year: "2020",

import requests

url = "<<testUserId>>/documents"

querystring = {"year":"2020"}

headers = {
    "Accept": "application/json",
    "Authorization": "Bearer <<apiKey>>"

response = requests.request("GET", url, headers=headers, params=querystring)

// import com.squareup.okhttp.*;

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer <<apiKey>>")

Response response = client.newCall(request).execute();
package main

import (

func main() {

    url := "<<testUserId>>/documents?year=2020"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("Accept", "application/json")
    req.Header.Add("Authorization", "Bearer <<apiKey>>")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)


// using RestSharp;

var client = new RestClient("<<testUserId>>/documents?year=2020");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "application/json");
request.AddHeader("Authorization", "Bearer <<apiKey>>");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
require 'openssl'

url = URI("<<testUserId>>/documents?year=2020")

http =, url.port)
http.use_ssl = true

request =
request["Accept"] = 'application/json'
request["Authorization"] = 'Bearer <<apiKey>>'

response = http.request(request)
puts response.read_body

The response will be an array of tax document objects that contain information about the document. Your UserUser - A single end-user of your application. Each user has a unique userId, which should be stored in your database and used to make API requests on behalf of this individual. can use the documentURL to download the tax document for their own record keeping.

  "data": [
      "documentId": "documentId_testefbd5d3d9ee9526ef9ff89a7c6b879174170",
      "documentURL": "",
      "documentName": "2020-01-01 - 2020-01-31 Account Statement (7890)",
      "type": "accountStatement",
      "year": "2020",
      "createdTimestamp": 1629200355784
      "documentId": null,
      "documentURL": "",
      "documentName": "2020 Q2 Federal Estimated Tax Payment",
      "type": "1040ES",
      "year": "2020",
      "createdTimestamp": 1629200355886
      "documentId": null,
      "documentURL": "",
      "documentName": "2020 Expenses",
      "type": "businessExpenses",
      "year": "2020",
      "createdTimestamp": 1629200355888
      "documentId": null,
      "documentURL": "",
      "documentName": "2020 Schedule C",
      "type": "scheduleC",
      "year": "2020",
      "createdTimestamp": 1629200355888
  "count": 4




The identifier for this PDF document.


The URL of the downloadable PDF document.


The file name of this PDF document.


The type of this document. (1040ES, accountStatement, scheduleC or businessExpenses)


The calendar year that this document is associated with.


The timestamp at which this document was created.

Did this page help you?