REST /api/v1/receipt-attachments 6 endpoints
GET /api/v1/receipt-attachments/api/v1/receipt-attachments

List all receipt attachments

Public

Response Example

{
  "data": [
    {
      "expense_id": "exp-001",
      "attachment_id": "att-7821",
      "file_name": "receipt_lunch_march.jpg",
      "file_size_kb": 184,
      "mime_type": "image/jpeg",
      "status": "attached",
      "uploaded_at": "2026-03-22T10:14:00Z"
    },
    {
      "expense_id": "exp-002",
      "attachment_id": "att-7822",
      "file_name": "receipt_taxi.png",
      "file_size_kb": 220,
      "mime_type": "image/png",
      "status": "uploading",
      "uploaded_at": null
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2
  }
}
GET /api/v1/receipt-attachments/api/v1/receipt-attachments/:expenseId

Get receipt attachment by expense ID

Public

Response Example

{
  "expense_id": "exp-001",
  "attachment_id": "att-7821",
  "file_name": "receipt_lunch_march.jpg",
  "file_size_kb": 184,
  "mime_type": "image/jpeg",
  "status": "attached",
  "storage_path": "orgs/org-42/users/usr-88/claims/clm-301/receipts/att-7821.jpg",
  "uploaded_at": "2026-03-22T10:14:00Z"
}
POST /api/v1/receipt-attachments/api/v1/receipt-attachments/:expenseId

Attach a receipt image to an expense (multipart upload)

Public

Request Example

{
  "content_type": "multipart/form-data",
  "fields": {
    "image_file": "(binary JPEG/PNG data)",
    "org_id": "org-42",
    "user_id": "usr-88"
  }
}

Response Example

{
  "expense_id": "exp-003",
  "attachment_id": "att-7823",
  "file_name": "receipt_hotel.jpg",
  "file_size_kb": 310,
  "status": "uploading",
  "upload_progress_url": "/api/v1/receipt-attachments/exp-003/upload-progress",
  "created_at": "2026-03-26T09:00:00Z"
}
GET /api/v1/receipt-attachments/api/v1/receipt-attachments/:expenseId/upload-progress

Stream upload progress for an expense receipt (Server-Sent Events)

Public

Response Example

{
  "event": "progress",
  "data": {
    "expense_id": "exp-003",
    "percent": 64,
    "bytes_transferred": 198656,
    "bytes_total": 317440,
    "status": "uploading"
  }
}
DELETE /api/v1/receipt-attachments/api/v1/receipt-attachments/:expenseId/upload

Cancel an in-progress receipt upload

Public

Response Example

{
  "expense_id": "exp-003",
  "status": "cancelled",
  "cancelled_at": "2026-03-26T09:00:45Z"
}
DELETE /api/v1/receipt-attachments/api/v1/receipt-attachments/:expenseId

Remove a receipt attachment from an expense

Public

Response Example

{
  "expense_id": "exp-001",
  "attachment_id": "att-7821",
  "status": "removed",
  "removed_at": "2026-03-26T09:05:00Z"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}