> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnifence.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get job status

> Retrieve the current status of a moderation job. Jobs are scoped to your client account.

<Note>
  Requires the `job:read` scope. Requests without this scope receive a `403 FORBIDDEN` response. See
  [authentication](/authentication#scopes).
</Note>


## OpenAPI

````yaml api-reference/openapi.json GET /api/v1/job/{id}
openapi: 3.1.0
info:
  title: Omnifence API
  description: >-
    Content moderation API. Clients submit images or videos which pass through a
    classification pipeline and receive a pass/reject decision.
  version: 1.0.0
  contact:
    email: support@omnifence.ai
servers:
  - url: http://localhost:3051
    description: Local development
security:
  - bearerAuth: []
tags:
  - name: System
    description: Health and diagnostics
  - name: Moderation
    description: Submit moderation jobs
  - name: Jobs
    description: Query job status and progress
  - name: Usage
    description: Billing and usage data
  - name: Webhooks
    description: Webhook registration
  - name: Account
    description: Authenticated client account settings
  - name: Billing
    description: Customer-facing billing balance and ledger
  - name: Admin
    description: Platform administration (requires admin:config scope)
paths:
  /api/v1/job/{id}:
    get:
      tags:
        - Jobs
      summary: Get job status
      description: >-
        Retrieve the current status of a moderation job. Jobs are scoped to your
        client account.
      operationId: getJobStatus
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: id
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  is_prohibited:
                    type:
                      - 'null'
                      - boolean
                    description: >-
                      True when the content was rejected, false when it passed,
                      null while the job is still pending.
                  reason:
                    type: string
                    description: >-
                      Why the content was rejected. Names the specific policy or
                      custom category that tripped. Present only on a reject.
                  nsfw:
                    type: boolean
                    description: >-
                      Informational label: whether an image/video contains
                      nudity or sexual content. Decoupled from `is_prohibited` —
                      NSFW content is not rejected on its own. Present only when
                      the NSFW classifier ran.
                  output_image_url:
                    type: string
                    description: >-
                      Generated image URL for a `generate` job (presigned HTTPS
                      when stored internally). Present only on completed
                      generation jobs.
                  error_code:
                    type: string
                    description: >-
                      Set when the job failed before reaching a moderation
                      decision.
                  job_id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - pre
                      - post
                      - prompt
                      - chat
                      - image
                      - video
                      - generate
                  status:
                    type: string
                    enum:
                      - queued
                      - processing
                      - completed
                      - failed
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type:
                      - 'null'
                      - string
                    format: date-time
                required:
                  - job_id
                  - type
                  - status
                  - created_at
                  - completed_at
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key from the Omnifence dashboard

````