SOAResource
API reference for the Statement of Applicability resource.
Methods
list
List all SOA controls.
typescript
async list(options?: ListOptions): Promise<ListResponse<SOAControl>>get
Get a specific SOA control.
typescript
async get(id: string): Promise<SOAControl>update
Update an SOA control.
typescript
async update(id: string, data: UpdateSOAControlInput): Promise<SOAControl>Parameters:
typescript
interface UpdateSOAControlInput {
applicable?: boolean;
implemented?: boolean;
justification?: string;
evidence?: string[];
owner?: string;
status?: 'not_started' | 'in_progress' | 'implemented' | 'not_applicable';
}bulkUpdate
Bulk update multiple SOA controls.
typescript
async bulkUpdate(updates: Array<{ id: string } & UpdateSOAControlInput>): Promise<SOAControl[]>getControls
Alias for list().
typescript
async getControls(): Promise<ListResponse<SOAControl>>getFrameworks
Get available frameworks.
typescript
async getFrameworks(): Promise<Array<{ id: string; name: string; description: string; controlCount: number }>>getSummary
Get SOA implementation summary.
typescript
async getSummary(): Promise<SOASummary>Returns:
typescript
interface SOASummary {
totalControls: number;
implemented: number;
notImplemented: number;
notApplicable: number;
inProgress: number;
implementationPercentage: number;
byFramework: Array<{
framework: string;
total: number;
implemented: number;
percentage: number;
}>;
byStatus: Record<string, number>;
}getVersionHistory
Get SOA version history.
typescript
async getVersionHistory(): Promise<Array<{
versionKey: string;
versionNumber: string;
dateUpdated: string;
updatedBy: string;
updateComments: string;
}>>Types
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';
}