The Criteria Library allows you to save commonly-used screening criteria at the tenant level and reuse them across any job.
How It Works
| Concept | Description |
|---|
| Tenant-scoped | Each tenant has their own isolated library. Criteria are not shared across tenants. |
| Copy-based | Adding a library criterion to a job creates an independent copy. Changes to the library don’t affect existing job criteria. |
| Idempotent adds | Adding a criterion with identical text returns the existing entry. |
Library vs Job Criteria
| Aspect | Library Criteria | Job Criteria |
|---|
| Scope | Tenant-wide | Single job |
| Purpose | Template storage | Active scoring |
| Used for scoring | No | Yes |
| Versioned | No | Yes (tracked per score) |
Library criteria are templates only. To use them for scoring, you must add them to a job’s criteria set.
What to Save
Good candidates for the library are company-wide standards that apply across multiple roles:
- Tenure & stability: “2+ years average tenure at previous roles”
- Work style: “Experience in distributed/remote teams”
- Communication: “Strong written communication skills”
- Culture fit: “Examples of ownership and continuous learning”
Example Workflow
// 1. Add commonly-used criteria to the library
await fetch('https://embed.nova.dweet.com/v1/criteria/library', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'X-Tenant-Id': tenantId,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: 'Demonstrated job stability with 2+ years average tenure',
importance: 'PREFERRED',
}),
});
// 2. List library criteria to show in your UI
const { criteria: libraryCriteria } = await fetch(
'https://embed.nova.dweet.com/v1/criteria/library',
{ headers: { 'Authorization': `Bearer ${apiKey}`, 'X-Tenant-Id': tenantId } }
).then(r => r.json());
// 3. Add selected criteria to a job
for (const criterion of selectedFromLibrary) {
await fetch(`https://embed.nova.dweet.com/v1/jobs/${jobId}/criteria`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'X-Tenant-Id': tenantId,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: criterion.text,
importance: criterion.importance,
}),
});
}
Available Operations