Lytics ML Models API

The ML Models API from Lytics — 3 operation(s) for ml models.

Business capability
Artificial Intelligence Management BC-610.60

Operations 6

GET /ml Get ML Models #
POST /ml Post ML Model #
DELETE /ml/{id} Delete ML Model #
GET /ml/{id} Get ML Model #
PUT /ml/{id} Update ML Model #
GET /ml/{id}/summary Get ML Model Summary #

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/lytics-ml-models-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

lytics-ml-models-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@lytics.com
    name: Lytics Support
    url: https://support.lytics.com/hc/en-us
  description: Version 2 of the Lytics API
  termsOfService: https://www.lytics.com/terms-of-service/
  title: Lytics ML Models API
  version: '2.0'
servers:
- url: https://api.lytics.io/v2
tags:
- name: ML Models
paths:
  /ml:
    get:
      description: Get a list of all ML models for the account
      parameters:
      - description: The account ID. Defaults to the user's default account.
        in: query
        name: account_id
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/models.ApiResponse'
                - properties:
                    data:
                      items:
                        $ref: '#/components/schemas/models.MLModel'
                      type: array
                  type: object
          description: ML Model List Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      summary: Get ML Models
      tags:
      - ML Models
      operationId: getMl
      x-operation-id-source: derived
    post:
      description: Create an ML Model
      parameters:
      - description: The account ID. Defaults to the user's default account.
        in: query
        name: account_id
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/models.MLModel'
        description: ML Model Request
        required: true
        x-originalParamName: model
      responses:
        '201':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/models.ApiResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/models.MLModel'
                  type: object
          description: ML Model Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      summary: Post ML Model
      tags:
      - ML Models
      operationId: postMl
      x-operation-id-source: derived
  /ml/{id}:
    delete:
      description: Delete an ML model by ID
      parameters:
      - description: The account ID. Defaults to the user's default account.
        in: query
        name: account_id
        schema:
          type: string
      - description: The model ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiResponse'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      summary: Delete ML Model
      tags:
      - ML Models
      operationId: deleteMlById
      x-operation-id-source: derived
    get:
      description: Get an ML model by ID
      parameters:
      - description: The account ID. Defaults to the user's default account.
        in: query
        name: account_id
        schema:
          type: string
      - description: The model ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/models.ApiResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/models.MLModel'
                  type: object
          description: ML Model Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      summary: Get ML Model
      tags:
      - ML Models
      operationId: getMlById
      x-operation-id-source: derived
    put:
      description: Update an ML model by ID
      parameters:
      - description: The account ID. Defaults to the user's default account.
        in: query
        name: account_id
        schema:
          type: string
      - description: The model ID
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: Promote and deploy the model to users
        in: query
        name: is_active
        schema:
          type: string
      - description: Label of the model
        in: query
        name: label
        schema:
          type: string
      - description: Hide the model from the UI
        in: query
        name: hidden
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/models.ApiResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/models.MLModel'
                  type: object
          description: ML Model Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      summary: Update ML Model
      tags:
      - ML Models
      operationId: putMlById
      x-operation-id-source: derived
  /ml/{id}/summary:
    get:
      description: Get an ML model's summary by ID
      parameters:
      - description: The account ID. Defaults to the user's default account.
        in: query
        name: account_id
        schema:
          type: string
      - description: The model ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/models.ApiResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/models.MLSummaryResponse'
                  type: object
          description: ML Model Summary Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.ApiErrorResponse'
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      summary: Get ML Model Summary
      tags:
      - ML Models
      operationId: getMlByIdSummary
      x-operation-id-source: derived
