NAV Navbar
Home icon
SAS Viya REST APIs
shell javascript python go
  • Automated Machine Learning
  • Automated Machine Learning

    Machine Learning Pipeline Automation

    Base URLs:

    Terms of service Email: SAS Developers Web: SAS Developers License: SAS Institute Inc.

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    The Machine Learning Pipeline Automation (MLPA) API enables CRUD operations on automation projects, which automates VDMML project creation, pipeline building and training, and the production of champion models.

    Usage Notes

    Overview

    The Machine Learning Pipeline Automation API provides a set of endpoints that automates training predictive models. Business users can use these models to make business decisions.

    Leveraging statistics and machine learning expertise at SAS, the Machine Learning Pipeline Automation API takes modeling-ready data, and does the following:

    Once initiated, this automated process requires no further user input, which removes manual and repetitive tasks from the business user workflow.

    The service runs multiple steps of pre-processing, modeling, post-processing (ensembling), and evaluates top models. The result is a dynamic, automated machine learning project that is transparent to the user. The project is accessible from SAS Model Studio, with model assessment and interpretability reports. The accuracy backed by the leading machine learning libraries helps empower businesses to make decisions in an agile environment. No statistics expertise is required.

    Terminology

    Table of Contents generated with DocToc

    Automation Project

    a parent project of a SAS Visual Data Mining and Machine Learning project. There is a one-to-one relationship between an automation project and a SAS Visual Data Mining and Machine Learning project.

    SAS Visual Data Mining and Machine Learning

    software that combines data mining and machine learning using an in-memory processing environment. For more information, see SAS Visual Data Mining and Machine Learning.

    SAS Visual Data Mining and Machine Learning project

    a project that is accessible in Model Studio, also called an analytics project. For more information, see the documentation on SAS.com. Reference these videos to learn more about Model Studio.

    Error Codes

    HTTP Status Code Error code Description Remediation
    400 92406 An error occurred when creating a new exception for an error. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    400 92412 The automation project request did not contain a link to a pipeline template. Resubmit the request with a link to the desired pipeline template.
    400 92418 The option to replace previous pipelines during the retrain operation is not valid for projects that are built using a pipeline template. Remove the option to replace the previous pipelines and resubmit the retrain request.
    400 92421 The update of the pipeline build method is not permitted. Resubmit the update request without updating the pipeline build method.
    400 92430 The operation to update the automation project is not allowed. Check your request and project state.
    400 92442 The automation project could not be created because the required analytics project attributes were not provided. You must specify 'analyticsProjectAttributes' section with 'targetVariable' attribute in the request.
    400 92444 The user-specified action for the champion model is unsupported. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    400 92448 No provider was found to process the job. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    400 92449 The processing of the job expected one provider, but more than one provider was found. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    400 92450 The job properties did not pass the provider validation. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    400 92482 There was an error scoring data. Make sure that the underlying analytics project is not deleted. Also check the request has valid destination name, score type, and score data input.
    400 92483 The score data request did not pass validation. The automation project and the underlying analytics project must be valid. Ensure that the champion model is successfully published.
    400 92498 The destination specified for publishing the champion model does not exist. The list of available publish destinations can be found in the champion model information.
    400 92499 The specified pipeline template could not be retrieved. Resubmit the request with a valid pipeline template.
    400 92501 The project could not be retrained because it is not in a terminal state. The project can be retrained when it is in one of the three states: completed, canceled, or failed.
    400 92502 A project name is required. Submit the project request using a valid project name. The project name is required and must contain at least one non-whitespace character.
    400 92503 The pipeline build method of "automatic" and the link to a pipeline template are both specified in the automation project request. Either specify pipeline build method of "automatic" without the link to a pipeline template, or specify pipeline build method of "template" with the link to a pipeline template.
    400 92504 The event level information could not be retrieved for the analytics project because the service request failed. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    400 92518 The request body could not be deserialized. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    400 92552 The champion model for the project is not published. Publish the champion model to the Micro Analytics Score Service and resubmit the request.
    400 92554 The resource ID is missing on the request. Resubmit the request and specify the resource id.
    404 92422 No automation project with the provided entity ID can be found. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    404 92445 The champion model was not found. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    409 92434 The attempted transition of the automation project state is not permitted. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    409 92435 The state transition failed because of a null value of the automation project or desired state. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92400 The URI syntax is garbled. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92401 A service returned an unexpected empty response. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92402 There was an error retrieving the CAS server information. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92403 There was an error ending the CAS session. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92404 A resource link could not be found. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92405 An error was encountered while attempting to create a CAS session. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92407 There was an error reading the code template. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92408 An error occurred when retrieving sessions from the CAS server. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92409 An error occurred when finding a session in the CAS server. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92410 An error occurred when creating a client interface to a CAS session. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92411 An error occurred when invoking an action on a CAS client. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92414 A service returned an error status code. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92415 An error occurred when saving an automation project. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92417 An error occurred when submitting a job for execution. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92420 The analytics project could not be found. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92423 The underlying analytics project could not be created for the automation project. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92424 The query returned null. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92430 An error occurred while updating an automation project. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92432 An error occurred while fetching a CAS table. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92433 An error occurred while building a pipeline. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92446 The CAS table could not be updated. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92447 The job could not be updated. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92451 The project caslib could not be retrieved. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92452 The pipeline could not be generated. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92455 The project retrain could not be started. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92456 The project pipelines could not be run. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92457 The project pipelines could not be created. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92458 The project pipelines could not be retrieved. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92459 The pipeline could not be deleted. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92461 The pipeline generation job could not be run. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92462 The job logger could not be retrieved. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92463 The logger could not be added to the job. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92464 The job logger could not be flushed. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92484 The score data request has failed. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92497 The job logger could not be retrieved. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92500 The job for the pipeline could not be canceled. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92505 The target event level for the analytics project could not be specified. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92506 The project value for the analytics project could not be retrieved. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92507 The project value for the analytics project could not be updated. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92510 The variable metadata updated event could not be processed. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92511 The pipeline creation status could not be updated. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92512 The variable metadata could not be retrieved. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92513 The collection of projects could not be retrieved from the repository. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92514 The project could not be retrieved from the repository. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92515 The project could not be created. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92516 The project could not be updated. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92517 An error occurred while checking if the project exists. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92519 A query to the root context of a service failed. This usually indicates that the service is down. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92520 A request to another service could not be generated from a link. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92521 The response from a support service could not be parsed. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92522 Multiple Automation Projects are associated with a given Analytics Project ID. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92523 The project could not be prepared. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92524 The target could not be set on the project. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92525 There was a user authentication error. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92526 The project pipeline could not be prepared. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92527 The project failed to enter the waiting state. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92528 The project failed to perform tasks in the waiting state. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92529 The job request could not be submitted. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92530 There was an error retrieving the analytics project. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92531 There was an error handling the champion model calculated event. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92532 The project settings could not be prepared. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92533 The project could not be updated. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92534 The metadata tables could not be loaded. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92535 The content could not be loaded to CAS. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92536 Error processing the non-generated pipeline event. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92537 Error processing pipeline completion. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92538 The automation job completion event could not be handled. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92539 The project action output table could not be read. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92540 A unique pipeline name could not be calculated. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92541 A property is missing for the analytics project. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92542 Oversampling could not be performed. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92543 There was an error clearing the data partition for the analytics project. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92544 The data node could not be run for a project. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92545 The CASL results could not be processed. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92546 The component template could not be retrieved. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92547 The JSON PATCH could not be applied to the pipeline. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92548 The string could not be parsed. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92549 The action parameter is missing on the champion model request. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92550 The event could not be handled. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92551 The collection of published models could not be retrieved. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92553 Multiple published models exist with the same name. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92555 The CASL job is invalid. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92556 The publish destination could not be validated. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92557 The project could not be deleted from the repository. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92558 The pipeline comparison results could not be generated for the analytics project. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92559 The champion model information could not be found in the pipeline comparison results. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92560 The summary reports for the analytics project could not be retrieved. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92561 The reports for the champion model could not be retrieved. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92562 There was an error deleting the analytics project. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92563 There was an error validating the automation project. An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code.
    500 92564 The ETag did not match the provided value. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92565 The job could not be associated with the parent job. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92566 An error occurred transitioning the automation resources to a terminal state. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.
    500 92567 The automation project could not be quiesced. An unexpected software error has occurred. Contact your system administrator, and provide the message and error code.

    Operations

    AutomationProjects

    Contains the operations for working with machine learning pipeline automation.

    Return all automation projects

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/projects \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/projects', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /projects

    The endpoint to get all available automation projects.

    Parameters
    Name In Type Required Description
    start query integer(int64) false start
    limit query integer(int32) false limit
    sortBy query string false sortBy
    filter query string false filter

    Example responses

    List of existing machine learning pipeline automation projects

    {
      "accept": "application/vnd.sas.collection+json",
      "count": 1,
      "items": [
        {
          "analyticsProjectAttributes": {
            "analyticsProjectId": "2876465b-3cff-4b58-8176-5cd7cbb793dc",
            "pipelineId": "af8bd1f9-99b1-477d-b01f-77617d489b8a",
            "targetVariable": "BAD",
            "targetEventLevel": "1",
            "partitionEnabled": true,
            "overrideClassificationCutoffEnabled": false,
            "samplingEnabled": "AUTO",
            "samplingPercentage": 50,
            "intervalSelectionStatistic": "ase",
            "classSelectionStatistic": "ks",
            "selectionDepth": 10,
            "selectionPartition": "default",
            "overrideClassificationCutoffValue": 0.5,
            "cutoffPercentage": 50,
            "numberOfCutoffValues": 100
          },
          "championModel": {
            "name": "Forest (3)",
            "links": [
              {
                "method": "GET",
                "rel": "up",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
                "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
              },
              {
                "method": "GET",
                "rel": "self",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel",
                "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
              },
              {
                "method": "GET",
                "rel": "championModelReports",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reports",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reports",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.analytics.report"
              },
              {
                "method": "GET",
                "rel": "championModelReportSummary",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reportSummary",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reportSummary",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.summary"
              },
              {
                "method": "PUT",
                "rel": "registerChampionModel",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=register",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=register"
              },
              {
                "method": "PUT",
                "rel": "publishChampionModel",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=publish",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=publish"
              },
              {
                "method": "POST",
                "rel": "scoreData",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/scoreData",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/scoreData",
                "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
                "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
              }
            ],
            "publishDestinations": [
              {
                "name": "maslocal",
                "description": "The default publishing destination for the Micro Analytic Score service.",
                "destinationType": "microAnalyticService"
              }
            ]
          },
          "createdBy": "username",
          "creationTimeStamp": "2022-03-01T01:29:46.014052Z",
          "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
          "id": "4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "links": [
            {
              "method": "GET",
              "rel": "up",
              "href": "/mlPipelineAutomation/projects",
              "uri": "/mlPipelineAutomation/projects",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
              "method": "GET",
              "rel": "self",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
              "method": "PUT",
              "rel": "update",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
              "method": "DELETE",
              "rel": "delete",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef"
            },
            {
              "method": "DELETE",
              "rel": "propagateDelete",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true"
            },
            {
              "method": "GET",
              "rel": "state",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
              "type": "text/plain"
            },
            {
              "method": "PUT",
              "rel": "updateState",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
              "responseType": "text/plain"
            },
            {
              "method": "GET",
              "rel": "projectReports",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/reports",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/reports",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "PUT",
              "rel": "retrainProject",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject",
              "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
              "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
              "method": "PUT",
              "rel": "retrainProjectReplacePipelines",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject&replacePreviousPipelines=true",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject&replacePreviousPipelines=true",
              "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
              "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            }
          ],
          "modifiedBy": "username",
          "modifiedTimeStamp": "2022-03-01T01:36:15.87636Z",
          "name": "automation project name",
          "pipelineBuildMethod": "automatic",
          "revision": 11,
          "settings": {
            "applyGlobalMetadata": true,
            "autoRun": true,
            "locale": "en",
            "maxModelingTime": 1,
            "modelingMode": "Standard",
            "numberOfModels": 7
          },
          "state": "completed",
          "type": "predictive",
          "version": 3
        }
      ],
      "limit": 10,
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects?start=0&limit=10",
          "uri": "/mlPipelineAutomation/projects?start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
        },
        {
          "method": "POST",
          "rel": "create",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project+json",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
        }
      ],
      "name": "collection",
      "start": 0,
      "version": 3
    }
    
    {
      "accept": "application/vnd.sas.collection+json",
      "count": 1,
      "items": [
        {
          "analyticsProjectAttributes": {
            "analyticsProjectId": "2876465b-3cff-4b58-8176-5cd7cbb793dc",
            "pipelineId": "af8bd1f9-99b1-477d-b01f-77617d489b8a",
            "targetVariable": "BAD",
            "targetEventLevel": "1",
            "partitionEnabled": true,
            "overrideClassificationCutoffEnabled": false,
            "samplingEnabled": "AUTO",
            "samplingPercentage": 50,
            "intervalSelectionStatistic": "ase",
            "classSelectionStatistic": "ks",
            "selectionDepth": 10,
            "selectionPartition": "default",
            "overrideClassificationCutoffValue": 0.5,
            "cutoffPercentage": 50,
            "numberOfCutoffValues": 100
          },
          "championModel": {
            "name": "Forest (3)",
            "links": [
              {
                "method": "GET",
                "rel": "up",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
                "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
              },
              {
                "method": "GET",
                "rel": "self",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel",
                "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
              },
              {
                "method": "GET",
                "rel": "championModelReports",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reports",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reports",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.analytics.report"
              },
              {
                "method": "GET",
                "rel": "championModelReportSummary",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reportSummary",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reportSummary",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.summary"
              },
              {
                "method": "PUT",
                "rel": "registerChampionModel",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=register",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=register"
              },
              {
                "method": "PUT",
                "rel": "publishChampionModel",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=publish",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=publish"
              },
              {
                "method": "POST",
                "rel": "scoreData",
                "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/scoreData",
                "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/scoreData",
                "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
                "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
              }
            ],
            "publishDestinations": [
              {
                "name": "maslocal",
                "description": "The default publishing destination for the Micro Analytic Score service.",
                "destinationType": "microAnalyticService"
              }
            ]
          },
          "createdBy": "username",
          "creationTimeStamp": "2022-03-01T01:29:46.014052Z",
          "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
          "id": "4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "links": [
            {
              "method": "GET",
              "rel": "up",
              "href": "/mlPipelineAutomation/projects",
              "uri": "/mlPipelineAutomation/projects",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
              "method": "GET",
              "rel": "self",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
              "method": "PUT",
              "rel": "update",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
              "method": "DELETE",
              "rel": "delete",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef"
            },
            {
              "method": "DELETE",
              "rel": "propagateDelete",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true"
            },
            {
              "method": "GET",
              "rel": "state",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
              "type": "text/plain"
            },
            {
              "method": "PUT",
              "rel": "updateState",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
              "responseType": "text/plain"
            },
            {
              "method": "GET",
              "rel": "projectReports",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/reports",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/reports",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "PUT",
              "rel": "retrainProject",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject",
              "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
              "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
              "method": "PUT",
              "rel": "retrainProjectReplacePipelines",
              "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject&replacePreviousPipelines=true",
              "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject&replacePreviousPipelines=true",
              "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
              "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            }
          ],
          "modifiedBy": "username",
          "modifiedTimeStamp": "2022-03-01T01:36:15.87636Z",
          "name": "automation project name",
          "pipelineBuildMethod": "automatic",
          "revision": 11,
          "settings": {
            "applyGlobalMetadata": true,
            "autoRun": true,
            "locale": "en",
            "maxModelingTime": 1,
            "modelingMode": "Standard",
            "numberOfModels": 7
          },
          "state": "completed",
          "type": "predictive",
          "version": 3
        }
      ],
      "limit": 10,
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects?start=0&limit=10",
          "uri": "/mlPipelineAutomation/projects?start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
        },
        {
          "method": "POST",
          "rel": "create",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project+json",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
        }
      ],
      "name": "collection",
      "start": 0,
      "version": 3
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. mlPipelineAutomationProjectCollection
    400 Bad Request The request was invalid. errorResponse
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description

    Create an automation project

    Code samples

    # You can also use wget
    curl -X POST https://example.com/mlPipelineAutomation/projects \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Content-Type: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
      -H 'Accept: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
      -H 'Accept-Language: en'
    
    
    const inputBody = '{
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "name": "Project Name",
      "description": "Description for the project",
      "analyticsProjectAttributes": {
        "targetVariable": "BAD"
      },
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "maxModelingTime": 10,
        "modelingMode": "Standard",
        "numberOfModels": 5
      }
    }';
    const headers = {
      'Content-Type':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'Accept':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'Accept-Language':'en'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Content-Type': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'Accept': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'Accept-Language': 'en'
    }
    
    r = requests.post('https://example.com/mlPipelineAutomation/projects', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Content-Type": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
            "Accept": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
            "Accept-Language": []string{"en"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("POST", "https://example.com/mlPipelineAutomation/projects", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    POST /projects

    A user begins using the service by creating an automation project. The Machine Learning Pipeline Automation API uses the following attributes: user-supplied project name, data table URI and target variable, and other attributes. The service creates an underlying analytics (VDMML) project, executes multiple steps of pre-processing, builds a data analysis pipeline, and runs the pipeline to completion. The entire process is fully automated without further user intervention. The request body is structured in three sections. - Key information of the automation project - Automation project ID (automatically created by the service, read-only) - Name of the project (a random string is appended to ensure uniqueness) - Description of the project - Project type (only "predictive" type is supported) - Data table URI - Project state - The pipeline build method (either "automatic" or "template") - Automation project settings, grouped under "settings" - A properties bag through which a user can pass arbitrary key/value pairs, regardless if they are used. The properties currently used are as follows. - applyGlobalMetadata (a flag to indicate whether to apply global metadata during project creation. Default is set to true.) - autoRun (a flag to indicate whether to automatically start pipeline run at the time of project creation. Default is set to true.) - numberOfModels (a positive integer to indicate maximum number of top models to return. Default is set to 5) - consider (a list of machine learning algorithms specified by ID to additionally consider when generating the pipeline) - exclude (a list of machine learning algorithms specified by ID to exclude from consideration when generating a pipeline) - forceInclude (a list of machine learning algorithms specified by ID to force into the generated pipeline) - algorithms (a list of machine learning algorithms used to inform pipeline generation) - subsampleCount (number of training observations to sample for pipeline generation) - subsamplePercent (percent of training observations to sample for pipeline generation) - subsampleSeed (seed to use when subsampling training data during pipeline generation)

    Body parameter

    Minimum fields required in for a project request body

    {
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "name": "Project Name",
      "description": "Description for the project",
      "analyticsProjectAttributes": {
        "targetVariable": "BAD"
      },
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "maxModelingTime": 10,
        "modelingMode": "Standard",
        "numberOfModels": 5
      }
    }
    
    Parameters
    Name In Type Required Description
    Accept-Language header string false Used to set the project locale.
    body body mlPipelineAutomationProject true project

    Example responses

    Result of creating a new machine learning pipeline automation project

    {
      "creationTimeStamp": "2022-03-01T01:29:46.014052Z",
      "createdBy": "username",
      "modifiedTimeStamp": "2022-03-01T01:29:46.014039Z",
      "modifiedBy": "username",
      "revision": 0,
      "id": "4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
      "name": "project name",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef"
        },
        {
          "method": "DELETE",
          "rel": "propagateDelete",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
          "type": "text/plain"
        },
        {
          "method": "PUT",
          "rel": "updateState",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
          "responseType": "text/plain"
        }
      ],
      "version": 3,
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "state": "pending",
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "locale": "en",
        "maxModelingTime": 1,
        "modelingMode": "Standard",
        "numberOfModels": 7
      },
      "analyticsProjectAttributes": {
        "analyticsProjectId": "2876465b-3cff-4b58-8176-5cd7cbb793dc",
        "targetVariable": "BAD",
        "partitionEnabled": true,
        "overrideClassificationCutoffEnabled": false,
        "samplingEnabled": "AUTO",
        "samplingPercentage": 50,
        "intervalSelectionStatistic": "ase",
        "classSelectionStatistic": "ks",
        "selectionDepth": 10,
        "selectionPartition": "default",
        "overrideClassificationCutoffValue": 0.5,
        "cutoffPercentage": 50,
        "numberOfCutoffValues": 100
      },
      "championModel": {},
      "pipelineBuildMethod": "automatic"
    }
    
    {
      "creationTimeStamp": "2022-03-01T01:29:46.014052Z",
      "createdBy": "username",
      "modifiedTimeStamp": "2022-03-01T01:29:46.014039Z",
      "modifiedBy": "username",
      "revision": 0,
      "id": "4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
      "name": "project name",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef"
        },
        {
          "method": "DELETE",
          "rel": "propagateDelete",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
          "type": "text/plain"
        },
        {
          "method": "PUT",
          "rel": "updateState",
          "href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
          "uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
          "responseType": "text/plain"
        }
      ],
      "version": 3,
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "state": "pending",
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "locale": "en",
        "maxModelingTime": 1,
        "modelingMode": "Standard",
        "numberOfModels": 7
      },
      "analyticsProjectAttributes": {
        "analyticsProjectId": "2876465b-3cff-4b58-8176-5cd7cbb793dc",
        "targetVariable": "BAD",
        "partitionEnabled": true,
        "overrideClassificationCutoffEnabled": false,
        "samplingEnabled": "AUTO",
        "samplingPercentage": 50,
        "intervalSelectionStatistic": "ase",
        "classSelectionStatistic": "ks",
        "selectionDepth": 10,
        "selectionPartition": "default",
        "overrideClassificationCutoffValue": 0.5,
        "cutoffPercentage": 50,
        "numberOfCutoffValues": 100
      },
      "championModel": {},
      "pipelineBuildMethod": "automatic"
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response when creating a project with an bad data table

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "remediation": "Correct the request body by providing a valid \"dataTableUri\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The table at the provided data table URI /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/FAKEDATA did not exist.",
          "remediation": "Correct the request body by providing a valid \"dataTableUri\" value."
        }
      ]
    }
    

    Example of an error response when required fields are missing

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The provided project name \"\" was missing or invalid.",
          "remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute."
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response when creating a project with an bad data table

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "remediation": "Correct the request body by providing a valid \"dataTableUri\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The table at the provided data table URI /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/FAKEDATA did not exist.",
          "remediation": "Correct the request body by providing a valid \"dataTableUri\" value."
        }
      ]
    }
    

    Example of an error response when required fields are missing

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The provided project name \"\" was missing or invalid.",
          "remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute."
        }
      ]
    }
    
    Responses
    Status Meaning Description Schema
    202 Accepted The request is accepted. mlPipelineAutomationProject
    400 Bad Request One or more parameters were invalid. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    202 ETag string E-Tag for response.

    Get headers for an automation project

    Code samples

    # You can also use wget
    curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}
      -H 'Authorization: Bearer <access-token-goes-here>' \
    
    
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}',
    {
      method: 'HEAD'
    
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    
    r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}')
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    HEAD /projects/{projectId}

    The endpoint to get headers for a specific automation project specified by an ID.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. None
    400 Bad Request One or more parameters were invalid. None
    404 Not Found No project with the provided ID was found. None
    Response Headers
    Status Header Type Format Description
    200 ETag string E-Tag for response.
    400 ETag string E-Tag for response.
    404 ETag string E-Tag for response.

    Get an automation project

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/vnd.sas.analytics.ml.pipeline.automation.project+json'
    
    
    
    const headers = {
      'Accept':'application/vnd.sas.analytics.ml.pipeline.automation.project+json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /projects/{projectId}

    The endpoint to get a specific automation project specified by an ID.

    Parameters
    Name In Type Required Description
    projectId path string true projectId

    Example responses

    An existing machine learning pipeline automation project

    {
      "creationTimeStamp": "2022-03-01T19:55:42.658381Z",
      "createdBy": "username",
      "modifiedTimeStamp": "2022-03-02T07:38:25.48095Z",
      "modifiedBy": "username",
      "revision": 1,
      "id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
      "name": "Project Name",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
        },
        {
          "method": "DELETE",
          "rel": "propagateDelete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "type": "text/plain"
        },
        {
          "method": "PUT",
          "rel": "updateState",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "responseType": "text/plain"
        },
        {
          "method": "GET",
          "rel": "projectReports",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "PUT",
          "rel": "retrainProject",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "retrainProjectReplacePipelines",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        }
      ],
      "version": 3,
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "state": "completed",
      "settings": {
        "locale": "en",
        "replacePreviousPipelines": false
      },
      "analyticsProjectAttributes": {
        "analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
        "pipelineId": "c1f0a700-f737-4cef-9a00-e140c51f3d8d",
        "targetVariable": "LOAN",
        "targetEventLevel": "1"
      },
      "championModel": {
        "name": "Forest (2)",
        "links": [
          {
            "method": "GET",
            "rel": "up",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
          },
          {
            "method": "GET",
            "rel": "self",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
          },
          {
            "method": "GET",
            "rel": "championModelReports",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.analytics.report"
          },
          {
            "method": "GET",
            "rel": "championModelReportSummary",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "registerChampionModel",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
          },
          {
            "method": "PUT",
            "rel": "publishChampionModel",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
          },
          {
            "method": "POST",
            "rel": "scoreData",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
            "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
          }
        ],
        "publishDestinations": [
          {
            "name": "maslocal",
            "description": "The default publishing destination for the Micro Analytic Score service.",
            "destinationType": "microAnalyticService"
          },
          {
            "name": "AACASDestination",
            "destinationType": "cas",
            "destinationTable": "aa_cas_model_table",
            "casServerName": "cas-shared-default",
            "casLibrary": "Public"
          }
        ]
      },
      "pipelineBuildMethod": "automatic"
    }
    
    {
      "creationTimeStamp": "2022-03-01T19:55:42.658381Z",
      "createdBy": "username",
      "modifiedTimeStamp": "2022-03-02T07:38:25.48095Z",
      "modifiedBy": "username",
      "revision": 1,
      "id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
      "name": "Project Name",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
        },
        {
          "method": "DELETE",
          "rel": "propagateDelete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "type": "text/plain"
        },
        {
          "method": "PUT",
          "rel": "updateState",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "responseType": "text/plain"
        },
        {
          "method": "GET",
          "rel": "projectReports",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "PUT",
          "rel": "retrainProject",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "retrainProjectReplacePipelines",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        }
      ],
      "version": 3,
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "state": "completed",
      "settings": {
        "locale": "en",
        "replacePreviousPipelines": false
      },
      "analyticsProjectAttributes": {
        "analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
        "pipelineId": "c1f0a700-f737-4cef-9a00-e140c51f3d8d",
        "targetVariable": "LOAN",
        "targetEventLevel": "1"
      },
      "championModel": {
        "name": "Forest (2)",
        "links": [
          {
            "method": "GET",
            "rel": "up",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
          },
          {
            "method": "GET",
            "rel": "self",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
          },
          {
            "method": "GET",
            "rel": "championModelReports",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.analytics.report"
          },
          {
            "method": "GET",
            "rel": "championModelReportSummary",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "registerChampionModel",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
          },
          {
            "method": "PUT",
            "rel": "publishChampionModel",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
          },
          {
            "method": "POST",
            "rel": "scoreData",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
            "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
          }
        ],
        "publishDestinations": [
          {
            "name": "maslocal",
            "description": "The default publishing destination for the Micro Analytic Score service.",
            "destinationType": "microAnalyticService"
          },
          {
            "name": "AACASDestination",
            "destinationType": "cas",
            "destinationTable": "aa_cas_model_table",
            "casServerName": "cas-shared-default",
            "casLibrary": "Public"
          }
        ]
      },
      "pipelineBuildMethod": "automatic"
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    

    The specified project could not be found.

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified automation project (ID b9a6b74c-c18e-4ab3-a150-206d33d43546k) was not found.",
      "details": [
        "path: /mlPipelineAutomation/projects/b9a6b74c-c18e-4ab3-a150-206d33d43546k",
        "correlator: be982363-b2fc-407b-850b-e2c2d948f24e"
      ],
      "remediation": "Resubmit the request with a valid project ID."
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    

    The specified project could not be found.

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified automation project (ID b9a6b74c-c18e-4ab3-a150-206d33d43546k) was not found.",
      "details": [
        "path: /mlPipelineAutomation/projects/b9a6b74c-c18e-4ab3-a150-206d33d43546k",
        "correlator: be982363-b2fc-407b-850b-e2c2d948f24e"
      ],
      "remediation": "Resubmit the request with a valid project ID."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. mlPipelineAutomationProject
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No project with the provided ID was found. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 ETag string E-Tag for response.

    Update the specified automation project

    Code samples

    # You can also use wget
    curl -X PUT https://example.com/mlPipelineAutomation/projects/{projectId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Content-Type: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
      -H 'Accept: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
      -H 'If-Match: string' \
      -H 'Accept-Language: string'
    
    
    const inputBody = '{
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "name": "Project Name",
      "description": "Description for the project",
      "analyticsProjectAttributes": {
        "targetVariable": "BAD"
      },
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "maxModelingTime": 10,
        "modelingMode": "Standard",
        "numberOfModels": 5
      }
    }';
    const headers = {
      'Content-Type':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'Accept':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'If-Match':'string',
      'Accept-Language':'string'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}',
    {
      method: 'PUT',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Content-Type': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'Accept': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'If-Match': 'string',
      'Accept-Language': 'string'
    }
    
    r = requests.put('https://example.com/mlPipelineAutomation/projects/{projectId}', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Content-Type": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
            "Accept": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
            "If-Match": []string{"string"},
            "Accept-Language": []string{"string"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("PUT", "https://example.com/mlPipelineAutomation/projects/{projectId}", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    PUT /projects/{projectId}

    In some cases, the user could select the wrong data set or target variables accidentally when creating an automation project. The project might fail to run or the result might not be what the user intended. The ability to update an automation project comes to rescue in those cases, where the user can update the project's attributes and settings with the following request and rerun the project. This API is solely used for updating a projectโ€™s parameters. There is a separate endpoint for updating the state of a project, for example, stopping or restarting a project run. We do not support PATCH operation to update the automation project with changes only. According to standard, the user must enter the full project info in this PUT request, whether or not the parameters are to be changed. List of parameters that can be updated. - name - description - dataTableUri - settings - analyticsProjectAttributes (all analytics attributes can be changed, except analytics project ID)

    List of parameters that cannot be updated. Any changes are ignored. - id - type - analyticsProjectId - common fields associated with all revision tracking resources - creationTimestamp - modifiedTimestamp - createdBy - modifiedBy - version

    List of parameters that cannot be updated. Any changes cause 4xx error responses to be sent back to the client. - state (error code 400) - revision (error code 412)

    Body parameter

    Minimum fields required in for a project request body

    {
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "name": "Project Name",
      "description": "Description for the project",
      "analyticsProjectAttributes": {
        "targetVariable": "BAD"
      },
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "maxModelingTime": 10,
        "modelingMode": "Standard",
        "numberOfModels": 5
      }
    }
    
    Parameters
    Name In Type Required Description
    projectId path string true projectId
    If-Match header string true If-Match
    Accept-Language header string true Used to set the project locale
    body body mlPipelineAutomationProject true project

    Example responses

    An existing machine learning pipeline automation project

    {
      "creationTimeStamp": "2022-03-01T19:55:42.658381Z",
      "createdBy": "username",
      "modifiedTimeStamp": "2022-03-02T07:38:25.48095Z",
      "modifiedBy": "username",
      "revision": 1,
      "id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
      "name": "Project Name",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
        },
        {
          "method": "DELETE",
          "rel": "propagateDelete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "type": "text/plain"
        },
        {
          "method": "PUT",
          "rel": "updateState",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "responseType": "text/plain"
        },
        {
          "method": "GET",
          "rel": "projectReports",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "PUT",
          "rel": "retrainProject",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "retrainProjectReplacePipelines",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        }
      ],
      "version": 3,
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "state": "completed",
      "settings": {
        "locale": "en",
        "replacePreviousPipelines": false
      },
      "analyticsProjectAttributes": {
        "analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
        "pipelineId": "c1f0a700-f737-4cef-9a00-e140c51f3d8d",
        "targetVariable": "LOAN",
        "targetEventLevel": "1"
      },
      "championModel": {
        "name": "Forest (2)",
        "links": [
          {
            "method": "GET",
            "rel": "up",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
          },
          {
            "method": "GET",
            "rel": "self",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
          },
          {
            "method": "GET",
            "rel": "championModelReports",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.analytics.report"
          },
          {
            "method": "GET",
            "rel": "championModelReportSummary",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "registerChampionModel",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
          },
          {
            "method": "PUT",
            "rel": "publishChampionModel",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
          },
          {
            "method": "POST",
            "rel": "scoreData",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
            "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
          }
        ],
        "publishDestinations": [
          {
            "name": "maslocal",
            "description": "The default publishing destination for the Micro Analytic Score service.",
            "destinationType": "microAnalyticService"
          },
          {
            "name": "AACASDestination",
            "destinationType": "cas",
            "destinationTable": "aa_cas_model_table",
            "casServerName": "cas-shared-default",
            "casLibrary": "Public"
          }
        ]
      },
      "pipelineBuildMethod": "automatic"
    }
    
    {
      "creationTimeStamp": "2022-03-01T19:55:42.658381Z",
      "createdBy": "username",
      "modifiedTimeStamp": "2022-03-02T07:38:25.48095Z",
      "modifiedBy": "username",
      "revision": 1,
      "id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
      "name": "Project Name",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
        },
        {
          "method": "DELETE",
          "rel": "propagateDelete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "type": "text/plain"
        },
        {
          "method": "PUT",
          "rel": "updateState",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "responseType": "text/plain"
        },
        {
          "method": "GET",
          "rel": "projectReports",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "PUT",
          "rel": "retrainProject",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "retrainProjectReplacePipelines",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        }
      ],
      "version": 3,
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "state": "completed",
      "settings": {
        "locale": "en",
        "replacePreviousPipelines": false
      },
      "analyticsProjectAttributes": {
        "analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
        "pipelineId": "c1f0a700-f737-4cef-9a00-e140c51f3d8d",
        "targetVariable": "LOAN",
        "targetEventLevel": "1"
      },
      "championModel": {
        "name": "Forest (2)",
        "links": [
          {
            "method": "GET",
            "rel": "up",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
          },
          {
            "method": "GET",
            "rel": "self",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
          },
          {
            "method": "GET",
            "rel": "championModelReports",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.analytics.report"
          },
          {
            "method": "GET",
            "rel": "championModelReportSummary",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "registerChampionModel",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
          },
          {
            "method": "PUT",
            "rel": "publishChampionModel",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
          },
          {
            "method": "POST",
            "rel": "scoreData",
            "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
            "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
            "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
          }
        ],
        "publishDestinations": [
          {
            "name": "maslocal",
            "description": "The default publishing destination for the Micro Analytic Score service.",
            "destinationType": "microAnalyticService"
          },
          {
            "name": "AACASDestination",
            "destinationType": "cas",
            "destinationTable": "aa_cas_model_table",
            "casServerName": "cas-shared-default",
            "casLibrary": "Public"
          }
        ]
      },
      "pipelineBuildMethod": "automatic"
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Project state must be included with the request and cannot be changed with PUT /projects/{projectId}. Please use the PUT /projects/{projectId}/state to update state.

    {
      "httpStatusCode": 400,
      "errorCode": 92533,
      "message": "The update request for the automation project (ID b9a6b74c-c18e-4ab3-a150-206d33d43546) is not valid.",
      "remediation": "Use the \"updateState\" endpoint.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The operation is not allowed. The state of the automation project must be updated using the link relation named \"updateState\".",
          "remediation": "Use the \"updateState\" endpoint."
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Project state must be included with the request and cannot be changed with PUT /projects/{projectId}. Please use the PUT /projects/{projectId}/state to update state.

    {
      "httpStatusCode": 400,
      "errorCode": 92533,
      "message": "The update request for the automation project (ID b9a6b74c-c18e-4ab3-a150-206d33d43546) is not valid.",
      "remediation": "Use the \"updateState\" endpoint.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The operation is not allowed. The state of the automation project must be updated using the link relation named \"updateState\".",
          "remediation": "Use the \"updateState\" endpoint."
        }
      ]
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    

    The If-Match header value does not match the expected ETag value.

    {
      "version": 2,
      "httpStatusCode": 412,
      "message": "The header field \"If-Match\" has a value that is different from the entity tag for the resource. (The specified values are \"first-ETag-value\" and \"second-ETag-value\", respectively.)"
    }
    
    {
      "version": 2,
      "httpStatusCode": 412,
      "message": "The header field \"If-Match\" has a value that is different from the entity tag for the resource. (The specified values are \"first-ETag-value\" and \"second-ETag-value\", respectively.)"
    }
    

    The If-Match header is required and missing or empty.

    {
      "version": 2,
      "httpStatusCode": 428,
      "message": "The header field \"If-Match\" is missing or does not have a value.",
      "remediation": "Specify the resource's entity tag."
    }
    
    {
      "version": 2,
      "httpStatusCode": 428,
      "message": "The header field \"If-Match\" is missing or does not have a value.",
      "remediation": "Specify the resource's entity tag."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The automation project was updated. mlPipelineAutomationProject
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No automation project with the provided entity ID was found. Inline
    412 Precondition Failed The value supplied in the If-Match header did not match the expected value. Inline
    428 Precondition Required An If-Match header was not supplied on the update request. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 412

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 428

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 ETag string E-Tag for response.

    Delete an automation project

    Code samples

    # You can also use wget
    curl -X DELETE https://example.com/mlPipelineAutomation/projects/{projectId}
      -H 'Authorization: Bearer <access-token-goes-here>' \
    
    
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}',
    {
      method: 'DELETE'
    
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    
    r = requests.delete('https://example.com/mlPipelineAutomation/projects/{projectId}')
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("DELETE", "https://example.com/mlPipelineAutomation/projects/{projectId}", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    DELETE /projects/{projectId}

    When it is not needed anymore, the automation project can be deleted with the request below. By default, this API deletes the automation project while keeping its associated analytics project. To delete both projects, set the query parameter "propagate" to true.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    propagate query boolean false Propagate deletion to the underlying analytics project
    Responses
    Status Meaning Description Schema
    204 No Content The project was deleted. None

    Retrieve headers for completed project reports

    Code samples

    # You can also use wget
    curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}/reports
      -H 'Authorization: Bearer <access-token-goes-here>' \
    
    
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/reports',
    {
      method: 'HEAD'
    
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    
    r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}/reports')
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}/reports", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    HEAD /projects/{projectId}/reports

    Retrieves headers for a list of reports for a project that has completed modeling.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    reportName query array[string] false If provided, only the specified are returned. To specify multiple reports with this, use the parameter once for each report. For example, to return 3 reports named report1, report2, and report3, use ?reportName=report1&reportName=report2&reportName=report3
    filter query string false filter
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. None
    400 Bad Request One or more parameters were invalid. None
    404 Not Found No project with the provided ID was found. None
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description
    400 Content-Type string No description
    404 Content-Type string No description

    Retrieve reports for a completed project

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId}/reports \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/reports',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}/reports', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}/reports", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /projects/{projectId}/reports

    Retrieves a list of reports for a project that has completed modeling.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    reportName query array[string] false If provided, only the specified are returned. To specify multiple reports with this, use the parameter once for each report. For example, to return 3 reports named report1, report2, and report3, use ?reportName=report1&reportName=report2&reportName=report3
    filter query string false filter

    Example responses

    Generated project reports

    {
      "version": 3,
      "accept": "application/vnd.sas.collection+json",
      "count": 1,
      "start": 0,
      "limit": 0,
      "name": "collection",
      "items": [
        {
          "creationTimeStamp": "2022-03-02T07:48:23.533937455Z",
          "modifiedTimeStamp": "2022-03-02T07:48:23.533937455Z",
          "revision": 0,
          "id": "projectSummary",
          "name": "projectSummary",
          "description": "Project Summary",
          "version": 1,
          "order": 0,
          "type": "html",
          "parameterMap": {
            "contents": {
              "label": "Contents",
              "length": 2147483647,
              "parameter": "contents",
              "preformatted": false,
              "type": "char",
              "values": [
                "contents"
              ]
            },
            "download": {
              "parameter": "download",
              "preformatted": false,
              "type": "char",
              "values": [
                "Y"
              ]
            },
            "lineNumber": {
              "label": "Line number",
              "length": 2147483647,
              "parameter": "lineNumber",
              "preformatted": false,
              "type": "num",
              "values": [
                "lineNumber"
              ]
            }
          },
          "data": [
            {
              "dataMap": {
                "contents": "<p class=\"insightsSummaryText\"><p> The champion model for this project is Forest (2) from the \"SAS Automatically Generated Pipeline 1\" pipeline. The model was chosen based on the Average Squared Error for the Validate partition (25,129,706.36).  The five most important factors are Imputed Transformed VALUE, Imputed Transformed MORTDUE, JOB, Imputed Transformed CLNO, and Imputed Transformed YOJ.</p></p>\n\n<table class=\"insightsSummaryTable\">\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Project Target:</td>\n    <td class=\"insightsSummaryTableValue\">LOAN</td>\n    <td class=\"insightsSummaryTableKey\">Project Champion:</td>\n    <td class=\"insightsSummaryTableValue\">Forest (2)</td>\n  </tr>\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Overall Average:</td>\n    <td class=\"insightsSummaryTableValue\">18607.9698</td>\n    <td class=\"insightsSummaryTableKey\">Created By:</td>\n    <td class=\"insightsSummaryTableValue\">emduser1</td>\n  </tr>\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Pipelines:</td>\n    <td class=\"insightsSummaryTableValue\">2</td>\n    <td class=\"insightsSummaryTableKey\">Modified:</td>\n    <td class=\"insightsSummaryTableValue\">Mar 2, 2022 7:38:24 AM</td>\n  </tr>\n</table>\n",
                "lineNumber": 1
              },
              "rowNumber": 0
            }
          ],
          "xInteger": false,
          "yInteger": false
        }
      ],
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "type": "application/vnd.sas.collection"
        }
      ]
    }
    
    {
      "version": 3,
      "accept": "application/vnd.sas.collection+json",
      "count": 1,
      "start": 0,
      "limit": 0,
      "name": "collection",
      "items": [
        {
          "creationTimeStamp": "2022-03-02T07:48:23.533937455Z",
          "modifiedTimeStamp": "2022-03-02T07:48:23.533937455Z",
          "revision": 0,
          "id": "projectSummary",
          "name": "projectSummary",
          "description": "Project Summary",
          "version": 1,
          "order": 0,
          "type": "html",
          "parameterMap": {
            "contents": {
              "label": "Contents",
              "length": 2147483647,
              "parameter": "contents",
              "preformatted": false,
              "type": "char",
              "values": [
                "contents"
              ]
            },
            "download": {
              "parameter": "download",
              "preformatted": false,
              "type": "char",
              "values": [
                "Y"
              ]
            },
            "lineNumber": {
              "label": "Line number",
              "length": 2147483647,
              "parameter": "lineNumber",
              "preformatted": false,
              "type": "num",
              "values": [
                "lineNumber"
              ]
            }
          },
          "data": [
            {
              "dataMap": {
                "contents": "<p class=\"insightsSummaryText\"><p> The champion model for this project is Forest (2) from the \"SAS Automatically Generated Pipeline 1\" pipeline. The model was chosen based on the Average Squared Error for the Validate partition (25,129,706.36).  The five most important factors are Imputed Transformed VALUE, Imputed Transformed MORTDUE, JOB, Imputed Transformed CLNO, and Imputed Transformed YOJ.</p></p>\n\n<table class=\"insightsSummaryTable\">\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Project Target:</td>\n    <td class=\"insightsSummaryTableValue\">LOAN</td>\n    <td class=\"insightsSummaryTableKey\">Project Champion:</td>\n    <td class=\"insightsSummaryTableValue\">Forest (2)</td>\n  </tr>\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Overall Average:</td>\n    <td class=\"insightsSummaryTableValue\">18607.9698</td>\n    <td class=\"insightsSummaryTableKey\">Created By:</td>\n    <td class=\"insightsSummaryTableValue\">emduser1</td>\n  </tr>\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Pipelines:</td>\n    <td class=\"insightsSummaryTableValue\">2</td>\n    <td class=\"insightsSummaryTableKey\">Modified:</td>\n    <td class=\"insightsSummaryTableValue\">Mar 2, 2022 7:38:24 AM</td>\n  </tr>\n</table>\n",
                "lineNumber": 1
              },
              "rowNumber": 0
            }
          ],
          "xInteger": false,
          "yInteger": false
        }
      ],
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "type": "application/vnd.sas.collection"
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. reportCollection
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No project with the provided ID was found. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description

    Retrain the specified automation project

    Code samples

    # You can also use wget
    curl -X PUT https://example.com/mlPipelineAutomation/projects/{projectId}#retrainProject?action=retrainProject \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Content-Type: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
      -H 'Accept: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
      -H 'If-Match: string' \
      -H 'Accept-Language: string'
    
    
    const inputBody = '{
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "name": "Project Name",
      "description": "Description for the project",
      "analyticsProjectAttributes": {
        "targetVariable": "BAD"
      },
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "maxModelingTime": 10,
        "modelingMode": "Standard",
        "numberOfModels": 5
      }
    }';
    const headers = {
      'Content-Type':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'Accept':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'If-Match':'string',
      'Accept-Language':'string'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}#retrainProject?action=retrainProject',
    {
      method: 'PUT',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Content-Type': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'Accept': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
      'If-Match': 'string',
      'Accept-Language': 'string'
    }
    
    r = requests.put('https://example.com/mlPipelineAutomation/projects/{projectId}#retrainProject', params={
      'action': 'retrainProject'
    }, headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Content-Type": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
            "Accept": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
            "If-Match": []string{"string"},
            "Accept-Language": []string{"string"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("PUT", "https://example.com/mlPipelineAutomation/projects/{projectId}#retrainProject", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    PUT /projects/{projectId}#retrainProject

    To retrain an automation project with changed parameters, use the retrainProject endpoint. By default, the service generates a new automated pipeline. This behavior can be overwritten with an optional query parameter replacePreviousPipelines. When set to true, the parameter instructs the service to remove all previous automatically generated pipelines before creating a new pipeline.

    Body parameter

    Minimum fields required in for a project request body

    {
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "name": "Project Name",
      "description": "Description for the project",
      "analyticsProjectAttributes": {
        "targetVariable": "BAD"
      },
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "maxModelingTime": 10,
        "modelingMode": "Standard",
        "numberOfModels": 5
      }
    }
    
    Parameters
    Name In Type Required Description
    projectId path string true projectId
    action query string true The retrain project action
    replacePreviousPipelines query boolean false Flag to replace previous pipelines
    If-Match header string true If-Match
    Accept-Language header string true Accept-Language
    body body mlPipelineAutomationProject true project
    Enumerated Values
    Parameter Value
    action retrainProject

    Example responses

    Response from retraining a project

    {
      "creationTimeStamp": "2022-03-01T19:55:42.658381Z",
      "createdBy": "username",
      "modifiedTimeStamp": "2022-03-02T07:02:38.617258Z",
      "modifiedBy": "username",
      "revision": 10,
      "id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
      "name": "Modified Project Name",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
        },
        {
          "method": "DELETE",
          "rel": "propagateDelete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "type": "text/plain"
        },
        {
          "method": "PUT",
          "rel": "updateState",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "responseType": "text/plain"
        }
      ],
      "version": 3,
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "state": "retraining",
      "settings": {
        "locale": "en-US",
        "replacePreviousPipelines": false
      },
      "analyticsProjectAttributes": {
        "analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
        "targetVariable": "LOAN",
        "targetEventLevel": "1"
      },
      "championModel": {},
      "pipelineBuildMethod": "automatic"
    }
    
    {
      "creationTimeStamp": "2022-03-01T19:55:42.658381Z",
      "createdBy": "username",
      "modifiedTimeStamp": "2022-03-02T07:02:38.617258Z",
      "modifiedBy": "username",
      "revision": 10,
      "id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
      "name": "Modified Project Name",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
        },
        {
          "method": "DELETE",
          "rel": "propagateDelete",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
          "type": "text/plain"
        },
        {
          "method": "PUT",
          "rel": "updateState",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
          "responseType": "text/plain"
        }
      ],
      "version": 3,
      "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
      "type": "predictive",
      "state": "retraining",
      "settings": {
        "locale": "en-US",
        "replacePreviousPipelines": false
      },
      "analyticsProjectAttributes": {
        "analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
        "targetVariable": "LOAN",
        "targetEventLevel": "1"
      },
      "championModel": {},
      "pipelineBuildMethod": "automatic"
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    The project failed to retrain because it is not in a terminal state.

    {
      "httpStatusCode": 400,
      "errorCode": 92501,
      "message": "The project could not be retrained because it is not in a terminal state. The current state of the project is \"modeling\".",
      "remediation": "The project can be retrained when it is in one of the three states: completed, canceled, or failed."
    }
    

    The required "action" query parameter is missing.

    {
      "httpStatusCode": 400,
      "errorCode": 92533,
      "message": "The update request for the automation project (ID 07d7b51f-6970-4225-8f03-eda03fcc810c) is not valid.",
      "remediation": "Use the \"updateState\" endpoint.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The operation is not allowed. The state of the automation project must be updated using the link relation named \"updateState\".",
          "remediation": "Use the \"updateState\" endpoint."
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    The project failed to retrain because it is not in a terminal state.

    {
      "httpStatusCode": 400,
      "errorCode": 92501,
      "message": "The project could not be retrained because it is not in a terminal state. The current state of the project is \"modeling\".",
      "remediation": "The project can be retrained when it is in one of the three states: completed, canceled, or failed."
    }
    

    The required "action" query parameter is missing.

    {
      "httpStatusCode": 400,
      "errorCode": 92533,
      "message": "The update request for the automation project (ID 07d7b51f-6970-4225-8f03-eda03fcc810c) is not valid.",
      "remediation": "Use the \"updateState\" endpoint.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The operation is not allowed. The state of the automation project must be updated using the link relation named \"updateState\".",
          "remediation": "Use the \"updateState\" endpoint."
        }
      ]
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    

    The If-Match header value does not match the expected ETag value.

    {
      "version": 2,
      "httpStatusCode": 412,
      "message": "The header field \"If-Match\" has a value that is different from the entity tag for the resource. (The specified values are \"first-ETag-value\" and \"second-ETag-value\", respectively.)"
    }
    
    {
      "version": 2,
      "httpStatusCode": 412,
      "message": "The header field \"If-Match\" has a value that is different from the entity tag for the resource. (The specified values are \"first-ETag-value\" and \"second-ETag-value\", respectively.)"
    }
    

    The If-Match header is required and missing or empty.

    {
      "version": 2,
      "httpStatusCode": 428,
      "message": "The header field \"If-Match\" is missing or does not have a value.",
      "remediation": "Specify the resource's entity tag."
    }
    
    {
      "version": 2,
      "httpStatusCode": 428,
      "message": "The header field \"If-Match\" is missing or does not have a value.",
      "remediation": "Specify the resource's entity tag."
    }
    
    Responses
    Status Meaning Description Schema
    202 Accepted The action was accepted and the automation project was updated. mlPipelineAutomationProject
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No automation project with the provided entity ID was found. Inline
    412 Precondition Failed The value supplied in the If-Match header did not match the expected value. Inline
    428 Precondition Required An If-Match header was not supplied on the update request. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 412

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 428

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    202 ETag string E-Tag for response.

    Get the headers for champion model information for a completed automation project

    Code samples

    # You can also use wget
    curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel
      -H 'Authorization: Bearer <access-token-goes-here>' \
    
    
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel',
    {
      method: 'HEAD'
    
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    
    r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel')
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    HEAD /projects/{projectId}/models/@championModel

    Get the headers for champion model information for a completed automation project specified by project ID.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    filter query string false filter
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. None
    400 Bad Request One or more parameters were invalid. None
    404 Not Found No project with the provided ID was found. None
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description
    200 ETag string No description
    400 Content-Type string No description
    400 ETag string No description
    404 Content-Type string No description
    404 ETag string No description

    Get the champion model information for a completed automation project

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /projects/{projectId}/models/@championModel

    Get the champion model information for a completed automation project specified by project ID.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    filter query string false filter

    Example responses

    The champion model for a project

    {
      "name": "Forest (2)",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
        },
        {
          "method": "GET",
          "rel": "championModelReports",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.report"
        },
        {
          "method": "GET",
          "rel": "championModelReportSummary",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.summary"
        },
        {
          "method": "PUT",
          "rel": "registerChampionModel",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
        },
        {
          "method": "PUT",
          "rel": "publishChampionModel",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
        },
        {
          "method": "POST",
          "rel": "scoreData",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
        }
      ],
      "publishDestinations": [
        {
          "name": "maslocal",
          "description": "The default publishing destination for the Micro Analytic Score service.",
          "destinationType": "microAnalyticService"
        },
        {
          "name": "AACASDestination",
          "destinationType": "cas",
          "destinationTable": "aa_cas_model_table",
          "casServerName": "cas-shared-default",
          "casLibrary": "Public"
        }
      ]
    }
    
    {
      "name": "Forest (2)",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
        },
        {
          "method": "GET",
          "rel": "championModelReports",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.report"
        },
        {
          "method": "GET",
          "rel": "championModelReportSummary",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.summary"
        },
        {
          "method": "PUT",
          "rel": "registerChampionModel",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
        },
        {
          "method": "PUT",
          "rel": "publishChampionModel",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
        },
        {
          "method": "POST",
          "rel": "scoreData",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
          "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
        }
      ],
      "publishDestinations": [
        {
          "name": "maslocal",
          "description": "The default publishing destination for the Micro Analytic Score service.",
          "destinationType": "microAnalyticService"
        },
        {
          "name": "AACASDestination",
          "destinationType": "cas",
          "destinationTable": "aa_cas_model_table",
          "casServerName": "cas-shared-default",
          "casLibrary": "Public"
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. championModel
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No project with the provided ID was found. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description
    200 ETag string No description

    Register or publish the champion model of the automation project

    Code samples

    # You can also use wget
    curl -X PUT https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel?action=register \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel?action=register',
    {
      method: 'PUT',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.put('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel', params={
      'action': 'register'
    }, headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("PUT", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    PUT /projects/{projectId}/models/@championModel

    Register or publish the automation project's champion model.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    action query string true The action applied to a champion model, such as register or publish.
    destinationName query string false The destination of register or publish action. Optional for register but required for publish.
    Enumerated Values
    Parameter Value
    action register
    action publish

    Example responses

    200 Response

    {
      "name": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "publishDestinations": [
        {
          "name": "string",
          "description": "string",
          "destinationType": "cas",
          "destinationTable": "string",
          "casServerName": "string",
          "casLibrary": "string"
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The specified action was performed on the champion model. championModel
    400 Bad Request The action is not supported. Inline
    404 Not Found No automation project with the provided entity ID or its champion model was found. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 ETag string E-Tag for response.

    Get the headers for champion model reports for a completed automation project

    Code samples

    # You can also use wget
    curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports
      -H 'Authorization: Bearer <access-token-goes-here>' \
    
    
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports',
    {
      method: 'HEAD'
    
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    
    r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports')
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    HEAD /projects/{projectId}/models/@championModel/reports

    Get the headers for champion model reports for a completed automation project specified by project ID.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    reportName query array[string] false If provided, only the specified are returned. To specify multiple reports with this, use the parameter once for each report. For example, to return 3 reports named report1, report2, and report3, use ?reportName=report1&reportName=report2&reportName=report3
    filter query string false filter
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. None
    400 Bad Request One or more parameters were invalid. None
    404 Not Found No project with the provided ID was found. None
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description
    400 Content-Type string No description
    404 Content-Type string No description

    Get the champion model reports for a completed automation project

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /projects/{projectId}/models/@championModel/reports

    Get the champion model reports for a completed automation project specified by project ID. If the reportName parameter is not included, a list of default reports are returned. The reportName parameter can be used to return a sub set of these reports. The default reports returned for a binary target are iterplot, varimportance, dmcas_lift, dmcas_roc, dmcas_fitstat, and dmcas_misc. The default reports returned for an interval target are iterplot, varimportance, dmcas_lift, and dmcas_fitstat. The default reports for a nominal target are dmcas_lift, dmcas_roc, dmcas_fitstat, dmcas_misc, dmcas_miscTable and dmcas_nommisc.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    reportName query array[string] false If provided, only the specified are returned. To specify multiple reports with this, use the parameter once for each report. For example, to return 3 reports named report1, report2, and report3, use ?reportName=report1&reportName=report2&reportName=report3
    filter query string false filter

    Example responses

    Generated project reports

    {
      "version": 3,
      "accept": "application/vnd.sas.collection+json",
      "count": 1,
      "start": 0,
      "limit": 0,
      "name": "collection",
      "items": [
        {
          "creationTimeStamp": "2022-03-02T07:48:23.533937455Z",
          "modifiedTimeStamp": "2022-03-02T07:48:23.533937455Z",
          "revision": 0,
          "id": "projectSummary",
          "name": "projectSummary",
          "description": "Project Summary",
          "version": 1,
          "order": 0,
          "type": "html",
          "parameterMap": {
            "contents": {
              "label": "Contents",
              "length": 2147483647,
              "parameter": "contents",
              "preformatted": false,
              "type": "char",
              "values": [
                "contents"
              ]
            },
            "download": {
              "parameter": "download",
              "preformatted": false,
              "type": "char",
              "values": [
                "Y"
              ]
            },
            "lineNumber": {
              "label": "Line number",
              "length": 2147483647,
              "parameter": "lineNumber",
              "preformatted": false,
              "type": "num",
              "values": [
                "lineNumber"
              ]
            }
          },
          "data": [
            {
              "dataMap": {
                "contents": "<p class=\"insightsSummaryText\"><p> The champion model for this project is Forest (2) from the \"SAS Automatically Generated Pipeline 1\" pipeline. The model was chosen based on the Average Squared Error for the Validate partition (25,129,706.36).  The five most important factors are Imputed Transformed VALUE, Imputed Transformed MORTDUE, JOB, Imputed Transformed CLNO, and Imputed Transformed YOJ.</p></p>\n\n<table class=\"insightsSummaryTable\">\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Project Target:</td>\n    <td class=\"insightsSummaryTableValue\">LOAN</td>\n    <td class=\"insightsSummaryTableKey\">Project Champion:</td>\n    <td class=\"insightsSummaryTableValue\">Forest (2)</td>\n  </tr>\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Overall Average:</td>\n    <td class=\"insightsSummaryTableValue\">18607.9698</td>\n    <td class=\"insightsSummaryTableKey\">Created By:</td>\n    <td class=\"insightsSummaryTableValue\">emduser1</td>\n  </tr>\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Pipelines:</td>\n    <td class=\"insightsSummaryTableValue\">2</td>\n    <td class=\"insightsSummaryTableKey\">Modified:</td>\n    <td class=\"insightsSummaryTableValue\">Mar 2, 2022 7:38:24 AM</td>\n  </tr>\n</table>\n",
                "lineNumber": 1
              },
              "rowNumber": 0
            }
          ],
          "xInteger": false,
          "yInteger": false
        }
      ],
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "type": "application/vnd.sas.collection"
        }
      ]
    }
    
    {
      "version": 3,
      "accept": "application/vnd.sas.collection+json",
      "count": 1,
      "start": 0,
      "limit": 0,
      "name": "collection",
      "items": [
        {
          "creationTimeStamp": "2022-03-02T07:48:23.533937455Z",
          "modifiedTimeStamp": "2022-03-02T07:48:23.533937455Z",
          "revision": 0,
          "id": "projectSummary",
          "name": "projectSummary",
          "description": "Project Summary",
          "version": 1,
          "order": 0,
          "type": "html",
          "parameterMap": {
            "contents": {
              "label": "Contents",
              "length": 2147483647,
              "parameter": "contents",
              "preformatted": false,
              "type": "char",
              "values": [
                "contents"
              ]
            },
            "download": {
              "parameter": "download",
              "preformatted": false,
              "type": "char",
              "values": [
                "Y"
              ]
            },
            "lineNumber": {
              "label": "Line number",
              "length": 2147483647,
              "parameter": "lineNumber",
              "preformatted": false,
              "type": "num",
              "values": [
                "lineNumber"
              ]
            }
          },
          "data": [
            {
              "dataMap": {
                "contents": "<p class=\"insightsSummaryText\"><p> The champion model for this project is Forest (2) from the \"SAS Automatically Generated Pipeline 1\" pipeline. The model was chosen based on the Average Squared Error for the Validate partition (25,129,706.36).  The five most important factors are Imputed Transformed VALUE, Imputed Transformed MORTDUE, JOB, Imputed Transformed CLNO, and Imputed Transformed YOJ.</p></p>\n\n<table class=\"insightsSummaryTable\">\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Project Target:</td>\n    <td class=\"insightsSummaryTableValue\">LOAN</td>\n    <td class=\"insightsSummaryTableKey\">Project Champion:</td>\n    <td class=\"insightsSummaryTableValue\">Forest (2)</td>\n  </tr>\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Overall Average:</td>\n    <td class=\"insightsSummaryTableValue\">18607.9698</td>\n    <td class=\"insightsSummaryTableKey\">Created By:</td>\n    <td class=\"insightsSummaryTableValue\">emduser1</td>\n  </tr>\n  <tr>\n    <td class=\"insightsSummaryTableKey\">Pipelines:</td>\n    <td class=\"insightsSummaryTableValue\">2</td>\n    <td class=\"insightsSummaryTableKey\">Modified:</td>\n    <td class=\"insightsSummaryTableValue\">Mar 2, 2022 7:38:24 AM</td>\n  </tr>\n</table>\n",
                "lineNumber": 1
              },
              "rowNumber": 0
            }
          ],
          "xInteger": false,
          "yInteger": false
        }
      ],
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
          "type": "application/vnd.sas.collection"
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. reportCollection
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No project with the provided ID was found. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description

    Score data with the champion model of the automation project

    Code samples

    # You can also use wget
    curl -X POST https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/scoreData \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json'
    
    
    const inputBody = '{
      "scoreType": "Individual",
      "destinationName": "maslocal",
      "inputs": [
        {
          "name": "CLAGE",
          "value": "300"
        },
        {
          "name": "DEBTINC",
          "value": "24.5"
        }
      ]
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/scoreData',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
    
    r = requests.post('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/scoreData', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Content-Type": []string{"application/json"},
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("POST", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/scoreData", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    POST /projects/{projectId}/models/@championModel/scoreData

    Score data with the automation project's champion model.

    Body parameter

    Request body for scoring individual data

    {
      "scoreType": "Individual",
      "destinationName": "maslocal",
      "inputs": [
        {
          "name": "CLAGE",
          "value": "300"
        },
        {
          "name": "DEBTINC",
          "value": "24.5"
        }
      ]
    }
    
    Parameters
    Name In Type Required Description
    projectId path string true The automation project ID
    body body scoreDataInput true The score data input

    Example responses

    Response from scoring a champion model

    {
      "version": 3,
      "executionState": "completed",
      "scoreExecution": [],
      "outputs": []
    }
    
    {
      "version": 3,
      "executionState": "completed",
      "scoreExecution": [],
      "outputs": []
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response when required fields are missing

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The provided project name \"\" was missing or invalid.",
          "remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute."
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response when required fields are missing

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "The provided project name \"\" was missing or invalid.",
          "remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute."
        }
      ]
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. scoreDataOutput
    400 Bad Request The request cannot be processed. Inline
    404 Not Found No required resources could be found. For example, automation project, analytics project, or champion model. This error condition could also occur if the champion model was not published to the supported destination. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Get headers for current state of an automation project

    Code samples

    # You can also use wget
    curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}/state
      -H 'Authorization: Bearer <access-token-goes-here>' \
    
    
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/state',
    {
      method: 'HEAD'
    
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    
    r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}/state')
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}/state", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    HEAD /projects/{projectId}/state

    Get headers for the request that gets the current state of an automation project

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    filter query string false filter
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. None
    400 Bad Request One or more parameters were invalid. None
    404 Not Found No project with the provided ID was found. None
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description
    200 ETag string No description
    400 Content-Type string No description
    400 ETag string No description
    404 Content-Type string No description
    404 ETag string No description

    Get current state of an automation project

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId}/state \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: text/plain'
    
    
    
    const headers = {
      'Accept':'text/plain'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/state',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'text/plain'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}/state', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"text/plain"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}/state", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /projects/{projectId}/state

    Automation project state can be one of these enum values. - pending: indicates that the underlying analytics project was created but has not been run yet. - preparing: gathering resources to process the pipeline. - waiting: indicates that the underlying analytics project metadata was updated. - ready: indicates that the underlying analytics project is preparing and ready to submit CASL code. - modeling: indicates that models are being composed and compared on CASL server. - constructingPipeline: indicates that pipelines are being built on CASL server. - runningPipeline: indicates that pipelines are being run on CASL server. - quiescing: indicates that the user request to quiesce the project modeling has been received. - quiesced: indicates that project modeling is being stopped in response to the user's quiescing request. - completed: indicates that the underlying analytics project has run to completion without errors. - canceled: indicates that the underlying analytics project run was canceled by user. - failed: indicates that the underlying analytics project has encountered errors during pipeline run and has stopped. - oversampling: the oversampling technique is being applied. - retraining: the project is being retrained.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    filter query string false filter

    Example responses

    200 Response

    "completed"
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. automationProjectState
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No project with the provided ID was found. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description
    200 ETag string No description

    Update state of the specified automation project

    Code samples

    # You can also use wget
    curl -X PUT https://example.com/mlPipelineAutomation/projects/{projectId}/state?value=pending \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: text/plain'
    
    
    
    const headers = {
      'Accept':'text/plain'
    };
    
    fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/state?value=pending',
    {
      method: 'PUT',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'text/plain'
    }
    
    r = requests.put('https://example.com/mlPipelineAutomation/projects/{projectId}/state', params={
      'value': 'pending'
    }, headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"text/plain"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("PUT", "https://example.com/mlPipelineAutomation/projects/{projectId}/state", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    PUT /projects/{projectId}/state

    Update state of the automation project with the ID from the path. The automation project state is considered a single piece of information and operations on state are atomic. State update is completely controlled by the state machine based on current state and intended state.

    Parameters
    Name In Type Required Description
    projectId path string true projectId
    value query automationProjectState true Intended automation project state.
    Enumerated Values
    Parameter Value
    value pending
    value preparing
    value waiting
    value ready
    value modeling
    value constructingPipeline
    value runningPipeline
    value quiescing
    value quiesced
    value completed
    value canceled
    value failed
    value oversampling
    value retraining

    Example responses

    202 Response

    "completed"
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    

    There was a conflict with the current state of the target resource.

    {
      "version": 2,
      "errorCode": 92434,
      "httpStatusCode": 409,
      "remediation": "An error has been encountered that indicates a software issue.  Contact SAS Technical Support and provide the message and error code."
    }
    
    Responses
    Status Meaning Description Schema
    202 Accepted The state of automation project was updated. automationProjectState
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No automation project with the provided entity ID was found. Inline
    409 Conflict Transition from current to desired state is not permitted. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 409

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    AutomationAlgorithms

    Contains the operations for working with machine learning pipeline automation algorithms.

    Return all supervised learning algorithms

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/algorithms \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/algorithms',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/algorithms', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/algorithms", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /algorithms

    The consider, exclude, forceInclude, and algorithms settings are used to specify the supervised learning algorithm that is used during automatic pipeline generation. Each algorithm has a default setting that determines its behavior when none of the settings are specified. To view these defaults you can request a list of algorithms from the /algorithms endpoint.

    Example responses

    List of available algorithms in pipeline automation

    {
      "version": 3,
      "accept": "application/vnd.sas.collection+json",
      "count": 8,
      "start": 0,
      "limit": 0,
      "name": "collection",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation",
          "uri": "/mlPipelineAutomation",
          "type": "application/vnd.sas.api+json"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/algorithms",
          "uri": "/mlPipelineAutomation/algorithms",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.algorithm"
        }
      ],
      "items": [
        {
          "id": "DecisionTree",
          "name": "Decision Tree",
          "defaultBehavior": "consider"
        },
        {
          "id": "Forest",
          "name": "Forest",
          "defaultBehavior": "consider"
        },
        {
          "id": "GAM",
          "name": "GAM",
          "description": "GAM is only supported for projects with binary or interval target types.",
          "defaultBehavior": "consider"
        },
        {
          "id": "GradientBoosting",
          "name": "Gradient Boosting",
          "defaultBehavior": "consider"
        },
        {
          "id": "NeuralNetwork",
          "name": "Neural Network",
          "defaultBehavior": "consider"
        },
        {
          "id": "Regression",
          "name": "Regression",
          "description": "Linear regression is used for projects with an interval target type, otherwise logistic regression is used.",
          "defaultBehavior": "forceInclude"
        },
        {
          "id": "SVM",
          "name": "SVM",
          "description": "SVM is only supported for projects with a binary target type.",
          "defaultBehavior": "exclude"
        },
        {
          "id": "Ensemble",
          "name": "Ensemble",
          "description": "Ensemble is only supported when at least one other algorithm is set to \"consider\" or \"forceInclude\".",
          "defaultBehavior": "consider"
        }
      ]
    }
    
    {
      "version": 3,
      "accept": "application/vnd.sas.collection+json",
      "count": 8,
      "start": 0,
      "limit": 0,
      "name": "collection",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation",
          "uri": "/mlPipelineAutomation",
          "type": "application/vnd.sas.api+json"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/algorithms",
          "uri": "/mlPipelineAutomation/algorithms",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.algorithm"
        }
      ],
      "items": [
        {
          "id": "DecisionTree",
          "name": "Decision Tree",
          "defaultBehavior": "consider"
        },
        {
          "id": "Forest",
          "name": "Forest",
          "defaultBehavior": "consider"
        },
        {
          "id": "GAM",
          "name": "GAM",
          "description": "GAM is only supported for projects with binary or interval target types.",
          "defaultBehavior": "consider"
        },
        {
          "id": "GradientBoosting",
          "name": "Gradient Boosting",
          "defaultBehavior": "consider"
        },
        {
          "id": "NeuralNetwork",
          "name": "Neural Network",
          "defaultBehavior": "consider"
        },
        {
          "id": "Regression",
          "name": "Regression",
          "description": "Linear regression is used for projects with an interval target type, otherwise logistic regression is used.",
          "defaultBehavior": "forceInclude"
        },
        {
          "id": "SVM",
          "name": "SVM",
          "description": "SVM is only supported for projects with a binary target type.",
          "defaultBehavior": "exclude"
        },
        {
          "id": "Ensemble",
          "name": "Ensemble",
          "description": "Ensemble is only supported when at least one other algorithm is set to \"consider\" or \"forceInclude\".",
          "defaultBehavior": "consider"
        }
      ]
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. algorithmCollection
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description

    PipelineTemplates

    Contains the operations for managing machine learning pipeline templates.

    Return all machine learning pipeline templates

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/pipelineTemplates \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/pipelineTemplates',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/pipelineTemplates', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/pipelineTemplates", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /pipelineTemplates

    The endpoint to get all available machine learning pipeline templates.

    Parameters
    Name In Type Required Description
    start query integer(int64) false start
    limit query integer(int32) false limit
    sortBy query string false sortBy
    filter query string false filter

    Example responses

    List of available pipeline templates.

    {
      "version": 1,
      "count": 3,
      "start": 0,
      "limit": 10,
      "name": "items",
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/mlPipelineAutomation/pipelineTemplates",
          "uri": "/mlPipelineAutomation/pipelineTemplates",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/pipelineTemplates?start=0&limit=10",
          "uri": "/mlPipelineAutomation/pipelineTemplates?start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
        },
        {
          "method": "GET",
          "rel": "next",
          "href": "/mlPipelineAutomation/pipelineTemplates?start=10&limit=10",
          "uri": "/mlPipelineAutomation/pipelineTemplates?start=10&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
        }
      ],
      "items": [
        {
          "id": "dm.advancedbinarytargetautotunepl.template",
          "name": "Advanced template for class target with autotuning",
          "description": "Data mining pipeline for a class target that contains autotuned tree, forest, neural network, and gradient boosting models.",
          "links": [
            {
              "method": "GET",
              "rel": "up",
              "href": "/mlPipelineAutomation/pipelineTemplates",
              "uri": "/mlPipelineAutomation/pipelineTemplates",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "GET",
              "rel": "self",
              "href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetautotunepl.template",
              "uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetautotunepl.template",
              "type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
            }
          ],
          "creationTimeStamp": "2022-03-01T16:50:55.783Z",
          "createdBy": "sas.dataMining",
          "modifiedTimeStamp": "2022-03-01T16:50:55.786Z",
          "modifiedBy": "sas.dataMining",
          "revision": 0
        },
        {
          "id": "dm.advancedbinarytargetpl.template",
          "name": "Advanced template for class target",
          "description": "Data mining pipeline that extends the intermediate template for a class target by adding neural network, forest, and gradient boosting models. An ensemble model is also provided.",
          "links": [
            {
              "method": "GET",
              "rel": "up",
              "href": "/mlPipelineAutomation/pipelineTemplates",
              "uri": "/mlPipelineAutomation/pipelineTemplates",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "GET",
              "rel": "self",
              "href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetpl.template",
              "uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetpl.template",
              "type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
            }
          ],
          "creationTimeStamp": "2022-03-01T16:51:00.224Z",
          "createdBy": "sas.dataMining",
          "modifiedTimeStamp": "2022-03-01T16:51:00.226Z",
          "modifiedBy": "sas.dataMining",
          "revision": 0
        },
        {
          "id": "dm.empty.template",
          "name": "Blank template",
          "description": "Data mining pipeline that contains only a data node.",
          "links": [
            {
              "method": "GET",
              "rel": "up",
              "href": "/mlPipelineAutomation/pipelineTemplates",
              "uri": "/mlPipelineAutomation/pipelineTemplates",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "GET",
              "rel": "self",
              "href": "/mlPipelineAutomation/pipelineTemplates/dm.empty.template",
              "uri": "/mlPipelineAutomation/pipelineTemplates/dm.empty.template",
              "type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
            }
          ],
          "creationTimeStamp": "2022-03-01T16:51:21.229Z",
          "createdBy": "sas.dataMining",
          "modifiedTimeStamp": "2022-03-01T16:51:21.23Z",
          "modifiedBy": "sas.dataMining",
          "revision": 0
        }
      ]
    }
    
    {
      "version": 1,
      "count": 3,
      "start": 0,
      "limit": 10,
      "name": "items",
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/mlPipelineAutomation/pipelineTemplates",
          "uri": "/mlPipelineAutomation/pipelineTemplates",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/pipelineTemplates?start=0&limit=10",
          "uri": "/mlPipelineAutomation/pipelineTemplates?start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
        },
        {
          "method": "GET",
          "rel": "next",
          "href": "/mlPipelineAutomation/pipelineTemplates?start=10&limit=10",
          "uri": "/mlPipelineAutomation/pipelineTemplates?start=10&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
        }
      ],
      "items": [
        {
          "id": "dm.advancedbinarytargetautotunepl.template",
          "name": "Advanced template for class target with autotuning",
          "description": "Data mining pipeline for a class target that contains autotuned tree, forest, neural network, and gradient boosting models.",
          "links": [
            {
              "method": "GET",
              "rel": "up",
              "href": "/mlPipelineAutomation/pipelineTemplates",
              "uri": "/mlPipelineAutomation/pipelineTemplates",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "GET",
              "rel": "self",
              "href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetautotunepl.template",
              "uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetautotunepl.template",
              "type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
            }
          ],
          "creationTimeStamp": "2022-03-01T16:50:55.783Z",
          "createdBy": "sas.dataMining",
          "modifiedTimeStamp": "2022-03-01T16:50:55.786Z",
          "modifiedBy": "sas.dataMining",
          "revision": 0
        },
        {
          "id": "dm.advancedbinarytargetpl.template",
          "name": "Advanced template for class target",
          "description": "Data mining pipeline that extends the intermediate template for a class target by adding neural network, forest, and gradient boosting models. An ensemble model is also provided.",
          "links": [
            {
              "method": "GET",
              "rel": "up",
              "href": "/mlPipelineAutomation/pipelineTemplates",
              "uri": "/mlPipelineAutomation/pipelineTemplates",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "GET",
              "rel": "self",
              "href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetpl.template",
              "uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetpl.template",
              "type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
            }
          ],
          "creationTimeStamp": "2022-03-01T16:51:00.224Z",
          "createdBy": "sas.dataMining",
          "modifiedTimeStamp": "2022-03-01T16:51:00.226Z",
          "modifiedBy": "sas.dataMining",
          "revision": 0
        },
        {
          "id": "dm.empty.template",
          "name": "Blank template",
          "description": "Data mining pipeline that contains only a data node.",
          "links": [
            {
              "method": "GET",
              "rel": "up",
              "href": "/mlPipelineAutomation/pipelineTemplates",
              "uri": "/mlPipelineAutomation/pipelineTemplates",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "GET",
              "rel": "self",
              "href": "/mlPipelineAutomation/pipelineTemplates/dm.empty.template",
              "uri": "/mlPipelineAutomation/pipelineTemplates/dm.empty.template",
              "type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
            }
          ],
          "creationTimeStamp": "2022-03-01T16:51:21.229Z",
          "createdBy": "sas.dataMining",
          "modifiedTimeStamp": "2022-03-01T16:51:21.23Z",
          "modifiedBy": "sas.dataMining",
          "revision": 0
        }
      ]
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. mlPipelineTemplateCollection
    400 Bad Request The request was invalid. errorResponse
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description

    Get headers for a machine learning pipeline template

    Code samples

    # You can also use wget
    curl -X HEAD https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}
      -H 'Authorization: Bearer <access-token-goes-here>' \
    
    
    
    fetch('https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}',
    {
      method: 'HEAD'
    
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    
    r = requests.head('https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}')
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    HEAD /pipelineTemplates/{templateId}

    Headers for the endpoint to get a specific machine learning pipeline template.

    Parameters
    Name In Type Required Description
    templateId path string true templateId
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. None
    400 Bad Request One or more parameters were invalid. None
    404 Not Found No template with the provided ID was found. None
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description
    400 Content-Type string No description
    404 Content-Type string No description

    Get a machine learning pipeline template

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /pipelineTemplates/{templateId}

    The endpoint to get a specific machine learning pipeline template.

    Parameters
    Name In Type Required Description
    templateId path string true templateId

    Example responses

    A single pipeline template

    {
      "id": "dm.advancedintervaltargetautotunepl.template",
      "name": "Advanced template for interval target with autotuning",
      "description": "Data mining pipeline that extends the intermediate template for an interval target by adding GAM and autotuned tree, forest, neural network, and gradient boosting models. An ensemble model is also provided.",
      "links": [
        {
          "method": "GET",
          "rel": "up",
          "href": "/mlPipelineAutomation/pipelineTemplates",
          "uri": "/mlPipelineAutomation/pipelineTemplates",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedintervaltargetautotunepl.template",
          "uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedintervaltargetautotunepl.template",
          "type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
        }
      ],
      "creationTimeStamp": "2022-03-01T16:51:05.574Z",
      "createdBy": "sas.dataMining",
      "modifiedTimeStamp": "2022-03-01T16:51:05.576Z",
      "modifiedBy": "sas.dataMining",
      "eTag": "\"Y29tLnNhcy5hbmFseXRpY3MucGlwZWxpbmUucmVwcmVzZW50YXRpb25zLlBpcGVsaW5lVGVtcGxhdGU=1\"",
      "revision": 1
    }
    

    Bad Request

    {
      "httpStatusCode": 400,
      "errorCode": 92515,
      "message": "The required arguments of the provided automation project did not pass validation.",
      "details": [
        "path: /mlPipelineAutomation/some/path",
        "correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
      ],
      "remediation": "Correct the request by providing a valid \"some-property\" value.",
      "errors": [
        {
          "errorCode": 92442,
          "message": "A more specific error message.",
          "remediation": "A message on how to correct the issue."
        }
      ]
    }
    

    Example of an error response with GET request specified with invalid filter.

    {
      "errorCode": 92513,
      "errors": [
        {
          "httpStatusCode": 500,
          "errorCode": 92513,
          "message": "The query context is not valid.",
          "details": [
            "Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
          ],
          "errors": [
            {
              "message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
            }
          ]
        }
      ],
      "httpStatusCode": 400,
      "message": "The query context is not valid.",
      "remediation": "Correct the URI parameters and resubmit the request.",
      "version": 2
    }
    

    Bad Request

    Example of an error response with GET request specified with invalid filter.

    Not Found

    {
      "version": 2,
      "httpStatusCode": 404,
      "errorCode": 92422,
      "message": "The specified resource was not found.",
      "remediation": "Resubmit the request with a valid ID."
    }
    
    Responses
    Status Meaning Description Schema
    200 OK The request succeeded. mlPipelineTemplate
    400 Bad Request One or more parameters were invalid. Inline
    404 Not Found No template with the provided ID was found. Inline
    Response Schema

    Status Code 400

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.

    Status Code 404

    Error

    Name Type Required Restrictions Description
    ยป message string false none The message for the error.
    ยป id string false none The string ID for the error.
    ยป errorCode integer false none The numeric ID for the error.
    ยป httpStatusCode integer true none The HTTP status code for the error.
    ยป details [string] false none Messages that provide additional details about the cause of the error.
    ยป remediation string false none A message that describes how to resolve the error.
    ยป errors [#/paths/~1projects/get/responses/400/content/application~1json/schema] false none Any additional errors that occurred.
    ยปยป Error #/paths/~1projects/get/responses/400/content/application~1json/schema false none The representation of an error.
    ยป links [link] false none The links that apply to the error.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    ยป version integer true none The version number of the error representation. This representation is version 2.
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description

    Root

    Contains the operations for the root resource.

    Code samples

    # You can also use wget
    curl -X GET https://example.com/mlPipelineAutomation/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \
      -H 'Accept: application/json'
    
    
    
    const headers = {
      'Accept':'application/json'
    };
    
    fetch('https://example.com/mlPipelineAutomation/',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    r = requests.get('https://example.com/mlPipelineAutomation/', headers = headers)
    
    print(r.json())
    
    package main
    
    import (
           "bytes"
           "net/http"
    )
    
    func main() {
    
        headers := map[string][]string{
            "Accept": []string{"application/json"},
        }
    
        data := bytes.NewBuffer([]byte{jsonReq})
        req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/", data)
        req.Header = headers
    
        client := &http.Client{}
        resp, err := client.Do(req)
        // ...
    }
    

    GET /

    The API object contains a set of links for the supported endpoints.

    Example responses

    List of endpoints for Machine Learning Pipeline Automation service

    {
      "version": 3,
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "POST",
          "rel": "createProject",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "pipelineTemplates",
          "href": "/mlPipelineAutomation/pipelineTemplates",
          "uri": "/mlPipelineAutomation/pipelineTemplates",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template"
        },
        {
          "method": "GET",
          "rel": "algorithms",
          "href": "/mlPipelineAutomation/algorithms",
          "uri": "/mlPipelineAutomation/algorithms",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.algorithm"
        }
      ]
    }
    
    {
      "version": 3,
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "POST",
          "rel": "createProject",
          "href": "/mlPipelineAutomation/projects",
          "uri": "/mlPipelineAutomation/projects",
          "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
          "method": "GET",
          "rel": "pipelineTemplates",
          "href": "/mlPipelineAutomation/pipelineTemplates",
          "uri": "/mlPipelineAutomation/pipelineTemplates",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template"
        },
        {
          "method": "GET",
          "rel": "algorithms",
          "href": "/mlPipelineAutomation/algorithms",
          "uri": "/mlPipelineAutomation/algorithms",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.analytics.machine.learning.algorithm"
        }
      ]
    }
    
    Status Meaning Description Schema
    200 OK The request succeeded. Inline

    Status Code 200

    API

    Name Type Required Restrictions Description
    ยป version integer true none The version number of the API representation. This is version 1.
    ยป links [link] true none The API's top-level links.
    ยปยป Link link false none A link to a related operation or resource.
    ยปยปยป method string false none The HTTP method for the link.
    ยปยปยป rel string true none The relationship of the link to the resource.
    ยปยปยป uri string false none The relative URI for the link.
    ยปยปยป href string false none The URL for the link.
    ยปยปยป title string false none The title for the link.
    ยปยปยป type string false none The media type or link type for the link.
    ยปยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    Response Headers
    Status Header Type Format Description
    200 Content-Type string No description

    Schemas

    algorithmBehavior

    "consider"
    
    

    Supervised Learning Algorithm Behavior in Pipeline Generation

    Properties
    Name Type Required Restrictions Description
    Supervised Learning Algorithm Behavior in Pipeline Generation string false none Describes the behavior of a supervised learning algorithm during pipeline generation. One of the enums [consider, exclude, forceInclude].
    Enumerated Values
    Property Value
    Supervised Learning Algorithm Behavior in Pipeline Generation consider
    Supervised Learning Algorithm Behavior in Pipeline Generation exclude
    Supervised Learning Algorithm Behavior in Pipeline Generation forceInclude

    algorithmId

    "DecisionTree"
    
    

    Supervised Learning Algorithm

    Properties
    Name Type Required Restrictions Description
    Supervised Learning Algorithm string false none Supervised Learning Algorithm. One of the enums [DecisionTree, Forest, GAM, GradientBoosting, NeuralNetwork, Regression, Ensemble, SVM].
    Enumerated Values
    Property Value
    Supervised Learning Algorithm DecisionTree
    Supervised Learning Algorithm Forest
    Supervised Learning Algorithm GAM
    Supervised Learning Algorithm GradientBoosting
    Supervised Learning Algorithm NeuralNetwork
    Supervised Learning Algorithm Regression
    Supervised Learning Algorithm Ensemble
    Supervised Learning Algorithm SVM

    algorithm

    {
      "id": "DecisionTree",
      "name": "string",
      "description": "string",
      "behavior": "consider",
      "defaultBehavior": "consider"
    }
    
    

    Supervised Learning Algorithm Settings in Pipeline Generation

    Properties
    Name Type Required Restrictions Description
    id algorithmId false none Supervised Learning Algorithm. One of the enums [DecisionTree, Forest, GAM, GradientBoosting, NeuralNetwork, Regression, Ensemble, SVM].
    name string false none Supervised Learning Algorithm Name
    description string false none Supervised Learning Algorithm Description
    behavior algorithmBehavior false none Describes the behavior of a supervised learning algorithm during pipeline generation. One of the enums [consider, exclude, forceInclude].
    defaultBehavior algorithmBehavior false none Describes the behavior of a supervised learning algorithm during pipeline generation. One of the enums [consider, exclude, forceInclude].

    algorithmCollection

    {
      "name": "string",
      "start": 0,
      "limit": 0,
      "count": 0,
      "accept": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0,
      "items": [
        {
          "id": "DecisionTree",
          "name": "string",
          "description": "string",
          "behavior": "consider",
          "defaultBehavior": "consider"
        }
      ]
    }
    
    

    Supervised Learning Algorithm Collection

    Properties
    Name Type Required Restrictions Description
    Supervised Learning Algorithm Collection any false none This object contains a list of supervised learning algorithms.

    allOf

    Name Type Required Restrictions Description
    anonymous object false none This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2)
    ยป name string false none The name of the collection.
    ยป start integer(int64) false none The zero-based index of the first item in the collection.
    ยป limit integer false none The number of items that were requested for the collection.
    ยป count integer(int64) false none If populated indicates the number of items in the collection.
    ยป accept string false none A space-delimited list of media types from which an Accept header may be constructed.
    ยป links [link] false none The links that apply to the collection.
    ยป version integer false none The version number of the collection representation. This representation is version 2.

    and

    Name Type Required Restrictions Description
    anonymous object false none none
    ยป items [algorithm] true none The list of supervised learning algorithms.

    automationProjectState

    "pending"
    
    

    Automation Project State

    Properties
    Name Type Required Restrictions Description
    Automation Project State string false none Automation Project state. One of the enums [pending, preparing, waiting, ready, modeling, constructingPipeline, runningPipeline, quiescing, quiesced, completed, canceled, failed, oversampling, retraining].
    Enumerated Values
    Property Value
    Automation Project State pending
    Automation Project State preparing
    Automation Project State waiting
    Automation Project State ready
    Automation Project State modeling
    Automation Project State constructingPipeline
    Automation Project State runningPipeline
    Automation Project State quiescing
    Automation Project State quiesced
    Automation Project State completed
    Automation Project State canceled
    Automation Project State failed
    Automation Project State oversampling
    Automation Project State retraining

    analyticsProjectAttributes

    {
      "analyticsProjectId": "string",
      "targetVariable": "string",
      "targetEventLevel": "string",
      "intervalSelectionStatistic": "ase",
      "classSelectionStatistic": "ks",
      "selectionDepth": 10,
      "selectionPartition": "default",
      "partitionEnabled": true,
      "overrideClassificationCutoffEnabled": false,
      "overrideClassificationCutoffValue": 0.5,
      "cutoffPercentage": 50,
      "numberOfCutoffValues": 20,
      "samplingEnabled": "AUTO",
      "samplingPercentage": 50
    }
    
    

    Analytics Project Attributes

    Properties
    Name Type Required Restrictions Description
    analyticsProjectId string false none Analytics project ID.
    targetVariable string true none Target variable.
    targetEventLevel string false none Target event level.
    intervalSelectionStatistic string false none Interval selection statistic.
    classSelectionStatistic string false none Class selection statistic.
    selectionDepth number false none Selection depth.
    selectionPartition string false none Selection partition.
    partitionEnabled boolean false none Flag to indicate whether partition should be enabled.
    overrideClassificationCutoffEnabled boolean false none Flag to indicate whether the default classification cutoff is overridden by the selected value.
    overrideClassificationCutoffValue number(double) false none The override value (percentage) to use if overrideClassificationCutoffEnabled is true.
    cutoffPercentage number false none Cutoff percentage
    numberOfCutoffValues number false none Number of cutoff values
    samplingEnabled string false none Sampling strategy
    samplingPercentage number(double) false none Sampling percentage. Valid range is 1 to 99.
    Enumerated Values
    Property Value
    intervalSelectionStatistic ase
    intervalSelectionStatistic rase
    intervalSelectionStatistic rmae
    intervalSelectionStatistic rmsle
    classSelectionStatistic ks
    classSelectionStatistic ase
    classSelectionStatistic rase
    classSelectionStatistic mce
    classSelectionStatistic mcll
    classSelectionStatistic c
    classSelectionStatistic f1
    classSelectionStatistic fdr
    classSelectionStatistic fpr
    classSelectionStatistic acc
    classSelectionStatistic ks2
    classSelectionStatistic lift
    classSelectionStatistic cumulativeLift
    classSelectionStatistic gain
    classSelectionStatistic gini
    classSelectionStatistic capturedResponse
    classSelectionStatistic cumulativeCapturedResponse
    classSelectionStatistic misclassificationEvent
    classSelectionStatistic misclassificationCutoff
    selectionDepth 5
    selectionDepth 10
    selectionDepth 15
    selectionDepth 20
    selectionPartition default
    selectionPartition train
    selectionPartition validate
    selectionPartition test
    cutoffPercentage 5
    cutoffPercentage 10
    cutoffPercentage 15
    cutoffPercentage 20
    cutoffPercentage 25
    cutoffPercentage 30
    cutoffPercentage 35
    cutoffPercentage 40
    cutoffPercentage 45
    cutoffPercentage 50
    cutoffPercentage 55
    cutoffPercentage 60
    cutoffPercentage 65
    cutoffPercentage 70
    cutoffPercentage 75
    cutoffPercentage 80
    cutoffPercentage 85
    cutoffPercentage 90
    cutoffPercentage 95
    numberOfCutoffValues 10
    numberOfCutoffValues 20
    numberOfCutoffValues 50
    numberOfCutoffValues 100
    numberOfCutoffValues 500
    numberOfCutoffValues 1000
    samplingEnabled YES
    samplingEnabled NO
    samplingEnabled AUTO

    mlPipelineAutomationProjectCollection

    {
      "name": "string",
      "start": 0,
      "limit": 0,
      "count": 0,
      "accept": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0,
      "items": [
        {
          "analyticsProjectAttributes": {
            "analyticsProjectId": "string",
            "targetVariable": "string",
            "targetEventLevel": "string",
            "intervalSelectionStatistic": "ase",
            "classSelectionStatistic": "ks",
            "selectionDepth": 10,
            "selectionPartition": "default",
            "partitionEnabled": true,
            "overrideClassificationCutoffEnabled": false,
            "overrideClassificationCutoffValue": 0.5,
            "cutoffPercentage": 50,
            "numberOfCutoffValues": 20,
            "samplingEnabled": "AUTO",
            "samplingPercentage": 50
          },
          "dataTableUri": "string",
          "description": "string",
          "id": "string",
          "name": "string",
          "revision": 0,
          "settings": {
            "applyGlobalMetadata": true,
            "autoRun": true,
            "locale": "en",
            "maxModelingTime": 0,
            "modelingMode": "Standard",
            "numberOfModels": 5,
            "consider": [
              "DecisionTree"
            ],
            "exclude": [
              "DecisionTree"
            ],
            "forceInclude": [
              "DecisionTree"
            ],
            "algorithms": [
              {
                "id": "DecisionTree",
                "name": "string",
                "description": "string",
                "behavior": "consider",
                "defaultBehavior": "consider"
              }
            ],
            "subsampleCount": 0,
            "subsamplePercent": 0,
            "subsampleSeed": 0
          },
          "state": "pending",
          "type": "predictive",
          "pipelineBuildMethod": "automatic",
          "version": 0,
          "championModel": {
            "name": "string",
            "links": [
              {
                "method": "string",
                "rel": "string",
                "uri": "string",
                "href": "string",
                "title": "string",
                "type": "string",
                "itemType": "string",
                "responseType": "string",
                "responseItemType": "string"
              }
            ],
            "publishDestinations": [
              {
                "name": "string",
                "description": "string",
                "destinationType": "cas",
                "destinationTable": "string",
                "casServerName": "string",
                "casLibrary": "string"
              }
            ]
          },
          "links": [
            {
              "method": "string",
              "rel": "string",
              "uri": "string",
              "href": "string",
              "title": "string",
              "type": "string",
              "itemType": "string",
              "responseType": "string",
              "responseItemType": "string"
            }
          ]
        }
      ]
    }
    
    

    Machine Learning Pipeline Automation Project Collection

    Properties
    Name Type Required Restrictions Description
    Machine Learning Pipeline Automation Project Collection any false none This object contains a list of automation project objects.

    allOf

    Name Type Required Restrictions Description
    anonymous algorithmCollection/allOf/0 false none This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2)

    and

    Name Type Required Restrictions Description
    anonymous object false none none
    ยป items [mlPipelineAutomationProject] true none The list of automation project objects.

    mlPipelineAutomationProject

    {
      "analyticsProjectAttributes": {
        "analyticsProjectId": "string",
        "targetVariable": "string",
        "targetEventLevel": "string",
        "intervalSelectionStatistic": "ase",
        "classSelectionStatistic": "ks",
        "selectionDepth": 10,
        "selectionPartition": "default",
        "partitionEnabled": true,
        "overrideClassificationCutoffEnabled": false,
        "overrideClassificationCutoffValue": 0.5,
        "cutoffPercentage": 50,
        "numberOfCutoffValues": 20,
        "samplingEnabled": "AUTO",
        "samplingPercentage": 50
      },
      "dataTableUri": "string",
      "description": "string",
      "id": "string",
      "name": "string",
      "revision": 0,
      "settings": {
        "applyGlobalMetadata": true,
        "autoRun": true,
        "locale": "en",
        "maxModelingTime": 0,
        "modelingMode": "Standard",
        "numberOfModels": 5,
        "consider": [
          "DecisionTree"
        ],
        "exclude": [
          "DecisionTree"
        ],
        "forceInclude": [
          "DecisionTree"
        ],
        "algorithms": [
          {
            "id": "DecisionTree",
            "name": "string",
            "description": "string",
            "behavior": "consider",
            "defaultBehavior": "consider"
          }
        ],
        "subsampleCount": 0,
        "subsamplePercent": 0,
        "subsampleSeed": 0
      },
      "state": "pending",
      "type": "predictive",
      "pipelineBuildMethod": "automatic",
      "version": 0,
      "championModel": {
        "name": "string",
        "links": [
          {
            "method": "string",
            "rel": "string",
            "uri": "string",
            "href": "string",
            "title": "string",
            "type": "string",
            "itemType": "string",
            "responseType": "string",
            "responseItemType": "string"
          }
        ],
        "publishDestinations": [
          {
            "name": "string",
            "description": "string",
            "destinationType": "cas",
            "destinationTable": "string",
            "casServerName": "string",
            "casLibrary": "string"
          }
        ]
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    

    Machine Learning Pipeline Automation Project

    Properties
    Name Type Required Restrictions Description
    analyticsProjectAttributes analyticsProjectAttributes true none This object contains a list of analytics project attributes.
    dataTableUri string true none Data table URI
    description string false none Description of the automation project
    id string false none ID of the automation project
    name string true none Name of the automation project
    revision integer(int64) false none Revision of the automation project instance
    settings settings false none A collection of optional settings to configure an automation project.
    state automationProjectState false none Automation Project state. One of the enums [pending, preparing, waiting, ready, modeling, constructingPipeline, runningPipeline, quiescing, quiesced, completed, canceled, failed, oversampling, retraining].
    type string true none Automation project type
    pipelineBuildMethod string false none The method used to generate the project pipeline
    version integer(int32) false none Version of the resource
    championModel championModel false none This object contains a summary of champion model.
    links [object] false none The links that apply to this automation project
    ยป Link object false none A link to a related operation or resource.
    ยปยป method string false none The HTTP method for the link.
    ยปยป rel string true none The relationship of the link to the resource.
    ยปยป uri string false none The relative URI for the link.
    ยปยป href string false none The URL for the link.
    ยปยป title string false none The title for the link.
    ยปยป type string false none The media type or link type for the link.
    ยปยป itemType string false none If this is a link to a container, itemType is the media type or link type for the items in the container.
    ยปยป responseType string false none The media type or link type of the response body for a PUT, POST, or PATCH operation.
    ยปยป responseItemType string false none The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    Enumerated Values
    Property Value
    type predictive
    pipelineBuildMethod automatic
    pipelineBuildMethod template

    reportCollection

    {
      "name": "string",
      "start": 0,
      "limit": 0,
      "count": 0,
      "accept": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0,
      "items": [
        {
          "id": "string",
          "data": [
            {
              "dataMap": {},
              "header": "string",
              "rowNumber": 0
            }
          ],
          "links": [
            {
              "method": "string",
              "rel": "string",
              "uri": "string",
              "href": "string",
              "title": "string",
              "type": "string",
              "itemType": "string",
              "responseType": "string",
              "responseItemType": "string"
            }
          ],
          "parameterMap": {
            "property1": {
              "label": "string",
              "length": 0,
              "order": 0,
              "parameter": "string",
              "preformatted": true,
              "type": "undefined",
              "values": [
                "string"
              ]
            },
            "property2": {
              "label": "string",
              "length": 0,
              "order": 0,
              "parameter": "string",
              "preformatted": true,
              "type": "undefined",
              "values": [
                "string"
              ]
            }
          },
          "order": 0,
          "type": "undefined",
          "xInteger": true,
          "yInteger": true,
          "version": 0,
          "description": "string",
          "revision": 0
        }
      ]
    }
    
    

    Report Collection

    Properties

    allOf

    Name Type Required Restrictions Description
    anonymous algorithmCollection/allOf/0 false none This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2)

    and

    Name Type Required Restrictions Description
    anonymous object false none none
    ยป items [any] false none The list of reports
    ยปยป Analytics Report object false none An analytics report consisting of rows of data and associated metadata (parameters).
    ยปยปยป id string false none The unique identifier of this analytics report.
    ยปยปยป data [any] true none The rows of data.
    ยปยปยปยป Data Row object false none A row of data.
    ยปยปยปยปยป dataMap object true none Map of parameter name to associated value.
    ยปยปยปยปยป header string false none Optional title. May be localized.
    ยปยปยปยปยป rowNumber integer(int32) true none The index of this row in the collection.
    ยปยปยป links [link] false none [A link to a related operation or resource.]
    ยปยปยป parameterMap object true none The collection of parameters, categorized by parameter name.
    ยปยปยปยป Parameter object false none Metadata describing a particular variable.
    ยปยปยปยปยป label string false none The display name. May be localized.
    ยปยปยปยปยป length integer(int32) false none The maximum width among this parameter's values.
    ยปยปยปยปยป order integer(int32) false none The index of this parameter in the collection.
    ยปยปยปยปยป parameter string true none The parameter name. Should not be localized.
    ยปยปยปยปยป preformatted boolean false none Indicates whether this parameter's values have already been formatted.
    ยปยปยปยปยป type string true none The data type of this parameter's values.
    ยปยปยปยปยป values [string] true none Keys used to associate this parameter with values in the rows of data.
    ยปยปยป order integer(int32) false none The index in a collection of analytics reports. Useful when analytics reports are stored in an unordered collection but order is desired.
    ยปยปยป type string true none The type of analytics report. Informs clients how this analytics report should be rendered.
    ยปยปยป xInteger boolean false none Whether or not to suppress intermediate tick marks on the X-axis.
    ยปยปยป yInteger boolean false none Whether or not to suppress intermediate tick marks on the Y-axis.
    ยปยปยป version integer(int32) false none This media type's schema version number. This representation is version 1.
    ยปยปยป description string false none A description of this analytics report.
    ยปยปยป revision integer(int64) false none A revision number that is incremented on every update to the analytics report.
    Enumerated Values
    Property Value
    type undefined
    type num
    type char
    type report
    type undefined
    type table
    type barChart
    type refreshableBarChart
    type seriesPlot
    type pieChart
    type histogram
    type decisionTree
    type networkDiagram
    type html
    type textViewer
    type matrix
    type bandPlot
    type codeEditor
    type iciclePlot
    type scatterPlot
    type comboBox

    championModel

    {
      "name": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "publishDestinations": [
        {
          "name": "string",
          "description": "string",
          "destinationType": "cas",
          "destinationTable": "string",
          "casServerName": "string",
          "casLibrary": "string"
        }
      ]
    }
    
    

    Champion Model

    Properties
    Name Type Required Restrictions Description
    name string false none The champion model name.
    links [link] false none The links that apply to this champion model.
    publishDestinations [publishDestination] false none The list of available destinations to publish this champion model.

    publishDestination

    {
      "name": "string",
      "description": "string",
      "destinationType": "cas",
      "destinationTable": "string",
      "casServerName": "string",
      "casLibrary": "string"
    }
    
    

    Publish Destination

    Properties
    Name Type Required Restrictions Description
    name string true none The destination name.
    description string false none The description of the destination.
    destinationType string true none The type of the destination.
    destinationTable string false none The destination table.
    casServerName string false none The CAS server name.
    casLibrary string false none The CAS library.
    Enumerated Values
    Property Value
    destinationType cas
    destinationType microAnalyticService
    destinationType teradata
    destinationType hadoop
    destinationType other

    scoreDataInput

    {
      "scoreType": "Individual",
      "destinationName": "string",
      "inputs": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "inputDataTableUri": "string",
      "scoreOutputCaslibUri": "string",
      "scoreOutputTableName": "string"
    }
    
    

    Score Data Input

    Properties
    Name Type Required Restrictions Description
    scoreType string true none Score type, either 'Individual' or 'Bulk'.
    destinationName string false none Name of the destination where the champion model is published. Required for individual scoring.
    inputs [scoreDataFieldValue] false none Data inputs for individual data scoring. Required for individual scoring.
    inputDataTableUri string false none Input data table URI for bulk data scoring. Required for bulk scoring.
    scoreOutputCaslibUri string false none Output caslib URI where the score output table is stored. Required for bulk scoring.
    scoreOutputTableName string false none Output table name where the score outputs are stored. Required for bulk scoring.
    Enumerated Values
    Property Value
    scoreType Individual
    scoreType Bulk

    scoreDataOutput

    {
      "executionState": "completed",
      "outputs": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "scoreExecution": {
        "id": "string",
        "createdBy": "string",
        "creationTimeStamp": "2019-08-24T14:15:22Z",
        "modifiedBy": "string",
        "modifiedTimeStamp": "2019-08-24T14:15:22Z",
        "scoreExecutionRequest": [
          {
            "name": "My Score Execution Request",
            "scoreDefinitionId": "9f0c13ae-6a27-11e6-8b77-86f30ca893d3",
            "mappedCodeUri": "http://files/files/0c7281d8-063d-49dd-be6b-392e9c9e930c",
            "outputTable": "example-table",
            "hints": {
              "outputLibraryName": "PUBLIC"
            }
          }
        ],
        "state": "pending",
        "outputTable": [
          {
            "tableName": "string",
            "libraryName": "string",
            "serverName": "string"
          }
        ],
        "codeFileUri": "https://example.com",
        "logFileUri": "https://example.com",
        "haveWarnings": true,
        "error": [
          {
            "message": "string",
            "id": "string",
            "errorCode": 0,
            "httpStatusCode": 0,
            "details": [
              "string"
            ],
            "remediation": "string",
            "errors": [
              null
            ],
            "links": [
              {
                "method": "string",
                "rel": "string",
                "uri": "string",
                "href": "string",
                "title": "string",
                "type": "string",
                "itemType": "string",
                "responseType": "string",
                "responseItemType": "string"
              }
            ],
            "version": 0
          }
        ],
        "results": {
          "property1": "string",
          "property2": "string"
        },
        "links": [
          {
            "method": "string",
            "rel": "string",
            "uri": "string",
            "href": "string",
            "title": "string",
            "type": "string",
            "itemType": "string",
            "responseType": "string",
            "responseItemType": "string"
          }
        ],
        "version": 0
      }
    }
    
    

    Score Data Output

    Properties
    Name Type Required Restrictions Description
    executionState string true none Execution state, one of 'completed', 'submitted', or 'timedOut'.
    outputs [scoreDataFieldValue] false none Data outputs for individual data scoring. Populated for individual score request.
    scoreExecution object false none Contains details about execution results. This represents application/vnd.sas.score.execution media type (version 1).
    ยป id string false none The system-assigned unique ID for this object
    ยป createdBy string false none The user who created the score execution.
    ยป creationTimeStamp string(date-time) false none The date and time that the score execution was created.
    ยป modifiedBy string false none The userId of the authenticated user who last updated the score execution.
    ยป modifiedTimeStamp string(date-time) false none The date and time that the score execution was last modified.
    ยป scoreExecutionRequest array true none Contains request details about how to generate score.
    ยปยป Score Execution Request object false none Contains request details about how to generate score. This represents application/vnd.sas.score.execution.request media type (version 1).
    ยปยปยป type string(enumeration) false none Score execution request can be either scoreDefinition or mappedCode. Default value is scoreDefinition.
    ยปยปยป name string true none The descriptive name for the request. Which will be shown when showing executions.
    ยปยปยป description string false none The description of the request.
    ยปยปยป hints object false none Hints used to execute an object for score.
    ยปยปยปยป additionalProperties string false none none
    ยปยปยป jobDefinition array false none Inline Job Definition which is used to score. Either this or jobDefinitionId should be used.
    ยปยปยปยป Job Definition object false none Provides the base summary information of any object. This represents application/vnd.sas.job.definition media type (version 1).
    ยปยปยปยปยป id string(uuid) false none unique id
    ยปยปยปยปยป name string true none name
    ยปยปยปยปยป type string true none type of job - this will determine which execution provider executes this job
    ยปยปยปยปยป code string true none execution specific code to be executed
    ยปยปยปยปยป parameters [any] true none input parameters to be collected when executing this job definition
    ยปยปยปยปยปยป name string false none name of the parameter
    ยปยปยปยปยปยป type string(enumeration) false none type of the parameter (TABLE, NUMERIC, DATE, CHARACTER)
    ยปยปยปยปยปยป label string false none display value for the name of this parameter
    ยปยปยปยปยปยป required boolean false none is this parameter required for execution
    ยปยปยปยปยปยป defaultValue string false none default value of this parameter if one is not specified at execution time
    ยปยปยปยปยป createdBy string false none The user who created this job
    ยปยปยปยปยป modifiedBy string false none The user who modified this job
    ยปยปยปยปยป creationTimeStamp string(date-time) false none The formatted time stamp when the job was created, in yyyy-mm-ddThh:mm:ssZ format
    ยปยปยปยปยป modifiedTimeStamp string(date-time) false none The formatted time stamp when the job was modified, in yyyy-mm-ddThh:mm:ssZ format
    ยปยปยปยปยป links [link] false none zero or more link objects. See the above link relations table for a description of the link types
    ยปยปยปยปยป properties object false none zero or more name, value pairs (map) needed to execute job definition, maximum name length = 100
    ยปยปยปยปยปยป additionalProperties string false none none
    ยปยปยปยปยป version integer false none This media type's schema version number. This representation is version 1.
    ยปยปยป jobDefinitionId string false none Job definition id which is used to score. Either this or the jobDefinition should be used.
    ยปยปยป scoreDefinition array false none Inline score definition. Valid only when type is scoreDefinition. Either this or scoreDefinitionId should be used
    ยปยปยปยป Score Definition object false none A definition containing details about Input Data, Score Object and Mapping. This represents application/vnd.sas.score.definition media type (version 1).
    ยปยปยปยปยป id string false none The system-assigned unique ID for this object
    ยปยปยปยปยป name string true none The score definition name
    ยปยปยปยปยป description string false none The score definition description
    ยปยปยปยปยป createdBy string false none The user who created the score definition.
    ยปยปยปยปยป creationTimeStamp string(date-time) false none The date and time that the score definition was created.
    ยปยปยปยปยป modifiedBy string false none The userId of the authenticated user who last updated the score definition.
    ยปยปยปยปยป modifiedTimeStamp string(date-time) false none The date and time that the score definition was last modified.
    ยปยปยปยปยป preprocessingCode string false none Preprocessing code that is executed before executing the Mapped Code.
    ยปยปยปยปยป objectDescriptor array true none Descriptor of a Score Object whose logic is used to produce score for Input Data.
    ยปยปยปยปยปยป Object Descriptor object false none Descriptor of a Score Object whose logic is used to produce a score for Input Data. This doesn't represent any top-level media type.
    ยปยปยปยปยปยปยป name string false none Name of the Score Object.
    ยปยปยปยปยปยปยป type string false none Type of the Score Object.
    ยปยปยปยปยปยปยป uri string(uri) true none Uri to the Score Object.
    ยปยปยปยปยป inputData array true none Input Data that will be scored.
    ยปยปยปยปยปยป Input Data object false none Input Data that will be scored. This doesn't represent any top-level media type.
    ยปยปยปยปยปยปยป type string(enumeration) true none The type of input data.
    ยปยปยปยปยปยปยป serverName string true none CAS Server name where CAS table is located. Valid only if the type is CASTable.
    ยปยปยปยปยปยปยป libraryName string true none CAS Library name where CAS table is located. Valid only if the type is CASTable.
    ยปยปยปยปยปยปยป tableName string true none Name of the CAS table. Valid only if the type is CASTable.
    ยปยปยปยปยปยปยป code string true none Code containing inline data. Valid only if the type is Inline.
    ยปยปยปยปยปยปยป outputTableName string true none Name of the output table that will be generated when the inline code is executed. Valid only if the type is Inline.
    ยปยปยปยปยป mappings [any] false none Array of mappings between Score Object variables and Input Data columns.
    ยปยปยปยปยปยป Mapping object false none Assigning Input Data column to a variable of the generated Mapped Code of Score Object. This doesn't represent any top-level media type.
    ยปยปยปยปยปยปยป variableName string true none Name of the Score Object's variable.
    ยปยปยปยปยปยปยป mappingType string(enumeration) true none The mapping type.
    ยปยปยปยปยปยปยป mappingValue any false none Value that is assigned to Score Object's variable. If the mappingType is dataSource then this should be column name of the Input Data. If the mappingType is static then this should be a constant value. Required if the mappingType is datasource.

    anyOf

    Name Type Required Restrictions Description
    ยปยปยปยปยปยปยปยป anonymous integer false none none

    or

    Name Type Required Restrictions Description
    ยปยปยปยปยปยปยปยป anonymous string false none none

    continued

    Name Type Required Restrictions Description
    ยปยปยปยปยป properties object false none A set of properties for this score definition.
    ยปยปยปยปยปยป additionalProperties string false none none
    ยปยปยปยปยป links [link] false none Zero or more links to related resources or operations.
    ยปยปยปยปยป version integer false none This media type's schema version number. This representation is version 1.
    ยปยปยป scoreDefinitionId string true none Score definition id which is used to score an object. Valid only when type is scoreDefinition. Either this or the scoreDefinition should be part of the request. Should not use both of them. Only valid when the type is scoreDefinition.
    ยปยปยป overrideScoreDefinition array false none Overrides the details of the existing score definition represented by scoreDefinitionId. Valid only when type is scoreDefinition.
    ยปยปยปยป Override Score Definition object false none Overrides the details of the existing Score definition. This doesn't represent any top-level media type.
    ยปยปยปยปยป preprocessingCode string false none Code which should be executed before executing actual code.
    ยปยปยปยปยป objectDescriptor array false none Descriptor of a Score Object whose logic is used to produce a score for Input Data.
    ยปยปยปยปยป inputData array false none Input Data that will be scored.
    ยปยปยปยปยป mappings [scoreDataOutput/properties/scoreExecution/properties/scoreExecutionRequest/items/properties/scoreDefinition/items/properties/mappings/items] false none Array of mappings between score object variables and input data columns.
    ยปยปยป mappedCode string false none Inline mapped code. Valid only when type is mappedCode. Either this or mappedCodeUri should be used.
    ยปยปยป mappedCodeUri string true none Uri containing mapped code. Valid only when type is mappedCode. Either this or mappedCode should be used.
    ยปยปยป outputTable array true none Table details where the output will be generated after executing the mapped code.
    ยปยปยป version integer false none This media type's schema version number. This representation is version 1.
    ยป state string(enumeration) true none State of the score execution.
    ยป outputTable array false none Details of the output generated by score execution.
    ยปยป Output Table object false none Output generated by score execution or analysis. This doesn't represent any top-level media type.
    ยปยปยป tableName string true none Table name where the score execution or analysis output is saved.
    ยปยปยป libraryName string true none Library where the table is located.
    ยปยปยป serverName string true none Server where the table is located.
    ยป codeFileUri string(uri) false none File uri where the code used to generate score is saved.
    ยป logFileUri string(uri) false none File uri where the log of the score execution is saved.
    ยป haveWarnings boolean false none Set to true when there are warnings inside the log file.
    ยป error array false none Contains error details if the execution is failed.
    ยป results object false none Contains results for the score execution.
    ยปยป additionalProperties string false none none
    ยป links [link] false none Zero or more links to related resources or operations.
    ยป version integer false none This media type's schema version number. This representation is version 1.
    Enumerated Values
    Property Value
    executionState completed
    executionState submitted
    executionState timedOut
    type scoreDefinition
    type mappedCode
    type TABLE
    type NUMERIC
    type DATE
    type CHARACTER
    type CASTable
    type Inline
    mappingType datasource
    mappingType static
    state pending
    state running
    state canceled
    state completed
    state failed
    state timedOut

    scoreDataFieldValue

    {
      "name": "string",
      "value": "string"
    }
    
    

    Score Data Field Name/Value Pair

    Properties
    Name Type Required Restrictions Description
    name string true none Data field name.
    value string true none Data field value.

    settings

    {
      "applyGlobalMetadata": true,
      "autoRun": true,
      "locale": "en",
      "maxModelingTime": 0,
      "modelingMode": "Standard",
      "numberOfModels": 5,
      "consider": [
        "DecisionTree"
      ],
      "exclude": [
        "DecisionTree"
      ],
      "forceInclude": [
        "DecisionTree"
      ],
      "algorithms": [
        {
          "id": "DecisionTree",
          "name": "string",
          "description": "string",
          "behavior": "consider",
          "defaultBehavior": "consider"
        }
      ],
      "subsampleCount": 0,
      "subsamplePercent": 0,
      "subsampleSeed": 0
    }
    
    

    Automation Project Settings

    Properties
    Name Type Required Restrictions Description
    applyGlobalMetadata boolean false none Whether to apply global metadata
    autoRun boolean false none Determines whether the automatically generated pipeline is run and a champion model is calculated.
    locale string false none The locale to use for translating content
    maxModelingTime number(double) false none The maximum time (in minutes) to use for modeling. Input is valid in increments of 0.1. Use 0 for unbounded.
    modelingMode string false none The modeling strategy that the automation project uses to select a champion model.
    numberOfModels integer false none The number of models to build and compare in the automation project.
    consider [algorithmId] false none Supervised Learning Algorithms to consider during pipeline generation. When 'consider' is used, 'algorithms' cannot be set. Algorithms specified in 'consider' cannot be specified in 'exclude' or 'forceInclude'.
    exclude [algorithmId] false none Supervised Learning Algorithms to consider during pipeline generation. When 'exclude' is used, 'algorithms' cannot be set. Algorithms specified in 'exclude' cannot be specified in 'consider' or 'forceInclude'.
    forceInclude [algorithmId] false none Supervised Learning Algorithms to consider during pipeline generation. When 'forceInclude' is used, 'algorithms' cannot be set. Algorithms specified in 'forceInclude' cannot be specified in 'consider' or 'exclude'.
    algorithms [algorithm] false none List of Supervised Learning Algorithms to inform pipeline generation. When 'algorithms' is used, neither 'consider', 'exclude', nor 'forceInclude' can be set.
    subsampleCount integer false none The number of training observations to sample for pipeline generation. When subsampleCount is used,subsamplePercent cannot be set.
    subsamplePercent integer false none The percent of training observations to sample for pipeline generation. When subsamplePercent is used, subsampleCount cannot be set.
    subsampleSeed integer false none The seed to use when subsampling training data during pipeline generation. When set to 0 the system clock is used for the seed. When subsampleSeed is used, either subsampleCount or subsamplePercent must be set.
    Enumerated Values
    Property Value
    modelingMode Enhanced
    modelingMode Standard

    mlPipelineTemplateCollection

    {
      "name": "string",
      "start": 0,
      "limit": 0,
      "count": 0,
      "accept": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0,
      "items": [
        {
          "id": "string",
          "name": "string",
          "description": "string",
          "links": [
            {
              "method": "string",
              "rel": "string",
              "uri": "string",
              "href": "string",
              "title": "string",
              "type": "string",
              "itemType": "string",
              "responseType": "string",
              "responseItemType": "string"
            }
          ]
        }
      ]
    }
    
    

    Machine Learning Pipeline Template Collection

    Properties
    Name Type Required Restrictions Description
    Machine Learning Pipeline Template Collection any false none This object contains a list of machine learning pipeline templates.

    allOf

    Name Type Required Restrictions Description
    anonymous algorithmCollection/allOf/0 false none This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2)

    and

    Name Type Required Restrictions Description
    anonymous object false none none
    ยป items [mlPipelineTemplate] true none The list of machine learning pipeline template objects.

    mlPipelineTemplate

    {
      "id": "string",
      "name": "string",
      "description": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    

    Machine Learning Pipeline Template

    Properties
    Name Type Required Restrictions Description
    id string true none The ID of the template.
    name string true none The template name.
    description string false none The description of the template.
    links [link] true none The links that apply to this pipeline template.

    Examples

    Github Examples

    Detailed examples on how to use this API can be found on Github.

    Media Type Samples

    Table of Contents generated with DocToc

    application/vnd.sas.analytics.ml.pipeline.automation.project

    Automation Project.

    See Automation Project.

    vnd.sas.analytics.ml.pipeline.automation.project example:

    
     {
        "links": [
            {
                "method": "GET",
                "rel": "up",
                "href": "/mlPipelineAutomation/projects",
                "uri": "/mlPipelineAutomation/projects",
                "type": "application/vnd.sas.collection+json",
                "itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
                "method": "GET",
                "rel": "self",
                "href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
                "uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
                "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
                "method": "PUT",
                "rel": "update",
                "href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
                "uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
                "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
            },
            {
                "method": "DELETE",
                "rel": "delete",
                "href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
                "uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992"
            },
            {
                "method": "DELETE",
                "rel": "propagateDelete",
                "href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992?propagate=true",
                "uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992?propagate=true"
            },
            {
                "method": "GET",
                "rel": "state",
                "href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992/state",
                "uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992/state",
                "type": "text/plain"
            },
            {
                "method": "PUT",
                "rel": "updateState",
                "href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992/state?value={value}",
                "uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992/state?value={value}",
                "responseType": "text/plain"
            }
        ],
        "id": "981738b3-10b4-48ce-8911-17b1132b7992",
        "name": "Test Project Creation (By MLPA BnHTH)",
        "description": "",
        "revision": 0,
        "version": 1,
        "dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/APITESTHMEQ",
        "type": "predictive",
        "state": "waiting",
        "pipelineBuildMethod": "automatic",
        "settings": {
            "applyGlobalMetadata": "false",
            "autoRun": "true",
            "numberOfModels": 3
        },
        "analyticsProjectAttributes": {
            "analyticsProjectId": "dd60080b-53b8-4fc7-8b65-584f0cd3aa3a",
            "targetVariable": "BAD",
            "targetEventLevel": "1",
            "partitionEnabled": "true",
            "classSelectionStatistic": "lift"
        }
    }
    
    ### application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model

    Champion Model.

    See Champion Model Report.

    vnd.sas.analytics.ml.pipeline.automation.project.champion.model example:

    
     {
      "name": "Gradient Boosting",
      "links": [
        {
            "method": "GET",
            "rel": "up",
            "href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b",
            "uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
        },
        {
            "method": "GET",
            "rel": "self",
            "href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel",
            "uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
        },
        {
            "method": "GET",
            "rel": "championModelReports",
            "href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel/reports",
            "uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel/reports",
            "type": "application/vnd.sas.collection"
        },
        {
            "method": "PUT",
            "rel": "registerChampionModel",
            "href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel?action=register",
            "uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel?action=register"
        },
        {
            "method": "PUT",
            "rel": "publishChampionModel",
            "href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel?action=publish",
            "uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel?action=publish"
        },
        {
            "method": "POST",
            "rel": "scoreData",
            "href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel/scoreData",
            "uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel/scoreData",
            "type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
            "responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
        }
      ],
      "publishDestinations": [
        {
          "name": "maslocal",
          "description": "The default publishing destination for the Micro Analytic Score service.",
          "destinationType": "microAnalyticService"
        }
      ]
    }
    
    application/vnd.sas.analytics.ml.pipeline.automation.score.data.input

    Score Data Input.

    See Score Data Input.

    vnd.sas.analytics.ml.pipeline.automation.score.data.input example:

    
     {
        "scoreType": "Individual",
        "destinationName": "maslocal",
        "inputs": [
            {
                "name" : "CLAGE",
                "value" : 300
            },
            {
                "name" : "CLNO",
                "value" : 21
            },
            {
                "name" : "DEBTINC",
                "value" : 24.5
            },
            {
                "name" : "DELINQ",
                "value" : 0
            },
            {
                "name" : "DEROG",
                "value" : 1
            },
            {
                "name" : "JOB",
                "value" : "Other"
            },
            {
                "name" : "LOAN",
                "value" : 21500
            },
            {
                "name" : "MORTDUE",
                "value" : 7806
            },
            {
                "name" : "NINQ",
                "value" : 4
            },
            {
                "name" : "VALUE",
                "value" : 95678
            },
            {
                "name" : "YOJ",
                "value" : 4
            }
        ]
    }
    

    vnd.sas.analytics.ml.pipeline.automation.score.data.input example:

    
     {
        "scoreType": "Bulk",
        "inputDataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/MyData",
        "scoreOutputCaslibUri": "/dataSources/providers/cas/sources/cas-shared-default~fs~Public",
        "scoreOutputTableName": "ScoreOutputs"
    }
    
    application/vnd.sas.analytics.ml.pipeline.automation.score.data.input

    Score Data Output.

    See Score Data Output.

    vnd.sas.analytics.ml.pipeline.automation.score.data.output example:

    
     {
        "executionState": "completed",
        "outputs": [
        {
            "name": "EM_CLASSIFICATION",
            "value": "0 "
        },
        {
           "name": "EM_EVENTPROBABILITY",
           "value": 0.023816315812213534
        },
        {
            "name": "EM_PROBABILITY",
            "value": 0.9761836841877864
        },
        {
            "name": "INVSQR_LOAN",
            "value": 2.1633315258770545E-9
        },
        {
            "name": "INVSQR_MORTDUE",
            "value": 1.6411296768646846E-8
        },
        {
            "name": "INVSQR_VALUE",
            "value": 1.092385238828324E-10
        },
        {
            "name": "I_BAD",
            "value": "0"
        },
        {
            "name": "P_BAD0",
            "value": 0.9761836841877864
        },
        {
            "name": "P_BAD1",
            "value": 0.023816315812213534
        },
        {
            "name": "SQRT_CLAGE",
            "value": 17.349351572897472
        },
        {
            "name": "SQRT_CLNO",
            "value": 4.69041575982343
        },
        {
            "name": "SQRT_YOJ",
            "value": 2.23606797749979
        },
        {
            "name": "TARGENC_DELINQ",
            "value": 0.13722334
        },
        {
            "name": "TARGENC_DEROG",
            "value": 0.3696498054
        },
        {
            "name": "TARGENC_JOB",
            "value": 0.1994966443
        },
        {
            "name": "TARGENC_NINQ",
            "value": 0.3829787234
        }
      ]
    }
    

    vnd.sas.analytics.ml.pipeline.automation.score.data.output example:

    
     {
        "executionState": "submitted",
        "scoreExecution": {
            "id": "94477739-0120-4b09-b747-3c89bec5e859",
            "scoreExecutionRequest": {
                "type": "mappedCode",
                "name": "The Scoring operation for Data Mining model \"Gradient Boosting\".",
                "hints": {
                    "_contextName": "Data Mining compute context"
                },
                "jobDefinitionId": "a6f657bb-dcbc-4116-a40a-d8a8f8c66375",
                "mappedCodeUri": "/files/files/f2eccfda-265a-4a8b-b331-6ca6d28e7b9c",
                "outputTable": {
                    "tableName": "ScoreOutputs",
                    "libraryName": "Public",
                    "serverName": "cas-shared-default"
                },
                "type": "mappedCode",
                "version": 1
            },
            "state": "running",
            "outputTable": {
                "tableName": "ScoreOutputs",
                "libraryName": "Public",
                "serverName": "cas-shared-default"
            },
            "codeFileUri": "/files/files/f2eccfda-265a-4a8b-b331-6ca6d28e7b9c",
            "results": {
                "jobId": "556f00a3-5eb1-47cf-94f7-008426151421"
            }
        }
    }
    
    application/vnd.sas.analytics.machine.learning.algorithm

    Machine Learning Algorithm

    See Machine Learning Algorithm.

    vnd.sas.analytics.machine.learning.algorithm example:

    
     {
        "id": "GAM",
        "name": "GAM",
        "description": "GAM is only supported for projects with binary or interval target types",
        "behavior": "consider",
        "defaultBehavior": "consider"
      }
    

    Table of Contents generated with DocToc

    Root

    Path: /

    The root of the API. This resource contains links to the top-level resources in the API. The response uses the application/vnd.sas.api media type.

    Relation Method Description
    collection GET Returns the first page of the automation project collection.
    URI: /projects
    Response type: application/vnd.sas.collection
    createProject POST Creates a new automation project.
    URI: /projects
    Request type: application/vnd.sas.analytics.ml.pipeline.automation.project
    Response type: application/vnd.sas.analytics.ml.pipeline.automation.project
    algorithms GET Returns all supervised learning algorithms.
    URI: /algorithms
    Response type: application/vnd.sas.analytics.machine.learning.algorithm
    #### Projects

    Path: /projects

    A collection of automation projects.

    Relation Method Description
    createProject POST Creates a new automation project.
    URI: /projects
    Request type: application/vnd.sas.analytics.ml.pipeline.automation.project
    Response type: application/vnd.sas.analytics.ml.pipeline.automation.project
    self GET Link to self.
    URI: /projects?start=0&limit=10
    Response type: application/vnd.sas.collection
    Project

    Path: /projects/{projectId}

    An automation project.

    Relation Method Description
    up GET Returns the first page of the automation project collection.
    URI: /projects
    Response type: application/vnd.sas.collection
    self GET Link to self.
    URI: /projects/{projectId}
    Response type: application/vnd.sas.analytics.ml.pipeline.automation.project
    update PUT Updates the automation project.
    URI: /projects/{projectId}
    Request type: application/vnd.sas.analytics.ml.pipeline.automation.project
    Response type: application/vnd.sas.analytics.ml.pipeline.automation.project
    retrainProject PUT Retrains the automation project.
    URI: /projects/{projectId}?action=retrainProject
    Request type: application/vnd.sas.analytics.ml.pipeline.automation.project
    Response type: application/vnd.sas.analytics.ml.pipeline.automation.project
    retrainProjectReplacePipelines PUT Retrains the automation project, replacing existing automatically generated pipelines.
    URI: /projects/{projectId}?action=retrainProject&replacePreviousPipelines=true
    Request type: application/vnd.sas.analytics.ml.pipeline.automation.project
    Response type: application/vnd.sas.analytics.ml.pipeline.automation.project
    delete DELETE Deletes the automation project, with the option to delete the underlying analytics project.
    URI: /projects/{projectId}
    propagateDelete DELETE Deletes both the automation project and the underlying analytics project.
    URI: /projects/{projectId}?propagate=true
    state GET Returns the current state of the automation project.
    URI: /projects/{projectId}/state
    Response type: text/plain
    updateState PUT Updates the state of the automation project.
    URI: /projects/{projectId}/state?value={state}
    Response type: text/plain
    quiesceProjectModeling PUT Quiesces modeling of the automation project.
    URI: /projects/{projectId}/state?value=quiescing
    Response type: text/plain
    Project State

    Path: /projects/{projectId}/state

    The state of an automation project.

    ### Champion Model

    Path: /projects/{projectId}/championModel

    The champion model of a successfully completed automation project.

    Relation Method Description
    championModel GET Returns the champion model report of the successfully completed automation project.
    URI: /projects/{projectId}/championModel
    Response type: application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model.report
    registerChampionModel PUT Registers the champion model to SAS Model Manager.
    URI: /projects/{projectId}/championModel?action=register
    publishChampionModel PUT Publishes the champion model to supported destinations.
    URI: /projects/{projectId}/championModel?action=publish&destinationName={destinationName}
    scoreData POST Scores data input with the champion model.
    URI: /projects/{projectId}/championModel/scoreData
    Request type: application/vnd.sas.analytics.ml.pipeline.automation.score.data.input
    Response type: application/vnd.sas.analytics.ml.pipeline.automation.score.data.output
    ### Algorithms

    Path: /algorithms

    The default settings for all supervised learning algorithms.

    Relation Method Description
    up GET Retrives the root of the API, which contains links to the top-level resources in the API.
    URI: /
    Response type: application/vnd.sas.api
    self GET Returns all supervised learning algorithms.
    URI: /algorithms
    Response type: application/vnd.sas.analytics.machine.learning.algorithm