Amigo M42 API

The M42 API from Amigo — 19 operation(s) for m42.

Operations 19

GET /v1/{workspace_id}/m42/patient-topology List Patient Topology #
GET /v1/{workspace_id}/m42/district-metrics List District Metrics #
GET /v1/{workspace_id}/m42/anomaly-alerts List Anomaly Alerts #
GET /v1/{workspace_id}/m42/forecast-fan List Forecast Fan #
GET /v1/{workspace_id}/m42/positive-signals List Positive Signals #
GET /v1/{workspace_id}/m42/anomalies/ranked List Anomalies Ranked #
GET /v1/{workspace_id}/m42/clusters/summary List Cluster Summary #
GET /v1/{workspace_id}/m42/clusters/forecast List Cluster Forecast #
GET /v1/{workspace_id}/m42/forecast-fan/draws List Forecast Draws #
GET /v1/{workspace_id}/m42/model-registry List Model Registry #
GET /v1/{workspace_id}/m42/stratified-fits List Stratified Fits #
GET /v1/{workspace_id}/m42/patients/{patient_id}/labs List Patient Labs #
GET /v1/{workspace_id}/m42/patients/{patient_id}/note Get Patient Note #
GET /v1/{workspace_id}/m42/notes/rollup Get Notes Rollup #
GET /v1/{workspace_id}/m42/catalog List Catalog #
GET /v1/{workspace_id}/m42/catalog/{table}/columns Describe Table #
GET /v1/{workspace_id}/m42/catalog/{table}/sample Sample Table #
GET /v1/{workspace_id}/m42/features List Features #
GET /v1/{workspace_id}/m42/features/distribution Feature Distribution #

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/amigo-m42-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

amigo-m42-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amigo Account M42 API
  version: 0.1.0
servers:
- url: https://api.amigo.ai
- url: https://internal-api.amigo.ai
- url: https://api-eu-central-1.amigo.ai
- url: https://api-ap-southeast-2.amigo.ai
- url: https://api-ca-central-1.amigo.ai
security:
- Bearer-Authorization: []
  Bearer-Authorization-Organization: []
  Basic: []
