---
title: "Poll a publish job"
method: GET
path: "/v25-10-beta/agentic-logic/rules/{ruleId}/publish-jobs/{jobId}"
tags: ["Agentic Logic"]
---

# Poll a publish job

`GET /v25-10-beta/agentic-logic/rules/{ruleId}/publish-jobs/{jobId}`

## Request

- Base URL: `https://api.intelligems.io`
- URL: `https://api.intelligems.io/v25-10-beta/agentic-logic/rules/{ruleId}/publish-jobs/{jobId}`
- Auth: API key in header `intelligems-access-token`

```http
GET /v25-10-beta/agentic-logic/rules/{ruleId}/publish-jobs/{jobId}
```

The response is `{ job }`.

- `status` is `queued`, `running`, `succeeded`, `failed`, or `cancelled`. A
  `cancelled` job was stopped by a person and is final.
- `mode` is `publish` (every gate, then a new active version on success) or
  `dry_run` (the validation gates only; never promotes). The API starts
  `dry_run` jobs through [run-gates](#run-the-gates-without-publishing); the
  platform also starts them, such as on a code rule's first draft save, in the
  repair loop, and from "Run tests" in the admin.
- The response includes every gate with its own status and result, so a failed
  publish tells you which gate rejected it and why.
- When a `publish` job succeeds, `resultingVersionId` identifies the version
  that is now active.

Use the `intelligems-access-token` header. The token selects the organization; do not send `orgId`. The organization must have Agentic Logic enabled.

**Rate Limit:** 50 requests per 30s window, refilling 25 tokens every 30s.

## Path parameters

- `ruleId` string, uuid, required
- `jobId` string, uuid, required

## Response `200`

OK

- object
  - `job` object, required: One publish job: the async unit that runs the gate pipeline against a frozen draft snapshot and, in publish mode, promotes a new active version on success.
    - `id` string, required: Publish-job id (uuid) — the handle returned by the publish endpoint.
    - `ruleId` string, required: Rule the job publishes (uuid).
    - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'cancelled', required: 'queued' | 'running' | 'succeeded' | 'failed'.
    - `mode` 'publish' | 'dry_run', required: 'publish' (runs every gate and promotes a version on success) | 'dry_run' (validation gates only, never promotes). What the job IS — a reader cannot infer it from status while the job is still in flight.
    - `startedAtTs` number, nullable, required: Worker start time, Unix epoch-ms; null while queued.
    - `finishedAtTs` number, nullable, required: Terminal time, Unix epoch-ms; null until the job finishes.
    - `resultingVersionId` string, nullable, required: Version the job promoted, when it succeeded in publish mode; null otherwise (and null again if that version is later deleted by retention).
    - `gates` object[], required: Per-gate results, in pipeline order.
      - `gateKey` 'static_contract' | 'deps_locked' | 'org_secrets_resolved' | 'required_tests_passed' | 'bundle_size' | 'runtime_timeout' | 'chain_cost' | 'scan_cost' | 'graph_consistency' | 'ai_tests_generated' | 'ai_tests_passed' | 'user_tests_passed' | 'lambda_deploy', required: Which gate this result belongs to.
      - `status` 'pending' | 'running' | 'passed' | 'failed' | 'warning' | 'blocked', required: 'pending' | 'running' | 'passed' | 'failed' | 'warning' | 'blocked'. 'warning' passes with caveats; 'blocked' means an earlier gate's failure prevented this one from running.
      - `result` string, nullable: Human-readable gate summary, when available.
      - `detailsJson` object, nullable: Structured gate details, when available.
      - `startedAtTs` number, nullable: Gate start time, Unix epoch-ms, when started.
      - `finishedAtTs` number, nullable: Gate finish time, Unix epoch-ms, when finished.

## Other responses

- `429`: Too Many Requests

## Changes

- **2026-11-06** `7b769b2f90b1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/intelligems/apis/intelligems-external-api-v25-10-beta/changes/v25-10-beta/agentic-logic/rules/:ruleId/publish-jobs/:jobId/get.md)

---

[API](https://skmtc.dev/intelligems/apis/intelligems-external-api-v25-10-beta.md) - [All operations](https://skmtc.dev/intelligems/apis/intelligems-external-api-v25-10-beta/llms.txt) - [OpenAPI document](https://skmtc.dev/intelligems/apis/intelligems-external-api-v25-10-beta/revisions/ca5d7c5b1bb6?raw)
