Add Attachment

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

Add Attachment

Uploads a file to an existing ticket by submitting Base64-encoded file data along with the ticket and merchant identifiers. Supported attachment types span the full range of underwriting and compliance documents accepted by Netevia HQ. The attachment is associated with the ticket immediately and can be retrieved using the Get Attachments by Ticket ID endpoint.

Endpoint

POST /api/v1/tickets/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

Use this endpoint when supporting documentation needs to be submitted alongside or after a ticket has been created — for example, attaching a voided check or processing statement in support of an Instant Funding request. It is also appropriate when an underwriter requests additional documents for an open ticket.

Request Body

FieldTypeRequiredDescription
ticketIdinteger (int32)YesID of the ticket to attach the file to.
attachmentTypestring (enum)YesCategory of the attachment. See enum values below.
datastring (byte)YesBase64-encoded content of the file.
fileNamestringYesOriginal filename including extension (e.g., voided_check.pdf).
idinteger (int32)YesMerchant profile ID associated with the ticket.
commentstringNoOptional note describing the attachment.
riskDocumentbooleanNoSet to true if the file is a risk-sensitive document.

Accepted attachmentType values: CForm501, ACHInformation, AdditionalDocuments, BusinessBankStatements, CancellationLetter, CorporateTaxReturns, CreditReport, DigitalSignatureChange, FinancialStatements, MarketingMaterials, MerchantApplication, Miscellaneous, PCICertificates, PimsDocuments, ProcessingStatements, RiskDocuments, SiteInspectionValidation, VoidCheck, WebSnapshot, Whois, Other, UnderwritingMerchantInformation, CCAuthorizationForm, Invoice, CloverAddendum, CloverGoAddendum, DriversLicense, PosPurchaseForm, ConfirmMpa, PlacementAgreement, CreditProfile, Checklist, PersonalTaxReturns, AddendumForm, ReserveForm, CMSForm, BusinessLicense, PersonalBankStatements, AutomatedGiact, AutomatedMATCH, AutomatedGoogleSearch, AutomatedClear, AutomatedWhois, AutomatedOfac, BankAccountProof, ApplicationSignCertificate

{
  "ticketId": 48291,
  "attachmentType": "VoidCheck",
  "data": "JVBERi0xLjQKJcfs...",
  "fileName": "voided_check.pdf",
  "id": 70269,
  "comment": "Voided check for ACH verification",
  "riskDocument": false
}

Response

200 OK

FieldTypeDescription
requestIdintegerInternal request tracking ID.
successbooleantrue if the attachment was added successfully.
errorstringError message if the operation failed.
validationErrorsarrayList of field-level validation issues.
{
  "requestId": 98123,
  "success": true,
  "error": null,
  "validationErrors": []
}

Error Codes

CodeWhen it happens
400Missing required fields (ticketId, attachmentType, data, fileName, or id), or data is not valid Base64.
401Invalid or missing Basic Auth credentials.
403User does not have permission for this operation.
404Ticket or resource not found.
500Internal server error.

Common Mistakes

  • Sending file bytes directly instead of Base64-encoding the content first.
  • Omitting the id field (merchant profile ID) — it is required despite the field name being ambiguous.
  • Using a file extension that does not match the actual MIME type of the encoded data.
  • Exceeding server-side file size limits, which will result in a 400 error.
  • Setting attachmentType to a value not in the accepted enum list.

Related Endpoints

  • POST /api/v1/tickets/create — Create the ticket before attaching files.
  • GET /api/v1/tickets/getAttachmentsByTicketId — List all attachments on a ticket.
  • GET /api/v1/tickets/getAttachmentById — Download a specific attachment.

Example

curl -X POST https://hq.staging.netevia.dev/api/v1/tickets/attachment \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "ticketId": 48291,
    "attachmentType": "VoidCheck",
    "data": "JVBERi0xLjQKJcfs...",
    "fileName": "voided_check.pdf",
    "id": 70269,
    "comment": "Voided check for ACH verification",
    "riskDocument": false
  }'
Body Params
int32
required
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