Vendor tax documents

Create or replace one vendor's tax document

Generates a 1099-NEC for one vendor and tax year with the amount you supply, replacing any document already generated for that vendor and year. Generation is asynchronous — the returned document only carries a documentUrl once status reaches completed.

PUT
https://api.portal.magicdoor.com/company-app/vendors/tax-documents/{vendorId}/{taxType}/{calendarYear}

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Path parameters

vendorIdstringrequired

The vendor the document is for. A Snowflake id sent as a decimal string.

example: 1822910038475120640
taxTypeenum<string>required

Which form to generate. Vendors take nec — the 1099-NEC. misc is rejected for a vendor.

example: necmiscnec
calendarYearintegerrequired

The tax year the document reports.

example: 2025

Body

application/json

accountId is part of this body but the vendor actually used is the one in the path.

accountIdstringrequired

The vendor the amount belongs to. A Snowflake id sent as a decimal string.

amountnumberrequired

What the vendor was paid over the year, in dollars and cents — box 1 of the 1099-NEC.

Response

200 · The tax document. Poll the list endpoints until `status` is `completed` before using `documentUrl`.

idstring

The tax document. A Snowflake id sent as a decimal string.

calendarYearinteger

The tax year the document reports.

taxDocumentTypeenum<string>

Which 1099 form this is. misc is the 1099-MISC used for owners; nec is the 1099-NEC used for vendors.

miscnec
entityIdstring

The owner or vendor the document is for, depending on which endpoint returned it. Absent when the record has no account on it.

entityNamestring

That owner's or vendor's name, for display. Absent when the account could not be resolved.

amountnumber

What the vendor was paid over the year, in dollars and cents — box 1 of the 1099-NEC.

statusenum<string>

How far generating the PDF has got. Only completed means documentUrl is there to download.

notStartedinProgresscompletedfailednotFound
taskErrorMessagestring

Why generation failed. Absent unless status is failed.

documentNamestring

The file name of the generated PDF. Absent until it has been generated.

documentUrlstring

A signed, time-limited URL to download the generated PDF. Absent until it has been generated.

irsStatusstring

Where this document sits in an IRS electronic filing, when it has been included in one. Absent when it has not been filed.

annotationsobject[]

Where each value is drawn on the PDF form. Only needed to render or overlay the form yourself.

createdAtstring · date-time

When the document was created, in the company's timezone.

updatedAtstring · date-time

When it last changed, in the company's timezone. Absent when it has never changed.

400 · `taxType` is not valid for a vendor, or `amount` is missing or not a currency value.

401 · The access token is missing, expired, or does not belong to a property manager.

404 · No vendor with that id exists for the caller's company.