Core Types
Complete type definitions for de.iterate SDK resources.
Risk
typescript
interface Risk {
id?: string;
componentId?: string;
type: 'risk';
risk?: string;
title?: string;
description?: string;
riskID?: number | string;
riskRating?: 'Low' | 'Medium' | 'High' | 'Critical';
riskCategory?: string;
businessUnit?: string;
status?: 'active' | 'archived' | 'deleted' | string;
riskIDstatus?: string;
inherentRisk?: 'Extreme' | 'High' | 'Medium' | 'Low';
residualRisk?: 'Extreme' | 'High' | 'Medium' | 'Low';
targetRisk?: 'Extreme' | 'High' | 'Medium' | 'Low';
likelihood?: number;
impact?: number | string;
response?: string;
treatmentRequired?: boolean;
treatmentPlan?: string;
owner?: User;
riskOwner?: string;
controls?: Control[] | string[];
selectedControls?: string[];
nextReviewDate?: Date | null;
lastReviewDate?: Date | null;
createdAt?: Date;
updatedAt?: Date;
}Asset
typescript
interface Asset {
id: string;
type: 'asset';
assetDesc: string;
assetCat: string;
assetOwner?: string;
assetCriticality?: string;
assetRisk?: string;
status: 'Active' | 'Decommissioned' | 'Deleted';
nextReviewDate?: Date;
lastReviewDate?: Date;
createdAt: Date;
updatedAt: Date;
metadata?: Record<string, unknown>;
}AssuranceTask
typescript
interface AssuranceTask {
id: string;
type: 'assurance_task';
description: string;
controlId?: string;
assignedTo?: string;
status: 'pending' | 'in_progress' | 'completed' | 'overdue';
dueDate?: Date | null;
completedDate?: Date | null;
frequency?: 'once' | 'weekly' | 'monthly' | 'quarterly' | 'annually' | string;
evidence?: string[];
evidenceRequired?: boolean;
createdAt: Date;
updatedAt: Date;
}Document
typescript
interface Document {
id: string;
type: 'document';
fileName: string;
docType?: string;
documentType?: string;
displayName?: string;
status: 'Current' | 'Draft' | 'Expired' | 'Published' | 'Active' | 'In Review';
owner?: string;
classification?: string;
nextReviewDate?: Date;
lastReviewDate?: Date;
createdAt: Date;
updatedAt: Date;
dateUploaded?: Date;
comments?: string;
componentId?: string;
docID?: string;
}Checklist
typescript
interface Checklist {
id: string;
title: string;
description?: string;
templateId?: string;
standard?: string;
standards?: string[];
items: ChecklistItem[];
status: 'draft' | 'in-progress' | 'completed' | string;
isAssuranceTask?: boolean;
isReusable?: boolean;
createdAt?: string;
updatedAt?: string;
completedAt?: string | null;
completedBy?: string | null;
}
interface ChecklistItem {
id?: string;
title: string;
description?: string;
type?: string;
required?: boolean;
options?: string[];
}Audit
typescript
interface Audit {
id: string;
type: string;
scope?: string;
owners?: string[];
auditor?: string;
scheduledDate?: string;
status?: string;
notes?: string;
createdAt?: string;
updatedAt?: string;
}Finding
typescript
interface Finding {
id: string;
title?: string;
description: string;
severity?: 'low' | 'medium' | 'high' | 'critical';
status?: string;
assignee?: string;
dueDate?: string;
control?: string;
linkedDocuments?: string[];
auditId?: string | null;
origin?: 'audit' | 'standalone';
createdAt?: string;
updatedAt?: string;
}Incident
typescript
interface Incident {
id: string;
summary: string;
description?: string;
owner?: string;
status?: string;
severity?: string;
reportedDate?: string;
resolvedDate?: string | null;
auditId?: string | null;
createdAt?: string;
updatedAt?: string;
}CorrectiveAction
typescript
interface CorrectiveAction {
id: string;
title: string;
description?: string;
status?: string;
assignee?: string;
dueDate?: string;
findingId?: string | null;
auditId?: string | null;
linkedDocuments?: string[];
createdAt?: string;
updatedAt?: string;
}Policy
typescript
interface Policy {
id: string;
type: 'policy';
title: string;
content?: string;
status: 'draft' | 'published' | 'archived';
version?: string;
category?: string;
owner?: string;
approver?: string;
effectiveDate?: Date;
reviewDate?: Date;
createdAt: Date;
updatedAt: Date;
}Control
typescript
interface Control {
id: string;
type: 'control';
controlId: string;
name: string;
description?: string;
standard: string;
category?: string;
}SOAControl
typescript
interface SOAControl {
id: string;
type: 'soa_control';
controlId: string;
applicable: boolean;
implemented: boolean;
justification?: string;
evidence?: string[];
owner?: string;
status: 'not_started' | 'in_progress' | 'implemented' | 'not_applicable';
}User
typescript
interface User {
id: string;
type: 'user';
email: string;
name: string;
role?: string;
status: 'active' | 'inactive' | 'pending';
createdAt: Date;
updatedAt: Date;
}Role
typescript
interface Role {
id: string;
type: 'role';
name: string;
description?: string;
permissions: string[];
userCount?: number;
createdAt: Date;
updatedAt: Date;
}Framework
typescript
interface Framework {
id: string;
type: 'framework';
name: string;
displayName?: string;
version?: string;
description?: string;
active: boolean;
controlCount?: number;
}Company
typescript
interface Company {
id: string;
type: 'company';
name: string;
industry?: string;
size?: string;
website?: string;
address?: string;
phone?: string;
logo?: string;
settings?: Record<string, unknown>;
createdAt: Date;
updatedAt: Date;
}