Hermes API

Products

Create and manage product records with stored Structure and context.

Functions

list_productsGET /v1/products
curl -sS "https://api.hermes-api.dev/v1/products" \
  -H "X-Hermes-Key: $HERMES_API_KEY"

List products for the authenticated org.

create_productPOST /v1/products
curl -sS -X POST "https://api.hermes-api.dev/v1/products" \
  -H "X-Hermes-Key: $HERMES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Create a new product.

get_productGET /v1/products/{product_id}
curl -sS "https://api.hermes-api.dev/v1/products/$PRODUCT_ID" \
  -H "X-Hermes-Key: $HERMES_API_KEY"

Fetch a single product by id.

delete_productDELETE /v1/products/{product_id}
curl -sS -X DELETE "https://api.hermes-api.dev/v1/products/$PRODUCT_ID" \
  -H "X-Hermes-Key: $HERMES_API_KEY"

Delete a product.

update_productPATCH /v1/products/{product_id}
curl -sS -X PATCH "https://api.hermes-api.dev/v1/products/$PRODUCT_ID" \
  -H "X-Hermes-Key: $HERMES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Update product fields.

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;
};
ProductCreateRequest
export type ProductCreateRequest = {
  display_name?: string | null;
  id?: string | null;
  sku_alias?: string | null;
};
ProductRecord
export type ProductRecord = {
  context_text?: string | null;
  created_at: string;
  display_name?: string | null;
  id: string;
  listings_json: unknown;
  sku_alias: string;
  structure_json?: unknown;
  updated_at: string;
};
ProductUpdateRequest
export type ProductUpdateRequest = {
  context_text?: string | null;
  display_name?: string | null;
  listings_json?: unknown;
  sku_alias?: string | null;
  structure_json?: unknown;
};