---
title: "Get a bulk registration job"
method: GET
path: "/key_link/signing_keys/bulk/jobs/{jobId}"
tags: ["Key Link"]
---

# Get a bulk registration job

`GET /key_link/signing_keys/bulk/jobs/{jobId}`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/key_link/signing_keys/bulk/jobs/{jobId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/key_link/signing_keys/bulk/jobs/:jobId/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the progress and outcome of a bulk registration job. `created + alreadyRegistered` reaching `total` means every submitted key is present.

## Path parameters

- `jobId` string, required

## Response `200`

The bulk registration job

- BulkSigningKeyJob
  - `jobId` string, required: Id of the registration job.
  - `status` 'QUEUED' | 'IN_PROGRESS' | 'COMPLETED' | 'INCOMPLETE' | 'FAILED', required: QUEUED means the job is waiting for another bulk registration to finish, since only a limited number run at once. IN_PROGRESS means it is running. COMPLETED means every submitted key is present in the workspace. FAILED means the request was refused before any key was registered, so `reason` has to be acted on before resubmitting is worth anything. INCOMPLETE means some keys are not registered; resubmitting the same request retries exactly those, and `reason` says whether that is likely to help -- keys not registered because of a transient failure will succeed, a key whose certificate or proof was rejected will be rejected again.
  - `total` number, required: Keys in the submitted request.
  - `created` number, required: Keys registered by this job.
  - `alreadyRegistered` number, required: Keys already present in the workspace, recognized and skipped.
  - `failed` number, required: Keys rejected. See `reason`.
  - `reason` string, nullable: Free text describing what went wrong. Null while the job is healthy.
  - `fileHash` string, nullable: Hex digest over the submitted keys. Two jobs sharing a digest were the same set of keys, which makes a sequence of resubmissions recognizable.
  - `createdAt` number, required: Creation date (timestamp) in milliseconds.
  - `updatedAt` number, required: Last progress update (timestamp) in milliseconds.

## Other responses

- `default`: Error Response

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
