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.
Templates onlyLibrary criteria are templates. Job criteria are what scoring uses.

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: 'NICE_TO_HAVE',
	  }),
	});

// 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/items`, {
    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