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;
};