Add attachments to the merchant application

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Upload File (Merchant Attachment)

Uploads a document to a merchant application as a Base64-encoded attachment. Each upload must specify the attachment type, which categorizes the document within the underwriting and compliance workflow. Supported types cover a wide range of documents including void checks, bank statements, driver's licenses, processing statements, tax returns, PCI certificates, MPA confirmations, and more.

Endpoint

POST /api/v1/merchant/attachment

Authentication

Basic HTTP Authentication required.
Encode username:password in Base64 and pass in the Authorization header:

Authorization: Basic {base64(username:password)}

When to use

Call this endpoint whenever an underwriter requests supporting documentation, or when proactively submitting documents as part of the boarding workflow. Documents uploaded here are visible to underwriters in the merchant's application record. Upload a voided check or bank account proof before advancing to underwriting review, and upload the driver's license or other ID document for all owners with 25% or greater ownership.

Request Body

FieldTypeRequiredDescription
idinteger (int32)YesMerchant profile ID to attach the document to.
attachmentTypestringYesCategory of the document. See enum values below.
datastring (byte)YesBase64-encoded file content.
fileNamestringYesOriginal file name including extension (e.g., voided_check.pdf).
commentstringNoOptional note to accompany the attachment (visible to underwriters).
riskDocumentbooleanNoSet to true if this document is a risk-related document; affects routing in the workflow.

Supported attachmentType values:

ValueDescription
VoidCheckVoided check for bank account verification
BankAccountProofAlternative bank account proof
BusinessBankStatementsBusiness checking account bank statements
PersonalBankStatementsOwner's personal bank statements
DriversLicenseGovernment-issued photo ID for owners
MerchantApplicationSigned merchant application document
ConfirmMpaConfirmed / executed MPA
ProcessingStatementsPrior processor statements
CorporateTaxReturnsCorporate tax returns
PersonalTaxReturnsOwner's personal tax returns
FinancialStatementsFinancial statements (P&L, balance sheet)
ACHInformationACH authorization form
PCICertificatesPCI DSS compliance certificate
CancellationLetterCancellation letter from prior processor
SiteInspectionValidationSite inspection photos or validation documents
RiskDocumentsRisk-related compliance documents
CreditReportMerchant or owner credit report
MiscellaneousOther documents not covered by specific types
AdditionalDocumentsSupplemental documents requested by underwriters
CForm501C-501 form
CloverAddendumClover equipment addendum
CloverGoAddendumClover Go equipment addendum
ReserveFormRolling reserve form
CMSFormCMS subscription form
BusinessLicenseBusiness operating license
InvoiceEquipment or service invoice
CCAuthorizationFormCredit card authorization form
PlacementAgreementEquipment placement agreement
ChecklistBoarding checklist
ApplicationSignCertificateDigital signature certificate for application
AutomatedGiactAutomated GIACT bank verification result
AutomatedMATCHAutomated MATCH list check result
AutomatedGoogleSearchAutomated Google search result
AutomatedClearAutomated CLEAR identity check result
AutomatedWhoisAutomated WHOIS domain lookup result
AutomatedOfacAutomated OFAC sanctions check result
WebSnapshotWebsite screenshot
WhoisManual WHOIS domain lookup
MarketingMaterialsMarketing materials or brochures
PimsDocumentsPIMS-related documents
DigitalSignatureChangeDigital signature change documentation
UnderwritingMerchantInformationUW-specific merchant information
CreditProfileCredit profile report
AddendumFormGeneral addendum form
PosPurchaseFormPOS equipment purchase form
{
  "id": 10482,
  "attachmentType": "VoidCheck",
  "data": "JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PAovQ3JlYXRpb25EYXRlKEQ6MjAyNjA1...",
  "fileName": "voided_check_green_tree_cafe.pdf",
  "comment": "Voided check for Bank of America account ending in 9012.",
  "riskDocument": false
}

Response

200 OK

FieldTypeDescription
dataobjectContains the success flag.
data.successbooleantrue if the file was uploaded successfully.
statusstringHTTP status name (e.g., "OK").
errorstringError message if the upload failed; otherwise null.
warningstringNon-fatal warning, if any.
validationResultsarrayValidation errors, if any.
requestIdintegerInternal request tracking ID.
{
  "data": {
    "success": true
  },
  "status": "OK",
  "error": null,
  "warning": null,
  "validationResults": [],
  "requestId": 92018
}

Error Codes

CodeWhen it happens
400Required fields (id, attachmentType, data, or fileName) are missing; attachmentType is not a valid enum value; or the Base64 data is malformed.
401Invalid or missing Basic Auth credentials.
403User does not have permission to upload attachments to this merchant application.
404No merchant application found with the given ID.
413File size exceeds the server's maximum allowed payload size.
500Internal server error.

Common Mistakes

  • Sending raw binary file content instead of Base64-encoded content — the data field must be a Base64 string.
  • Omitting the file extension in fileName — underwriters rely on the file name to identify document type.
  • Using an attachmentType value not in the allowed enum (e.g., "BankStatements" instead of "BusinessBankStatements") returns a 400 validation error.
  • Uploading very large files (e.g., multi-page scanned PDFs) without compressing them first — reduce file size to avoid 413 errors.
  • Not including a comment when uploading a document in response to an underwriting note — always reference the note so the underwriter knows which item is addressed.

Related Endpoints

  • GET /api/v1/merchant/underwritingNotes — Retrieve underwriting notes that identify which documents are needed.
  • POST /api/v1/merchant/underwritingPending — Set the application to "Pending" after uploading requested documents.
  • POST /api/v1/merchant/underwritingReview — Advance to "Pending Review" once all documents are uploaded.

Example

curl -X POST https://hq.staging.netevia.dev/api/v1/merchant/attachment \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 10482,
    "attachmentType": "VoidCheck",
    "data": "'"$(base64 -w 0 voided_check.pdf)"'",
    "fileName": "voided_check_green_tree_cafe.pdf",
    "comment": "Voided check for Bank of America account ending in 9012.",
    "riskDocument": false
  }'
Body Params
string
enum
required
string
required
string
required
int32
required
string
^[^<>]*$
boolean
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/json