The “user” Resource

In the tax world everything is organized by an entity’s TIN. However, your software accounts may not be organized the same way.

For example, Ada Lovelace who has only one software account with your product, but may require earnings to be reported both to their sole proprietorship (with their SSN) and as their LLC (with their EIN). When Ada logs into your their account they will expect to see all their tax docs related to both tax entities.

The answer is the user resource: an optional identifier you may associate with tin verifications, Form W-9s, and Form 1099s to organize them, across tax entities, in accordance with your product.

See how to create a user and associate it with another resource record below:

Creating a user

1curl \
2 --request POST \
3 --url https://sandbox-api.withabound.com/v4/users \
4 --header 'Authorization: Bearer appId_sampleqNhVcdYQYU.appSecret_sampleMz2Zbj3Hq' \
5 --header 'Content-Type: application/json' \
6 --data '{
7 "email": "your-users-email@domain.com",
8 "foreignId": "your-foreign-id"
9 }'
JSON
1{
2 "id": "userId_sampleXGMFnhOpeR",
3 "createdAt": "2023-01-01T00:00:00.000Z",
4 "email": "your-users-email@domain.com",
5 "foreignId": "your-foreign-id"
6}

Associate a user with a 1099-NEC

cURL
1 -curl \
2 --request POST \
3 --url https://sandbox-api.withabound.com/v4/documents/1099-nec \
4 --header 'Authorization: Bearer appId_sampleqNhVcdYQYU.appSecret_sampleMz2Zbj3Hq' \
5 --header 'Content-Type: application/json' \
6 --data '{
7 "userId": "userId_sampleXGMFnhOpeR",
8 "filingYear": 2023,
9 "payer": {
10 "name": "Hooli",
11 "tin": "tinFingerprint_sample847jI1LwxF",
12 "address": "1401 N Shoreline Blvd",
13 "address2": "Suite 1",
14 "city": "Mountain View",
15 "state": "CA",
16 "postalCode": "94043",
17 "country": "US",
18 "phoneNumber": "+16501014096",
19 },
20 "payee": {
21 "name": "Ada Lovelace",
22 "tin": "tinFingerprint_samplehy2BWO6JJG",
23 "address": "256 Byron Street",
24 "address2": "Suite 32",
25 "city": "Palo Alto",
26 "state": "CA",
27 "postalCode": "94306",
28 "country": "US",
29 },
30 "formFields": {
31 "accountNumber": "1000000001",
32 "nonemployeeCompensation": 23423,
33 "hasDirectSalesOver5000": false,
34 "federalIncomeTaxWithheld": 0,
35 "stateTaxInfo": [
36 {
37 "stateTaxWithheld": 0,
38 "filingState": "CA",
39 "payerStateId": "1234567891",
40 "stateIncome": 345543
41 }
42 ]
43 }
44 }'
JSON
1{
2 "id": "documentId_samplegU0eR8oc8a",
3 "createdAt": "2023-01-01T00:00:00.000Z",
4 "status": "CREATED",
5 "userId": "userId_sampleXGMFnhOpeR",
6 ...
7}

List 1099-NECs by userId

Now you can list 1099-NECs by passing the userId as a query parameter.

cURL
1curl \
2 --request GET \
3 --url 'https://sandbox-api.withabound.com/v4/documents/1099-nec?userId=userId_sampleXGMFnhOpeR' \
4 --header 'Authorization: Bearer appId_sampleqNhVcdYQYU.appSecret_sampleMz2Zbj3Hq' \
5 --header 'Content-Type: application/json'
JSON
1[
2 {
3 "id": "documentId_samplegU0eR8oc8a",
4 "createdAt": "2023-01-01T00:00:00.000Z",
5 "status": "CREATED",
6 "userId": "userId_sampleXGMFnhOpeR",
7 ...
8 }
9]