Skip to content

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 ​

FieldTypeRequiredDescription
titlestring✅Policy title
contentstring❌Policy content (Markdown)
status'draft' | 'published' | 'archived'❌Status
categorystring❌Policy category
ownerstring❌Policy owner
approverstring❌Approver
effectiveDateDate❌When policy takes effect
reviewDateDate❌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}`);
  }
}

Next Steps ​

Released under the MIT License.