Algenta Ingest API

The Ingest API from Algenta — 1 operation(s) for ingest.

Operations 1

POST /v1/ingest Instant data ingestion — zero-config simulation from any table #

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/algenta-ai:algenta-ai-ingest-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

algenta-ai-ingest-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Algenta Ai Ingest API
  version: 1.0.0
  description: 'Operations tagged Ingest across 2 of this provider''s published API definitions: api.algenta.ai-openapi.json, gateway.algenta.ai-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.algenta.ai
- url: /
tags:
- name: Ingest
paths:
  /v1/ingest:
    post:
      tags:
      - Ingest
      summary: Instant data ingestion — zero-config simulation from any table
      description: '**Drop in your data. Get back a ready-to-run simulation.**


        - Paste CSV text or send JSON records

        - Multiple tables: auto-detects join keys and merges

        - Auto-detects distributions, polarity, units, and objective function

        - Selects the best simulation engine for your data shape

        - Set `auto_run: true` to get simulation results immediately


        Powered by the Algenta FieldMapper — same logic as `field_mapper.mojo`.'
      operationId: ingest_v1_ingest_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IngestRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
      - LegacyApiKey: []
    servers:
    - url: https://api.algenta.ai
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    IngestTable:
      properties:
        name:
          type: string
          title: Name
          description: Label for this table
          default: table
        records:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Records
          description: Array of records (list of dicts). Omit if providing csv.
        csv:
          anyOf:
          - type: string
          - type: 'null'
          title: Csv
          description: Raw CSV text. Parsed automatically.
      type: object
      title: IngestTable
      description: A single table of data.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    IngestRequest:
      properties:
        tables:
          items:
            $ref: '#/components/schemas/IngestTable'
          type: array
          minItems: 1
          title: Tables
          description: One or more data tables. First table is primary.
        domain:
          type: string
          title: Domain
          description: Optional domain hint (finance, supply_chain, hr, etc.) for better field mapping
          default: ''
        runs:
          type: integer
          maximum: 1000000.0
          minimum: 1000.0
          title: Runs
          description: Scenarios to evaluate
          default: 10000
        auto_run:
          type: boolean
          title: Auto Run
          description: If true, run the simulation immediately and return results
          default: false
        join_on:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Join On
          description: 'Explicit join keys: {''table_a_field'': ''table_b_field''}. If omitted, auto-detected.'
      type: object
      required:
      - tables
      title: IngestRequest
      description: 'Drop in your data. Get back a ready-to-run simulation.


        Supports:

        - Single table: records or CSV text

        - Multiple tables: auto-detects join keys, merges, then analyzes


        No configuration required. The engine auto-detects everything.'
    IngestResponse:
      properties:
        ingest_id:
          type: string
          title: Ingest Id
        records_analyzed:
          type: integer
          title: Records Analyzed
        fields_detected:
          type: integer
          title: Fields Detected
        join_applied:
          type: boolean
          title: Join Applied
        join_key:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Join Key
        variables:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Variables
        objective_function:
          type: string
          title: Objective Function
        engine:
          type: string
          title: Engine
        engine_reason:
          type: string
          title: Engine Reason
        field_analysis:
          additionalProperties: true
          type: object
          title: Field Analysis
        simulation_payload:
          additionalProperties: true
          type: object
          title: Simulation Payload
        simulation_result:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Simulation Result
        latency_ms:
          type: number
          title: Latency Ms
      type: object
      required:
      - ingest_id
      - records_analyzed
      - fields_detected
      - join_applied
      - join_key
      - variables
      - objective_function
      - engine
      - engine_reason
      - field_analysis
      - simulation_payload
      - latency_ms
      title: IngestResponse
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: APIKey
      description: 'Canonical v1 authentication. Use Authorization: Bearer <api_key>.'
    LegacyApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Legacy compatibility header for existing v1 clients.
