Retrieve a knowledge upload job

View as Markdown
Returns the status of an upload queued with `POST /api/agents/{agentId}/knowledge?async=true`. `status` moves from `pending` to `processing` and ends in `completed`, with the document in `result` (the same object as the synchronous `201`), or `failed`, with the reason in `error`. Poll every few seconds until the job ends. A job is kept for **one hour** after its last update. After that, and for an id that never existed or belongs to another workspace, the answer is `404 Job not found`. Background uploads are attempted once: a `failed` job is not retried, so upload the file again. The job is looked up by id within the workspace; the `agentId` in the path is neither validated nor checked against the job. **Idempotency.** A read with no side effects. Safe to retry. **Access** - **Required scope:** `read` (or `write`). Any workspace role. - **Rate limit:** General API — 120 requests/min per workspace on Starter or with no active plan, 200 on Growth, 300 on Business, 600 on Enterprise. See [Rate limits](/rate-limits). - **Plan:** Available on every plan.

Authentication

AuthorizationBearer
Workspace API key: `jl_` followed by 64 lowercase hex characters, created by the workspace owner in the dashboard (**Settings → API Keys**) and sent as `Authorization: Bearer jl_...`. The plaintext is shown once, at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys. | Scope | GET / HEAD | POST / PUT / PATCH / DELETE | Admin-only routes | | --- | --- | --- | --- | | `read` | Yes | No | No | | `write` | Yes | Yes | No | | `full` | Yes | Yes | Yes | Operations restricted to admins or owners reject keys without the `full` scope with `403`, and say so in their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret — that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds. See [Authentication](/authentication).

Path parameters

agentIdstringRequiredformat: "uuid"

UUID of the agent. It must belong to the authenticated workspace; an id from another workspace answers 404, exactly like an unknown one. Returned as id by GET /api/agents.

jobIdstringRequiredformat: "uuid"

The jobId returned by the 202 upload response. A value that is not a UUID returns 400.

Response

The job.
dataobject

A queued knowledge upload, as returned by GET /api/agents/{agentId}/knowledge/jobs/{jobId}. Kept for one hour after its last update.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error