Hermes API

Jobs

Inspect async job status and results when available.

Functions

get_job_statusGET /jobs/{id}
curl -sS "https://api.hermes-api.dev/jobs/$ID" \
  -H "X-Hermes-Key: $HERMES_API_KEY"

Types

Request and response shapes pulled directly from the OpenAPI schema.

ApiError
export type ApiError = {
  code?: string | null;
  detail?: string | null;
  error: string;
  fields?: {
    [key: string]: string;
  } | null;
  request_id?: string | null;
};
CategorySelectionInput
export type CategorySelectionInput = {
  confidence: number;
  id: string;
  label: string;
  rationale: string;
  tree_id: string;
};
ImagesSource
export type ImagesSource = string | Array<string>;
JobInfo
export type JobInfo = JobState & {
  created_at: string;
  id: string;
  max_retries?: number | null;
  request: PublicListingRequest;
  retry?: number | null;
  updated_at: string;
};
JobState
export type JobState = {
  state: "queued";
} | {
  state: "running";
} | {
  result: ListingResponse;
  state: "completed";
} | {
  error: string;
  stage?: string | null;
  state: "failed";
};
ListingResponse
export type ListingResponse = {
  listing_id: string;
  stages: Array<StageReport>;
};
LlmModel
export type LlmModel = "gpt-5.2" | "gpt-5-mini" | "gpt-5-nano";
LlmStageOptions
export type LlmStageOptions = {
  model: LlmModel;
  reasoning?: boolean;
  web_search?: boolean;
};
MarketplaceId
export type MarketplaceId = "EBAY_US" | "EBAY_UK" | "EBAY_DE";
PublicListingRequest Public-facing listing request without internal LLM override knobs.
export type PublicListingRequest = {
  dry_run?: boolean;
  fulfillment_policy_id: string;
  images_source: ImagesSource;
  llm_aspects?: null | LlmStageOptions;
  llm_ingest?: null | LlmStageOptions;
  marketplace?: MarketplaceId;
  merchant_location_key: string;
  overrides?: null | PublicPipelineOverrides;
  payment_policy_id: string;
  publish?: boolean;
  return_policy_id: string;
  sku?: string;
  use_signed_urls?: boolean;
};
PublicPipelineOverrides Public-safe subset of pipeline overrides.
export type PublicPipelineOverrides = {
  category?: null | CategorySelectionInput;
  condition?: string | null;
  condition_id?: number | null;
  product?: unknown;
  resolved_images?: Array<string> | null;
};
PublicStageOutput Public-safe view of stage output to avoid leaking internal artifacts.
export type PublicStageOutput = {
  summary?: string | null;
  warnings?: Array<string> | null;
};
StageReport
export type StageReport = {
  elapsed_ms: number;
  name: string;
  output: PublicStageOutput;
  timestamp: string;
};