---
title: "Poll a coding job"
method: GET
path: "/api/v1/codeiq/coding-jobs/{id}"
tags: ["CodeIQ"]
---

# Poll a coding job

`GET /api/v1/codeiq/coding-jobs/{id}`

## Request

- Base URL: `https://api.reconcileiq.com`
- URL: `https://api.reconcileiq.com/api/v1/codeiq/coding-jobs/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Fetches coding job status and, once finished, the coded result. `status` is one of `queued`, `processing`, `completed`, `failed`. Result transactions are returned in the exact submitted order. `suggested_account_type` may be null. Visible only to the owning user; requires scope `codeiq:read` OR being the exact key that created it. Non-owned or unknown ids return 404.

## Path parameters

- `id` string, required

## Response `200`

Coding job state.

- CodingJobState
  - `coding_job_id` string, required
  - `status` 'queued' | 'processing' | 'completed' | 'failed', required
  - `created_at` string, date-time, required
  - `completed_at` string, date-time
  - `result` CodingJobResult
    - `summary` object
      - `transaction_count` integer
      - `coded_count` integer
      - `by_method` object
    - `transactions` CodedTransaction[]
      - `input` object: Echo of the submitted row (merchant/reference only if supplied).
        - `date` string
        - `description` string
        - `amount` number
        - `merchant` string
        - `reference` string
      - `suggested_account_code` string, nullable
      - `suggested_account_name` string, nullable
      - `suggested_account_type` string, nullable: May be null even when an account is suggested.
      - `vat_code` string, nullable: Universal VAT code: NV, ST, RR, EX, ZR.
      - `vat_rate` number, nullable
      - `net_amount` number, nullable
      - `vat_amount` number, nullable
      - `confidence` number, nullable
      - `coding_method` string, nullable: Non-exhaustive; e.g. transfer_detection, invoice_payment, historical, universal_pattern, mcc_category_match, semantic, user_learning, riq_enhancement. Treat as an opaque string.
  - `error` object
    - `code` string
    - `message` string
    - `details` unknown

## Other responses

- `401`: Missing, invalid, or revoked API key.
- `403`: Authenticated but the key lacks the required scope.
- `404`: Resource not found, or not visible to the caller (no existence leak).
- `429`: Per-key rate limit exceeded (120 requests / 60s window).

---

[API](https://skmtc.dev/reconcileiq/apis/reconcileiq-public-api.md) · [All operations](https://skmtc.dev/reconcileiq/apis/reconcileiq-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reconcileiq/apis/reconcileiq-public-api/revisions/5401beef8653?raw)