x-refined-from:
- api.algenta.ai-openapi.json
- gateway.algenta.ai-openapi.json
x-canonical-mcp-endpoint: https://api.algenta.ai/mcp
x-primary-data-query-contract:
  api:
    contract_endpoint: /v1/meta/contract
    discovery_endpoint: /v1/data
    summary_endpoint: /v1/data/{dataset_id}/summary
    resolve_endpoint: /v1/resolve
    verify_endpoint: /v1/verify
    query_endpoint: /v1/query
    query_batch_endpoint: /v1/query/batch
    query_sql_report_endpoint: /v1/query/sql-report
  governed_filter_contract:
    kind: record_predicates
    time_filter_field: time_filter
    conditions_field: conditions
    selector_fields:
    - column
    - dimension_hint
    operators:
      scalar:
      - eq
      - gt
      - gte
      - lt
      - lte
      list:
      - in
      nullary:
      - is_null
      - is_not_null
    type_behavior:
      boolean:
      - eq
      string:
      - eq
      - in
      numeric:
      - eq
      - in
      - gt
      - gte
      - lt
      - lte
      null_checks:
      - is_null
      - is_not_null
    validation:
      requires_selector: true
      scalar_ops_require_value:
      - eq
      - gt
      - gte
      - lt
      - lte
      list_ops_require_non_empty_values:
      - in
      nullary_ops_forbid_value_and_values:
      - is_null
      - is_not_null
    applies_before_aggregation: true
    supports_non_sql_backends: true
    notes:
    - Filters apply to normalized source rows before aggregation and grouping.
    - Boolean equality uses eq.
    - This contract is database-agnostic and valid for Redis and other non-SQL backends after record normalization.
    - Nested OR groups, regex, text search, and arbitrary expressions are not part of this contract.
  direct_sdk:
    python:
      import_root: decision_engine
      preferred_client_class: AlgentaClient
      preferred_async_client_class: AsyncAlgentaClient
      compatibility_client_class: DecisionEngineClient
      compatibility_async_client_class: AsyncDecisionEngineClient
      contract_method: get_contract
      discovery_method: list_datasets
      summary_method: get_dataset_summary
      query_with_metadata_method: query_with_metadata
      query_batch_method: query_batch
      query_sql_report_method: query_sql_report
    typescript:
      import_package: algenta-sdk
      preferred_client_class: AlgentaClient
      compatibility_client_class: DecisionEngineClient
      contract_method: getContract
      discovery_method: listDatasets
      summary_method: getDatasetSummary
      query_with_metadata_method: queryWithMetadata
      query_batch_method: queryBatch
      query_sql_report_method: querySqlReport
  runtime_sdk:
    python:
      import_root: algenta
      runtime_class: Runtime
      libraries_entrypoint: libraries
      contract_method: get_contract
      discovery_method: list_datasets
      summary_method: get_dataset_summary
      query_with_metadata_method: query_with_metadata
      query_batch_method: query_batch
      query_sql_report_method: query_sql_report
    typescript:
      import_package: algenta-sdk
      runtime_class: Runtime
      libraries_entrypoint: libraries
      contract_method: getContract
      discovery_method: listDatasets
      summary_method: getDatasetSummary
      query_with_metadata_method: queryWithMetadata
      query_batch_method: queryBatch
      query_sql_report_method: querySqlReport
  cli:
    contract_command: de contract
    discovery_command: de data list --search <hint> --compact --limit <n>
    summary_command: de data summary <dataset_id>
    query_batch_command: de data query-batch <request.json>
    query_sql_report_command: de data sql-report <request.json>
    runtime_modules_command: de runtime modules
    runtime_functions_command: de runtime functions <module>
    runtime_execute_command: de runtime execute <module> <function> --args-json '<json>'
  mcp:
    contract_tool: get_contract
    discovery_tool: list_data
    summary_tool: get_data_summary
    query_tool: query_data
    query_batch_tool: query_batch
    query_sql_report_tool: query_sql_report
    runtime_library_list_tool: list_runtime_libraries
    runtime_library_execute_tool: execute_runtime_library
  recommended_flows:
    machine_readable_contract:
    - GET /v1/meta/contract
    governed_query:
    - GET /v1/data?search=...&compact=1
    - GET /v1/data/{dataset_id}/summary
    - POST /v1/resolve
    - POST /v1/verify
    - POST /v1/query
    multi_metric_query:
    - GET /v1/data?search=...&compact=1
    - GET /v1/data/{dataset_id}/summary
    - POST /v1/query/batch
    wide_sql_report:
    - GET /v1/data?search=...&compact=1
    - GET /v1/data/{dataset_id}/summary
    - POST /v1/query/sql-report
    decision_simulation_tools:
    - simulate — one scenario, full DecisionEnvelope (action, expected value, loss probability, percentiles); the run is recorded for list_runs.
    - plan_decision — same request as simulate but only the compact DecisionPlan summary; use when you do not need the full envelope.
    - score — one simulation plus a single weighted composite (expected_value/downside_risk weights) with score_breakdown; use to rank by one number.
    - compare — 2-10 named scenarios side by side; the winner is the highest expected value, with per-scenario deltas.
    - recommend — 2+ named actions ranked with a picked recommended_action, confidence, and rationale; use for 'which option should I pick'.
    - product_decision — plain business inputs (value with optional low/high) mapped for you; returns proceed/pause/reject with plain-English reasons; no simulation knowledge needed.
    dataset_onboarding_tools:
    - connect_data — the normal path for live sources (database/API/object storage) or uploads; returns a reusable dataset_id and supports refresh_data.
    - onboard_dataset — inline columns/records/CSV for semantic querying with background model training (track model_tier with list_datasets); no live connection.
    - 'register_source — the advanced path: full column profiling, formula detection, and join-key detection across registered sources (browse with list_data).'
    - list_data — browse datasets from the connect_data and register_source flows (connection_type, provider, refreshable).
    - list_datasets — browse semantically trained datasets with training status and model_tier.
