Structify public_sessions API

The public_sessions API from Structify — 2 operation(s) for public_sessions.

Operations 2

GET /public/chat/{chat_session_id}/latest-workflow #
GET /public/nodes/{node_id}/output_data #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/structify-public-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

structify-public-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: team@structify.ai
    name: Structify Team
  description: Every enterprise's data team.
  license:
    name: Discuss directly with founders for license.
    url: https://structify.ai
  title: Structify account Public Sessions API
  version: 0.1.0
servers:
- description: Production server
  url: https://api.structify.ai
- description: Local server
  url: http://localhost:8080
security:
- api_key: []
- session_token: []
tags:
- name: public_sessions
paths:
  /public/chat/{chat_session_id}/latest-workflow:
    get:
      operationId: get_public_latest_workflow
      parameters:
      - description: Id of the chat session to get latest workflow for.
        in: path
        name: chat_session_id
        required: true
        schema:
          $ref: '#/components/schemas/ChatSessionId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowDAG'
          description: Successfully retrieved latest workflow DAG.
        '404':
          description: Chat session not found or no workflow sessions.
      tags:
      - public_sessions
  /public/nodes/{node_id}/output_data:
    get:
      operationId: get_public_node_output_data
      parameters:
      - description: Id of the workflow node to get output data for.
        in: path
        name: node_id
        required: true
        schema:
          $ref: '#/components/schemas/WorkflowSessionNodeId'
      responses:
        '200':
          content:
            application/octet-stream:
              schema:
                format: binary
                type: string
          description: Successfully retrieved output data.
        '404':
          description: Node not found or no output data.
      tags:
      - public_sessions
