Eden AI Decisions API

The Decisions API from Eden AI — 2 operation(s) for decisions.

Business capability
Model Inference AE-110.10

Operations 2

POST /v3/alpha/decisions Create Decisions #
GET /v3/alpha/decisions/models List Decisions Models #

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/eden-ai:eden-ai-decisions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

eden-ai-decisions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Eden AI API V3 Decisions API
  version: 3.0.0
servers:
- url: https://api.edenai.run
  description: Production server
tags:
- name: Decisions
paths:
  /v3/alpha/decisions:
    post:
      tags:
      - Decisions
      summary: Create Decisions
      description: TypeSafe-compatible System One decisions endpoint.
      operationId: create_decisions_v3_alpha_decisions_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DecisionsBody'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DecisionsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - AuthBearer: []
  /v3/alpha/decisions/models:
    get:
      tags:
      - Decisions
      summary: List Decisions Models
      description: List available decision models.
      operationId: list_decisions_models_v3_alpha_decisions_models_get
      parameters:
      - name: view
        in: query
        required: false
        schema:
          enum:
          - endpoints
          - models
          type: string
          description: How to group the listing. 'endpoints' (default) is one entry per provider/model id, unchanged. 'models' is one entry per routable model name with its provider endpoints nested underneath — send that name as `model` to let Eden AI choose the provider.
          default: endpoints
          title: View
        description: How to group the listing. 'endpoints' (default) is one entry per provider/model id, unchanged. 'models' is one entry per routable model name with its provider endpoints nested underneath — send that name as `model` to let Eden AI choose the provider.
      - name: zero_data_retention
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: 'true keeps only models whose provider keeps no prompts or outputs after the response (Zero Data Retention); false keeps only those known to keep them. Models not verified yet (`zero_data_retention: null`) match neither.'
          title: Zero Data Retention
        description: 'true keeps only models whose provider keeps no prompts or outputs after the response (Zero Data Retention); false keeps only those known to keep them. Models not verified yet (`zero_data_retention: null`) match neither.'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ListModelsResponse'
                - $ref: '#/components/schemas/ListModelsWithEndpointsResponse'
                title: Response List Decisions Models V3 Alpha Decisions Models Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    RefusalAnswer:
      properties:
        type:
          type: string
          const: refusal
          title: Type
      additionalProperties: true
      type: object
      required:
      - type
      title: RefusalAnswer
      description: 'The provider declined this one question without saying why; the other answers still

        stand. OpenAI''s Decisions API returns these, TypeSafe''s format has no equivalent.'
    DecisionUsage:
      properties:
        input_tokens:
          type: integer
          title: Input Tokens
          default: 0
        output_tokens:
          type: integer
          title: Output Tokens
          default: 0
      additionalProperties: true
      type: object
      title: DecisionUsage
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ChoiceQuestion:
      properties:
        instructions:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - type: 'null'
          title: Instructions
        type:
          type: string
          const: choice
          title: Type
        criteria:
          additionalProperties:
            anyOf:
            - type: string
            - additionalProperties: true
              type: object
            - items: {}
              type: array
            - type: 'null'
          type: object
          title: Criteria
      additionalProperties: true
      type: object
      required:
      - type
      - criteria
      title: ChoiceQuestion
      description: One-of-N selection; ``criteria`` maps each option label to its description.
    ModelWithEndpoints:
      properties:
        id:
          type: string
          title: Id
          description: The routable model name, with no provider prefix (e.g. 'gpt-oss-120b'). Send this as `model` to let Eden AI choose which provider serves it.
        object:
          type: string
          const: model
          title: Object
          description: Object type
          default: model
        created:
          type: integer
          title: Created
          description: Unix timestamp of the newest endpoint serving this model
          default: 0
        owned_by:
          type: string
          title: Owned By
          description: Who authored the model, independent of who sells it
          default: ''
        mode:
          anyOf:
          - type: string
          - type: 'null'
          title: Mode
          description: 'What the model does: ''chat'', ''embedding'', ''stt'', ''tts'' or ''image_generation''. Lets a caller tell an LLM from a voice.'
        endpoints:
          items:
            $ref: '#/components/schemas/ModelObject'
          type: array
          title: Endpoints
          description: Every provider endpoint serving this model, each with its own pricing, context length, capabilities and regions.
        endpoint_count:
          type: integer
          title: Endpoint Count
          description: How many provider endpoints serve this model
          readOnly: true
      type: object
      required:
      - id
      - endpoints
      - endpoint_count
      title: ModelWithEndpoints
      description: 'One routable model name and the provider endpoints behind it.


        Deliberately carries NO pricing, context window or capability of its own. Those vary between

        the sellers of one model — `gpt-oss-120b` spans a 9.5x input-price range, two context lengths

        and six distinct capability sets across ten sellers — so a value here would be wrong for most

        of the group. Each endpoint keeps its own, unchanged.


        ``endpoints`` entries are the same :class:`ModelObject` the flat listing returns, field for

        field, which is what makes this view a pure regrouping: a caller reading

        ``data[].endpoints[]`` sees exactly what it reads from ``data[]`` today.'
    ListModelsResponse:
      properties:
        object:
          type: string
          const: list
          title: Object
          description: Object type
          default: list
        data:
          items:
            $ref: '#/components/schemas/ModelObject'
          type: array
          title: Data
          description: List of models
      type: object
      required:
      - data
      title: ListModelsResponse
      description: List models response.
    NoulQuestion:
      properties:
        instructions:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - type: 'null'
          title: Instructions
        type:
          type: string
          const: noul
          title: Type
        criteria:
          anyOf:
          - additionalProperties:
              anyOf:
              - type: string
              - additionalProperties: true
                type: object
              - items: {}
                type: array
              - type: 'null'
            type: object
          - type: 'null'
          title: Criteria
      additionalProperties: true
      type: object
      required:
      - type
      title: NoulQuestion
      description: 'Yes/no question, answered as a probability; ``criteria`` may describe the ``true``

        and ``false`` outcomes.'
    ListModelsWithEndpointsResponse:
      properties:
        object:
          type: string
          const: list
          title: Object
          description: Object type
          default: list
        data:
          items:
            $ref: '#/components/schemas/ModelWithEndpoints'
          type: array
          title: Data
          description: List of routable models
      type: object
      required:
      - data
      title: ListModelsWithEndpointsResponse
      description: '`?view=models` response: routable names, each with its provider endpoints.


        Named for the public vocabulary rather than the internal one: Pydantic class names become

        OpenAPI schema titles and generated SDK classes, and a caller never needs the word

        "canonical" -- to them these are simply models, and the rows behind them endpoints.'
    DecisionsBody:
      properties:
        tags:
          title: Tags
          description: Up to 10 key/value labels recorded with this call, for filtering and grouping usage. Merged with the `X-EdenAI-Tags` header.
          examples:
          - client: acme
            project: invoices
        state:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          title: State
          description: 'The content to decide about: a plain string, or a JSON object / array of related context.'
        questions:
          additionalProperties:
            oneOf:
            - $ref: '#/components/schemas/NoulQuestion'
            - $ref: '#/components/schemas/ChoiceQuestion'
            - $ref: '#/components/schemas/ScoreQuestion'
            discriminator:
              propertyName: type
              mapping:
                choice: '#/components/schemas/ChoiceQuestion'
                noul: '#/components/schemas/NoulQuestion'
                score: '#/components/schemas/ScoreQuestion'
          type: object
          minProperties: 1
          title: Questions
          description: 'Typed questions keyed by name: `noul` (yes/no probability), `choice` (one of the `criteria` keys) or `score` (position on the ordered `criteria` rubric).'
        model:
          type: string
          title: Model
          description: Model identifier in 'provider/model' format, e.g. 'typesafe/jev-latest'.
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
          description: Arbitrary metadata attached to the request.
        extra_headers:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Extra Headers
          description: Additional HTTP headers forwarded to the provider API.
        extra_body:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Extra Body
          description: Additional body fields forwarded to the provider API.
      additionalProperties: true
      type: object
      required:
      - state
      - questions
      - model
      title: DecisionsBody
      description: 'TypeSafe''s ``POST /v1/systemone`` request body, plus minimal Eden extensions.


        Unknown top-level fields are forwarded to the provider (``extra="allow"`` via the base

        mixin, which also rejects connection keys).'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RegionObject:
      properties:
        code:
          type: string
          title: Code
          description: Region code (e.g., 'us-east-1')
        name:
          type: string
          title: Name
          description: Region display name
      type: object
      required:
      - code
      - name
      title: RegionObject
      description: Region where a model is available.
    ScoreAnswer:
      properties:
        type:
          type: string
          const: score
          title: Type
        score:
          type: number
          title: Score
        confidence:
          type: number
          title: Confidence
        legend:
          additionalProperties:
            anyOf:
            - type: string
            - additionalProperties: true
              type: object
            - items: {}
              type: array
          type: object
          title: Legend
        probabilities:
          additionalProperties:
            type: number
          type: object
          title: Probabilities
      additionalProperties: true
      type: object
      required:
      - type
      - score
      - confidence
      - legend
      - probabilities
      title: ScoreAnswer
    DecisionsResponse:
      properties:
        cost:
          anyOf:
          - type: number
          - type: 'null'
          title: Cost
        provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider
        id:
          anyOf:
          - type: string
          - type: 'null'
          title: Id
          description: TypeSafe request id (x-typesafe-request-id).
        model:
          type: string
          title: Model
        answers:
          additionalProperties:
            oneOf:
            - $ref: '#/components/schemas/NoulAnswer'
            - $ref: '#/components/schemas/ChoiceAnswer'
            - $ref: '#/components/schemas/ScoreAnswer'
            - $ref: '#/components/schemas/RefusalAnswer'
            discriminator:
              propertyName: type
              mapping:
                choice: '#/components/schemas/ChoiceAnswer'
                noul: '#/components/schemas/NoulAnswer'
                refusal: '#/components/schemas/RefusalAnswer'
                score: '#/components/schemas/ScoreAnswer'
          type: object
          title: Answers
        usage:
          $ref: '#/components/schemas/DecisionUsage'
      additionalProperties: true
      type: object
      required:
      - model
      - answers
      - usage
      title: DecisionsResponse
      description: TypeSafe's response (typed answers, usage, request id) + Eden `cost` and `provider`.
    ChoiceAnswer:
      properties:
        type:
          type: string
          const: choice
          title: Type
        choice:
          type: string
          title: Choice
        confidence:
          type: number
          title: Confidence
        probabilities:
          additionalProperties:
            type: number
          type: object
          title: Probabilities
      additionalProperties: true
      type: object
      required:
      - type
      - choice
      - confidence
      - probabilities
      title: ChoiceAnswer
    ModelObject:
      properties:
        id:
          type: string
          title: Id
          description: Model identifier (e.g., 'openai/gpt-4')
        object:
          type: string
          const: model
          title: Object
          description: Object type
          default: model
        created:
          type: integer
          title: Created
          description: Unix timestamp of model creation/release
        owned_by:
          type: string
          title: Owned By
          description: Provider/organization that owns the model
        model_name:
          type: string
          title: Model Name
          description: Model name without provider prefix
        context_length:
          anyOf:
          - type: integer
          - type: 'null'
          title: Context Length
          description: Maximum context length in tokens
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Model description
        source:
          anyOf:
          - type: string
          - type: 'null'
          title: Source
          description: Model source URL
        capabilities:
          $ref: '#/components/schemas/Capabilities'
          description: Model capabilities
        pricing:
          additionalProperties: true
          type: object
          title: Pricing
          description: Pricing information after any applicable discounts have been applied
        list_pricing:
          additionalProperties: true
          type: object
          title: List Pricing
          description: Provider list pricing, before any discounts are applied
        discount:
          anyOf:
          - type: number
          - type: 'null'
          title: Discount
          description: Discount applied to the model (0-1 range)
        regions:
          items:
            $ref: '#/components/schemas/RegionObject'
          type: array
          title: Regions
          description: Regions where this model is available
        zero_data_retention:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Zero Data Retention
          description: 'true when calls to this entry keep no prompts or outputs after the response (Zero Data Retention), under Eden AI''s terms with its provider: the model''s own terms when they differ, else the provider''s; a customer-hosted model is always true. false when they are kept, null when not verified yet.'
        alias_of:
          anyOf:
          - type: string
          - type: 'null'
          title: Alias Of
          description: 'Set when this entry is an alias (e.g. ''gemini-pro-latest''): the real model_id it currently resolves to. None for concrete models.'
      type: object
      required:
      - id
      - created
      - owned_by
      - model_name
      title: ModelObject
      description: Extended model object with full metadata.
    Capabilities:
      properties:
        input_modalities:
          items:
            type: string
          type: array
          title: Input Modalities
        output_modalities:
          items:
            type: string
          type: array
          title: Output Modalities
        supports_reasoning:
          type: boolean
          title: Supports Reasoning
          default: false
        supports_web_search:
          type: boolean
          title: Supports Web Search
          default: false
        supports_tool_choice:
          type: boolean
          title: Supports Tool Choice
          default: false
        supports_computer_use:
          type: boolean
          title: Supports Computer Use
          default: false
        supports_prompt_caching:
          type: boolean
          title: Supports Prompt Caching
          default: false
        supports_response_schema:
          type: boolean
          title: Supports Response Schema
          default: false
        supports_system_messages:
          type: boolean
          title: Supports System Messages
          default: false
        supports_function_calling:
          type: boolean
          title: Supports Function Calling
          default: false
        supports_native_streaming:
          type: boolean
          title: Supports Native Streaming
          default: false
        supports_assistant_prefill:
          type: boolean
          title: Supports Assistant Prefill
          default: false
        supports_embedding_image_input:
          type: boolean
          title: Supports Embedding Image Input
          default: false
        supports_parallel_function_calling:
          type: boolean
          title: Supports Parallel Function Calling
          default: false
      additionalProperties: true
      type: object
      title: Capabilities
      description: 'Model capability flags. Unknown flags are preserved so consumers keep working when

        new capabilities are introduced without a coordinated release.'
    ScoreQuestion:
      properties:
        instructions:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - type: 'null'
          title: Instructions
        type:
          type: string
          const: score
          title: Type
        criteria:
          items:
            anyOf:
            - type: string
            - additionalProperties: true
              type: object
            - items: {}
              type: array
          type: array
          title: Criteria
      additionalProperties: true
      type: object
      required:
      - type
      - criteria
      title: ScoreQuestion
      description: Ordered rubric; ``criteria[i]`` describes score level ``i``.
    NoulAnswer:
      properties:
        type:
          type: string
          const: noul
          title: Type
        noul:
          type: number
          title: Noul
      additionalProperties: true
      type: object
      required:
      - type
      - noul
      title: NoulAnswer
  securitySchemes:
    AuthBearer:
      type: http
      scheme: bearer