Skip to main content
GET
Export jobs as CSV
Requires the job:read scope. Requests without this scope receive a 403 FORBIDDEN response. See authentication.
The response streams as text/csv; charset=utf-8 with a UTF-8 BOM so spreadsheet apps decode prompts correctly.

Date range

Both from and to are required ISO 8601 date-time strings. Jobs are filtered by created_at (from inclusive, to exclusive). The maximum window is 366 days; longer ranges return 400 INVALID_REQUEST.

CSV columns

type values

The column is written verbatim from the stored job, so a range that reaches back far enough can contain more than the current values. Validate against the full set:
  • text, image, video, audio: the moderation modalities. chat is a retired modality kept for historical jobs.
  • pre, post: retired values on jobs created before the modality split. The API never writes them for new jobs, but existing rows keep them.
  • generate, companion_chat, companion_retarget, companion_media_tag: non-moderation job types. They appear only if your account uses them.

Empty API key cells

api_key_id is empty for a job that no API key submitted: one sent from the dashboard, and any job created before key attribution shipped. api_key_name is resolved when you run the export, not stored on the job, so it is also empty for a key you never named and for one you have since deleted. api_key_id survives both, so group on it rather than on the name.

Empty category_nsfw cells

category_nsfw is the only category column, and an empty cell means the job carries no NSFW label rather than a clean one. Three different situations produce it:
  • The job is a text, chat, audio, or generate job. The NSFW check does not apply to those, so they never carry the label, even when complete.
  • The job is an image or video job, but you disabled the NSFW check for your account.
  • The job has not finished.
A false cell means the NSFW check ran and found the content clean.

Example

to is exclusive, so use the start of the day after your last desired date (e.g. 2026-05-01T00:00:00Z to include all of April).

Authorizations

Authorization
string
header
required

API key from the Omnifence dashboard

Query Parameters

from
string<date-time>
required

Inclusive lower bound on job created_at (ISO 8601).

to
string<date-time>
required

Exclusive upper bound on job created_at (ISO 8601). Use the start of the day after your last desired date to include the full final day.

Response

200 - text/csv

CSV stream of jobs.

The response is of type file.