components:
  schemas:
    VizBooleanControlType:
      enum:
      - checkbox
      type: string
    VizDateControl:
      additionalProperties: false
      properties:
        label:
          type: string
        type:
          $ref: '#/components/schemas/VizDateControlType'
      required:
      - type
      - label
      type: object
    DashboardPage:
      description: 'A dashboard groups components that share a common dataset.

        If dataset_node_name is None, components render static viz without Mosaic cross-filtering.'
      properties:
        components:
          description: Components (charts) in this dashboard
          items:
            $ref: '#/components/schemas/DashboardComponent'
          type: array
        controls:
          description: Control filters (dropdowns, checkboxes, ranges) for this dashboard
          items:
            $ref: '#/components/schemas/DashboardControl'
          type:
          - array
          - 'null'
        datasetNodeName:
          description: 'Function name of the node that returns the dataset (DataFrame/Parquet).

            If None, no cross-filtering is available.'
          type:
          - string
          - 'null'
        description:
          description: Optional description
          type:
          - string
          - 'null'
        title:
          description: Title for this dashboard section
          type:
          - string
          - 'null'
      required:
      - components
      type: object
    ConnectorId:
      format: uuid
      type: string
    VizFigureKind:
      enum:
      - js
      - vega-lite
      - data-table
      type: string
    WorkflowSessionNode:
      properties:
        cache_final_rows:
          format: int64
          type:
          - integer
          - 'null'
        cache_final_size_bytes:
          format: int64
          type:
          - integer
          - 'null'
        cache_max_bytes:
          format: int64
          type:
          - integer
          - 'null'
        cache_original_rows:
          format: int64
          type:
          - integer
          - 'null'
        cache_original_size_bytes:
          format: int64
          type:
          - integer
          - 'null'
        cache_truncated:
          type: boolean
        code:
          type:
          - string
          - 'null'
        code_md5_hash:
          type: string
        confirmation_status:
          type:
          - string
          - 'null'
        connector_id:
          allOf:
          - $ref: '#/components/schemas/ConnectorId'
        created_at:
          format: date-time
          type:
          - string
          - 'null'
        docstring:
          type: string
        error_message:
          type:
          - string
          - 'null'
        error_traceback:
          type:
          - string
          - 'null'
        estimated_cost:
          format: int64
          type:
          - integer
          - 'null'
        execution_status:
          $ref: '#/components/schemas/WorkflowNodeExecutionStatus'
        execution_time_ms:
          format: int64
          type:
          - integer
          - 'null'
        function_name:
          type: string
        id:
          $ref: '#/components/schemas/WorkflowSessionNodeId'
        input_row_count:
          format: int64
          type:
          - integer
          - 'null'
        manually_edited:
          type: boolean
        node_index:
          format: int32
          type: integer
        node_name:
          type: string
        original_node:
          allOf:
          - $ref: '#/components/schemas/WorkflowSessionNodeId'
        output_blob_name:
          type:
          - string
          - 'null'
        output_schema: {}
        progress: {}
        reviewed:
          type: boolean
        session_id:
          $ref: '#/components/schemas/WorkflowSessionId'
        updated_at:
          format: date-time
          type: string
        visualization_output: {}
      required:
      - id
      - node_index
      - node_name
      - session_id
      - function_name
      - docstring
      - execution_status
      - updated_at
      - code_md5_hash
      - reviewed
      type: object
    VizFigure:
      additionalProperties: false
      properties:
        description:
          type: string
        figure:
          $ref: '#/components/schemas/VizFigureDefinition'
        id:
          type: string
        span:
          format: int32
          type: integer
        title:
          type: string
      required:
      - id
      - figure
      type: object
    VizControlOption:
      additionalProperties: false
      properties:
        label:
          type: string
        value:
          type: string
      required:
      - label
      - value
      type: object
    VizStringControl:
      additionalProperties: false
      properties:
        label:
          type: string
        options:
          items:
            $ref: '#/components/schemas/VizControlOption'
          type: array
        type:
          $ref: '#/components/schemas/VizStringControlType'
      required:
      - type
      - label
      - options
      type: object
    DashboardComponent:
      description: A component references a viz node and optional display metadata.
      properties:
        description:
          description: Optional description shown under the component title.
          type:
          - string
          - 'null'
        node_name:
          description: Function name of the viz node that outputs the chart spec.
          type: string
        span:
          description: 'Grid span: 1 (quarter), 2 (half), 3 (three-quarters), 4 (full width).'
          format: int32
          type:
          - integer
          - 'null'
        title:
          description: Display title shown in the dashboard layout.
          type: string
      required:
      - node_name
      - title
      type: object
    VizParam:
      discriminator:
        propertyName: type
      oneOf:
      - properties:
          control:
            $ref: '#/components/schemas/VizStringControl'
          type:
            enum:
            - string
            type: string
          value:
            type: string
        required:
        - value
        - type
        type: object
      - properties:
          control:
            $ref: '#/components/schemas/VizNumberControl'
          type:
            enum:
            - number
            type: string
          value:
            format: double
            type: number
        required:
        - value
        - type
        type: object
      - properties:
          control:
            $ref: '#/components/schemas/VizBooleanControl'
          type:
            enum:
            - boolean
            type: string
          value:
            type: boolean
        required:
        - value
        - type
        type: object
      - properties:
          control:
            $ref: '#/components/schemas/VizDateControl'
          type:
            enum:
            - date
            type: string
          value:
            type: string
        required:
        - value
        - type
        type: object
    WorkflowSessionId:
      format: uuid
      type: string
    VizQuery:
      additionalProperties: false
      properties:
        id:
          type: string
        sql:
          type: string
      required:
      - id
      - sql
      type: object
    VizDateControlType:
      enum:
      - date
      type: string
    ChatSessionId:
      format: uuid
      type: string
    VizNumberControl:
      additionalProperties: false
      properties:
        label:
          type: string
        max:
          format: double
          type: number
        min:
          format: double
          type: number
        step:
          format: double
          type: number
        type:
          $ref: '#/components/schemas/VizNumberControlType'
      required:
      - type
      - label
      - min
      - max
      type: object
    ControlOption:
      properties:
        label:
          type: string
        value:
          type: string
      required:
      - value
      - label
      type: object
    Dashboard:
      description: 'A page is the top-level container with title/description

        Can contain multiple dashboards with different datasets'
      properties:
        dashboards:
          description: One or more dashboards on this page
          items:
            $ref: '#/components/schemas/DashboardPage'
          type: array
        description:
          description: Optional page description
          type:
          - string
          - 'null'
        title:
          description: Page title
          type: string
      required:
      - title
      - dashboards
      type: object
    VizBooleanControl:
      additionalProperties: false
      properties:
        label:
          type: string
        type:
          $ref: '#/components/schemas/VizBooleanControlType'
      required:
      - type
      - label
      type: object
    DashboardControl:
      discriminator:
        propertyName: type
      oneOf:
      - properties:
          default_value:
            type:
            - string
            - 'null'
          field:
            type: string
          id:
            type: string
          label:
            type: string
          options:
            items:
              $ref: '#/components/schemas/ControlOption'
            type: array
          type:
            enum:
            - dropdown
            type: string
        required:
        - id
        - label
        - field
        - options
        - type
        type: object
      - properties:
          default_value:
            items:
              allOf:
              - format: double
                type: number
              - format: double
                type: number
            type:
            - array
            - 'null'
          field:
            type: string
          id:
            type: string
          label:
            type: string
          max:
            format: double
            type: number
          min:
            format: double
            type: number
          step:
            format: double
            type:
            - number
            - 'null'
          type:
            enum:
            - range
            type: string
        required:
        - id
        - label
        - field
        - min
        - max
        - type
        type: object
      - properties:
          default_value:
            items:
              type: string
            type:
            - array
            - 'null'
          field:
            type: string
          id:
            type: string
          label:
            type: string
          options:
            items:
              $ref: '#/components/schemas/ControlOption'
            type: array
          type:
            enum:
            - checkbox
            type: string
        required:
        - id
        - label
        - field
        - options
        - type
        type: object
    DashboardSpec:
      additionalProperties: false
      properties:
        dataset:
          type: string
        description:
          type: string
        figures:
          items:
            $ref: '#/components/schemas/VizFigure'
          type: array
        params:
          additionalProperties:
            $ref: '#/components/schemas/VizParam'
          type: object
        queries:
          items:
            $ref: '#/components/schemas/VizQuery'
          type: array
        title:
          type: string
        version:
          type: string
      required:
      - version
      - title
      - description
      - dataset
      - params
      - queries
      - figures
      type: object
    WorkflowSessionEdgeId:
      format: uuid
      type: string
    DashboardItem:
      properties:
        file_name:
          description: File path relative to repository root.
          type: string
        spec:
          $ref: '#/components/schemas/DashboardSpec'
      required:
      - file_name
      - spec
      type: object
    WorkflowDAG:
      properties:
        aborted:
          type: boolean
        dag_ready_at:
          format: date-time
          type:
          - string
          - 'null'
        dashboard_layout:
          allOf:
          - $ref: '#/components/schemas/Dashboard'
        dashboard_specs:
          items:
            $ref: '#/components/schemas/DashboardItem'
          type: array
        edges:
          items:
            $ref: '#/components/schemas/WorkflowSessionEdge'
          type: array
        error:
          type:
          - string
          - 'null'
        error_traceback:
          type:
          - string
          - 'null'
        is_ready:
          type: boolean
        nodes:
          items:
            $ref: '#/components/schemas/WorkflowSessionNode'
          type: array
        session_id:
          $ref: '#/components/schemas/WorkflowSessionId'
      required:
      - session_id
      - aborted
      - nodes
      - edges
      - is_ready
      - dashboard_specs
      type: object
    WorkflowSessionEdge:
      properties:
        created_at:
          format: date-time
          type: string
        id:
          $ref: '#/components/schemas/WorkflowSessionEdgeId'
        session_id:
          $ref: '#/components/schemas/WorkflowSessionId'
        source_node_id:
          $ref: '#/components/schemas/WorkflowSessionNodeId'
        target_node_id:
          $ref: '#/components/schemas/WorkflowSessionNodeId'
      required:
      - id
      - session_id
      - source_node_id
      - target_node_id
      - created_at
      type: object
    WorkflowSessionNodeId:
      format: uuid
      type: string
    VizFigureDefinition:
      additionalProperties: false
      properties:
        expression:
          type: string
        kind:
          $ref: '#/components/schemas/VizFigureKind'
      required:
      - kind
      - expression
      type: object
    VizNumberControlType:
      enum:
      - range
      type: string
    WorkflowNodeExecutionStatus:
      enum:
      - Unexecuted
      - Success
      - Failure
      - Running
      - Aborted
      - PendingConfirmation
      type: string
    VizStringControlType:
      enum:
      - dropdown
      type: string
  securitySchemes:
    api_key:
      in: header
      name: api_key
      type: apiKey
    session_token:
      scheme: bearer
      type: http