components:
  schemas:
    models.MLSummary:
      properties:
        accuracy:
          description: Measure of 0-10 of how accurate the model is. Interpreted from the R-squared
          type: integer
        auc:
          description: '"Area under curve" (0-1) for the ROC (receiver operating characteristic curve). AUC provides an overall measure of performance across all possible thresholds'
          type: number
        audience_similarity:
          description: Jaccard Index/Similarity for source and target segments for a model
          type: number
        error_matrix:
          $ref: '#/components/schemas/models.ConfusionMatrix'
        model_health:
          description: Health of the model; "healthy" or "unhealthy". Unhealthy models are not accurate enough or encountered an error during training
          type: string
        mse:
          description: Mean squared error is the average squared difference between the estimated values and the actual value
          type: number
        msgs:
          description: Messages to help debug and improve the model
          items:
            $ref: '#/components/schemas/models.ModelMessage'
          type: array
        reach:
          description: Measure of 0-10 of how many users this model can reach. Interpreted from the False Positive Rate
          type: integer
        rsq:
          description: R-squared is a measure (0-1) of "goodness of fit", i.e. how well the model fits the data
          type: number
        source_predictions:
          additionalProperties:
            type: integer
          description: Test dataset predictions for the source audience
          type: object
        target_predictions:
          additionalProperties:
            type: integer
          description: Test dataset predictions for the target audience
          type: object
        threshold:
          description: Computed as the optimal threshold to use when creating predictive audiences. The value that optimizes both reach and accuracy simultaneously
          type: number
      type: object
    models.ModelConfig:
      properties:
        additional:
          description: Additional features to include in the model
          items:
            type: string
          type: array
        auto_tune:
          description: Automatically search through all data fields in Lytics and build the optimized model of the best fields
          type: boolean
        blocked:
          description: Features to exclude from the model
          items:
            type: string
          type: array
        build_only:
          description: Train the model only, do not deploy
          type: boolean
        collect:
          description: Number of samples to collect for training
          type: integer
        internal:
          description: Internal Lytics model; not visible to users
          type: boolean
        re_run:
          description: Re-train the model every week
          type: boolean
        use_content:
          description: Use content affinities as features
          type: boolean
        use_scores:
          description: Use behavioral scores as features
          type: boolean
      type: object
    lioerrors.ApiV2ErrorOut:
      properties:
        code:
          description: Lytics Error Code
          enum:
          - UNKNOWN-000
          - BADREQ-001
          - JOB-BADREQ-002
          - NOTFOUND-003
          - JOB-NOTFOUND-004
          - WF-NOTFOUND-005
          - AUTH-NOTFOUND-006
          - AUTHTYPE-NOTFOUND-007
          - AUTH-BADREQ-008
          - TABLE-NOTFOUND-009
          - SCHEMA-NOTFOUND-010
          - SCHEMAVERSION-NOTFOUND-011
          - ENTITY-NOTFOUND-012
          - QUERY-NOTFOUND-013
          - STREAM-NOTFOUND-014
          - PROVIDER-BADREQ-015
          - PROVIDER-NOTFOUND-016
          - UNAUTHORIZED-017
          - SCHEMA-INVALID-018
          - INTERNAL-019
          - ROUTERULE-NOTFOUND-020
          - ACCOUNT-NOTFOUND-021
          - JOB-FAULT-022
          - USER-NOTFOUND-023
          - USER-BADREQ-024
          - JSON-BADREQ-025
          - FORBIDDEN-026
          type: string
        level:
          description: When the error was generated
          type: string
        message:
          description: A description of the error that occurred
          type: string
        timestamp:
          description: The time the error occurred
          format: date-time
          type: string
      type: object
    models.ApiResponse:
      properties:
        _meta:
          additionalProperties: true
          description: Response Metadata
          type: object
        data:
          description: Response Payload
          type: object
        request_id:
          type: string
        status:
          description: HTTP Status Code
          type: integer
      type: object
    models.ModelMessage:
      properties:
        severity:
          description: Severity level of the message; "info", "warn", "error", or "debug"
          type: string
        tags:
          description: Tags for the message; "summary", "workflow", "autotune", "collinearity", or "verdict"
          items:
            type: string
          type: array
        text:
          description: Model message
          type: string
      type: object
    models.MLSummaryResponse:
      properties:
        features:
          description: All features of final model build with importances and correlations of each
          items:
            $ref: '#/components/schemas/models.Feature'
          type: array
        id:
          description: ID of the model
          type: string
        name:
          description: Name of the model
          type: string
        state:
          description: State of the model, "complete", "building", or "invalid"
          type: string
        summary:
          $ref: '#/components/schemas/models.MLSummary'
      type: object
    models.FieldPrevalence:
      properties:
        source:
          description: Field prevalence in the source audience
          type: number
        target:
          description: Field prevalence in the target audience
          type: number
      type: object
    models.ConfusionMatrix:
      properties:
        FalseNegative:
          description: Predicted negative but actual positive
          type: integer
        FalsePositive:
          description: Predicted positive but actual negative
          type: integer
        TrueNegative:
          description: Predicted negative and actual negative
          type: integer
        TruePositive:
          description: Predicted positive and actual positive
          type: integer
      type: object
    models.MLModel:
      properties:
        additional_data:
          additionalProperties:
            type: string
          type: object
        aid:
          type: integer
        author_id:
          description: Creator of the model
          type: string
        config:
          $ref: '#/components/schemas/models.ModelConfig'
        created:
          description: Created timestamp
          type: string
        description:
          description: Description for the model
          type: string
        error:
          description: Error from model training; set to nil if no error or "building" if model is still training
          type: string
        hidden:
          description: Model is hidden from the UI
          type: boolean
        id:
          description: ID of the model
          type: string
        is_active:
          description: Has model been promoted and deployed to users
          type: boolean
        is_healthy:
          description: Model health
          type: boolean
        label:
          description: Label for the model
          type: string
        name:
          description: Name of the model
          type: string
        source:
          description: Source segment ID of the model
          type: string
        state:
          description: State of the model, "complete", "building", or "invalid"
          type: string
        target:
          description: Target segment ID of the model
          type: string
        type:
          description: Model algorithm chosen from automatic tuning; random forest (rf), logistic regression (lr), or gradient boosting machine (gbm)
          type: string
        updated:
          description: Updated timestamp for re-training
          type: string
        work_ids:
          description: Work IDs of the model; presence of multiple usually indicates an eval-only work, thus the model has been deployed at one point
          items:
            type: string
          type: array
      type: object
    models.Feature:
      properties:
        correlation:
          description: Correlation coeffient between the feature and the target audience
          type: number
        field_prevalence:
          $ref: '#/components/schemas/models.FieldPrevalence'
        impact:
          $ref: '#/components/schemas/models.Impact'
        importance:
          description: Feature importance as calculated by the model
          type: number
        kind:
          description: Kind of the feature; segment, lql, score, content, campaign, or unknown
          type: string
        name:
          description: Name of the feature/data field
          type: string
        type:
          description: Type of the feature; numeric or categorical
          type: string
      type: object
    models.Impact:
      properties:
        lift:
          description: '%increase in the target audience when the feature is present'
          type: number
        threshold:
          description: For numeric fields; use for determining lift
          type: number
        value:
          description: For categorical fields
          type: string
      type: object
    models.ApiErrorResponse:
      properties:
        errors:
          description: Lytics API Errors
          items:
            $ref: '#/components/schemas/lioerrors.ApiV2ErrorOut'
          type: array
        request_id:
          type: string
        status:
          description: HTTP Status Code
          type: integer
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: Authorization
      type: apiKey