Skip to main content
GET
/
v1
/
jobs
/
{jobId}
/
scoring-batches
/
{scoringBatchId}
@nova-sdk/api
import { Nova } from "@nova-sdk/api";

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

const result = await nova.jobs.scoringBatches.getStatus({
  jobId: "job_abc123",
  scoringBatchId: "sb_abc123",
});
{
  "batch": {
    "id": "<string>",
    "jobId": "<string>",
    "totalJobs": 123,
    "completedJobs": 123,
    "failedJobs": 123,
    "createdAt": "2023-11-07T05:31:56Z",
    "completedAt": "2023-11-07T05:31:56Z"
  },
  "scoringJobs": [
    {
      "id": "<string>",
      "criteriaVersionId": "<string>",
      "jobId": "<string>",
      "applicationId": "<string>",
      "isRescore": true,
      "score": 123,
      "assessment": {
        "verdict": "<string>",
        "strengths": [
          "<string>"
        ],
        "concerns": [
          "<string>"
        ],
        "interviewFocus": [
          "<string>"
        ]
      },
      "errorMessage": "<string>",
      "queuedAt": "2023-11-07T05:31:56Z",
      "startedAt": "2023-11-07T05:31:56Z",
      "completedAt": "2023-11-07T05:31:56Z",
      "failedAt": "2023-11-07T05:31:56Z"
    }
  ],
  "rejectedApplications": [
    {
      "applicationId": "<string>",
      "error": {
        "message": "<string>",
        "reason": "<string>"
      }
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://nova.dweet.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Get the current status of a scoring batch, the scoring jobs it contains, and any applications rejected during batch intake.

Batch status values

StatusMeaning
pendingBatch isn’t finished yet. Jobs may be queued or currently scoring
completedAll jobs completed successfully
failedBatch finished and at least one job failed. Use failedJobs and completedJobs to determine partial vs total failure
totalJobs, completedJobs, and failedJobs count accepted applications only. rejectedApplications were rejected before queueing, so they do not create scoring jobs and do not emit score.failed webhooks.

Example response

{
  "batch": {
    "id": "cmlz26em4002cwp61t7ukh3lb",
    "jobId": "job-123",
    "status": "pending",
    "totalJobs": 2,
    "completedJobs": 1,
    "failedJobs": 0,
    "createdAt": "2025-12-14T10:30:45Z",
    "completedAt": null
  },
  "scoringJobs": [
    {
      "id": "cmlz26dl3001bwp61r8sjf2ka",
      "criteriaVersionId": "cmlz26ck2000awp61q9qcjcne",
      "jobId": "job-123",
      "applicationId": "app-001",
      "status": "completed",
      "isRescore": false,
      "score": 7,
      "assessment": {
        "verdict": "Strong candidate with solid backend experience.",
        "strengths": [],
        "concerns": [],
        "interviewFocus": []
      },
      "errorCode": null,
      "errorMessage": null,
      "queuedAt": "2025-12-14T10:30:45Z",
      "startedAt": "2025-12-14T10:30:50Z",
      "completedAt": "2025-12-14T10:31:20Z",
      "failedAt": null
    }
  ],
  "rejectedApplications": [
    {
      "applicationId": "app-bad",
      "error": {
        "code": "RESUME_CORRUPTED",
        "message": "Resume file appears to be corrupted",
        "reason": "missing_eof"
      }
    }
  ]
}

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).

scoringBatchId
string
required

Scoring batch ID.

Response

Batch status

batch
object
required
scoringJobs
object[]
required
rejectedApplications
object[]
required