Skip to main content
POST
/
v1
/
jobs
/
{jobId}
/
criteria
/
items
Add criterion to active criteria
curl --request POST \
  --url https://embed.nova.dweet.com/v1/jobs/{jobId}/criteria/items \
  --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",
    "order": 123
  },
  "criteria": [
    {
      "id": "<string>",
      "text": "<string>",
      "importance": "MUST_HAVE",
      "order": 123
    }
  ]
}
Existing scores are not affected. A new criteria version is created when you add a criterion. Only future score requests will use the updated criteria.

When to Use

Add a criterion when you discover a new requirement after initial criteria generation:

Discovered Requirement

Your team identified an important qualification that wasn’t in the original job description

Process Change

Your hiring process evolved and now requires evaluating an additional skill

Common Scenarios

ScenarioExample Criterion
Team feedback after interviews”Experience mentoring junior engineers”
New project requirements”Familiarity with GraphQL APIs”
Compliance update”Security clearance eligibility”
From libraryCopy a reusable criterion from your Criteria Library

Adding from Library

To add a criterion from the library to a job, first list your library criteria, then add the selected criterion to the job:
// 1. Get library criteria
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());

// 2. User selects a criterion from the library UI
const selected = libraryCriteria[0];

// 3. Add it to the job (creates a copy)
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: selected.text,
    importance: selected.importance,
  }),
});
Adding from the library creates an independent copy. Editing the job criterion won’t affect the library, and vice versa.

Response

The response includes the full criteria list after the addition, making it easy to update your UI without a separate GET request.

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.

Path Parameters

jobId
string
required

Your job identifier (external ID).

Body

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

Response

Created

criterion
object
required
criteria
object[]
required