Skip to main content
The Criteria Library allows you to save commonly-used screening criteria at the tenant level and reuse them across any job.

How It Works

ConceptDescription
Tenant-scopedEach tenant has their own isolated library. Criteria are not shared across tenants.
Copy-basedAdding a library criterion to a job creates an independent copy. Changes to the library don’t affect existing job criteria.
Idempotent addsAdding a criterion with identical text returns the existing entry.

Library vs Job Criteria

AspectLibrary CriteriaJob Criteria
ScopeTenant-wideSingle job
PurposeTemplate storageActive scoring
Used for scoringNoYes
VersionedNoYes (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