Amazon SageMaker Feature Store Runtime icon

Amazon SageMaker Feature Store Runtime

<p>Contains all data plane API operations and data types for the Amazon SageMaker Feature Store

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2020-07-01",
    "x-release": "v4",
    "title": "Amazon SageMaker Feature Store Runtime",
    "description": "<p>Contains all data plane API operations and data types for the Amazon SageMaker Feature Store. Use this API to put, delete, and retrieve (get) features from a feature store.</p> <p>Use the following operations to configure your <code>OnlineStore</code> and <code>OfflineStore</code> features, and to create and manage feature groups:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFeatureGroup.html\">CreateFeatureGroup</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFeatureGroup.html\">DeleteFeatureGroup</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html\">DescribeFeatureGroup</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFeatureGroups.html\">ListFeatureGroups</a> </p> </li> </ul>",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "sagemaker-featurestore-runtime",
    "x-aws-signingName": "sagemaker",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/sagemaker-featurestore-runtime-2020-07-01.normal.json",
        "converter": {
          "url": "https://github.com/mermade/aws2openapi",
          "version": "1.0.0"
        },
        "x-apisguru-driver": "external"
      }
    ],
    "x-apiClientRegistration": {
      "url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
    },
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-preferred": true
  },
  "externalDocs": {
    "description": "Amazon Web Services documentation",
    "url": "https://docs.aws.amazon.com/sagemaker/"
  },
  "servers": [
    {
      "url": "http://featurestore-runtime.sagemaker.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The Amazon SageMaker Feature Store Runtime multi-region endpoint"
    },
    {
      "url": "https://featurestore-runtime.sagemaker.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The Amazon SageMaker Feature Store Runtime multi-region endpoint"
    },
    {
      "url": "http://featurestore-runtime.sagemaker.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The Amazon SageMaker Feature Store Runtime endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://featurestore-runtime.sagemaker.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The Amazon SageMaker Feature Store Runtime endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "x-hasEquivalentPaths": true,
  "paths": {
    "/BatchGetRecord": {
      "post": {
        "operationId": "BatchGetRecord",
        "description": "Retrieves a batch of <code>Records</code> from a <code>FeatureGroup</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchGetRecordResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationError"
                }
              }
            }
          },
          "481": {
            "description": "InternalFailure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailure"
                }
              }
            }
          },
          "482": {
            "description": "ServiceUnavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailable"
                }
              }
            }
          },
          "483": {
            "description": "AccessForbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessForbidden"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "Identifiers"
                ],
                "properties": {
                  "Identifiers": {
                    "description": "A list of <code>FeatureGroup</code> names, with their corresponding <code>RecordIdentifier</code> value, and Feature name that have been requested to be retrieved in batch.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/BatchGetRecordIdentifier"
                    },
                    "minItems": 1,
                    "maxItems": 10
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/FeatureGroup/{FeatureGroupName}#RecordIdentifierValueAsString&EventTime": {
      "delete": {
        "operationId": "DeleteRecord",
        "description": "<p>Deletes a <code>Record</code> from a <code>FeatureGroup</code> in the <code>OnlineStore</code>. Feature Store supports both <code>SOFT_DELETE</code> and <code>HARD_DELETE</code>. For <code>SOFT_DELETE</code> (default), feature columns are set to <code>null</code> and the record is no longer retrievable by <code>GetRecord</code> or <code>BatchGetRecord</code>. For<code> HARD_DELETE</code>, the complete <code>Record</code> is removed from the <code>OnlineStore</code>. In both cases, Feature Store appends the deleted record marker to the <code>OfflineStore</code> with feature values set to <code>null</code>, <code>is_deleted</code> value set to <code>True</code>, and <code>EventTime</code> set to the delete input <code>EventTime</code>.</p> <p>Note that the <code>EventTime</code> specified in <code>DeleteRecord</code> should be set later than the <code>EventTime</code> of the existing record in the <code>OnlineStore</code> for that <code>RecordIdentifer</code>. If it is not, the deletion does not occur:</p> <ul> <li> <p>For <code>SOFT_DELETE</code>, the existing (undeleted) record remains in the <code>OnlineStore</code>, though the delete record marker is still written to the <code>OfflineStore</code>.</p> </li> <li> <p> <code>HARD_DELETE</code> returns <code>EventTime</code>: <code>400 ValidationException</code> to indicate that the delete operation failed. No delete record marker is written to the <code>OfflineStore</code>.</p> </li> </ul>",
        "responses": {
          "200": {
            "description": "Success"
          },
          "480": {
            "description": "ValidationError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationError"
                }
              }
            }
          },
          "481": {
            "description": "InternalFailure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailure"
                }
              }
            }
          },
          "482": {
            "description": "ServiceUnavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailable"
                }
              }
            }
          },
          "483": {
            "description": "AccessForbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessForbidden"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "FeatureGroupName",
            "in": "path",
            "required": true,
            "description": "The name of the feature group to delete the record from. ",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}",
              "minLength": 1,
              "maxLength": 64
            }
          },
          {
            "name": "RecordIdentifierValueAsString",
            "in": "query",
            "required": true,
            "description": "The value for the <code>RecordIdentifier</code> that uniquely identifies the record, in string format. ",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "maxLength": 358400
            }
          },
          {
            "name": "EventTime",
            "in": "query",
            "required": true,
            "description": "Timestamp indicating when the deletion event occurred. <code>EventTime</code> can be used to query data at a certain point in time.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "maxLength": 358400
            }
          },
          {
            "name": "TargetStores",
            "in": "query",
            "required": false,
            "description": "A list of stores from which you're deleting the record. By default, Feature Store deletes the record from all of the stores that you're using for the <code>FeatureGroup</code>.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TargetStore"
              },
              "minItems": 1,
              "maxItems": 2
            }
          },
          {
            "name": "DeletionMode",
            "in": "query",
            "required": false,
            "description": "The name of the deletion mode for deleting the record. By default, the deletion mode is set to <code>SoftDelete</code>.",
            "schema": {
              "type": "string",
              "enum": [
                "SoftDelete",
                "HardDelete"
              ]
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/FeatureGroup/{FeatureGroupName}#RecordIdentifierValueAsString": {
      "get": {
        "operationId": "GetRecord",
        "description": "Use for <code>OnlineStore</code> serving from a <code>FeatureStore</code>. Only the latest records stored in the <code>OnlineStore</code> can be retrieved. If no Record with <code>RecordIdentifierValue</code> is found, then an empty result is returned. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRecordResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationError"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFound"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailure"
                }
              }
            }
          },
          "483": {
            "description": "ServiceUnavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailable"
                }
              }
            }
          },
          "484": {
            "description": "AccessForbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessForbidden"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "FeatureGroupName",
            "in": "path",
            "required": true,
            "description": "The name of the feature group from which you want to retrieve a record.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}",
              "minLength": 1,
              "maxLength": 64
            }
          },
          {
            "name": "RecordIdentifierValueAsString",
            "in": "query",
            "required": true,
            "description": "The value that corresponds to <code>RecordIdentifier</code> type and uniquely identifies the record in the <code>FeatureGroup</code>. ",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "maxLength": 358400
            }
          },
          {
            "name": "FeatureName",
            "in": "query",
            "required": false,
            "description": "List of names of Features to be retrieved. If not specified, the latest value for all the Features are returned.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/FeatureName"
              },
              "minItems": 1
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/FeatureGroup/{FeatureGroupName}": {
      "put": {
        "operationId": "PutRecord",
        "description": "Used for data ingestion into the <code>FeatureStore</code>. The <code>PutRecord</code> API writes to both the <code>OnlineStore</code> and <code>OfflineStore</code>. If the record is the latest record for the <code>recordIdentifier</code>, the record is written to both the <code>OnlineStore</code> and <code>OfflineStore</code>. If the record is a historic record, it is written only to the <code>OfflineStore</code>.",
        "responses": {
          "200": {
            "description": "Success"
          },
          "480": {
            "description": "ValidationError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationError"
                }
              }
            }
          },
          "481": {
            "description": "InternalFailure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailure"
                }
              }
            }
          },
          "482": {
            "description": "ServiceUnavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailable"
                }
              }
            }
          },
          "483": {
            "description": "AccessForbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessForbidden"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "FeatureGroupName",
            "in": "path",
            "required": true,
            "description": "The name of the feature group that you want to insert the record into.",
            "schema": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}",
              "minLength": 1,
              "maxLength": 64
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "Record"
                ],
                "properties": {
                  "Record": {
                    "description": "<p>List of FeatureValues to be inserted. This will be a full over-write. If you only want to update few of the feature values, do the following:</p> <ul> <li> <p>Use <code>GetRecord</code> to retrieve the latest record.</p> </li> <li> <p>Update the record returned from <code>GetRecord</code>. </p> </li> <li> <p>Use <code>PutRecord</code> to update feature values.</p> </li> </ul>",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/FeatureValue"
                    },
                    "minItems": 1
                  },
                  "TargetStores": {
                    "description": "A list of stores to which you're adding the record. By default, Feature Store adds the record to all of the stores that you're using for the <code>FeatureGroup</code>.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/TargetStore"
                    },
                    "minItems": 1,
                    "maxItems": 2
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "X-Amz-Content-Sha256": {
        "name": "X-Amz-Content-Sha256",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Date": {
        "name": "X-Amz-Date",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Algorithm": {
        "name": "X-Amz-Algorithm",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Credential": {
        "name": "X-Amz-Credential",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Security-Token": {
        "name": "X-Amz-Security-Token",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Signature": {
        "name": "X-Amz-Signature",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-SignedHeaders": {
        "name": "X-Amz-SignedHeaders",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      }
    },
    "securitySchemes": {
      "hmac": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Amazon Signature authorization v4",
        "x-amazon-apigateway-authtype": "awsSigv4"
      }
    },
    "schemas": {
      "BatchGetRecordResponse": {
        "type": "object",
        "required": [
          "Records",
          "Errors",
          "UnprocessedIdentifiers"
        ],
        "properties": {
          "Records": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BatchGetRecordResultDetails"
              },
              {
                "description": "A list of Records you requested to be retrieved in batch."
              }
            ]
          },
          "Errors": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BatchGetRecordErrors"
              },
              {
                "description": "A list of errors that have occurred when retrieving a batch of Records."
              }
            ]
          },
          "UnprocessedIdentifiers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UnprocessedIdentifiers"
              },
              {
                "description": "A unprocessed list of <code>FeatureGroup</code> names, with their corresponding <code>RecordIdentifier</code> value, and Feature name."
              }
            ]
          }
        }
      },
      "BatchGetRecordIdentifier": {
        "type": "object",
        "required": [
          "FeatureGroupName",
          "RecordIdentifiersValueAsString"
        ],
        "properties": {
          "FeatureGroupName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FeatureGroupName"
              },
              {
                "description": "A <code>FeatureGroupName</code> containing Records you are retrieving in a batch."
              }
            ]
          },
          "RecordIdentifiersValueAsString": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordIdentifiers"
              },
              {
                "description": "The value for a list of record identifiers in string format."
              }
            ]
          },
          "FeatureNames": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FeatureNames"
              },
              {
                "description": "List of names of Features to be retrieved. If not specified, the latest value for all the Features are returned."
              }
            ]
          }
        },
        "description": "The identifier that identifies the batch of Records you are retrieving in a batch."
      },
      "ValidationError": {},
      "InternalFailure": {},
      "ServiceUnavailable": {},
      "AccessForbidden": {},
      "TargetStore": {
        "type": "string",
        "enum": [
          "OnlineStore",
          "OfflineStore"
        ]
      },
      "GetRecordResponse": {
        "type": "object",
        "properties": {
          "Record": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Record"
              },
              {
                "description": "The record you requested. A list of <code>FeatureValues</code>."
              }
            ]
          }
        }
      },
      "FeatureName": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}",
        "minLength": 1,
        "maxLength": 64
      },
      "ResourceNotFound": {},
      "FeatureValue": {
        "type": "object",
        "required": [
          "FeatureName",
          "ValueAsString"
        ],
        "properties": {
          "FeatureName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FeatureName"
              },
              {
                "description": "The name of a feature that a feature value corresponds to."
              }
            ]
          },
          "ValueAsString": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValueAsString"
              },
              {
                "description": "The value associated with a feature, in string format. Note that features types can be String, Integral, or Fractional. This value represents all three types as a string."
              }
            ]
          }
        },
        "description": "The value associated with a feature."
      },
      "ValueAsString": {
        "type": "string",
        "pattern": ".*",
        "maxLength": 358400
      },
      "Message": {
        "type": "string",
        "maxLength": 2048
      },
      "BatchGetRecordError": {
        "type": "object",
        "required": [
          "FeatureGroupName",
          "RecordIdentifierValueAsString",
          "ErrorCode",
          "ErrorMessage"
        ],
        "properties": {
          "FeatureGroupName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValueAsString"
              },
              {
                "description": "The name of the feature group that the record belongs to."
              }
            ]
          },
          "RecordIdentifierValueAsString": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValueAsString"
              },
              {
                "description": "The value for the <code>RecordIdentifier</code> in string format of a Record from a <code>FeatureGroup</code> that is causing an error when attempting to be retrieved."
              }
            ]
          },
          "ErrorCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValueAsString"
              },
              {
                "description": "The error code of an error that has occurred when attempting to retrieve a batch of Records. For more information on errors, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html#API_feature_store_GetRecord_Errors\">Errors</a>."
              }
            ]
          },
          "ErrorMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Message"
              },
              {
                "description": "The error message of an error that has occurred when attempting to retrieve a record in the batch."
              }
            ]
          }
        },
        "description": "The error that has occurred when attempting to retrieve a batch of Records."
      },
      "BatchGetRecordErrors": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BatchGetRecordError"
        },
        "minItems": 0
      },
      "FeatureGroupName": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}",
        "minLength": 1,
        "maxLength": 64
      },
      "RecordIdentifiers": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ValueAsString"
        },
        "minItems": 1,
        "maxItems": 100
      },
      "FeatureNames": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FeatureName"
        },
        "minItems": 1
      },
      "BatchGetRecordIdentifiers": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BatchGetRecordIdentifier"
        },
        "minItems": 1,
        "maxItems": 10
      },
      "BatchGetRecordRequest": {
        "type": "object",
        "required": [
          "Identifiers"
        ],
        "title": "BatchGetRecordRequest",
        "properties": {
          "Identifiers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BatchGetRecordIdentifiers"
              },
              {
                "description": "A list of <code>FeatureGroup</code> names, with their corresponding <code>RecordIdentifier</code> value, and Feature name that have been requested to be retrieved in batch."
              }
            ]
          }
        }
      },
      "BatchGetRecordResultDetails": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BatchGetRecordResultDetail"
        },
        "minItems": 0
      },
      "UnprocessedIdentifiers": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BatchGetRecordIdentifier"
        },
        "minItems": 0
      },
      "Record": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FeatureValue"
        },
        "minItems": 1
      },
      "BatchGetRecordResultDetail": {
        "type": "object",
        "required": [
          "FeatureGroupName",
          "RecordIdentifierValueAsString",
          "Record"
        ],
        "properties": {
          "FeatureGroupName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValueAsString"
              },
              {
                "description": "The <code>FeatureGroupName</code> containing Records you retrieved in a batch."
              }
            ]
          },
          "RecordIdentifierValueAsString": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValueAsString"
              },
              {
                "description": "The value of the record identifier in string format."
              }
            ]
          },
          "Record": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Record"
              },
              {
                "description": "The <code>Record</code> retrieved."
              }
            ]
          }
        },
        "description": "The output of Records that have been retrieved in a batch."
      },
      "TargetStores": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TargetStore"
        },
        "minItems": 1,
        "maxItems": 2
      },
      "DeletionMode": {
        "type": "string",
        "enum": [
          "SoftDelete",
          "HardDelete"
        ]
      },
      "DeleteRecordRequest": {
        "type": "object",
        "title": "DeleteRecordRequest",
        "properties": {}
      },
      "GetRecordRequest": {
        "type": "object",
        "title": "GetRecordRequest",
        "properties": {}
      },
      "PutRecordRequest": {
        "type": "object",
        "required": [
          "Record"
        ],
        "title": "PutRecordRequest",
        "properties": {
          "Record": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Record"
              },
              {
                "description": "<p>List of FeatureValues to be inserted. This will be a full over-write. If you only want to update few of the feature values, do the following:</p> <ul> <li> <p>Use <code>GetRecord</code> to retrieve the latest record.</p> </li> <li> <p>Update the record returned from <code>GetRecord</code>. </p> </li> <li> <p>Use <code>PutRecord</code> to update feature values.</p> </li> </ul>"
              }
            ]
          },
          "TargetStores": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetStores"
              },
              {
                "description": "A list of stores to which you're adding the record. By default, Feature Store adds the record to all of the stores that you're using for the <code>FeatureGroup</code>."
              }
            ]
          }
        }
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}