Skip to main content

File Uploads

File upload endpoints use multipart/form-data with form field name file. Uploaded files must be 10 MB or smaller. Empty files are rejected with a validation error.

Return labels:

  • POST /site-visits/{id}/return-label
  • GET /site-visits/{id}/return-label
  • supported type: PDF
  • write scope: site-visits:write
  • read scope: site-visits:read

Message attachments:

  • POST /messages/{id}/file-attachment
  • GET /messages/{id}/file-attachment
  • supported types: PDF, PNG, JPEG
  • write scope: messages:write
  • read scope: messages:read

Each upload creates a new version entry. Download endpoints return the latest uploaded version as binary content with a file attachment content-disposition header.

Return label upload:

POST /api/v1/site-visits/visit_123/return-label
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: multipart/form-data
form field: file
file type: application/pdf

Message attachment upload:

POST /api/v1/messages/msg_123/file-attachment
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: multipart/form-data
form field: file
file types: application/pdf, image/png, image/jpeg

Common upload failures:

  • 413 File Too Large: uploaded file is over 10 MB
  • 415 Unsupported Media Type: return labels must be PDF files
  • 422 Validation Error: form field file is missing or empty

See the API Reference for the full upload response schemas.