The Chain of Custody Manager API is a forensic documentation tool designed to generate compliant, legally-defensible chain of custody reports in HTML format. It serves law enforcement, digital forensics teams, corporate investigations, and legal departments that need to maintain rigorous evidence handling documentation for court admissibility and regulatory compliance.
This API automates the creation of formal custody chain documentation by organizing evidence metadata, handler information, timestamps, and integrity hashes into professional reports. Each report captures the complete lifecycle of evidence from collection through transfer, ensuring no breaks in the documented chain and protecting evidence integrity.
Ideal users include forensic examiners, incident response teams, corporate security practitioners, and legal professionals who must demonstrate proper evidence handling procedures in investigations, litigation, or regulatory audits.
Example Request:
json
{
"reportData": {
"caseInfo": {
"caseNumber": "2024-INV-00145",
"caseName": "Data Breach Investigation - Corp A",
"investigator": "Detective John Smith",
"organization": "Cyber Crimes Unit",
"reportDate": "2024-01-15T10:30:00Z"
},
"evidenceItems": [
{
"evidenceId": "EV-2024-001",
"evidenceType": "Hard Drive",
"description": "Seagate 2TB external drive from suspect workstation",
"collectionDate": "2024-01-10T14:22:00Z",
"collectionLocation": "Building A, Floor 3, Room 301",
"collectedBy": "Officer Jane Doe",
"hashAlgorithm": "SHA-256",
"hashValue": "a7f3c8e2d9b1f4e6c2a5d8f1b3e6a9c2d5e8f1b4a7c0d3e6f9a2b5c8e1f4",
"custodyChain": [
{
"person": "Officer Jane Doe",
"timestamp": "2024-01-10T14:22:00Z",
"purpose": "Initial collection",
"action": "Collected from workstation"
},
{
"person": "Detective John Smith",
"timestamp": "2024-01-10T16:45:00Z",
"purpose": "Evidence intake",
"action": "Received and logged into evidence management system"
},
{
"person": "Forensic Tech Mike Johnson",
"timestamp": "2024-01-12T09:15:00Z",
"purpose": "Digital forensic examination",
"action": "Imaged drive and verified hash"
}
]
}
],
"sessionId": "sess-2024-001-xyz"
},
"sessionId": "sess-2024-001-xyz",
"userId": 42,
"timestamp": "2024-01-15T10:30:00Z",
"userEmail": "john.smith@agency.gov",
"userName": "jsmith"
}
Example Response:
json
{
"status": "success",
"reportId": "RPT-2024-145-001",
"htmlReport": "<!DOCTYPE html><html>...[complete HTML custody report]...</html>",
"message": "Chain of Custody report generated successfully"
}
Summary: Root endpoint
Description: Returns API information and status.
Parameters: None
Response: JSON object with API metadata.
Summary: Generate Custody Report
Description: Generates a formatted Chain of Custody HTML report containing case information, evidence details, and custody chain history.
Parameters:
NameTypeRequiredDescriptionreportDataobjectYesContains caseInfo, evidenceItems, and sessionIdreportData.caseInfoobjectYesCase metadata including caseNumber, caseName, investigator, organization, reportDatereportData.caseInfo.caseNumberstringYesUnique case identifierreportData.caseInfo.caseNamestringYesHuman-readable case namereportData.caseInfo.investigatorstringYesName of lead investigatorreportData.caseInfo.organizationstringYesLaw enforcement or organizational unitreportData.caseInfo.reportDatestringYesISO 8601 timestamp of report generationreportData.evidenceItemsarrayYesArray of EvidenceItem objectsreportData.evidenceItems[].evidenceIdstringYesUnique evidence identifierreportData.evidenceItems[].evidenceTypestringYesCategory of evidence (e.g., "Hard Drive", "Mobile Device", "Documents")reportData.evidenceItems[].descriptionstringYesDetailed description of the evidencereportData.evidenceItems[].collectionDatestringYesISO 8601 timestamp when evidence was collectedreportData.evidenceItems[].collectionLocationstringYesPhysical or logical location where evidence was collectedreportData.evidenceItems[].collectedBystringYesName of person who collected the evidencereportData.evidenceItems[].hashAlgorithmstringYesHash algorithm used (e.g., "SHA-256", "MD5")reportData.evidenceItems[].hashValuestringYesComputed hash value for integrity verificationreportData.evidenceItems[].custodyChainarrayYesArray of CustodyEntry objects documenting evidence transfersreportData.evidenceItems[].custodyChain[].personstringYesName of person handling evidencereportData.evidenceItems[].custodyChain[].timestampstringYesISO 8601 timestamp of custody eventreportData.evidenceItems[].custodyChain[].purposestringYesPurpose of custody transfer (e.g., "Initial collection", "Examination")reportData.evidenceItems[].custodyChain[].actionstringYesDescription of action takenreportData.sessionIdstringYesSession identifier within report datasessionIdstringYesSession identifier for API requestuserIdintegerYesNumeric user identifier making the requesttimestampstringYesISO 8601 timestamp of API requestuserEmailstringNoEmail address of user (optional)userNamestringNoUsername of user (optional)
Response:
json
{
"status": "success",
"reportId": "string",
"htmlReport": "string",
"message": "string"
}
Error Response (422):
json
{
"detail": [
{
"loc": ["body", "fieldname"],
"msg": "string",
"type": "string"
}
]
}
Summary: Health Check
Description: Verifies API availability and operational status.
Parameters: None
Response: JSON object with health status and timestamp.
PlanCalls/DayCalls/MonthPriceFree550FreeDeveloper20500$39/moProfessional2005,000$99/moEnterprise100,0001,000,000$299/mo
ToolWeb.in - 200+ security APIs, CISSP & CISM, platforms: Pay-per-run, API Gateway, MCP Server, OpenClaw, RapidAPI, YouTube.