Easy Labs
APIAccount & operationsAttachments

Upload an attachment

Multipart upload. Required fields: `file` (binary), `context` (e.g. `treasury_transaction`), `sessionId` (caller-provided grouping key). Limits: 10MB, MIME in {application/pdf, image/jpeg, image/png, image/webp}. Returns `{path, name, size, type, context}`.

POST
/v1/auth/attachments/upload

Authorization

bearerAuth
AuthorizationBearer <token>

Supabase JWT bearer token for dashboard / user-scoped endpoints. Role-derived scopes: ROOT/ADMIN → full admin; USER → read-only treasury.

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v1/auth/attachments/upload"
{
  "success": true,
  "timestamp": "2019-08-24T14:15:22Z",
  "data": null,
  "message": "string",
  "pagination": {
    "total": 0,
    "limit": 1,
    "offset": 0,
    "has_more": true,
    "cursors": {
      "first": "string",
      "last": "string"
    }
  }
}
{
  "success": false,
  "timestamp": "2019-08-24T14:15:22Z",
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  }
}
{
  "success": false,
  "timestamp": "2019-08-24T14:15:22Z",
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  }
}
{
  "success": false,
  "timestamp": "2019-08-24T14:15:22Z",
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  }
}
{
  "success": false,
  "timestamp": "2019-08-24T14:15:22Z",
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  }
}