{
  "$comment": "JSON Schemas for the documents the Helm API accepts. The OpenAPI spec at /spec/helm-api-general.json describes the requests; these describe what goes inside them. Each `name` is also the name `GET /schema/schemas/{name}` resolves.",
  "commit": "ef7238d68f8a",
  "generated_at": "2026-09-23T07:55:55Z",
  "openapi": "/spec/helm-api-general.json",
  "schemas": [
    {
      "name": "WorkflowDefinitionV1",
      "kind": "definition",
      "title": "WorkflowDefinitionV1",
      "url": "/schemas/WorkflowDefinitionV1.json",
      "bytes": 323908,
      "description": "Schema for a workflow definition (version 1)."
    },
    {
      "name": "JobDefinitionV1",
      "kind": "definition",
      "title": "JobDefinitionV1",
      "url": "/schemas/JobDefinitionV1.json",
      "bytes": 306059,
      "description": "Schema for a job definition (version 1) within a workflow."
    },
    {
      "name": "HttpActionV1",
      "kind": "action",
      "title": "HttpActionV1",
      "url": "/schemas/HttpActionV1.json",
      "bytes": 6817,
      "description": "HTTP request action. Performs an outbound HTTP call."
    },
    {
      "name": "HttpCallbackActionV1",
      "kind": "action",
      "title": "HttpCallbackActionV1",
      "url": "/schemas/HttpCallbackActionV1.json",
      "bytes": 5371,
      "description": "Async HTTP callback action — dispatches a request and resumes on the callback."
    },
    {
      "name": "LlmCallbackActionV1",
      "kind": "action",
      "title": "LlmCallbackActionV1",
      "url": "/schemas/LlmCallbackActionV1.json",
      "bytes": 5243,
      "description": "LLM completion action (anthropic/openai) with optional multimodal messages."
    },
    {
      "name": "AwaitInputActionV1",
      "kind": "action",
      "title": "AwaitInputActionV1",
      "url": "/schemas/AwaitInputActionV1.json",
      "bytes": 2248,
      "description": "Pauses the job until external input is provided."
    },
    {
      "name": "InvokeWorkflowActionV1",
      "kind": "action",
      "title": "InvokeWorkflowActionV1",
      "url": "/schemas/InvokeWorkflowActionV1.json",
      "bytes": 2248,
      "description": "Triggers another workflow (fire-and-forget)."
    },
    {
      "name": "QueryEntityActionV1",
      "kind": "action",
      "title": "QueryEntityActionV1",
      "url": "/schemas/QueryEntityActionV1.json",
      "bytes": 47792,
      "description": "Queries entities by type (typeName) or id, with filter, multi-column sort, offset (page) or keyset (cursor) paging, one-hop relationship include (type-name strings or per-include filter/sort/limit objects), distinctOn grouping, count (+ countStrategy), and single. Output: { data, nextCursor?, totalCount? }."
    },
    {
      "name": "QueryEntityGraphActionV1",
      "kind": "action",
      "title": "QueryEntityGraphActionV1",
      "url": "/schemas/QueryEntityGraphActionV1.json",
      "bytes": 37583,
      "description": "Deep relationship hydration: one root query plus a NESTED include tree (e.g. ImosVoyage → ImosPortCall → ImosCargoBerth), returned as nested rows materialized from the deduplicated graph."
    },
    {
      "name": "UpsertEntityActionV1",
      "kind": "action",
      "title": "UpsertEntityActionV1",
      "url": "/schemas/UpsertEntityActionV1.json",
      "bytes": 11852,
      "description": "Creates or updates entities (single or batch)."
    },
    {
      "name": "UpsertRelationshipActionV1",
      "kind": "action",
      "title": "UpsertRelationshipActionV1",
      "url": "/schemas/UpsertRelationshipActionV1.json",
      "bytes": 3913,
      "description": "Creates or updates relationship instances."
    },
    {
      "name": "ZipCompressActionV1",
      "kind": "action",
      "title": "ZipCompressActionV1",
      "url": "/schemas/ZipCompressActionV1.json",
      "bytes": 2523,
      "description": "Compresses one or more streams into a ZIP archive."
    },
    {
      "name": "ZipDecompressActionV1",
      "kind": "action",
      "title": "ZipDecompressActionV1",
      "url": "/schemas/ZipDecompressActionV1.json",
      "bytes": 2323,
      "description": "Decompresses a ZIP stream into per-file streams."
    },
    {
      "name": "ArchiveDecompressActionV1",
      "kind": "action",
      "title": "ArchiveDecompressActionV1",
      "url": "/schemas/ArchiveDecompressActionV1.json",
      "bytes": 2356,
      "description": "Decompresses an archive (ZIP/RAR/7z/TAR/gzip/bzip2) into streams."
    },
    {
      "name": "UploadArtifactActionV1",
      "kind": "action",
      "title": "UploadArtifactActionV1",
      "url": "/schemas/UploadArtifactActionV1.json",
      "bytes": 4298,
      "description": "Uploads an artifact to entity storage."
    },
    {
      "name": "DownloadFromStorageActionV1",
      "kind": "action",
      "title": "DownloadFromStorageActionV1",
      "url": "/schemas/DownloadFromStorageActionV1.json",
      "bytes": 2987,
      "description": "Downloads an artifact from storage into a stream."
    },
    {
      "name": "CreateArtifactDownloadURLActionV1",
      "kind": "action",
      "title": "CreateArtifactDownloadURLActionV1",
      "url": "/schemas/CreateArtifactDownloadURLActionV1.json",
      "bytes": 2323,
      "description": "Creates a time-limited download URL for an artifact."
    },
    {
      "name": "UploadTempFileActionV1",
      "kind": "action",
      "title": "UploadTempFileActionV1",
      "url": "/schemas/UploadTempFileActionV1.json",
      "bytes": 2758,
      "description": "Store a stream, raw string or JSON value as a temp file (24 h max) and return its id and a credential-free download URL."
    },
    {
      "name": "DownloadTempFileActionV1",
      "kind": "action",
      "title": "DownloadTempFileActionV1",
      "url": "/schemas/DownloadTempFileActionV1.json",
      "bytes": 2437,
      "description": "Read a temp file's bytes into the run's stream context, or as text."
    },
    {
      "name": "CreateTempFileDownloadURLActionV1",
      "kind": "action",
      "title": "CreateTempFileDownloadURLActionV1",
      "url": "/schemas/CreateTempFileDownloadURLActionV1.json",
      "bytes": 2261,
      "description": "Mint a credential-free download URL over a temp file (default 900 s, max 7200 s, never beyond the file's life)."
    },
    {
      "name": "CsvFromZipStreamActionV1",
      "kind": "action",
      "title": "CsvFromZipStreamActionV1",
      "url": "/schemas/CsvFromZipStreamActionV1.json",
      "bytes": 3083,
      "description": "Extracts a CSV from a ZIP stream."
    },
    {
      "name": "ImportEntitiesFromCsvActionV1",
      "kind": "action",
      "title": "ImportEntitiesFromCsvActionV1",
      "url": "/schemas/ImportEntitiesFromCsvActionV1.json",
      "bytes": 3632,
      "description": "Imports entities from a CSV stream."
    },
    {
      "name": "SplitPdfActionV1",
      "kind": "action",
      "title": "SplitPdfActionV1",
      "url": "/schemas/SplitPdfActionV1.json",
      "bytes": 2692,
      "description": "Splits a PDF stream into multiple parts."
    },
    {
      "name": "MergePdfActionV1",
      "kind": "action",
      "title": "MergePdfActionV1",
      "url": "/schemas/MergePdfActionV1.json",
      "bytes": 2367,
      "description": "Merges multiple PDF streams into one."
    },
    {
      "name": "ChunkPdfActionV1",
      "kind": "action",
      "title": "ChunkPdfActionV1",
      "url": "/schemas/ChunkPdfActionV1.json",
      "bytes": 2099,
      "description": "Chunks a PDF stream by page/size limits."
    },
    {
      "name": "TransformCsvStreamActionV1",
      "kind": "action",
      "title": "TransformCsvStreamActionV1",
      "url": "/schemas/TransformCsvStreamActionV1.json",
      "bytes": 2606,
      "description": "Transforms a CSV stream row-by-row via JSONata."
    },
    {
      "name": "ExportEntitiesToCsvActionV1",
      "kind": "action",
      "title": "ExportEntitiesToCsvActionV1",
      "url": "/schemas/ExportEntitiesToCsvActionV1.json",
      "bytes": 36672,
      "description": "Exports entities to a CSV stream."
    },
    {
      "name": "ExportEntitiesToXlsxActionV1",
      "kind": "action",
      "title": "ExportEntitiesToXlsxActionV1",
      "url": "/schemas/ExportEntitiesToXlsxActionV1.json",
      "bytes": 36726,
      "description": "Exports entities to an XLSX (Excel) workbook stream. The workbook is buffered before it is written, so the export is capped at 250,000 cells (rows x columns); use exportEntitiesToCsv beyond that."
    },
    {
      "name": "ListEntityArtifactsActionV1",
      "kind": "action",
      "title": "ListEntityArtifactsActionV1",
      "url": "/schemas/ListEntityArtifactsActionV1.json",
      "bytes": 2634,
      "description": "Lists an entity's artifacts (deduplicated)."
    },
    {
      "name": "RemoveEntitiesActionV1",
      "kind": "action",
      "title": "RemoveEntitiesActionV1",
      "url": "/schemas/RemoveEntitiesActionV1.json",
      "bytes": 2508,
      "description": "Removes entities by id."
    },
    {
      "name": "RemoveRelationshipsActionV1",
      "kind": "action",
      "title": "RemoveRelationshipsActionV1",
      "url": "/schemas/RemoveRelationshipsActionV1.json",
      "bytes": 2532,
      "description": "Removes relationship instances by id."
    },
    {
      "name": "SyncRelationshipsActionV1",
      "kind": "action",
      "title": "SyncRelationshipsActionV1",
      "url": "/schemas/SyncRelationshipsActionV1.json",
      "bytes": 2880,
      "description": "Set-replaces one entity's relationships under a rule to exactly the listed targets (engine-side diff: removes unlisted, adds missing)."
    },
    {
      "name": "MergeCsvStreamsActionV1",
      "kind": "action",
      "title": "MergeCsvStreamsActionV1",
      "url": "/schemas/MergeCsvStreamsActionV1.json",
      "bytes": 3212,
      "description": "Joins two CSV streams on key columns with merge rules."
    },
    {
      "name": "PipeActionV1",
      "kind": "action",
      "title": "PipeActionV1",
      "url": "/schemas/PipeActionV1.json",
      "bytes": 8589,
      "description": "Runs $pipe row-shaping steps (map/filter/orderBy/leftJoin/distinct/guardedProject/…) over an array of rows. Pure compute — no entity reads/writes, no HTTP."
    },
    {
      "name": "AppSpecDocumentV1",
      "kind": "app-spec",
      "title": "AppSpecDocumentV1",
      "url": "/schemas/AppSpecDocumentV1.json",
      "bytes": 346894,
      "description": "The `spec_document` an app spec is authored as: its dashboards, pages, widgets, providers, and policies."
    },
    {
      "name": "WidgetConfigCatalogV1",
      "kind": "widget-catalog",
      "title": "WidgetConfigCatalogV1",
      "url": "/schemas/WidgetConfigCatalogV1.json",
      "bytes": 380856,
      "description": "Config schemas for every widget, keyed under `definitions` by schema name — e.g. `data_grid` is `#/definitions/DataGridWidgetConfigV1`. Shared subtrees (notably `ActionDefinition`) are stored once and referenced.\n\nThese describe the RESOLVED config: the shape the engine validates after smart values have evaluated, and the one a bad config fails at render. An AUTHORED config may carry a `{{ … }}` expression or a `$jsonata` directive at any leaf, so validate authored JSON against AppSpecDocumentV1 and use these for the field names, types, and enums each widget accepts.",
      "entries": {
        "actions": "#/definitions/ActionsWidgetConfigV1",
        "breadcrumbs": "#/definitions/BreadcrumbsWidgetConfigV1",
        "custom_markup": "#/definitions/CustomMarkupWidgetConfigV1",
        "data_grid": "#/definitions/DataGridWidgetConfigV1",
        "process_data_grid": "#/definitions/ProcessDataGridWidgetConfigV1",
        "page_tabs": "#/definitions/PageTabsWidgetConfigV1",
        "form": "#/definitions/FormWidgetConfigV1",
        "headline": "#/definitions/HeadlineWidgetConfigV1",
        "table": "#/definitions/TableWidgetConfigV1",
        "status_checklist": "#/definitions/StatusChecklistWidgetConfigV1",
        "action_bar": "#/definitions/ActionBarWidgetConfigV1",
        "related_collections": "#/definitions/RelatedCollectionsWidgetConfigV1",
        "entity_info": "#/definitions/EntityInfoWidgetConfigV1",
        "section_switcher": "#/definitions/SectionSwitcherWidgetConfigV1",
        "chips": "#/definitions/ChipsWidgetConfigV1",
        "filter_bar": "#/definitions/FilterBarWidgetConfigV1",
        "section": "#/definitions/SectionWidgetConfigV1",
        "row": "#/definitions/RowWidgetConfigV1",
        "divider": "#/definitions/DividerWidgetConfigV1",
        "iframe": "#/definitions/IframeWidgetConfigV1",
        "tabs": "#/definitions/TabsWidgetConfigV1",
        "header": "#/definitions/HeaderWidgetConfigV1",
        "footer": "#/definitions/FooterWidgetConfigV1",
        "file_viewer": "#/definitions/FileViewerWidgetConfigV1"
      }
    }
  ]
}
