Skip to main content
POST
/
v1
/
criteria
/
library
Add criterion to library
curl --request POST \
  --url https://embed.nova.dweet.com/v1/criteria/library \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Tenant-Id: <x-tenant-id>' \
  --data '
{
  "text": "<string>",
  "importance": "MUST_HAVE"
}
'
{
  "criterion": {
    "id": "<string>",
    "text": "<string>",
    "importance": "MUST_HAVE",
    "createdAt": "2023-11-07T05:31:56Z"
  },
  "alreadyExisted": true
}
Idempotent by text. If a criterion with identical text already exists, the existing entry is returned with alreadyExisted: true. No duplicate is created.

When to Use

Add criteria to the library when you’ve refined a criterion that works well and want to reuse it:

Proven Criteria

After testing a criterion produces expected scores, save it for reuse

Company Standards

Capture company-wide requirements like tenure expectations or culture fit

Idempotency

The add operation is idempotent based on exact text match:
ScenarioResult
New criterion textCreated, alreadyExisted: false
Exact text match existsExisting returned, alreadyExisted: true
Similar but not identicalCreated as new criterion
Text comparison is case-sensitive and whitespace-sensitive. “5+ years experience” and “5+ Years Experience” are treated as different criteria.

Response

The response always includes the criterion (new or existing) and a flag indicating whether it was already in the library:
{
  "criterion": {
    "id": "lib_abc123",
    "text": "Demonstrated job stability with 2+ years average tenure",
    "importance": "PREFERRED",
    "createdAt": "2025-01-15T10:00:00Z"
  },
  "alreadyExisted": false
}

What to Save

Good candidates for the library:
CategoryExamples
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”
Compliance”Authorized to work in specified location”
Avoid saving highly role-specific criteria to the library. Those should be generated or added per-job.

Authorizations

Authorization
string
header
required

API key authentication. Use your environment-specific API key (sk_test_* for sandbox, sk_live_* for production).

Headers

X-Tenant-Id
string
required

Your customer/tenant identifier. Used for data isolation and per-customer metrics. Tenants are created automatically on first request.

Body

application/json
text
string
required

Concise eligibility criterion (8-16 words)

importance
enum<string>
required

Default importance level for this criterion

Available options:
MUST_HAVE,
PREFERRED,
NICE_TO_HAVE

Response

Criterion added to library (or already existed)

criterion
object
required
alreadyExisted
boolean
required

True if a criterion with identical text already existed in the library