tags:
- name: M42
paths:
  /v1/{workspace_id}/m42/patient-topology:
    get:
      tags:
      - M42
      summary: List Patient Topology
      description: Patient-level UMAP coordinates + predicted risk for the Self-Image scatter. Hand-seeded demo data (no ML training). Paginated.
      operationId: list_patient_topology_v1__workspace_id__m42_patient_topology_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: cluster
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 64
          - type: 'null'
          title: Cluster
      - name: risk_tier
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
            maximum: 4
            minimum: 0
          - type: 'null'
          title: Risk Tier
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 50000
          minimum: 1
          default: 10000
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientTopologyResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/district-metrics:
    get:
      tags:
      - M42
      summary: List District Metrics
      description: Per-district t2d observed vs predicted incidence, capacity gap, and unmet-demand score. Hand-seeded demo data.
      operationId: list_district_metrics_v1__workspace_id__m42_district_metrics_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DistrictMetricsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/anomaly-alerts:
    get:
      tags:
      - M42
      summary: List Anomaly Alerts
      description: Emerging health anomalies with inline causal decomposition, recommended actions, and unacted projection. Hand-seeded demo data.
      operationId: list_anomaly_alerts_v1__workspace_id__m42_anomaly_alerts_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: severity
        in: query
        required: false
        schema:
          anyOf:
          - enum:
            - high
            - medium
            - low
            type: string
          - type: 'null'
          title: Severity
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnomalyAlertResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/forecast-fan:
    get:
      tags:
      - M42
      summary: List Forecast Fan
      description: Forecast fan points (t, median, lower/upper 95% CI) for a named run + scenario. Used by the Sensorium observational fan and the Sims dual-envelope overlay.
      operationId: list_forecast_fan_v1__workspace_id__m42_forecast_fan_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: run_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 128
          - type: 'null'
          title: Run Id
      - name: scenario
        in: query
        required: false
        schema:
          anyOf:
          - enum:
            - baseline
            - with_policy
            - observational
            type: string
          - type: 'null'
          title: Scenario
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 5000
          minimum: 1
          default: 1000
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForecastFanResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/positive-signals:
    get:
      tags:
      - M42
      summary: List Positive Signals
      description: Small set of positive-trend headline metrics for the Sensorium hero strip. Hand-seeded demo data.
      operationId: list_positive_signals_v1__workspace_id__m42_positive_signals_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PositiveSignalResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/anomalies/ranked:
    get:
      tags:
      - M42
      summary: List Anomalies Ranked
      description: Ranked anomalies for a single indicator (default ``t2d_risk``). Includes inline decomposition + district centroids for the map. Schema-probes the alerts table so it works pre- and post-multi-indicator pipeline expansion.
      operationId: list_anomalies_ranked_v1__workspace_id__m42_anomalies_ranked_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: indicator
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 32
          - type: 'null'
          title: Indicator
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RankedAnomalyResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/clusters/summary:
    get:
      tags:
      - M42
      summary: List Cluster Summary
      description: Per-cluster cohort stats — size, mean age/BMI/HbA1c, prediabetes / T2D %, predicted-risk mean. Powers the Patient Profile cluster strip.
      operationId: list_cluster_summary_v1__workspace_id__m42_clusters_summary_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterSummaryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/clusters/forecast:
    get:
      tags:
      - M42
      summary: List Cluster Forecast
      description: Per-cluster forecast fan points for the Patient Profile multi-line chart. ``focus_area`` defaults to T2D for backward compat.
      operationId: list_cluster_forecast_v1__workspace_id__m42_clusters_forecast_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: focus_area
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 32
          - type: 'null'
          title: Focus Area
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 5000
          minimum: 1
          default: 1000
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterForecastResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/forecast-fan/draws:
    get:
      tags:
      - M42
      summary: List Forecast Draws
      description: Sampled subset of raw Poisson bootstrap draws (faint spaghetti curves behind the forecast fan).
      operationId: list_forecast_draws_v1__workspace_id__m42_forecast_fan_draws_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: run_id
        in: query
        required: false
        schema:
          type: string
          minLength: 1
          maxLength: 128
          default: observational-territory-t2d
          title: Run Id
      - name: scenario
        in: query
        required: false
        schema:
          type: string
          minLength: 1
          maxLength: 32
          default: baseline
          title: Scenario
      - name: sample
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 20
          title: Sample
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForecastDrawsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/model-registry:
    get:
      tags:
      - M42
      summary: List Model Registry
      description: Fitted GLM coefficients, training-set size, AUROC for each focus-area model. Inline JSON kept as strings — clients parse.
      operationId: list_model_registry_v1__workspace_id__m42_model_registry_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelRegistryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/stratified-fits:
    get:
      tags:
      - M42
      summary: List Stratified Fits
      description: Per-cohort x region GLM fits with pooled fallback. Drives the dashboard's outcome-by-segment comparison view.
      operationId: list_stratified_fits_v1__workspace_id__m42_stratified_fits_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: outcome_key
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 64
          - type: 'null'
          title: Outcome Key
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StratifiedFitsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/patients/{patient_id}/labs:
    get:
      tags:
      - M42
      summary: List Patient Labs
      description: Patient-level bronze lab rows ordered by observation_date. Drives the mini-trajectory charts in the Patient Profile drawer.
      operationId: list_patient_labs_v1__workspace_id__m42_patients__patient_id__labs_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: patient_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          title: Patient Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 2000
          minimum: 1
          default: 500
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientLabsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/patients/{patient_id}/note:
    get:
      tags:
      - M42
      summary: Get Patient Note
      description: Patient's synthetic clinical note + LLM-extracted structured fields. NLP sample is 500 patients — returns 404 outside that set.
      operationId: get_patient_note_v1__workspace_id__m42_patients__patient_id__note_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: patient_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          title: Patient Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientNoteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/notes/rollup:
    get:
      tags:
      - M42
      summary: Get Notes Rollup
      description: Cohort-wide (or per-cluster / per-district) rollup of NLP extractions joined onto patient-topology risk. Surfaces which narrative signals correlate with higher predicted T2D risk.
      operationId: get_notes_rollup_v1__workspace_id__m42_notes_rollup_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: cluster
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 64
          - type: 'null'
          title: Cluster
      - name: district
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 64
          - type: 'null'
          title: District
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoteRollupResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/catalog:
    get:
      tags:
      - M42
      summary: List Catalog
      description: Per-table layer + description + row count for the Catalog page.
      operationId: list_catalog_v1__workspace_id__m42_catalog_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/M42CatalogResponse'
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
  /v1/{workspace_id}/m42/catalog/{table}/columns:
    get:
      tags:
      - M42
      summary: Describe Table
      description: Column metadata (name, type, comment) for one allowlisted m42 table.
      operationId: describe_table_v1__workspace_id__m42_catalog__table__columns_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: table
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          title: Table
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColumnsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/catalog/{table}/sample:
    get:
      tags:
      - M42
      summary: Sample Table
      description: Up to ``limit`` raw rows from one allowlisted m42 table for preview.
      operationId: sample_table_v1__workspace_id__m42_catalog__table__sample_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: table
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          title: Table
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 50
          minimum: 1
          default: 5
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SampleResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/m42/features:
    get:
      tags:
      - M42
      summary: List Features
      description: Allowlist of feature columns (continuous or binary) for the Explore UI.
      operationId: list_features_v1__workspace_id__m42_features_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeaturesResponse'
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
  /v1/{workspace_id}/m42/features/distribution:
    get:
      tags:
      - M42
      summary: Feature Distribution
      description: Histogram bins for one allowlisted feature, stratified by ``y_t2d_1yr`` outcome. Continuous features get ``bins`` buckets; binary features collapse to 2.
      operationId: feature_distribution_v1__workspace_id__m42_features_distribution_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: feature
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          title: Feature
      - name: bins
        in: query
        required: false
        schema:
          type: integer
          maximum: 40
          minimum: 2
          default: 20
          title: Bins
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureDistributionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PatientNoteExtractions:
      properties:
        symptoms:
          items:
            type: string
          type: array
          title: Symptoms
        concerns:
          items:
            type: string
          type: array
          title: Concerns
        medications_planned:
          items:
            type: string
          type: array
          title: Medications Planned
        hba1c_sentiment:
          anyOf:
          - type: string
          - type: 'null'
          title: Hba1C Sentiment
        activity_level:
          anyOf:
          - type: string
          - type: 'null'
          title: Activity Level
        smoking_status:
          anyOf:
          - type: string
          - type: 'null'
          title: Smoking Status
        food_pattern:
          anyOf:
          - type: string
          - type: 'null'
          title: Food Pattern
        n_symptoms:
          type: integer
          title: N Symptoms
          default: 0
        n_concerns:
          type: integer
          title: N Concerns
          default: 0
      type: object
      required:
      - symptoms
      - concerns
      - medications_planned
      title: PatientNoteExtractions
    ModelRegistryResponse:
      properties:
        workspace_id:
          type: string
          format: uuid
          title: Workspace Id
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/ModelRegistryRow'
          type: array
          title: Items
      type: object
      required:
      - workspace_id
      - count
      - items
      title: ModelRegistryResponse
    ModelRegistryRow:
      properties:
        workspace_id:
          anyOf:
          - type: string
            format: uuid
          - type: string
            const: labs
          title: Workspace Id
        model_id:
          type: string
          title: Model Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        focus_area:
          anyOf:
          - type: string
          - type: 'null'
          title: Focus Area
        algorithm:
          anyOf:
          - type: string
          - type: 'null'
          title: Algorithm
        version:
          anyOf:
          - type: string
          - type: 'null'
          title: Version
        trained_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Trained At
        training_set_size:
          anyOf:
          - type: integer
          - type: 'null'
          title: Training Set Size
        coefficients_json:
          anyOf:
          - type: string
          - type: 'null'
          title: Coefficients Json
        metrics_json:
          anyOf:
          - type: string
          - type: 'null'
          title: Metrics Json
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      type: object
      required:
      - workspace_id
      - model_id
      title: ModelRegistryRow
    StratifiedFitsResponse:
      properties:
        workspace_id:
          type: string
          format: uuid
          title: Workspace Id
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/StratifiedFitRow'
          type: array
          title: Items
      type: object
      required:
      - workspace_id
      - count
      - items
      title: StratifiedFitsResponse
    ColumnsResponse:
      properties:
        workspace_id:
          type: string
          format: uuid
          title: Workspace Id
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/ColumnInfo'
          type: array
          title: Items
      type: object
      required:
      - workspace_id
      - count
      - items
      title: ColumnsResponse
    PatientNoteResponse:
      properties:
        workspace_id:
          type: string
          format: uuid
          title: Workspace Id
        patient_id:
          type: string
          title: Patient Id
        authored_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Authored At
        author:
          anyOf:
          - type: string
          - type: 'null'
          title: Author
        note_text:
          type: string
          title: Note Text
        extractions:
          $ref: '#/components/schemas/PatientNoteExtractions'
      type: object
      required:
      - workspace_id
      - patient_id
      - note_text
      - extractions
      title: PatientNoteResponse
    PatientLabRow:
      properties:
        patient_id:
          type: string
          title: Patient Id
        observation_date:
          anyOf:
          - type: string
          - type: 'null'
          title: Observation Date
        test_name:
          type: string
          title: Test Name
        value:
          anyOf:
          - type: number
          - type: 'null'
          title: Value
        units:
          anyOf:
          - type: string
          - type: 'null'
          title: Units
        loinc_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Loinc Code
      type: object
      required:
      - patient_id
      - test_name
      title: PatientLabRow
    ClusterForecastResponse:
      properties:
        workspace_id:
          type: string
          format: uuid
          title: Workspace Id
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/ClusterForecastPointRow'
          type: array
          title: Items
      type: object
      required:
      - workspace_id
      - count
      - items
      title: ClusterForecastResponse
    HistogramBin:
      properties:
        x_lo:
          type: number
          title: X Lo
        x_hi:
          type: number
          title: X Hi
        y0:
          type: integer
          title: Y0
        y1:
          type: integer
          title: Y1
      type: object
      required:
      - x_lo
      - x_hi
      - y0
      - y1
      title: HistogramBin
    NoteRollupCategoryEntry:
      properties:
        value:
          type: string
          title: Value
        n:
          type: integer
          title: N
        pct:
          type: number
          title: Pct
        mean_risk:
          type: number
          title: Mean Risk
        risk_lift:
          type: number
          title: Risk Lift
      type: object
      required:
      - value
      - n
      - pct
      - mean_risk
      - risk_lift
      title: NoteRollupCategoryEntry
    ForecastFanResponse:
      properties:
        workspace_id:
          type: string
          format: uuid
          title: Workspace Id
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/ForecastFanPointRow'
          type: array
          title: Items
      type: object
      required:
      - workspace_id
      - coun

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amigo/refs/heads/main/openapi/amigo-m42-api-openapi.yml