API reference

W-9 requests

W-9s asked of vendors by email, and what each vendor certified when they completed theirs.

Guides: Read and export reports

List the W-9s asked of vendors

GET/v1/w9_requests

client.w9Requests.list()

The W-9s asked of vendors, the newest first, with what each came to.

Parameters

NameTypeDescription
counterparty_idQuerystring or null

An id that starts with party_.

statusQuerystring or null

Only open, completed or cancelled requests.

One of open, completed, cancelled
limitQueryinteger

Page size, 1–200.

Default 50
cursorQuerystring or null

The next_cursor of the previous page.

Response

200W9RequestPage

Errors

400
The request was malformed or a parameter is invalid.
401
No valid credential was sent.
403
The credential or the member's role does not allow this.
404
No such resource in this ledger.
409
A conflicting request, e.g. one with the same Idempotency-Key still running.
422
A well-formed request a business rule refused.
429
Too many requests; retry after the Retry-After header.
500
Something failed on our side; the request_id identifies it.

Example

curl
curl "https://api.ledgerit.ai/v1/w9_requests" \
  -H "Authorization: Bearer $LEDGERIT_TOKEN"

Ask a vendor for their W-9

POST/v1/w9_requests· Idempotent

client.w9Requests.create()

Ask a vendor for their W-9. They are emailed a link to a form that works for 30 days; completing it records their W-9 on the vendor, with their taxpayer identification number encrypted. Asking again cancels the open request, and its link stops working. emailed says whether the email went; when it did not, the request is open all the same and can be asked again.

Request body

W9RequestCreate

Response

201W9RequestOut

Errors

400
The request was malformed or a parameter is invalid.
401
No valid credential was sent.
403
The credential or the member's role does not allow this.
404
No such resource in this ledger.
409
A conflicting request, e.g. one with the same Idempotency-Key still running.
422
A well-formed request a business rule refused.
429
Too many requests; retry after the Retry-After header.
500
Something failed on our side; the request_id identifies it.

Example

curl
curl -X POST "https://api.ledgerit.ai/v1/w9_requests" \
  -H "Authorization: Bearer $LEDGERIT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"counterparty_id":"…"}'

Get a W-9 request and what the vendor certified

GET/v1/w9_requests/{request_id}

client.w9Requests.get()

One W-9 request, and what the vendor certified if they have.

Parameters

NameTypeDescription
request_idPath · Requiredstring

An id that starts with tin_req_.

Response

200W9RequestOut

Errors

400
The request was malformed or a parameter is invalid.
401
No valid credential was sent.
403
The credential or the member's role does not allow this.
404
No such resource in this ledger.
409
A conflicting request, e.g. one with the same Idempotency-Key still running.
422
A well-formed request a business rule refused.
429
Too many requests; retry after the Retry-After header.
500
Something failed on our side; the request_id identifies it.

Example

curl
curl "https://api.ledgerit.ai/v1/w9_requests/{request_id}" \
  -H "Authorization: Bearer $LEDGERIT_TOKEN"

Cancel a W-9 request

POST/v1/w9_requests/{request_id}/cancel

client.w9Requests.cancel()

Stop an open request's link working. Completed and cancelled requests stay as they are.

Parameters

NameTypeDescription
request_idPath · Requiredstring

An id that starts with tin_req_.

Response

200W9RequestOut

Errors

400
The request was malformed or a parameter is invalid.
401
No valid credential was sent.
403
The credential or the member's role does not allow this.
404
No such resource in this ledger.
409
A conflicting request, e.g. one with the same Idempotency-Key still running.
422
A well-formed request a business rule refused.
429
Too many requests; retry after the Retry-After header.
500
Something failed on our side; the request_id identifies it.

Example

curl
curl -X POST "https://api.ledgerit.ai/v1/w9_requests/{request_id}/cancel" \
  -H "Authorization: Bearer $LEDGERIT_TOKEN"

Objects

The objects these operations take and return.

W9RequestPage

NameTypeDescription
dataRequiredarray of W9RequestOut
has_moreRequiredboolean
next_cursorRequiredstring or null

W9RequestCreate

NameTypeDescription
counterparty_idRequiredstring

The vendor to ask. Asking again cancels their open request.

emailstring or null

Where to send the link. The vendor's own email when left out.

W9RequestOut

NameTypeDescription
addressRequiredstring or null

Lines 5 and 6: their address.

business_nameRequiredstring or null

Line 2: their business or disregarded entity name.

cancelled_atRequiredstring (date-time) or null
completed_atRequiredstring (date-time) or null
counterparty_idRequiredstring

The vendor it was asked of.

emailedboolean or null

On a request just made: whether the email went. Null when read later.

expiredRequiredboolean

Open, but its link stopped working: ask again for a new one.

expires_atRequiredstring (date-time)

When its link stops working.

idRequiredstring

An id that starts with tin_req_.

legal_nameRequiredstring or null

Line 1 of the W-9: the name on their tax return.

sent_atRequiredstring (date-time)
sent_toRequiredstring

The address the link was emailed to.

signed_nameRequiredstring or null

The name they signed the certification with.

statusRequiredstring

open until the vendor completes it (completed) or it is cancelled or replaced (cancelled).

One of open, completed, cancelled
tax_classificationRequiredstring or null

Line 3a: their federal tax classification.

One of individual, c_corporation, s_corporation, partnership, trust_estate, llc_c, llc_s, llc_p, other
tax_idRequiredstring or null

The vendor's taxpayer identification number on file, whole for a member who may read sensitive data and masked to its last four digits for anyone else.

tin_typeRequiredstring or null

Part I: a social security number or an employer identification number.

One of ssn, ein