Skip to main content
This guide walks you through managing Attachments - files and documents that can be associated with clients, transactions, alerts, cases, and checklists in Corsa. Full API reference is available in the API Reference.

Overview

Attachments in Corsa can be linked to multiple entity types:
Entity TypeValue
Clientclient
Transactiontransaction
Alertalert
Casecase
Reportreport
Commentcomment
Checklist Itemchecklist_item

Step 1: Upload Files

Endpoint: POST /v1/attachments/upload Upload files directly and associate them with an entity. Files are sent as multipart form data.
POST /v1/attachments/upload?entityType=client&entityId=client-uuid-123
Content-Type: multipart/form-data

files: [your-file.pdf]

Constraints

  • Maximum file size: 5 MB per file
  • Maximum files per request: 10
The response returns attachment IDs that you can use to relate files to additional entities later.

Step 2: Create from External URL

Endpoint: POST /v1/attachments/external-document If your documents are hosted externally (e.g., in your own storage or a vendor system), create attachment records by providing a download URL.
POST /v1/attachments/external-document
Content-Type: application/json

{
  "downloadUrl": "https://your-storage.com/documents/kyc-report.pdf",
  "fileName": "kyc-report.pdf",
  "fileType": "application/pdf",
  "fileSizeInBytes": 245000,
  "entityType": "client",
  "entityId": "client-uuid-123",
  "source": "DOCUMENT_REPOSITORY",
  "metadata": "{\"category\": \"KYC\", \"year\": 2024}"
}

Source Values

SourceDescription
CHECKLISTAttached via a checklist workflow
DOCUMENT_REPOSITORYFrom a document management system
DISCUSSIONAttached in a discussion / comment
ISSUE_DECISIONPart of an issue decision
EXTERNALFrom an external system

Step 3: Relate Attachments to Entities

Endpoint: POST /v1/attachments/relate Link existing attachments to a new entity. This is useful when the same document is relevant to multiple entities (e.g., a report that applies to both an alert and a case).
POST /v1/attachments/relate
Content-Type: application/json

{
  "fileIds": [
    "attachment-uuid-1",
    "attachment-uuid-2"
  ],
  "entityId": "case-uuid-456",
  "entityType": "case"
}
You can relate up to 100 attachments in a single request.

Step 4: Retrieve Attachments

List Attachments for an Entity

Endpoint: GET /v1/attachments
GET /v1/attachments?entityType=client&entityId=client-uuid-123

Get Download URLs

Endpoint: GET /v1/attachments/download-urls Retrieve signed download URLs for specific attachments.
GET /v1/attachments/download-urls?ids=attachment-uuid-1,attachment-uuid-2

Step 5: Update & Delete Attachments

Update an Attachment

Endpoint: PUT /v1/attachments/{attachmentId}
PUT /v1/attachments/attachment-uuid-1
Content-Type: application/json

{
  "fileName": "updated-report-name.pdf"
}

Delete an Attachment

Endpoint: DELETE /v1/attachments/{attachmentId}
DELETE /v1/attachments/attachment-uuid-1

What’s Next?

Ingest Alerts & Cases

Push external alerts and create investigation cases.

Manage Alerts & Cases

Batch create, bulk assign, and update alerts and cases.