x-capability-plane-contract:
  api:
    list_providers_endpoint: /v1/capability-providers
    get_provider_endpoint: /v1/capability-providers/{provider_id}
    list_bindings_endpoint: /v1/capability-bindings
    create_binding_endpoint: /v1/capability-bindings
    get_binding_endpoint: /v1/capability-bindings/{binding_id}
    update_binding_endpoint: /v1/capability-bindings/{binding_id}
    delete_binding_endpoint: /v1/capability-bindings/{binding_id}
    preview_test_binding_endpoint: /v1/capability-bindings/test
    test_binding_endpoint: /v1/capability-bindings/{binding_id}/test
    preview_discover_binding_endpoint: /v1/capability-bindings/discover
    discover_binding_endpoint: /v1/capability-bindings/{binding_id}/discover
    start_authorization_endpoint: /v1/capability-bindings/{binding_id}/authorize/start
    complete_authorization_endpoint: /v1/capability-bindings/{binding_id}/authorize/complete
    list_capabilities_endpoint: /v1/capabilities
    get_capability_endpoint: /v1/capabilities/{capability_id}
    route_capabilities_endpoint: /v1/capabilities/route
    execute_capability_endpoint: /v1/capabilities/execute
    record_outcome_endpoint: /v1/capabilities/outcomes
  enums:
    provider_types:
    - data_connector
    - mcp_provider
    - skill_pack
    - native_tool_pack
    - runtime_library_pack
    capability_kinds:
    - dataset
    - mcp_tool
    - mcp_resource
    - mcp_prompt
    - skill
    - native_tool
    - runtime_library
    implementation_kinds:
    - callable
    - instruction_only
    - hybrid
    execution_owners:
    - algenta_managed
    - client_managed
    binding_scopes:
    - user
    - workspace
    - organization
    binding_statuses:
    - unconfigured
    - authorizing
    - ready
    - degraded
    - quarantined
  direct_sdk:
    typescript:
      import_package: algenta-sdk
      preferred_client_class: AlgentaClient
      compatibility_client_class: DecisionEngineClient
      list_providers_method: listCapabilityProviders
      get_provider_method: getCapabilityProvider
      list_bindings_method: listCapabilityBindings
      create_binding_method: createCapabilityBinding
      get_binding_method: getCapabilityBinding
      update_binding_method: updateCapabilityBinding
      delete_binding_method: deleteCapabilityBinding
      preview_test_binding_method: previewTestCapabilityBinding
      test_binding_method: testCapabilityBinding
      preview_discover_binding_method: previewDiscoverCapabilityBinding
      discover_binding_method: discoverCapabilityBinding
      start_authorization_method: startCapabilityAuthorization
      complete_authorization_method: completeCapabilityAuthorization
      list_capabilities_method: listCapabilities
      get_capability_method: getCapability
      route_capabilities_method: routeCapabilities
      execute_capability_method: executeCapability
      record_outcome_method: recordCapabilityOutcome
      list_skills_method: listSkills
      enable_skill_method: enableSkill
      disable_skill_method: disableSkill
      list_mcp_providers_method: listMcpProviders
  runtime_sdk:
    typescript:
      import_package: algenta-sdk
      runtime_class: Runtime
      list_providers_method: listCapabilityProviders
      list_bindings_method: listCapabilityBindings
      list_capabilities_method: listCapabilities
      route_capabilities_method: routeCapabilities
      execute_capability_method: executeCapability
      register_adapter_method: registerCapabilityAdapter
  mcp:
    list_providers_tool: list_capability_providers
    list_bindings_tool: list_capability_bindings
    create_binding_tool: create_capability_binding
    test_binding_tool: test_capability_binding
    discover_binding_tool: discover_capability_binding
    list_capabilities_tool: list_capabilities
    get_capability_tool: get_capability
    route_capabilities_tool: route_capabilities
    execute_capability_tool: execute_capability
    list_skills_tool: list_skills
    enable_skill_tool: enable_skill
    disable_skill_tool: disable_skill
    compatibility_aliases:
    - list_data
    - get_data_summary
    - query_data
    - query_batch
    - query_sql_report
    - list_connectors
    - create_connector
    - test_connector
    - browse_connector
    - preview_test_connector
    - preview_browse_connector