Skip to main content
POST
/
v1
/
criteria-library
@nova-sdk/api
import { Nova } from "@nova-sdk/api";

const nova = new Nova({
  apiKey: "sk_test_...",
  tenantId: "acme-corp",
});

const result = await nova.criteriaLibrary.create({
  text: "5+ years experience in TypeScript",
  importance: "MUST_HAVE",
  category: "Technical Skills",
});
{
  "criterion": {
    "id": "<string>",
    "text": "<string>",
    "importance": "MUST_HAVE",
    "category": "<string>",
    "createdAt": "2023-11-07T05:31:56Z"
  }
}
This endpoint isn’t idempotent by default. If you send the same request twice without an Idempotency-Key, you’ll create duplicate library entries.If you’re retrying after a timeout or network error, send an Idempotency-Key header and reuse it when retrying the exact same request.

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

Response

The response includes the created criterion:
{
	  "criterion": {
	    "id": "criterion_id",
	    "text": "Demonstrated job stability with 2+ years average tenure",
	    "importance": "NICE_TO_HAVE",
	    "category": "company-standards",
	    "createdAt": "2025-01-15T10:00:00Z"
	  }
	}

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

Use Authorization: Bearer sk_test_* or Authorization: Bearer sk_live_*.

Headers

X-Tenant-Id
string
required

Your customer identifier. Tenants are auto-provisioned on first request.

Idempotency-Key
string

Optional key that makes criteria and library mutation requests safe to retry without duplicating side effects. The namespace is shared across all API keys for the same partner and environment. Reuse the same key when retrying the same request parameters.

Required string length: 1 - 255

Body

application/json
text
string
required
Minimum string length: 1
importance
enum<string>
required
Available options:
MUST_HAVE,
PREFERRED,
NICE_TO_HAVE
category
string

Response

Created

criterion
object
required