Policies
Manage policy documents with the de.iterate SDK.
Overview
The policies resource provides operations for managing organizational policies, including versioning, publishing, and archiving.
List Policies
typescript
const response = await client.policies.list();
console.log(`Found ${response.data.length} policies`);
for (const policy of response.data) {
console.log(` • ${policy.title} (${policy.status})`);
}Search Policies
typescript
const results = await client.policies.search('security');
console.log(`Found ${results.length} matching policies`);Get Policy
typescript
const policy = await client.policies.get('POL-001');
console.log(policy.title);
console.log(policy.version);
console.log(policy.status);Create Policy
typescript
const policy = await client.policies.create({
title: 'Remote Work Policy',
content: '# Remote Work Policy\n\nThis policy outlines...',
status: 'draft',
category: 'Human Resources',
owner: 'hr-team@company.com',
reviewDate: new Date('2025-12-01'),
});
console.log(`Created: ${policy.id}`);CreatePolicyInput
| Field | Type | Required | Description |
|---|---|---|---|
title | string | ✅ | Policy title |
content | string | ❌ | Policy content (Markdown) |
status | 'draft' | 'published' | 'archived' | ❌ | Status |
category | string | ❌ | Policy category |
owner | string | ❌ | Policy owner |
approver | string | ❌ | Approver |
effectiveDate | Date | ❌ | When policy takes effect |
reviewDate | Date | ❌ | Next review date |
Update Policy
typescript
await client.policies.update('POL-001', {
content: 'Updated content...',
version: '2.0',
});Delete Policy
typescript
await client.policies.delete('POL-001');Publish Policy
typescript
const published = await client.policies.publish('POL-001');
console.log(`Published: ${published.title} v${published.version}`);Archive Policy
typescript
const archived = await client.policies.archive('POL-001');Get Version History
typescript
const versions = await client.policies.getVersions('POL-001');
for (const version of versions) {
console.log(`v${version.version} - ${version.updatedAt}`);
}Policy Type
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;
}Examples
Policy Review Report
typescript
async function policyReviewReport() {
const response = await client.policies.list();
const now = new Date();
const needsReview = response.data.filter(p => {
if (!p.reviewDate) return false;
return new Date(p.reviewDate) < now;
});
console.log(`Policies needing review: ${needsReview.length}`);
for (const policy of needsReview) {
console.log(` • ${policy.title}`);
console.log(` Review due: ${policy.reviewDate}`);
}
}