November 9th 2026
Added
[Business documents]
You can now submit and track underwriting documents for your businesses.
- Added POST /business/{business_token}/documents — upload documents for a business created with
POST /business - Added GET /business/{business_token}/documents — list the documents on file, with each document's token, type, file name, size and upload time
- POST /business now also accepts a
documentsarray at creation time, and its response lists the stored documents
Supporteddocument_typevalues includekyb_report,articles_of_incorporation,certificate_of_good_standing,business_license,operating_agreement,ownership_structure,proof_of_address,bank_statement,tax_document, andother. Each document is Base64-encoded (max 4.5 MB decoded, 10 documents per request, 6 MB total per request), and every document is validated and virus-scanned before any is stored. The existingarticles_of_incorporationfield is kept for existing integrations — prefer adocumentsentry of that type.
Added
[Pay-in wire routing (intermediary banks)]
You can now look up how a payer's bank can route funds for a bank-funded pay-in.
- Added GET /payin/{user_token}/{payin_token}/intermediaries
Provide the SWIFTbicof the originating bank (and optionally acurrency_code; the pay-in's source currency is the default) to get the standard settlement instructions published for that bank: the correspondent bank holding its account in that currency, account/routing identifiers, and any further intermediaries, per originating branch.
Added
[Midmarket exchange rates]
You can now read the reference FX rate MassPay prices from.
- Added GET /rates/midmarket/{source_currency}/{destination_currency}
Returns the midmarket (interbank) rate for the pair with no spread applied, with itsrate_timestamp. Crypto asset symbols such asUSDCare accepted alongside ISO 4217 codes. Note that transactions always execute at their own quoted rate — the catalog and transactionexchange_ratevalues apply your FX spread to this reference rate.
Added
[1099-MISC transmission]
The 1099-MISC flow now matches NEC and K end to end.
- Added POST /payout/{user_token}/tax/form1099misc/transmit — transmit a submitted 1099-MISC to the IRS; without a
submission_id, the latest untransmitted form is transmitted. Once transmitted, a form cannot be edited or deleted
Added
[Tax form postal mailing]
You can now order postal mailing of a transmitted tax form.
- Added POST /payout/{user_token}/tax/postal — works for 1099-K, 1099-NEC and 1099-MISC; the form is identified by its
submission_idand the form type is detected automatically
A $1.80 USD fee is charged per successful request, and mailing can be ordered multiple times for the same submission (e.g. re-prints). For forms not yet transmitted, setis_postal: trueon the update endpoint instead.
Added
[Duplicate-email handling on user creation]
POST /payout/user now resolves conflicts when an email already belongs to a MassPay user with a different name.
- Such a request is rejected with
400(UserNameMismatchError, titleUser exist with other information) carrying aname_override_codeand instructions - Resubmit the identical request with
name_override_codeto link auser_tokenfor your account to that existing user anyway
Added
[Tax form downloads]
Tax form submission responses now return every stored document of a submission.
- New
filesarray with a presigned downloadurl(valid for one hour) per document, each labeled with whichcopyit is:Copy B,Copy 2,Copy C,Copy 1,Draft, orDocument - The inline Base64 document is the recipient Copy B once final copies are generated after transmit, and the draft before that
Added
[SecurityAnswer attribute]
Added SecurityAnswer as a user attribute type, for payout methods that require a security question and answer (e.g. some interac-style transfers).
Improved
[Deposit sender details]
The metadata object on pay-in deposits is now documented as the details MassPay captured about how the deposit arrived, rather than free-form attributes.
methodnames the rail (ach,wire,rtp)- Sender
name,account, androutingas reported by the network - Wire deposits carry the references that travelled with the wire:
imad,omad,sender_reference,beneficiary_reference, andoriginator_to_beneficiarylines
See the new "Payin funded by an incoming wire" example on GET /payin/{user_token}/{payin_token}.
Improved
[Sent payouts in user history]
GET /payout/user/{user_token}/transactions now documents that payout entries cover both payouts paid to the user and payouts the user sent: an entry for a sent payout names the payee in user_token and the sender in sender_user_token.
Improved
[Account statement formats]
GET /payout/account/statement now accepts a format query parameter: PDF (default, certified) or CSV.
Improved
[Tax forms and interviews]
- 1099-NEC, 1099-MISC and 1099-K now accept tax year
2026 - 1099-MISC submissions gained an optional
email_addressto send the form link to, full per-box IRS documentation with amount limits, and clearer validation notes (e.g. withholding of 40%+ of the amount boxes is rejected). Recipient details now come from the user's MassPay profile - The W-8BEN-E interview now supports
chapter_4_certification(the Part IV–XXVIII facts matching the selectedchapter_4_status),disregarded_entity_branch,limitation_on_benefits(+limitation_on_benefits_other_detail), and validates the GIIN format - W-9 submissions require a US address; for a U.S. person with only a foreign address (e.g. a citizen abroad), use the hosted tax interview link, which accepts one — the hosted form pre-fills the user's stored address
- W-8 country fields are documented as IRS country codes (e.g.
UK,SP,GM), which can differ from ISO codes
Changed
[1099-MISC submission request and response]
Breaking for existing 1099-MISC integrations:
- The optional
addressfield was removed from the 1099-MISC request — the recipient's address now always comes from the user's MassPay profile (1099-NEC and 1099-K keepaddresssupport) - The submission response was reworked:
record_idwas removed; the response now carriessubmission_id(UUID), astatusenum (Created,Pending,Validated,Error),form_type,tax_year,submitted_at,federal_returnandstate_returnsstatuses, andpdf_contentwith the draft PDF