

# Amazon Neptune Data API Reference
<a name="data-api"></a>

This chapter documents the Neptune data API operations that you can use to load, access, and maintain the data in your Neptune graph.

The Neptune data API provides SDK support for loading data, running queries, getting information about your data, and running machine-learning operations. It supports the Gremlin and openCypher query languages in Neptune, and is available in all SDK languages. It automatically signs API requests and greatly simplifies integrating Neptune into applications.

**Contents**
+ [

# Neptune dataplane engine, fast reset, and general structure APIs
](data-api-dp-environment-APIs.md)
  + [

## GetEngineStatus (action)
](data-api-dp-environment-APIs.md#GetEngineStatus)
  + [

## ExecuteFastReset (action)
](data-api-dp-environment-APIs.md#ExecuteFastReset)
  + [

## *Engine operation structures:*
](data-api-dp-environment-APIs.md#data-api-dp-environment-APIs-engine-operation-structures-spacer)
  + [

## QueryLanguageVersion (structure)
](data-api-dp-environment-APIs.md#QueryLanguageVersion)
  + [

## FastResetToken (structure)
](data-api-dp-environment-APIs.md#FastResetToken)
+ [

# Neptune Query APIs
](data-api-dp-queries.md)
  + [

## ExecuteGremlinQuery (action)
](data-api-dp-queries.md#ExecuteGremlinQuery)
  + [

## ExecuteGremlinExplainQuery (action)
](data-api-dp-queries.md#ExecuteGremlinExplainQuery)
  + [

## ExecuteGremlinProfileQuery (action)
](data-api-dp-queries.md#ExecuteGremlinProfileQuery)
  + [

## ListGremlinQueries (action)
](data-api-dp-queries.md#ListGremlinQueries)
  + [

## GetGremlinQueryStatus (action)
](data-api-dp-queries.md#GetGremlinQueryStatus)
  + [

## CancelGremlinQuery (action)
](data-api-dp-queries.md#CancelGremlinQuery)
  + [

## *openCypher query actions:*
](data-api-dp-queries.md#data-api-dp-queries-opencypher-query-actions-spacer)
  + [

## ExecuteOpenCypherQuery (action)
](data-api-dp-queries.md#ExecuteOpenCypherQuery)
  + [

## ExecuteOpenCypherExplainQuery (action)
](data-api-dp-queries.md#ExecuteOpenCypherExplainQuery)
  + [

## ListOpenCypherQueries (action)
](data-api-dp-queries.md#ListOpenCypherQueries)
  + [

## GetOpenCypherQueryStatus (action)
](data-api-dp-queries.md#GetOpenCypherQueryStatus)
  + [

## CancelOpenCypherQuery (action)
](data-api-dp-queries.md#CancelOpenCypherQuery)
  + [

## *Query structures:*
](data-api-dp-queries.md#data-api-dp-queries-query-structures-spacer)
  + [

## QueryEvalStats (structure)
](data-api-dp-queries.md#QueryEvalStats)
  + [

## GremlinQueryStatus (structure)
](data-api-dp-queries.md#GremlinQueryStatus)
  + [

## GremlinQueryStatusAttributes (structure)
](data-api-dp-queries.md#GremlinQueryStatusAttributes)
+ [

# Neptune data plane bulk loader APIs
](data-api-dp-loader.md)
  + [

## StartLoaderJob (action)
](data-api-dp-loader.md#StartLoaderJob)
  + [

## GetLoaderJobStatus (action)
](data-api-dp-loader.md#GetLoaderJobStatus)
  + [

## ListLoaderJobs (action)
](data-api-dp-loader.md#ListLoaderJobs)
  + [

## CancelLoaderJob (action)
](data-api-dp-loader.md#CancelLoaderJob)
  + [

## *Bulk load structure:*
](data-api-dp-loader.md#data-api-dp-loader-bulk-load-structure-spacer)
  + [

## LoaderIdResult (structure)
](data-api-dp-loader.md#LoaderIdResult)
+ [

# Neptune streams dataplane API
](data-api-dp-streams.md)
  + [

## GetPropertygraphStream (action)
](data-api-dp-streams.md#GetPropertygraphStream)
  + [

## *Stream data structures:*
](data-api-dp-streams.md#data-api-dp-streams-stream-data-structures-spacer)
  + [

## PropertygraphRecord (structure)
](data-api-dp-streams.md#PropertygraphRecord)
  + [

## PropertygraphData (structure)
](data-api-dp-streams.md#PropertygraphData)
+ [

# Neptune dataplane statistics and graph summary APIs
](data-api-dp-statistics.md)
  + [

## GetPropertygraphStatistics (action)
](data-api-dp-statistics.md#GetPropertygraphStatistics)
  + [

## ManagePropertygraphStatistics (action)
](data-api-dp-statistics.md#ManagePropertygraphStatistics)
  + [

## DeletePropertygraphStatistics (action)
](data-api-dp-statistics.md#DeletePropertygraphStatistics)
  + [

## GetPropertygraphSummary (action)
](data-api-dp-statistics.md#GetPropertygraphSummary)
  + [

## *Statistics structures:*
](data-api-dp-statistics.md#data-api-dp-statistics-statistics-structures-spacer)
  + [

## Statistics (structure)
](data-api-dp-statistics.md#Statistics)
  + [

## StatisticsSummary (structure)
](data-api-dp-statistics.md#StatisticsSummary)
  + [

## DeleteStatisticsValueMap (structure)
](data-api-dp-statistics.md#DeleteStatisticsValueMap)
  + [

## RefreshStatisticsIdMap (structure)
](data-api-dp-statistics.md#RefreshStatisticsIdMap)
  + [

## NodeStructure (structure)
](data-api-dp-statistics.md#NodeStructure)
  + [

## EdgeStructure (structure)
](data-api-dp-statistics.md#EdgeStructure)
  + [

## SubjectStructure (structure)
](data-api-dp-statistics.md#SubjectStructure)
  + [

## PropertygraphSummaryValueMap (structure)
](data-api-dp-statistics.md#PropertygraphSummaryValueMap)
  + [

## PropertygraphSummary (structure)
](data-api-dp-statistics.md#PropertygraphSummary)
+ [

# Neptune ML data-processing API
](data-api-dp-ml-data-processing.md)
  + [

## StartMLDataProcessingJob (action)
](data-api-dp-ml-data-processing.md#StartMLDataProcessingJob)
  + [

## ListMLDataProcessingJobs (action)
](data-api-dp-ml-data-processing.md#ListMLDataProcessingJobs)
  + [

## GetMLDataProcessingJob (action)
](data-api-dp-ml-data-processing.md#GetMLDataProcessingJob)
  + [

## CancelMLDataProcessingJob (action)
](data-api-dp-ml-data-processing.md#CancelMLDataProcessingJob)
  + [

## *ML general-purpose structures:*
](data-api-dp-ml-data-processing.md#data-api-dp-ml-data-processing-ml-general-purpose-structures-spacer)
  + [

## MlResourceDefinition (structure)
](data-api-dp-ml-data-processing.md#MlResourceDefinition)
  + [

## MlConfigDefinition (structure)
](data-api-dp-ml-data-processing.md#MlConfigDefinition)
+ [

# Neptune ML model training API
](data-api-dp-ml-training.md)
  + [

## StartMLModelTrainingJob (action)
](data-api-dp-ml-training.md#StartMLModelTrainingJob)
  + [

## ListMLModelTrainingJobs (action)
](data-api-dp-ml-training.md#ListMLModelTrainingJobs)
  + [

## GetMLModelTrainingJob (action)
](data-api-dp-ml-training.md#GetMLModelTrainingJob)
  + [

## CancelMLModelTrainingJob (action)
](data-api-dp-ml-training.md#CancelMLModelTrainingJob)
  + [

## *Model training structures:*
](data-api-dp-ml-training.md#data-api-dp-ml-training-model-training-structures-spacer)
  + [

## CustomModelTrainingParameters (structure)
](data-api-dp-ml-training.md#CustomModelTrainingParameters)
+ [

# Neptune ML model transform API
](data-api-dp-ml-transform.md)
  + [

## StartMLModelTransformJob (action)
](data-api-dp-ml-transform.md#StartMLModelTransformJob)
  + [

## ListMLModelTransformJobs (action)
](data-api-dp-ml-transform.md#ListMLModelTransformJobs)
  + [

## GetMLModelTransformJob (action)
](data-api-dp-ml-transform.md#GetMLModelTransformJob)
  + [

## CancelMLModelTransformJob (action)
](data-api-dp-ml-transform.md#CancelMLModelTransformJob)
  + [

## *Model transform structures:*
](data-api-dp-ml-transform.md#data-api-dp-ml-transform-model-transform-structures-spacer)
  + [

## CustomModelTransformParameters (structure)
](data-api-dp-ml-transform.md#CustomModelTransformParameters)
+ [

# Neptune ML inference endpoint API
](data-api-dp-inference.md)
  + [

## CreateMLEndpoint (action)
](data-api-dp-inference.md#CreateMLEndpoint)
  + [

## ListMLEndpoints (action)
](data-api-dp-inference.md#ListMLEndpoints)
  + [

## GetMLEndpoint (action)
](data-api-dp-inference.md#GetMLEndpoint)
  + [

## DeleteMLEndpoint (action)
](data-api-dp-inference.md#DeleteMLEndpoint)
+ [

# Neptune dataplane API Exceptions
](data-api-dp-errors.md)
  + [

## AccessDeniedException (structure)
](data-api-dp-errors.md#AccessDeniedException)
  + [

## BadRequestException (structure)
](data-api-dp-errors.md#BadRequestException)
  + [

## BulkLoadIdNotFoundException (structure)
](data-api-dp-errors.md#BulkLoadIdNotFoundException)
  + [

## CancelledByUserException (structure)
](data-api-dp-errors.md#CancelledByUserException)
  + [

## ClientTimeoutException (structure)
](data-api-dp-errors.md#ClientTimeoutException)
  + [

## ConcurrentModificationException (structure)
](data-api-dp-errors.md#ConcurrentModificationException)
  + [

## ConstraintViolationException (structure)
](data-api-dp-errors.md#ConstraintViolationException)
  + [

## ExpiredStreamException (structure)
](data-api-dp-errors.md#ExpiredStreamException)
  + [

## FailureByQueryException (structure)
](data-api-dp-errors.md#FailureByQueryException)
  + [

## IllegalArgumentException (structure)
](data-api-dp-errors.md#IllegalArgumentException)
  + [

## InternalFailureException (structure)
](data-api-dp-errors.md#InternalFailureException)
  + [

## InvalidArgumentException (structure)
](data-api-dp-errors.md#InvalidArgumentException)
  + [

## InvalidNumericDataException (structure)
](data-api-dp-errors.md#InvalidNumericDataException)
  + [

## InvalidParameterException (structure)
](data-api-dp-errors.md#InvalidParameterException)
  + [

## LoadUrlAccessDeniedException (structure)
](data-api-dp-errors.md#LoadUrlAccessDeniedException)
  + [

## MalformedQueryException (structure)
](data-api-dp-errors.md#MalformedQueryException)
  + [

## MemoryLimitExceededException (structure)
](data-api-dp-errors.md#MemoryLimitExceededException)
  + [

## MethodNotAllowedException (structure)
](data-api-dp-errors.md#MethodNotAllowedException)
  + [

## MissingParameterException (structure)
](data-api-dp-errors.md#MissingParameterException)
  + [

## MLResourceNotFoundException (structure)
](data-api-dp-errors.md#MLResourceNotFoundException)
  + [

## ParsingException (structure)
](data-api-dp-errors.md#ParsingException)
  + [

## PreconditionsFailedException (structure)
](data-api-dp-errors.md#PreconditionsFailedException)
  + [

## QueryLimitExceededException (structure)
](data-api-dp-errors.md#QueryLimitExceededException)
  + [

## QueryLimitException (structure)
](data-api-dp-errors.md#QueryLimitException)
  + [

## QueryTooLargeException (structure)
](data-api-dp-errors.md#QueryTooLargeException)
  + [

## ReadOnlyViolationException (structure)
](data-api-dp-errors.md#ReadOnlyViolationException)
  + [

## S3Exception (structure)
](data-api-dp-errors.md#S3Exception)
  + [

## ServerShutdownException (structure)
](data-api-dp-errors.md#ServerShutdownException)
  + [

## StatisticsNotAvailableException (structure)
](data-api-dp-errors.md#StatisticsNotAvailableException)
  + [

## StreamRecordsNotFoundException (structure)
](data-api-dp-errors.md#StreamRecordsNotFoundException)
  + [

## ThrottlingException (structure)
](data-api-dp-errors.md#ThrottlingException)
  + [

## TimeLimitExceededException (structure)
](data-api-dp-errors.md#TimeLimitExceededException)
  + [

## TooManyRequestsException (structure)
](data-api-dp-errors.md#TooManyRequestsException)
  + [

## UnsupportedOperationException (structure)
](data-api-dp-errors.md#UnsupportedOperationException)
  + [

## UnloadUrlAccessDeniedException (structure)
](data-api-dp-errors.md#UnloadUrlAccessDeniedException)

# Neptune dataplane engine, fast reset, and general structure APIs
<a name="data-api-dp-environment-APIs"></a>

**Engine operations:**
+ [GetEngineStatus (action)](#GetEngineStatus)
+ [ExecuteFastReset (action)](#ExecuteFastReset)

**Engine operation structures:**
+ [QueryLanguageVersion (structure)](#QueryLanguageVersion)
+ [FastResetToken (structure)](#FastResetToken)

## GetEngineStatus (action)
<a name="GetEngineStatus"></a>

         The AWS CLI name for this API is: `get-engine-status`.

Retrieves the status of the graph database on the host.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetEngineStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getenginestatus) IAM action in that cluster.

**Request**
+ *No Request parameters.*

**Response**
+ **dbEngineVersion**   – a String, of type: `string` (a UTF-8 encoded string).

  Set to the Neptune engine version running on your DB cluster. If this engine version has been manually patched since it was released, the version number is prefixed by `Patch-`.
+ **dfeQueryEngine**   – a String, of type: `string` (a UTF-8 encoded string).

  Set to `enabled` if the DFE engine is fully enabled, or to `viaQueryHint` (the default) if the DFE engine is only used with queries that have the `useDFE` query hint set to `true`.
+ **features**   – It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a Document, of type: `document` (a protocol-agnostic open content represented by a JSON-like data model).

  Contains status information about the features enabled on your DB cluster.
+ **gremlin**   – A [QueryLanguageVersion](#QueryLanguageVersion) object.

  Contains information about the Gremlin query language available on your cluster. Specifically, it contains a version field that specifies the current TinkerPop version being used by the engine.
+ **labMode**   – It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a String, of type: `string` (a UTF-8 encoded string).

  Contains Lab Mode settings being used by the engine.
+ **opencypher**   – A [QueryLanguageVersion](#QueryLanguageVersion) object.

  Contains information about the openCypher query language available on your cluster. Specifically, it contains a version field that specifies the current operCypher version being used by the engine.
+ **role**   – a String, of type: `string` (a UTF-8 encoded string).

  Set to `reader` if the instance is a read-replica, or to `writer` if the instance is the primary instance.
+ **rollingBackTrxCount**   – an Integer, of type: `integer` (a signed 32-bit integer).

  If there are transactions being rolled back, this field is set to the number of such transactions. If there are none, the field doesn't appear at all.
+ **rollingBackTrxEarliestStartTime**   – a String, of type: `string` (a UTF-8 encoded string).

  Set to the start time of the earliest transaction being rolled back. If no transactions are being rolled back, the field doesn't appear at all.
+ **settings**   – It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a String, of type: `string` (a UTF-8 encoded string).

  Contains information about the current settings on your DB cluster. For example, contains the current cluster query timeout setting (`clusterQueryTimeoutInMs`).
+ **sparql**   – A [QueryLanguageVersion](#QueryLanguageVersion) object.

  Contains information about the SPARQL query language available on your cluster. Specifically, it contains a version field that specifies the current SPARQL version being used by the engine.
+ **startTime**   – a String, of type: `string` (a UTF-8 encoded string).

  Set to the UTC time at which the current server process started.
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  Set to `healthy` if the instance is not experiencing problems. If the instance is recovering from a crash or from being rebooted and there are active transactions running from the latest server shutdown, status is set to `recovery`.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [InternalFailureException](data-api-dp-errors.md#InternalFailureException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## ExecuteFastReset (action)
<a name="ExecuteFastReset"></a>

         The AWS CLI name for this API is: `execute-fast-reset`.

The fast reset REST API lets you reset a Neptune graph quicky and easily, removing all of its data.

Neptune fast reset is a two-step process. First you call `ExecuteFastReset` with `action` set to `initiateDatabaseReset`. This returns a UUID token which you then include when calling `ExecuteFastReset` again with `action` set to `performDatabaseReset`. See [Empty an Amazon Neptune DB cluster using the fast reset API](https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-fast-reset.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:ResetDatabase](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#resetdatabase) IAM action in that cluster.

**Request**
+ **action**  (in the CLI: `--action`) –  *Required:* an Action, of type: `string` (a UTF-8 encoded string).

  The fast reset action. One of the following values:
  + **`initiateDatabaseReset`**   –   This action generates a unique token needed to actually perform the fast reset.
  + **`performDatabaseReset`**   –   This action uses the token generated by the `initiateDatabaseReset` action to actually perform the fast reset.

    
+ **token**  (in the CLI: `--token`) –  a String, of type: `string` (a UTF-8 encoded string).

  The fast-reset token to initiate the reset.

**Response**
+ **payload**   – A [FastResetToken](#FastResetToken) object.

  The `payload` is only returned by the `initiateDatabaseReset` action, and contains the unique token to use with the `performDatabaseReset` action to make the reset occur.
+ **status**   – *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The `status` is only returned for the `performDatabaseReset` action, and indicates whether or not the fast reset rquest is accepted.

**Errors**
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [ServerShutdownException](data-api-dp-errors.md#ServerShutdownException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [MethodNotAllowedException](data-api-dp-errors.md#MethodNotAllowedException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)

## *Engine operation structures:*
<a name="data-api-dp-environment-APIs-engine-operation-structures-spacer"></a>

## QueryLanguageVersion (structure)
<a name="QueryLanguageVersion"></a>

Structure for expressing the query language version.

**Fields**
+ **version** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The version of the query language.

## FastResetToken (structure)
<a name="FastResetToken"></a>

A structure containing the fast reset token used to initiate a fast reset.

**Fields**
+ **token** – This is a String, of type: `string` (a UTF-8 encoded string).

  A UUID generated by the database in the `initiateDatabaseReset` action, and then consumed by the `performDatabaseReset` to reset the database.

# Neptune Query APIs
<a name="data-api-dp-queries"></a>

**Gremlin query actions:**
+ [ExecuteGremlinQuery (action)](#ExecuteGremlinQuery)
+ [ExecuteGremlinExplainQuery (action)](#ExecuteGremlinExplainQuery)
+ [ExecuteGremlinProfileQuery (action)](#ExecuteGremlinProfileQuery)
+ [ListGremlinQueries (action)](#ListGremlinQueries)
+ [GetGremlinQueryStatus (action)](#GetGremlinQueryStatus)
+ [CancelGremlinQuery (action)](#CancelGremlinQuery)

**openCypher query actions:**
+ [ExecuteOpenCypherQuery (action)](#ExecuteOpenCypherQuery)
+ [ExecuteOpenCypherExplainQuery (action)](#ExecuteOpenCypherExplainQuery)
+ [ListOpenCypherQueries (action)](#ListOpenCypherQueries)
+ [GetOpenCypherQueryStatus (action)](#GetOpenCypherQueryStatus)
+ [CancelOpenCypherQuery (action)](#CancelOpenCypherQuery)

**Query structures:**
+ [QueryEvalStats (structure)](#QueryEvalStats)
+ [GremlinQueryStatus (structure)](#GremlinQueryStatus)
+ [GremlinQueryStatusAttributes (structure)](#GremlinQueryStatusAttributes)

## ExecuteGremlinQuery (action)
<a name="ExecuteGremlinQuery"></a>

         The AWS CLI name for this API is: `execute-gremlin-query`.

This commands executes a Gremlin query. Amazon Neptune is compatible with Apache TinkerPop3 and Gremlin, so you can use the Gremlin traversal language to query the graph, as described under [The Graph](https://tinkerpop.apache.org/docs/current/reference/#graph) in the Apache TinkerPop3 documentation. More details can also be found in [Accessing a Neptune graph with Gremlin](https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that enables one of the following IAM actions in that cluster, depending on the query:
+ [neptune-db:ReadDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery)
+ [neptune-db:WriteDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#writedataviaquery)
+ [neptune-db:DeleteDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletedataviaquery)

Note that the [neptune-db:QueryLanguage:Gremlin](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of Gremlin queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **gremlinQuery**  (in the CLI: `--gremlin-query`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  Using this API, you can run Gremlin queries in string format much as you can using the HTTP endpoint. The interface is compatible with whatever Gremlin version your DB cluster is using (see the [Tinkerpop client section](https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-client.html#best-practices-gremlin-java-latest) to determine which Gremlin releases your engine version supports).
+ **serializer**  (in the CLI: `--serializer`) –  a String, of type: `string` (a UTF-8 encoded string).

  If non-null, the query results are returned in a serialized response message in the format specified by this parameter. See the [GraphSON](https://tinkerpop.apache.org/docs/current/reference/#_graphson) section in the TinkerPop documentation for a list of the formats that are currently supported.

**Response**
+ **meta**   – a Document, of type: `document` (a protocol-agnostic open content represented by a JSON-like data model).

  Metadata about the Gremlin query.
+ **requestId**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the Gremlin query.
+ **result**   – a Document, of type: `document` (a protocol-agnostic open content represented by a JSON-like data model).

  The Gremlin query output from the server.
+ **status**   – A [GremlinQueryStatusAttributes](#GremlinQueryStatusAttributes) object.

  The status of the Gremlin query.

**Errors**
+ [QueryTooLargeException](data-api-dp-errors.md#QueryTooLargeException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [QueryLimitExceededException](data-api-dp-errors.md#QueryLimitExceededException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [QueryLimitException](data-api-dp-errors.md#QueryLimitException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [CancelledByUserException](data-api-dp-errors.md#CancelledByUserException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [MemoryLimitExceededException](data-api-dp-errors.md#MemoryLimitExceededException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [MalformedQueryException](data-api-dp-errors.md#MalformedQueryException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## ExecuteGremlinExplainQuery (action)
<a name="ExecuteGremlinExplainQuery"></a>

         The AWS CLI name for this API is: `execute-gremlin-explain-query`.

Executes a Gremlin Explain query.

Amazon Neptune has added a Gremlin feature named `explain` that provides is a self-service tool for understanding the execution approach being taken by the Neptune engine for the query. You invoke it by adding an `explain` parameter to an HTTP call that submits a Gremlin query.

The explain feature provides information about the logical structure of query execution plans. You can use this information to identify potential evaluation and execution bottlenecks and to tune your query, as explained in [Tuning Gremlin queries](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-traversal-tuning.html). You can also use query hints to improve query execution plans.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows one of the following IAM actions in that cluster, depending on the query:
+ [neptune-db:ReadDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery)
+ [neptune-db:WriteDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#writedataviaquery)
+ [neptune-db:DeleteDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletedataviaquery)

Note that the [neptune-db:QueryLanguage:Gremlin](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of Gremlin queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **gremlinQuery**  (in the CLI: `--gremlin-query`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The Gremlin explain query string.

**Response**
+ **output**   – a ReportAsText, of type: `blob` (a block of uninterpreted binary data).

  A text blob containing the Gremlin explain result, as described in [Tuning Gremlin queries](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-traversal-tuning.html).

**Errors**
+ [QueryTooLargeException](data-api-dp-errors.md#QueryTooLargeException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [QueryLimitExceededException](data-api-dp-errors.md#QueryLimitExceededException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [QueryLimitException](data-api-dp-errors.md#QueryLimitException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [CancelledByUserException](data-api-dp-errors.md#CancelledByUserException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [MemoryLimitExceededException](data-api-dp-errors.md#MemoryLimitExceededException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [MalformedQueryException](data-api-dp-errors.md#MalformedQueryException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## ExecuteGremlinProfileQuery (action)
<a name="ExecuteGremlinProfileQuery"></a>

         The AWS CLI name for this API is: `execute-gremlin-profile-query`.

Executes a Gremlin Profile query, which runs a specified traversal, collects various metrics about the run, and produces a profile report as output. See [Gremlin profile API in Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html) for details.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:ReadDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery) IAM action in that cluster.

Note that the [neptune-db:QueryLanguage:Gremlin](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of Gremlin queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **chop**  (in the CLI: `--chop`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  If non-zero, causes the results string to be truncated at that number of characters. If set to zero, the string contains all the results.
+ **gremlinQuery**  (in the CLI: `--gremlin-query`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The Gremlin query string to profile.
+ **indexOps**  (in the CLI: `--index-ops`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If this flag is set to `TRUE`, the results include a detailed report of all index operations that took place during query execution and serialization.
+ **results**  (in the CLI: `--results`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If this flag is set to `TRUE`, the query results are gathered and displayed as part of the profile report. If `FALSE`, only the result count is displayed.
+ **serializer**  (in the CLI: `--serializer`) –  a String, of type: `string` (a UTF-8 encoded string).

  If non-null, the gathered results are returned in a serialized response message in the format specified by this parameter. See [Gremlin profile API in Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html) for more information.

**Response**
+ **output**   – a ReportAsText, of type: `blob` (a block of uninterpreted binary data).

  A text blob containing the Gremlin Profile result. See [Gremlin profile API in Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html) for details.

**Errors**
+ [QueryTooLargeException](data-api-dp-errors.md#QueryTooLargeException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [QueryLimitExceededException](data-api-dp-errors.md#QueryLimitExceededException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [QueryLimitException](data-api-dp-errors.md#QueryLimitException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [CancelledByUserException](data-api-dp-errors.md#CancelledByUserException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [MemoryLimitExceededException](data-api-dp-errors.md#MemoryLimitExceededException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [MalformedQueryException](data-api-dp-errors.md#MalformedQueryException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## ListGremlinQueries (action)
<a name="ListGremlinQueries"></a>

         The AWS CLI name for this API is: `list-gremlin-queries`.

Lists active Gremlin queries. See [Gremlin query status API](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-api-status.html) for details about the output.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetQueryStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getquerystatus) IAM action in that cluster.

Note that the [neptune-db:QueryLanguage:Gremlin](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of Gremlin queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **includeWaiting**  (in the CLI: `--include-waiting`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If set to `TRUE`, the list returned includes waiting queries. The default is `FALSE`;

**Response**
+ **acceptedQueryCount**   – an Integer, of type: `integer` (a signed 32-bit integer).

  The number of queries that have been accepted but not yet completed, including queries in the queue.
+ **queries**   – An array of [GremlinQueryStatus](#GremlinQueryStatus) objects.

  A list of the current queries.
+ **runningQueryCount**   – an Integer, of type: `integer` (a signed 32-bit integer).

  The number of Gremlin queries currently running.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## GetGremlinQueryStatus (action)
<a name="GetGremlinQueryStatus"></a>

         The AWS CLI name for this API is: `get-gremlin-query-status`.

Gets the status of a specified Gremlin query.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetQueryStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getquerystatus) IAM action in that cluster.

Note that the [neptune-db:QueryLanguage:Gremlin](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of Gremlin queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **queryId**  (in the CLI: `--query-id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier that identifies the Gremlin query.

**Response**
+ **queryEvalStats**   – A [QueryEvalStats](#QueryEvalStats) object.

  The evaluation status of the Gremlin query.
+ **queryId**   – a String, of type: `string` (a UTF-8 encoded string).

  The ID of the query for which status is being returned.
+ **queryString**   – a String, of type: `string` (a UTF-8 encoded string).

  The Gremlin query string.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## CancelGremlinQuery (action)
<a name="CancelGremlinQuery"></a>

         The AWS CLI name for this API is: `cancel-gremlin-query`.

Cancels a Gremlin query. See [Gremlin query cancellation](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-api-status-cancel.html) for more information.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:CancelQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelquery) IAM action in that cluster.

**Request**
+ **queryId**  (in the CLI: `--query-id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier that identifies the query to be canceled.

**Response**
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The status of the cancelation

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## *openCypher query actions:*
<a name="data-api-dp-queries-opencypher-query-actions-spacer"></a>

## ExecuteOpenCypherQuery (action)
<a name="ExecuteOpenCypherQuery"></a>

         The AWS CLI name for this API is: `execute-open-cypher-query`.

Executes an openCypher query. See [Accessing the Neptune Graph with openCypher](https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-opencypher.html) for more information.

Neptune supports building graph applications using openCypher, which is currently one of the most popular query languages among developers working with graph databases. Developers, business analysts, and data scientists like openCypher's declarative, SQL-inspired syntax because it provides a familiar structure in which to querying property graphs.

The openCypher language was originally developed by Neo4j, then open-sourced in 2015 and contributed to the [openCypher project](https://opencypher.org/) under an Apache 2 open-source license.

Note that when invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows one of the following IAM actions in that cluster, depending on the query:
+ [neptune-db:ReadDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery)
+ [neptune-db:WriteDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#writedataviaquery)
+ [neptune-db:DeleteDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletedataviaquery)

Note also that the [neptune-db:QueryLanguage:OpenCypher](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of openCypher queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **openCypherQuery**  (in the CLI: `--open-cypher-query`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The openCypher query string to be executed.
+ **parameters**  (in the CLI: `--parameters`) –  a String, of type: `string` (a UTF-8 encoded string).

  The openCypher query parameters for query execution. See [Examples of openCypher parameterized queries](https://docs.aws.amazon.com/neptune/latest/userguide/opencypher-parameterized-queries.html) for more information.

**Response**
+ **results**   – *Required:* a Document, of type: `document` (a protocol-agnostic open content represented by a JSON-like data model).

  The openCypherquery results.

**Errors**
+ [QueryTooLargeException](data-api-dp-errors.md#QueryTooLargeException)
+ [InvalidNumericDataException](data-api-dp-errors.md#InvalidNumericDataException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [QueryLimitExceededException](data-api-dp-errors.md#QueryLimitExceededException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [QueryLimitException](data-api-dp-errors.md#QueryLimitException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [CancelledByUserException](data-api-dp-errors.md#CancelledByUserException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [MemoryLimitExceededException](data-api-dp-errors.md#MemoryLimitExceededException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [MalformedQueryException](data-api-dp-errors.md#MalformedQueryException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## ExecuteOpenCypherExplainQuery (action)
<a name="ExecuteOpenCypherExplainQuery"></a>

         The AWS CLI name for this API is: `execute-open-cypher-explain-query`.

Executes an openCypher `explain` request. See [The openCypher explain feature](https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-opencypher-explain.html) for more information.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:ReadDataViaQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery) IAM action in that cluster.

Note that the [neptune-db:QueryLanguage:OpenCypher](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of openCypher queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **explainMode**  (in the CLI: `--explain-mode`) –  *Required:* an OpenCypherExplainMode, of type: `string` (a UTF-8 encoded string).

  The openCypher `explain` mode. Can be one of: `static`, `dynamic`, or `details`.
+ **openCypherQuery**  (in the CLI: `--open-cypher-query`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The openCypher query string.
+ **parameters**  (in the CLI: `--parameters`) –  a String, of type: `string` (a UTF-8 encoded string).

  The openCypher query parameters.

**Response**
+ **results**   – *Required:* a Blob, of type: `blob` (a block of uninterpreted binary data).

  A text blob containing the openCypher `explain` results.

**Errors**
+ [QueryTooLargeException](data-api-dp-errors.md#QueryTooLargeException)
+ [InvalidNumericDataException](data-api-dp-errors.md#InvalidNumericDataException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [QueryLimitExceededException](data-api-dp-errors.md#QueryLimitExceededException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [QueryLimitException](data-api-dp-errors.md#QueryLimitException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [CancelledByUserException](data-api-dp-errors.md#CancelledByUserException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [MemoryLimitExceededException](data-api-dp-errors.md#MemoryLimitExceededException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [MalformedQueryException](data-api-dp-errors.md#MalformedQueryException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## ListOpenCypherQueries (action)
<a name="ListOpenCypherQueries"></a>

         The AWS CLI name for this API is: `list-open-cypher-queries`.

Lists active openCypher queries. See [Neptune openCypher status endpoint](https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-opencypher-status.html) for more information.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetQueryStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getquerystatus) IAM action in that cluster.

Note that the [neptune-db:QueryLanguage:OpenCypher](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of openCypher queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **includeWaiting**  (in the CLI: `--include-waiting`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

   When set to `TRUE` and other parameters are not present, causes status information to be returned for waiting queries as well as for running queries.

**Response**
+ **acceptedQueryCount**   – an Integer, of type: `integer` (a signed 32-bit integer).

  The number of queries that have been accepted but not yet completed, including queries in the queue.
+ **queries**   – An array of [GremlinQueryStatus](#GremlinQueryStatus) objects.

  A list of current openCypher queries.
+ **runningQueryCount**   – an Integer, of type: `integer` (a signed 32-bit integer).

  The number of currently running openCypher queries.

**Errors**
+ [InvalidNumericDataException](data-api-dp-errors.md#InvalidNumericDataException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## GetOpenCypherQueryStatus (action)
<a name="GetOpenCypherQueryStatus"></a>

         The AWS CLI name for this API is: `get-open-cypher-query-status`.

Retrieves the status of a specified openCypher query.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetQueryStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getquerystatus) IAM action in that cluster.

Note that the [neptune-db:QueryLanguage:OpenCypher](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys) IAM condition key can be used in the policy document to restrict the use of openCypher queries (see [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **queryId**  (in the CLI: `--query-id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique ID of the openCypher query for which to retrieve the query status.

**Response**
+ **queryEvalStats**   – A [QueryEvalStats](#QueryEvalStats) object.

  The openCypher query evaluation status.
+ **queryId**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique ID of the query for which status is being returned.
+ **queryString**   – a String, of type: `string` (a UTF-8 encoded string).

  The openCypher query string.

**Errors**
+ [InvalidNumericDataException](data-api-dp-errors.md#InvalidNumericDataException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## CancelOpenCypherQuery (action)
<a name="CancelOpenCypherQuery"></a>

         The AWS CLI name for this API is: `cancel-open-cypher-query`.

Cancels a specified openCypher query. See [Neptune openCypher status endpoint](https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-opencypher-status.html) for more information.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:CancelQuery](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelquery) IAM action in that cluster.

**Request**
+ **queryId**  (in the CLI: `--query-id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique ID of the openCypher query to cancel.
+ **silent**  (in the CLI: `--silent`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If set to `TRUE`, causes the cancelation of the openCypher query to happen silently.

**Response**
+ **payload**   – a Boolean, of type: `boolean` (a Boolean (true or false) value).

  The cancelation payload for the openCypher query.
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The cancellation status of the openCypher query.

**Errors**
+ [InvalidNumericDataException](data-api-dp-errors.md#InvalidNumericDataException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [FailureByQueryException](data-api-dp-errors.md#FailureByQueryException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ParsingException](data-api-dp-errors.md#ParsingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [TimeLimitExceededException](data-api-dp-errors.md#TimeLimitExceededException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [ConcurrentModificationException](data-api-dp-errors.md#ConcurrentModificationException)

## *Query structures:*
<a name="data-api-dp-queries-query-structures-spacer"></a>

## QueryEvalStats (structure)
<a name="QueryEvalStats"></a>

Structure to capture query statistics such as how many queries are running, accepted or waiting and their details.

**Fields**
+ **cancelled** – This is a Boolean, of type: `boolean` (a Boolean (true or false) value).

  Set to `TRUE` if the query was cancelled, or FALSE otherwise.
+ **elapsed** – This is an Integer, of type: `integer` (a signed 32-bit integer).

  The number of milliseconds the query has been running so far.
+ **subqueries** – This is a Document, of type: `document` (a protocol-agnostic open content represented by a JSON-like data model).

  The number of subqueries in this query.
+ **waited** – This is an Integer, of type: `integer` (a signed 32-bit integer).

  Indicates how long the query waited, in milliseconds.

## GremlinQueryStatus (structure)
<a name="GremlinQueryStatus"></a>

Captures the status of a Gremlin query (see the [Gremlin query status API](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-api-status.html) page).

**Fields**
+ **queryEvalStats** – This is A [QueryEvalStats](#QueryEvalStats) object.

  The query statistics of the Gremlin query.
+ **queryId** – This is a String, of type: `string` (a UTF-8 encoded string).

  The ID of the Gremlin query.
+ **queryString** – This is a String, of type: `string` (a UTF-8 encoded string).

  The query string of the Gremlin query.

## GremlinQueryStatusAttributes (structure)
<a name="GremlinQueryStatusAttributes"></a>

Contains status components of a Gremlin query.

**Fields**
+ **attributes** – This is a Document, of type: `document` (a protocol-agnostic open content represented by a JSON-like data model).

  Attributes of the Gremlin query status.
+ **code** – This is an Integer, of type: `integer` (a signed 32-bit integer).

  The HTTP response code returned fro the Gremlin query request..
+ **message** – This is a String, of type: `string` (a UTF-8 encoded string).

  The status message.

# Neptune data plane bulk loader APIs
<a name="data-api-dp-loader"></a>

**Bulk-load actions:**
+ [StartLoaderJob (action)](#StartLoaderJob)
+ [GetLoaderJobStatus (action)](#GetLoaderJobStatus)
+ [ListLoaderJobs (action)](#ListLoaderJobs)
+ [CancelLoaderJob (action)](#CancelLoaderJob)

**Bulk load structure:**
+ [LoaderIdResult (structure)](#LoaderIdResult)

## StartLoaderJob (action)
<a name="StartLoaderJob"></a>

         The AWS CLI name for this API is: `start-loader-job`.

Starts a Neptune bulk loader job to load data from an Amazon S3 bucket into a Neptune DB instance. See [Using the Amazon Neptune Bulk Loader to Ingest Data](https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:StartLoaderJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startloaderjob) IAM action in that cluster.

**Request**
+ **dependencies**  (in the CLI: `--dependencies`) –  a String, of type: `string` (a UTF-8 encoded string).

  This is an optional parameter that can make a queued load request contingent on the successful completion of one or more previous jobs in the queue.

  Neptune can queue up as many as 64 load requests at a time, if their `queueRequest` parameters are set to `"TRUE"`. The `dependencies` parameter lets you make execution of such a queued request dependent on the successful completion of one or more specified previous requests in the queue.

  For example, if load `Job-A` and `Job-B` are independent of each other, but load `Job-C` needs `Job-A` and `Job-B` to be finished before it begins, proceed as follows:

  1. Submit `load-job-A` and `load-job-B` one after another in any order, and save their load-ids.

  1. Submit `load-job-C` with the load-ids of the two jobs in its `dependencies` field:  
**Example**  

  ```
    "dependencies" : ["(job_A_load_id)", "(job_B_load_id)"]
  ```

  Because of the `dependencies` parameter, the bulk loader will not start `Job-C` until `Job-A` and `Job-B` have completed successfully. If either one of them fails, Job-C will not be executed, and its status will be set to `LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED`.

  You can set up multiple levels of dependency in this way, so that the failure of one job will cause all requests that are directly or indirectly dependent on it to be cancelled.
+ **failOnError**  (in the CLI: `--fail-on-error`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  **`failOnError`**   –   A flag to toggle a complete stop on an error.

  *Allowed values*: `"TRUE"`, `"FALSE"`.

  *Default value*: `"TRUE"`.

  When this parameter is set to `"FALSE"`, the loader tries to load all the data in the location specified, skipping any entries with errors.

  When this parameter is set to `"TRUE"`, the loader stops as soon as it encounters an error. Data loaded up to that point persists.
+ **format**  (in the CLI: `--format`) –  *Required:* a Format, of type: `string` (a UTF-8 encoded string).

  The format of the data. For more information about data formats for the Neptune `Loader` command, see [Load Data Formats](https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format.html).

**Allowed values**
  + **`csv`** for the [Gremlin CSV data format](https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format-gremlin.html).
  + **`opencypher`** for the [openCypher CSV data format](https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format-opencypher.html).
  + **`ntriples`** for the [N-Triples RDF data format](https://www.w3.org/TR/n-triples/).
  + **`nquads`** for the [N-Quads RDF data format](https://www.w3.org/TR/n-quads/).
  + **`rdfxml`** for the [RDF\$1XML RDF data format](https://www.w3.org/TR/rdf-syntax-grammar/).
  + **`turtle`** for the [Turtle RDF data format](https://www.w3.org/TR/turtle/).
+ **iamRoleArn**  (in the CLI: `--iam-role-arn`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune DB instance for access to the S3 bucket. The IAM role ARN provided here should be attached to the DB cluster (see [Adding the IAM Role to an Amazon Neptune Cluster](https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-IAM-add-role-cluster.html).
+ **mode**  (in the CLI: `--mode`) –  a Mode, of type: `string` (a UTF-8 encoded string).

  The load job mode.

  *Allowed values*: `RESUME`, `NEW`, `AUTO`.

  *Default value*: `AUTO`.

****
  + `RESUME`   –   In RESUME mode, the loader looks for a previous load from this source, and if it finds one, resumes that load job. If no previous load job is found, the loader stops.

    The loader avoids reloading files that were successfully loaded in a previous job. It only tries to process failed files. If you dropped previously loaded data from your Neptune cluster, that data is not reloaded in this mode. If a previous load job loaded all files from the same source successfully, nothing is reloaded, and the loader returns success.
  + `NEW`   –   In NEW mode, the creates a new load request regardless of any previous loads. You can use this mode to reload all the data from a source after dropping previously loaded data from your Neptune cluster, or to load new data available at the same source.
  + `AUTO`   –   In AUTO mode, the loader looks for a previous load job from the same source, and if it finds one, resumes that job, just as in `RESUME` mode.

    If the loader doesn't find a previous load job from the same source, it loads all data from the source, just as in `NEW` mode.
+ **parallelism**  (in the CLI: `--parallelism`) –  a Parallelism, of type: `string` (a UTF-8 encoded string).

  The optional `parallelism` parameter can be set to reduce the number of threads used by the bulk load process.

  *Allowed values*:
  + `LOW` –   The number of threads used is the number of available vCPUs divided by 8.
  + `MEDIUM` –   The number of threads used is the number of available vCPUs divided by 2.
  + `HIGH` –   The number of threads used is the same as the number of available vCPUs.
  + `OVERSUBSCRIBE` –   The number of threads used is the number of available vCPUs multiplied by 2. If this value is used, the bulk loader takes up all available resources.

    This does not mean, however, that the `OVERSUBSCRIBE` setting results in 100% CPU utilization. Because the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.

  *Default value*: `HIGH`

  The `parallelism` setting can sometimes result in a deadlock between threads when loading openCypher data. When this happens, Neptune returns the `LOAD_DATA_DEADLOCK` error. You can generally fix the issue by setting `parallelism` to a lower setting and retrying the load command.
+ **parserConfiguration**  (in the CLI: `--parser-configuration`) –  It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a String, of type: `string` (a UTF-8 encoded string).

  **`parserConfiguration`**   –   An optional object with additional parser configuration values. Each of the child parameters is also optional:

****
  + **`namedGraphUri`**   –   The default graph for all RDF formats when no graph is specified (for non-quads formats and NQUAD entries with no graph).

    The default is `https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph`.
  + **`baseUri`**   –   The base URI for RDF/XML and Turtle formats.

    The default is `https://aws.amazon.com/neptune/default`.
  + **`allowEmptyStrings`**   –   Gremlin users need to be able to pass empty string values("") as node and edge properties when loading CSV data. If `allowEmptyStrings` is set to `false` (the default), such empty strings are treated as nulls and are not loaded.

    If `allowEmptyStrings` is set to `true`, the loader treats empty strings as valid property values and loads them accordingly.
+ **queueRequest**  (in the CLI: `--queue-request`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  This is an optional flag parameter that indicates whether the load request can be queued up or not. 

  You don't have to wait for one load job to complete before issuing the next one, because Neptune can queue up as many as 64 jobs at a time, provided that their `queueRequest` parameters are all set to `"TRUE"`. The queue order of the jobs will be first-in-first-out (FIFO).

  If the `queueRequest` parameter is omitted or set to `"FALSE"`, the load request will fail if another load job is already running.

  *Allowed values*: `"TRUE"`, `"FALSE"`.

  *Default value*: `"FALSE"`.
+ **s3BucketRegion**  (in the CLI: `--s-3-bucket-region`) –  *Required:* a S3BucketRegion, of type: `string` (a UTF-8 encoded string).

  The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
+ **source**  (in the CLI: `--source`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The `source` parameter accepts an S3 URI that identifies a single file, multiple files, a folder, or multiple folders. Neptune loads every data file in any folder that is specified.

  The URI can be in any of the following formats.
  + `s3://(bucket_name)/(object-key-name)`
  + `https://s3.amazonaws.com/(bucket_name)/(object-key-name)`
  + `https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)`

  The `object-key-name` element of the URI is equivalent to the [prefix](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html#API_ListObjects_RequestParameters) parameter in an S3 [ListObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) API call. It identifies all the objects in the specified S3 bucket whose names begin with that prefix. That can be a single file or folder, or multiple files and/or folders.

  The specified folder or folders can contain multiple vertex files and multiple edge files.
+ **updateSingleCardinalityProperties**  (in the CLI: `--update-single-cardinality-properties`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  `updateSingleCardinalityProperties` is an optional parameter that controls how the bulk loader treats a new value for single-cardinality vertex or edge properties. This is not supported for loading openCypher data.

  *Allowed values*: `"TRUE"`, `"FALSE"`.

  *Default value*: `"FALSE"`.

  By default, or when `updateSingleCardinalityProperties` is explicitly set to `"FALSE"`, the loader treats a new value as an error, because it violates single cardinality.

  When `updateSingleCardinalityProperties` is set to `"TRUE"`, on the other hand, the bulk loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex property values are provided in the source file(s) being loaded, the final value at the end of the bulk load could be any one of those new values. The loader only guarantees that the existing value has been replaced by one of the new ones.
+ **userProvidedEdgeIds**  (in the CLI: `--user-provided-edge-ids`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  This parameter is required only when loading openCypher data that contains relationship IDs. It must be included and set to `True` when openCypher relationship IDs are explicitly provided in the load data (recommended).

  When `userProvidedEdgeIds` is absent or set to `True`, an `:ID` column must be present in every relationship file in the load.

  When `userProvidedEdgeIds` is present and set to `False`, relationship files in the load **must not** contain an `:ID` column. Instead, the Neptune loader automatically generates an ID for each relationship.

  It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in the CSV data have been fixed, without having to reload any relationships that have already been loaded. If relationship IDs have not been explicitly assigned, the loader cannot resume a failed load if any relationship file has had to be corrected, and must instead reload all the relationships.

**Response**
+ **payload**   – *Required:* It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a String, of type: `string` (a UTF-8 encoded string).

  Contains a `loadId` name-value pair that provides an identifier for the load operation.
+ **status**   – *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP return code indicating the status of the load job.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [BulkLoadIdNotFoundException](data-api-dp-errors.md#BulkLoadIdNotFoundException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [LoadUrlAccessDeniedException](data-api-dp-errors.md#LoadUrlAccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [InternalFailureException](data-api-dp-errors.md#InternalFailureException)
+ [S3Exception](data-api-dp-errors.md#S3Exception)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)

## GetLoaderJobStatus (action)
<a name="GetLoaderJobStatus"></a>

         The AWS CLI name for this API is: `get-loader-job-status`.

Gets status information about a specified load job. Neptune keeps track of the most recent 1,024 bulk load jobs, and stores the last 10,000 error details per job.

See [Neptune Loader Get-Status API](https://docs.aws.amazon.com/neptune/latest/userguide/load-api-reference-status.htm) for more information.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetLoaderJobStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getloaderjobstatus) IAM action in that cluster..

**Request**
+ **details**  (in the CLI: `--details`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  Flag indicating whether or not to include details beyond the overall status (`TRUE` or `FALSE`; the default is `FALSE`).
+ **errors**  (in the CLI: `--errors`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  Flag indicating whether or not to include a list of errors encountered (`TRUE` or `FALSE`; the default is `FALSE`).

  The list of errors is paged. The `page` and `errorsPerPage` parameters allow you to page through all the errors.
+ **errorsPerPage**  (in the CLI: `--errors-per-page`) –  a PositiveInteger, of type: `integer` (a signed 32-bit integer), at least 1 ?st?.

  The number of errors returned in each page (a positive integer; the default is `10`). Only valid when the `errors` parameter set to `TRUE`.
+ **loadId**  (in the CLI: `--load-id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The load ID of the load job to get the status of.
+ **page**  (in the CLI: `--page`) –  a PositiveInteger, of type: `integer` (a signed 32-bit integer), at least 1 ?st?.

  The error page number (a positive integer; the default is `1`). Only valid when the `errors` parameter is set to `TRUE`.

**Response**
+ **payload**   – *Required:* a Document, of type: `document` (a protocol-agnostic open content represented by a JSON-like data model).

  Status information about the load job, in a layout that could look like this:  
**Example**  

  ```
  {
            "status" : "200 OK",
            "payload" : {
              "feedCount" : [
                {
                  "LOAD_FAILED" : (number)
                }
              ],
              "overallStatus" : {
                "fullUri" : "s3://(bucket)/(key)",
                "runNumber" : (number),
                "retryNumber" : (number),
                "status" : "(string)",
                "totalTimeSpent" : (number),
                "startTime" : (number),
                "totalRecords" : (number),
                "totalDuplicates" : (number),
                "parsingErrors" : (number),
                "datatypeMismatchErrors" : (number),
                "insertErrors" : (number),
              },
              "failedFeeds" : [
                {
                  "fullUri" : "s3://(bucket)/(key)",
                  "runNumber" : (number),
                  "retryNumber" : (number),
                  "status" : "(string)",
                  "totalTimeSpent" : (number),
                  "startTime" : (number),
                  "totalRecords" : (number),
                  "totalDuplicates" : (number),
                  "parsingErrors" : (number),
                  "datatypeMismatchErrors" : (number),
                  "insertErrors" : (number),
                }
              ],
              "errors" : {
                "startIndex" : (number),
                "endIndex" : (number),
                "loadId" : "(string),
                "errorLogs" : [ ]
              }
            }
          }
  ```
+ **status**   – *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP response code for the request.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [BulkLoadIdNotFoundException](data-api-dp-errors.md#BulkLoadIdNotFoundException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [LoadUrlAccessDeniedException](data-api-dp-errors.md#LoadUrlAccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [InternalFailureException](data-api-dp-errors.md#InternalFailureException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)

## ListLoaderJobs (action)
<a name="ListLoaderJobs"></a>

         The AWS CLI name for this API is: `list-loader-jobs`.

Retrieves a list of the `loadIds` for all active loader jobs.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:ListLoaderJobs](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#listloaderjobs) IAM action in that cluster..

**Request**
+ **includeQueuedLoads**  (in the CLI: `--include-queued-loads`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  An optional parameter that can be used to exclude the load IDs of queued load requests when requesting a list of load IDs by setting the parameter to `FALSE`. The default value is `TRUE`.
+ **limit**  (in the CLI: `--limit`) –  a ListLoaderJobsInputLimitInteger, of type: `integer` (a signed 32-bit integer), not less than 1 or more than 100 ?st?s.

  The number of load IDs to list. Must be a positive integer greater than zero and not more than `100` (which is the default).

**Response**
+ **payload**   – *Required:* A [LoaderIdResult](#LoaderIdResult) object.

  The requested list of job IDs.
+ **status**   – *Required:* a String, of type: `string` (a UTF-8 encoded string).

  Returns the status of the job list request.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [BulkLoadIdNotFoundException](data-api-dp-errors.md#BulkLoadIdNotFoundException)
+ [InternalFailureException](data-api-dp-errors.md#InternalFailureException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [LoadUrlAccessDeniedException](data-api-dp-errors.md#LoadUrlAccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## CancelLoaderJob (action)
<a name="CancelLoaderJob"></a>

         The AWS CLI name for this API is: `cancel-loader-job`.

Cancels a specified load job. This is an HTTP `DELETE` request. See [Neptune Loader Get-Status API](https://docs.aws.amazon.com/neptune/latest/userguide/load-api-reference-status.htm) for more information.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:CancelLoaderJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelloaderjob) IAM action in that cluster..

**Request**
+ **loadId**  (in the CLI: `--load-id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the load job to be deleted.

**Response**
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The cancellation status.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [BulkLoadIdNotFoundException](data-api-dp-errors.md#BulkLoadIdNotFoundException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [LoadUrlAccessDeniedException](data-api-dp-errors.md#LoadUrlAccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [InternalFailureException](data-api-dp-errors.md#InternalFailureException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)

## *Bulk load structure:*
<a name="data-api-dp-loader-bulk-load-structure-spacer"></a>

## LoaderIdResult (structure)
<a name="LoaderIdResult"></a>

Contains a list of load IDs.

**Fields**
+ **loadIds** – This is a String, of type: `string` (a UTF-8 encoded string).

  A list of load IDs.

# Neptune streams dataplane API
<a name="data-api-dp-streams"></a>

**Stream access actions:**
+ [GetPropertygraphStream (action)](#GetPropertygraphStream)

**Stream data structures:**
+ [PropertygraphRecord (structure)](#PropertygraphRecord)
+ [PropertygraphData (structure)](#PropertygraphData)

## GetPropertygraphStream (action)
<a name="GetPropertygraphStream"></a>

         The AWS CLI name for this API is: `get-propertygraph-stream`.

Gets a stream for a property graph.

With the Neptune Streams feature, you can generate a complete sequence of change-log entries that record every change made to your graph data as it happens. `GetPropertygraphStream` lets you collect these change-log entries for a property graph.

The Neptune streams feature needs to be enabled on your Neptune DBcluster. To enable streams, set the [neptune\$1streams](https://docs.aws.amazon.com/neptune/latest/userguide/parameters.html#parameters-db-cluster-parameters-neptune_streams) DB cluster parameter to `1`.

See [Capturing graph changes in real time using Neptune streams](https://docs.aws.amazon.com/neptune/latest/userguide/streams.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetStreamRecords](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getstreamrecords) IAM action in that cluster.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that enables one of the following IAM actions, depending on the query:

Note that you can restrict property-graph queries using the following IAM context keys:
+ [neptune-db:QueryLanguage:Gremlin](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
+ [neptune-db:QueryLanguage:OpenCypher](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)

See [Condition keys available in Neptune IAM data-access policy statements](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).

**Request**
+ **commitNum**  (in the CLI: `--commit-num`) –  a Long, of type: `long` (a signed 64-bit integer).

  The commit number of the starting record to read from the change-log stream. This parameter is required when `iteratorType` is`AT_SEQUENCE_NUMBER` or `AFTER_SEQUENCE_NUMBER`, and ignored when `iteratorType` is `TRIM_HORIZON` or `LATEST`.
+ **encoding**  (in the CLI: `--encoding`) –  an Encoding, of type: `string` (a UTF-8 encoded string).

  If set to TRUE, Neptune compresses the response using gzip encoding.
+ **iteratorType**  (in the CLI: `--iterator-type`) –  an IteratorType, of type: `string` (a UTF-8 encoded string).

  Can be one of:
  + `AT_SEQUENCE_NUMBER`   –   Indicates that reading should start from the event sequence number specified jointly by the `commitNum` and `opNum` parameters.
  + `AFTER_SEQUENCE_NUMBER`   –   Indicates that reading should start right after the event sequence number specified jointly by the `commitNum` and `opNum` parameters.
  + `TRIM_HORIZON`   –   Indicates that reading should start at the last untrimmed record in the system, which is the oldest unexpired (not yet deleted) record in the change-log stream.
  + `LATEST`   –   Indicates that reading should start at the most recent record in the system, which is the latest unexpired (not yet deleted) record in the change-log stream.
+ **limit**  (in the CLI: `--limit`) –  a GetPropertygraphStreamInputLimitLong, of type: `long` (a signed 64-bit integer), not less than 1 or more than 100000 ?st?s.

  Specifies the maximum number of records to return. There is also a size limit of 10 MB on the response that can't be modified and that takes precedence over the number of records specified in the `limit` parameter. The response does include a threshold-breaching record if the 10 MB limit was reached.

  The range for `limit` is 1 to 100,000, with a default of 10.
+ **opNum**  (in the CLI: `--op-num`) –  a Long, of type: `long` (a signed 64-bit integer).

  The operation sequence number within the specified commit to start reading from in the change-log stream data. The default is `1`.

**Response**
+ **format**   – *Required:* a String, of type: `string` (a UTF-8 encoded string).

  Serialization format for the change records being returned. Currently, the only supported value is `PG_JSON`.
+ **lastEventId**   – *Required:* It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a String, of type: `string` (a UTF-8 encoded string).

  Sequence identifier of the last change in the stream response.

  An event ID is composed of two fields: a `commitNum`, which identifies a transaction that changed the graph, and an `opNum`, which identifies a specific operation within that transaction:  
**Example**  

  ```
  "eventId": {
            "commitNum": 12,
            "opNum": 1
          }
  ```
+ **lastTrxTimestampInMillis**   – *Required:* a Long, of type: `long` (a signed 64-bit integer).

  The time at which the commit for the transaction was requested, in milliseconds from the Unix epoch.
+ **records**   – *Required:* An array of [PropertygraphRecord](#PropertygraphRecord) objects.

  An array of serialized change-log stream records included in the response.
+ **totalRecords**   – *Required:* an Integer, of type: `integer` (a signed 32-bit integer).

  The total number of records in the response.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [ExpiredStreamException](data-api-dp-errors.md#ExpiredStreamException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [MemoryLimitExceededException](data-api-dp-errors.md#MemoryLimitExceededException)
+ [StreamRecordsNotFoundException](data-api-dp-errors.md#StreamRecordsNotFoundException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ThrottlingException](data-api-dp-errors.md#ThrottlingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## *Stream data structures:*
<a name="data-api-dp-streams-stream-data-structures-spacer"></a>

## PropertygraphRecord (structure)
<a name="PropertygraphRecord"></a>

Structure of a property graph record.

**Fields**
+ **commitTimestampInMillis** – This is *Required:* a Long, of type: `long` (a signed 64-bit integer).

  The time at which the commit for the transaction was requested, in milliseconds from the Unix epoch.
+ **data** – This is *Required:* A [PropertygraphData](#PropertygraphData) object.

  The serialized Gremlin or openCypher change record.
+ **eventId** – This is *Required:* It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a String, of type: `string` (a UTF-8 encoded string).

  The sequence identifier of the stream change record.
+ **isLastOp** – This is a Boolean, of type: `boolean` (a Boolean (true or false) value).

  Only present if this operation is the last one in its transaction. If present, it is set to true. It is useful for ensuring that an entire transaction is consumed.
+ **op** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The operation that created the change.

## PropertygraphData (structure)
<a name="PropertygraphData"></a>

A Gremlin or openCypher change record.

**Fields**
+ **from** – This is a String, of type: `string` (a UTF-8 encoded string).

  If this is an edge (type = `e`), the ID of the corresponding `from` vertex or source node.
+ **id** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the Gremlin or openCypher element.
+ **key** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The property name. For element labels, this is `label`.
+ **to** – This is a String, of type: `string` (a UTF-8 encoded string).

  If this is an edge (type = `e`), the ID of the corresponding `to` vertex or target node.
+ **type** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The type of this Gremlin or openCypher element. Must be one of:
  + **`v1`**   -   Vertex label for Gremlin, or node label for openCypher.
  + **`vp`**   -   Vertex properties for Gremlin, or node properties for openCypher.
  + **`e`**   -   Edge and edge label for Gremlin, or relationship and relationship type for openCypher.
  + **`ep`**   -   Edge properties for Gremlin, or relationship properties for openCypher.
+ **value** – This is *Required:* a Document, of type: `document` (a protocol-agnostic open content represented by a JSON-like data model).

  This is a JSON object that contains a value field for the value itself, and a datatype field for the JSON data type of that value:  
**Example**  

  ```
  "value": {
            "value": "(the new value"),
            "dataType": "(the JSON datatypenew value")
          }
  ```

# Neptune dataplane statistics and graph summary APIs
<a name="data-api-dp-statistics"></a>

**Property graph statistics actions:**
+ [GetPropertygraphStatistics (action)](#GetPropertygraphStatistics)
+ [ManagePropertygraphStatistics (action)](#ManagePropertygraphStatistics)
+ [DeletePropertygraphStatistics (action)](#DeletePropertygraphStatistics)
+ [GetPropertygraphSummary (action)](#GetPropertygraphSummary)

**Statistics structures:**
+ [Statistics (structure)](#Statistics)
+ [StatisticsSummary (structure)](#StatisticsSummary)
+ [DeleteStatisticsValueMap (structure)](#DeleteStatisticsValueMap)
+ [RefreshStatisticsIdMap (structure)](#RefreshStatisticsIdMap)
+ [NodeStructure (structure)](#NodeStructure)
+ [EdgeStructure (structure)](#EdgeStructure)
+ [SubjectStructure (structure)](#SubjectStructure)
+ [PropertygraphSummaryValueMap (structure)](#PropertygraphSummaryValueMap)
+ [PropertygraphSummary (structure)](#PropertygraphSummary)

## GetPropertygraphStatistics (action)
<a name="GetPropertygraphStatistics"></a>

         The AWS CLI name for this API is: `get-propertygraph-statistics`.

Gets property graph statistics (Gremlin and openCypher).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetStatisticsStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getstatisticsstatus) IAM action in that cluster.

**Request**
+ *No Request parameters.*

**Response**
+ **payload**   – *Required:* A [Statistics](#Statistics) object.

  Statistics for property-graph data.
+ **status**   – *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP return code of the request. If the request succeeded, the code is 200. See [Common error codes for DFE statistics request](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-dfe-statistics.html#neptune-dfe-statistics-errors) for a list of common errors.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [StatisticsNotAvailableException](data-api-dp-errors.md#StatisticsNotAvailableException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)

## ManagePropertygraphStatistics (action)
<a name="ManagePropertygraphStatistics"></a>

         The AWS CLI name for this API is: `manage-propertygraph-statistics`.

Manages the generation and use of property graph statistics.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:ManageStatistics](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#managestatistics) IAM action in that cluster.

**Request**
+ **mode**  (in the CLI: `--mode`) –  a StatisticsAutoGenerationMode, of type: `string` (a UTF-8 encoded string).

  The statistics generation mode. One of: `DISABLE_AUTOCOMPUTE`, `ENABLE_AUTOCOMPUTE`, or `REFRESH`, the last of which manually triggers DFE statistics generation.

**Response**
+ **payload**   – A [RefreshStatisticsIdMap](#RefreshStatisticsIdMap) object.

  This is only returned for refresh mode.
+ **status**   – *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP return code of the request. If the request succeeded, the code is 200.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [StatisticsNotAvailableException](data-api-dp-errors.md#StatisticsNotAvailableException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)

## DeletePropertygraphStatistics (action)
<a name="DeletePropertygraphStatistics"></a>

         The AWS CLI name for this API is: `delete-propertygraph-statistics`.

Deletes statistics for Gremlin and openCypher (property graph) data.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:DeleteStatistics](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletestatistics) IAM action in that cluster.

**Request**
+ *No Request parameters.*

**Response**
+ **payload**   – A [DeleteStatisticsValueMap](#DeleteStatisticsValueMap) object.

  The deletion payload.
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The cancel status.
+ **statusCode**   – an Integer, of type: `integer` (a signed 32-bit integer).

  The HTTP response code: 200 if the delete was successful, or 204 if there were no statistics to delete.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [StatisticsNotAvailableException](data-api-dp-errors.md#StatisticsNotAvailableException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)

## GetPropertygraphSummary (action)
<a name="GetPropertygraphSummary"></a>

         The AWS CLI name for this API is: `get-propertygraph-summary`.

Gets a graph summary for a property graph.

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetGraphSummary](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getgraphsummary) IAM action in that cluster.

**Request**
+ **mode**  (in the CLI: `--mode`) –  a GraphSummaryType, of type: `string` (a UTF-8 encoded string).

  Mode can take one of two values: `BASIC` (the default), and `DETAILED`.

**Response**
+ **payload**   – A [PropertygraphSummaryValueMap](#PropertygraphSummaryValueMap) object.

  Payload containing the property graph summary response.
+ **statusCode**   – an Integer, of type: `integer` (a signed 32-bit integer).

  The HTTP return code of the request. If the request succeeded, the code is 200.

**Errors**
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [StatisticsNotAvailableException](data-api-dp-errors.md#StatisticsNotAvailableException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [AccessDeniedException](data-api-dp-errors.md#AccessDeniedException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ReadOnlyViolationException](data-api-dp-errors.md#ReadOnlyViolationException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)

## *Statistics structures:*
<a name="data-api-dp-statistics-statistics-structures-spacer"></a>

## Statistics (structure)
<a name="Statistics"></a>

Contains statistics information. The DFE engine uses information about the data in your Neptune graph to make effective trade-offs when planning query execution. This information takes the form of statistics that include so-called characteristic sets and predicate statistics that can guide query planning. See [Managing statistics for the Neptune DFE to use](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-dfe-statistics.html).

**Fields**
+ **active** – This is a Boolean, of type: `boolean` (a Boolean (true or false) value).

  Indicates whether or not DFE statistics generation is enabled at all.
+ **autoCompute** – This is a Boolean, of type: `boolean` (a Boolean (true or false) value).

  Indicates whether or not automatic statistics generation is enabled.
+ **date** – This is a SyntheticTimestamp\$1date\$1time, of type: `string` (a UTF-8 encoded string).

  The UTC time at which DFE statistics have most recently been generated.
+ **note** – This is a String, of type: `string` (a UTF-8 encoded string).

  A note about problems in the case where statistics are invalid.
+ **signatureInfo** – This is A [StatisticsSummary](#StatisticsSummary) object.

  A StatisticsSummary structure that contains:
  + `signatureCount` - The total number of signatures across all characteristic sets.
  + `instanceCount` - The total number of characteristic-set instances.
  + `predicateCount` - The total number of unique predicates.
+ **statisticsId** – This is a String, of type: `string` (a UTF-8 encoded string).

  Reports the ID of the current statistics generation run. A value of -1 indicates that no statistics have been generated.

## StatisticsSummary (structure)
<a name="StatisticsSummary"></a>

Information about the characteristic sets generated in the statistics.

**Fields**
+ **instanceCount** – This is an Integer, of type: `integer` (a signed 32-bit integer).

  The total number of characteristic-set instances.
+ **predicateCount** – This is an Integer, of type: `integer` (a signed 32-bit integer).

  The total number of unique predicates.
+ **signatureCount** – This is an Integer, of type: `integer` (a signed 32-bit integer).

  The total number of signatures across all characteristic sets.

## DeleteStatisticsValueMap (structure)
<a name="DeleteStatisticsValueMap"></a>

The payload for DeleteStatistics.

**Fields**
+ **active** – This is a Boolean, of type: `boolean` (a Boolean (true or false) value).

  The current status of the statistics.
+ **statisticsId** – This is a String, of type: `string` (a UTF-8 encoded string).

  The ID of the statistics generation run that is currently occurring.

## RefreshStatisticsIdMap (structure)
<a name="RefreshStatisticsIdMap"></a>

Statistics for `REFRESH` mode.

**Fields**
+ **statisticsId** – This is a String, of type: `string` (a UTF-8 encoded string).

  The ID of the statistics generation run that is currently occurring.

## NodeStructure (structure)
<a name="NodeStructure"></a>

A node structure.

**Fields**
+ **count** – This is a Long, of type: `long` (a signed 64-bit integer).

  Number of nodes that have this specific structure.
+ **distinctOutgoingEdgeLabels** – This is a String, of type: `string` (a UTF-8 encoded string).

  A list of distinct outgoing edge labels present in this specific structure.
+ **nodeProperties** – This is a String, of type: `string` (a UTF-8 encoded string).

  A list of the node properties present in this specific structure.

## EdgeStructure (structure)
<a name="EdgeStructure"></a>

An edge structure.

**Fields**
+ **count** – This is a Long, of type: `long` (a signed 64-bit integer).

  The number of edges that have this specific structure.
+ **edgeProperties** – This is a String, of type: `string` (a UTF-8 encoded string).

  A list of edge properties present in this specific structure.

## SubjectStructure (structure)
<a name="SubjectStructure"></a>

A subject structure.

**Fields**
+ **count** – This is a Long, of type: `long` (a signed 64-bit integer).

  Number of occurrences of this specific structure.
+ **predicates** – This is a String, of type: `string` (a UTF-8 encoded string).

  A list of predicates present in this specific structure.

## PropertygraphSummaryValueMap (structure)
<a name="PropertygraphSummaryValueMap"></a>

Payload for the property graph summary response.

**Fields**
+ **graphSummary** – This is A [PropertygraphSummary](#PropertygraphSummary) object.

  The graph summary.
+ **lastStatisticsComputationTime** – This is a SyntheticTimestamp\$1date\$1time, of type: `string` (a UTF-8 encoded string).

  The timestamp, in ISO 8601 format, of the time at which Neptune last computed statistics.
+ **version** – This is a String, of type: `string` (a UTF-8 encoded string).

  The version of this graph summary response.

## PropertygraphSummary (structure)
<a name="PropertygraphSummary"></a>

The graph summary API returns a read-only list of node and edge labels and property keys, along with counts of nodes, edges, and properties. See [Graph summary response for a property graph (PG)](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-graph-summary.html#neptune-graph-summary-pg-response).

**Fields**
+ **edgeLabels** – This is a String, of type: `string` (a UTF-8 encoded string).

  A list of the distinct edge labels in the graph.
+ **edgeProperties** – This is LongValuedMap objects It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a Long, of type: `long` (a signed 64-bit integer).

  A list of the distinct edge properties in the graph, along with the count of edges where each property is used.
+ **edgeStructures** – This is An array of [EdgeStructure](#EdgeStructure) objects.

  This field is only present when the requested mode is `DETAILED`. It contains a list of edge structures.
+ **nodeLabels** – This is a String, of type: `string` (a UTF-8 encoded string).

  A list of the distinct node labels in the graph.
+ **nodeProperties** – This is LongValuedMap objects It is a map array of key-value pairs where:

      Each key is a a String, of type: `string` (a UTF-8 encoded string).

      Each value is a a Long, of type: `long` (a signed 64-bit integer).

  The number of distinct node properties in the graph.
+ **nodeStructures** – This is An array of [NodeStructure](#NodeStructure) objects.

  This field is only present when the requested mode is `DETAILED`. It contains a list of node structures.
+ **numEdgeLabels** – This is a Long, of type: `long` (a signed 64-bit integer).

  The number of distinct edge labels in the graph.
+ **numEdgeProperties** – This is a Long, of type: `long` (a signed 64-bit integer).

  The number of distinct edge properties in the graph.
+ **numEdges** – This is a Long, of type: `long` (a signed 64-bit integer).

  The number of edges in the graph.
+ **numNodeLabels** – This is a Long, of type: `long` (a signed 64-bit integer).

  The number of distinct node labels in the graph.
+ **numNodeProperties** – This is a Long, of type: `long` (a signed 64-bit integer).

  A list of the distinct node properties in the graph, along with the count of nodes where each property is used.
+ **numNodes** – This is a Long, of type: `long` (a signed 64-bit integer).

  The number of nodes in the graph.
+ **totalEdgePropertyValues** – This is a Long, of type: `long` (a signed 64-bit integer).

  The total number of usages of all edge properties.
+ **totalNodePropertyValues** – This is a Long, of type: `long` (a signed 64-bit integer).

  The total number of usages of all node properties.

# Neptune ML data-processing API
<a name="data-api-dp-ml-data-processing"></a>

**Data-processing actions:**
+ [StartMLDataProcessingJob (action)](#StartMLDataProcessingJob)
+ [ListMLDataProcessingJobs (action)](#ListMLDataProcessingJobs)
+ [GetMLDataProcessingJob (action)](#GetMLDataProcessingJob)
+ [CancelMLDataProcessingJob (action)](#CancelMLDataProcessingJob)

**ML general-purpose structures:**
+ [MlResourceDefinition (structure)](#MlResourceDefinition)
+ [MlConfigDefinition (structure)](#MlConfigDefinition)

## StartMLDataProcessingJob (action)
<a name="StartMLDataProcessingJob"></a>

         The AWS CLI name for this API is: `start-ml-data-processing-job`.

Creates a new Neptune ML data processing job for processing the graph data exported from Neptune for training. See [The `dataprocessing` command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-dataprocessing.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:StartMLModelDataProcessingJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startmlmodeldataprocessingjob) IAM action in that cluster.

**Request**
+ **configFileName**  (in the CLI: `--config-file-name`) –  a String, of type: `string` (a UTF-8 encoded string).

  A data specification file that describes how to load the exported graph data for training. The file is automatically generated by the Neptune export toolkit. The default is `training-data-configuration.json`.
+ **id**  (in the CLI: `--id`) –  a String, of type: `string` (a UTF-8 encoded string).

  A unique identifier for the new job. The default is an autogenerated UUID.
+ **inputDataS3Location**  (in the CLI: `--input-data-s3-location`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The URI of the Amazon S3 location where you want SageMaker to download the data needed to run the data processing job.
+ **modelType**  (in the CLI: `--model-type`) –  a String, of type: `string` (a UTF-8 encoded string).

  One of the two model types that Neptune ML currently supports: heterogeneous graph models (`heterogeneous`), and knowledge graph (`kge`). The default is none. If not specified, Neptune ML chooses the model type automatically based on the data.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Resource Name (ARN) of an IAM role that SageMaker can assume to perform tasks on your behalf. This must be listed in your DB cluster parameter group or an error will occur.
+ **previousDataProcessingJobId**  (in the CLI: `--previous-data-processing-job-id`) –  a String, of type: `string` (a UTF-8 encoded string).

  The job ID of a completed data processing job run on an earlier version of the data.
+ **processedDataS3Location**  (in the CLI: `--processed-data-s3-location`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The URI of the Amazon S3 location where you want SageMaker to save the results of a data processing job.
+ **processingInstanceType**  (in the CLI: `--processing-instance-type`) –  a String, of type: `string` (a UTF-8 encoded string).

  The type of ML instance used during data processing. Its memory should be large enough to hold the processed dataset. The default is the smallest ml.r5 type whose memory is ten times larger than the size of the exported graph data on disk.
+ **processingInstanceVolumeSizeInGB**  (in the CLI: `--processing-instance-volume-size-in-gb`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  The disk volume size of the processing instance. Both input data and processed data are stored on disk, so the volume size must be large enough to hold both data sets. The default is 0. If not specified or 0, Neptune ML chooses the volume size automatically based on the data size.
+ **processingTimeOutInSeconds**  (in the CLI: `--processing-time-out-in-seconds`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  Timeout in seconds for the data processing job. The default is 86,400 (1 day).
+ **s3OutputEncryptionKMSKey**  (in the CLI: `--s-3-output-encryption-kms-key`) –  a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Key Management Service (Amazon KMS) key that SageMaker uses to encrypt the output of the processing job. The default is none.
+ **sagemakerIamRoleArn**  (in the CLI: `--sagemaker-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role for SageMaker execution. This must be listed in your DB cluster parameter group or an error will occur.
+ **securityGroupIds**  (in the CLI: `--security-group-ids`) –  a String, of type: `string` (a UTF-8 encoded string).

  The VPC security group IDs. The default is None.
+ **subnets**  (in the CLI: `--subnets`) –  a String, of type: `string` (a UTF-8 encoded string).

  The IDs of the subnets in the Neptune VPC. The default is None.
+ **volumeEncryptionKMSKey**  (in the CLI: `--volume-encryption-kms-key`) –  a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Key Management Service (Amazon KMS) key that SageMaker uses to encrypt data on the storage volume attached to the ML compute instances that run the training job. The default is None.

**Response**
+ **arn**   – a String, of type: `string` (a UTF-8 encoded string).

  The ARN of the data processing job.
+ **creationTimeInMillis**   – a Long, of type: `long` (a signed 64-bit integer).

  The time it took to create the new processing job, in milliseconds.
+ **id**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique ID of the new data processing job.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## ListMLDataProcessingJobs (action)
<a name="ListMLDataProcessingJobs"></a>

         The AWS CLI name for this API is: `list-ml-data-processing-jobs`.

Returns a list of Neptune ML data processing jobs. See [Listing active data-processing jobs using the Neptune ML dataprocessing command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-dataprocessing.html#machine-learning-api-dataprocessing-list-jobs).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:ListMLDataProcessingJobs](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#listmldataprocessingjobs) IAM action in that cluster.

**Request**
+ **maxItems**  (in the CLI: `--max-items`) –  a ListMLDataProcessingJobsInputMaxItemsInteger, of type: `integer` (a signed 32-bit integer), not less than 1 or more than 1024 ?st?s.

  The maximum number of items to return (from 1 to 1024; the default is 10).
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **ids**   – a String, of type: `string` (a UTF-8 encoded string).

  A page listing data processing job IDs.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## GetMLDataProcessingJob (action)
<a name="GetMLDataProcessingJob"></a>

         The AWS CLI name for this API is: `get-ml-data-processing-job`.

Retrieves information about a specified data processing job. See [The `dataprocessing` command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-dataprocessing.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:neptune-db:GetMLDataProcessingJobStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getmldataprocessingjobstatus) IAM action in that cluster.

**Request**
+ **id**  (in the CLI: `--id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the data-processing job to be retrieved.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **id**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of this data-processing job.
+ **processingJob**   – A [MlResourceDefinition](#MlResourceDefinition) object.

  Definition of the data processing job.
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  Status of the data processing job.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## CancelMLDataProcessingJob (action)
<a name="CancelMLDataProcessingJob"></a>

         The AWS CLI name for this API is: `cancel-ml-data-processing-job`.

Cancels a Neptune ML data processing job. See [The `dataprocessing` command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-dataprocessing.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:CancelMLDataProcessingJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelmldataprocessingjob) IAM action in that cluster.

**Request**
+ **clean**  (in the CLI: `--clean`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If set to `TRUE`, this flag specifies that all Neptune ML S3 artifacts should be deleted when the job is stopped. The default is `FALSE`.
+ **id**  (in the CLI: `--id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the data-processing job.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The status of the cancellation request.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## *ML general-purpose structures:*
<a name="data-api-dp-ml-data-processing-ml-general-purpose-structures-spacer"></a>

## MlResourceDefinition (structure)
<a name="MlResourceDefinition"></a>

Defines a Neptune ML resource.

**Fields**
+ **arn** – This is a String, of type: `string` (a UTF-8 encoded string).

  The resource ARN.
+ **cloudwatchLogUrl** – This is a String, of type: `string` (a UTF-8 encoded string).

  The CloudWatch log URL for the resource.
+ **failureReason** – This is a String, of type: `string` (a UTF-8 encoded string).

  The failure reason, in case of a failure.
+ **name** – This is a String, of type: `string` (a UTF-8 encoded string).

  The resource name.
+ **outputLocation** – This is a String, of type: `string` (a UTF-8 encoded string).

  The output location.
+ **status** – This is a String, of type: `string` (a UTF-8 encoded string).

  The resource status.

## MlConfigDefinition (structure)
<a name="MlConfigDefinition"></a>

Contains a Neptune ML configuration.

**Fields**
+ **arn** – This is a String, of type: `string` (a UTF-8 encoded string).

  The ARN for the configuration.
+ **name** – This is a String, of type: `string` (a UTF-8 encoded string).

  The configuration name.

# Neptune ML model training API
<a name="data-api-dp-ml-training"></a>

**Model training actions:**
+ [StartMLModelTrainingJob (action)](#StartMLModelTrainingJob)
+ [ListMLModelTrainingJobs (action)](#ListMLModelTrainingJobs)
+ [GetMLModelTrainingJob (action)](#GetMLModelTrainingJob)
+ [CancelMLModelTrainingJob (action)](#CancelMLModelTrainingJob)

**Model training structures:**
+ [CustomModelTrainingParameters (structure)](#CustomModelTrainingParameters)

## StartMLModelTrainingJob (action)
<a name="StartMLModelTrainingJob"></a>

         The AWS CLI name for this API is: `start-ml-model-training-job`.

Creates a new Neptune ML model training job. See [Model training using the `modeltraining` command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-modeltraining.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:StartMLModelTrainingJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startmlmodeltrainingjob) IAM action in that cluster.

**Request**
+ **baseProcessingInstanceType**  (in the CLI: `--base-processing-instance-type`) –  a String, of type: `string` (a UTF-8 encoded string).

  The type of ML instance used in preparing and managing training of ML models. This is a CPU instance chosen based on memory requirements for processing the training data and model.
+ **customModelTrainingParameters**  (in the CLI: `--custom-model-training-parameters`) –  A [CustomModelTrainingParameters](#CustomModelTrainingParameters) object.

  The configuration for custom model training. This is a JSON object.
+ **dataProcessingJobId**  (in the CLI: `--data-processing-job-id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The job ID of the completed data-processing job that has created the data that the training will work with.
+ **enableManagedSpotTraining**  (in the CLI: `--enable-managed-spot-training`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot instances. The default is `False`.
+ **id**  (in the CLI: `--id`) –  a String, of type: `string` (a UTF-8 encoded string).

  A unique identifier for the new job. The default is An autogenerated UUID.
+ **maxHPONumberOfTrainingJobs**  (in the CLI: `--max-hpo-number-of-training-jobs`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  Maximum total number of training jobs to start for the hyperparameter tuning job. The default is 2. Neptune ML automatically tunes the hyperparameters of the machine learning model. To obtain a model that performs well, use at least 10 jobs (in other words, set `maxHPONumberOfTrainingJobs` to 10). In general, the more tuning runs, the better the results.
+ **maxHPOParallelTrainingJobs**  (in the CLI: `--max-hpo-parallel-training-jobs`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  Maximum number of parallel training jobs to start for the hyperparameter tuning job. The default is 2. The number of parallel jobs you can run is limited by the available resources on your training instance.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.
+ **previousModelTrainingJobId**  (in the CLI: `--previous-model-training-job-id`) –  a String, of type: `string` (a UTF-8 encoded string).

  The job ID of a completed model-training job that you want to update incrementally based on updated data.
+ **s3OutputEncryptionKMSKey**  (in the CLI: `--s-3-output-encryption-kms-key`) –  a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing job. The default is none.
+ **sagemakerIamRoleArn**  (in the CLI: `--sagemaker-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role for SageMaker execution.This must be listed in your DB cluster parameter group or an error will occur.
+ **securityGroupIds**  (in the CLI: `--security-group-ids`) –  a String, of type: `string` (a UTF-8 encoded string).

  The VPC security group IDs. The default is None.
+ **subnets**  (in the CLI: `--subnets`) –  a String, of type: `string` (a UTF-8 encoded string).

  The IDs of the subnets in the Neptune VPC. The default is None.
+ **trainingInstanceType**  (in the CLI: `--training-instance-type`) –  a String, of type: `string` (a UTF-8 encoded string).

  The type of ML instance used for model training. All Neptune ML models support CPU, GPU, and multiGPU training. The default is `ml.p3.2xlarge`. Choosing the right instance type for training depends on the task type, graph size, and your budget.
+ **trainingInstanceVolumeSizeInGB**  (in the CLI: `--training-instance-volume-size-in-gb`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  The disk volume size of the training instance. Both input data and the output model are stored on disk, so the volume size must be large enough to hold both data sets. The default is 0. If not specified or 0, Neptune ML selects a disk volume size based on the recommendation generated in the data processing step.
+ **trainingTimeOutInSeconds**  (in the CLI: `--training-time-out-in-seconds`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  Timeout in seconds for the training job. The default is 86,400 (1 day).
+ **trainModelS3Location**  (in the CLI: `--train-model-s3-location`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The location in Amazon S3 where the model artifacts are to be stored.
+ **volumeEncryptionKMSKey**  (in the CLI: `--volume-encryption-kms-key`) –  a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume attached to the ML compute instances that run the training job. The default is None.

**Response**
+ **arn**   – a String, of type: `string` (a UTF-8 encoded string).

  The ARN of the new model training job.
+ **creationTimeInMillis**   – a Long, of type: `long` (a signed 64-bit integer).

  The model training job creation time, in milliseconds.
+ **id**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique ID of the new model training job.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## ListMLModelTrainingJobs (action)
<a name="ListMLModelTrainingJobs"></a>

         The AWS CLI name for this API is: `list-ml-model-training-jobs`.

Lists Neptune ML model-training jobs. See [Model training using the `modeltraining` command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-modeltraining.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:neptune-db:ListMLModelTrainingJobs](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#neptune-db:listmlmodeltrainingjobs) IAM action in that cluster.

**Request**
+ **maxItems**  (in the CLI: `--max-items`) –  a ListMLModelTrainingJobsInputMaxItemsInteger, of type: `integer` (a signed 32-bit integer), not less than 1 or more than 1024 ?st?s.

  The maximum number of items to return (from 1 to 1024; the default is 10).
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **ids**   – a String, of type: `string` (a UTF-8 encoded string).

  A page of the list of model training job IDs.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## GetMLModelTrainingJob (action)
<a name="GetMLModelTrainingJob"></a>

         The AWS CLI name for this API is: `get-ml-model-training-job`.

Retrieves information about a Neptune ML model training job. See [Model training using the `modeltraining` command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-modeltraining.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetMLModelTrainingJobStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getmlmodeltrainingjobstatus) IAM action in that cluster.

**Request**
+ **id**  (in the CLI: `--id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the model-training job to retrieve.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **hpoJob**   – A [MlResourceDefinition](data-api-dp-ml-data-processing.md#MlResourceDefinition) object.

  The HPO job.
+ **id**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of this model-training job.
+ **mlModels**   – An array of [MlConfigDefinition](data-api-dp-ml-data-processing.md#MlConfigDefinition) objects.

  A list of the configurations of the ML models being used.
+ **modelTransformJob**   – A [MlResourceDefinition](data-api-dp-ml-data-processing.md#MlResourceDefinition) object.

  The model transform job.
+ **processingJob**   – A [MlResourceDefinition](data-api-dp-ml-data-processing.md#MlResourceDefinition) object.

  The data processing job.
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The status of the model training job.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## CancelMLModelTrainingJob (action)
<a name="CancelMLModelTrainingJob"></a>

         The AWS CLI name for this API is: `cancel-ml-model-training-job`.

Cancels a Neptune ML model training job. See [Model training using the `modeltraining` command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-modeltraining.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:CancelMLModelTrainingJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelmlmodeltrainingjob) IAM action in that cluster.

**Request**
+ **clean**  (in the CLI: `--clean`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If set to `TRUE`, this flag specifies that all Amazon S3 artifacts should be deleted when the job is stopped. The default is `FALSE`.
+ **id**  (in the CLI: `--id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the model-training job to be canceled.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The status of the cancellation.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## *Model training structures:*
<a name="data-api-dp-ml-training-model-training-structures-spacer"></a>

## CustomModelTrainingParameters (structure)
<a name="CustomModelTrainingParameters"></a>

Contains custom model training parameters. See [Custom models in Neptune ML](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-custom-models.html).

**Fields**
+ **sourceS3DirectoryPath** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The path to the Amazon S3 location where the Python module implementing your model is located. This must point to a valid existing Amazon S3 location that contains, at a minimum, a training script, a transform script, and a `model-hpo-configuration.json` file.
+ **trainingEntryPointScript** – This is a String, of type: `string` (a UTF-8 encoded string).

  The name of the entry point in your module of a script that performs model training and takes hyperparameters as command-line arguments, including fixed hyperparameters. The default is `training.py`.
+ **transformEntryPointScript** – This is a String, of type: `string` (a UTF-8 encoded string).

  The name of the entry point in your module of a script that should be run after the best model from the hyperparameter search has been identified, to compute the model artifacts necessary for model deployment. It should be able to run with no command-line arguments.The default is `transform.py`.

# Neptune ML model transform API
<a name="data-api-dp-ml-transform"></a>

**Model transform actions:**
+ [StartMLModelTransformJob (action)](#StartMLModelTransformJob)
+ [ListMLModelTransformJobs (action)](#ListMLModelTransformJobs)
+ [GetMLModelTransformJob (action)](#GetMLModelTransformJob)
+ [CancelMLModelTransformJob (action)](#CancelMLModelTransformJob)

**Model transform structures:**
+ [CustomModelTransformParameters (structure)](#CustomModelTransformParameters)

## StartMLModelTransformJob (action)
<a name="StartMLModelTransformJob"></a>

         The AWS CLI name for this API is: `start-ml-model-transform-job`.

Creates a new model transform job. See [Use a trained model to generate new model artifacts](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:StartMLModelTransformJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startmlmodeltransformjob) IAM action in that cluster.

**Request**
+ **baseProcessingInstanceType**  (in the CLI: `--base-processing-instance-type`) –  a String, of type: `string` (a UTF-8 encoded string).

  The type of ML instance used in preparing and managing training of ML models. This is an ML compute instance chosen based on memory requirements for processing the training data and model.
+ **baseProcessingInstanceVolumeSizeInGB**  (in the CLI: `--base-processing-instance-volume-size-in-gb`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  The disk volume size of the training instance in gigabytes. The default is 0. Both input data and the output model are stored on disk, so the volume size must be large enough to hold both data sets. If not specified or 0, Neptune ML selects a disk volume size based on the recommendation generated in the data processing step.
+ **customModelTransformParameters**  (in the CLI: `--custom-model-transform-parameters`) –  A [CustomModelTransformParameters](#CustomModelTransformParameters) object.

  Configuration information for a model transform using a custom model. The `customModelTransformParameters` object contains the following fields, which must have values compatible with the saved model parameters from the training job:
+ **dataProcessingJobId**  (in the CLI: `--data-processing-job-id`) –  a String, of type: `string` (a UTF-8 encoded string).

  The job ID of a completed data-processing job. You must include either `dataProcessingJobId` and a `mlModelTrainingJobId`, or a `trainingJobName`.
+ **id**  (in the CLI: `--id`) –  a String, of type: `string` (a UTF-8 encoded string).

  A unique identifier for the new job. The default is an autogenerated UUID.
+ **mlModelTrainingJobId**  (in the CLI: `--ml-model-training-job-id`) –  a String, of type: `string` (a UTF-8 encoded string).

  The job ID of a completed model-training job. You must include either `dataProcessingJobId` and a `mlModelTrainingJobId`, or a `trainingJobName`.
+ **modelTransformOutputS3Location**  (in the CLI: `--model-transform-output-s3-location`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The location in Amazon S3 where the model artifacts are to be stored.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.
+ **s3OutputEncryptionKMSKey**  (in the CLI: `--s-3-output-encryption-kms-key`) –  a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing job. The default is none.
+ **sagemakerIamRoleArn**  (in the CLI: `--sagemaker-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role for SageMaker execution. This must be listed in your DB cluster parameter group or an error will occur.
+ **securityGroupIds**  (in the CLI: `--security-group-ids`) –  a String, of type: `string` (a UTF-8 encoded string).

  The VPC security group IDs. The default is None.
+ **subnets**  (in the CLI: `--subnets`) –  a String, of type: `string` (a UTF-8 encoded string).

  The IDs of the subnets in the Neptune VPC. The default is None.
+ **trainingJobName**  (in the CLI: `--training-job-name`) –  a String, of type: `string` (a UTF-8 encoded string).

  The name of a completed SageMaker training job. You must include either `dataProcessingJobId` and a `mlModelTrainingJobId`, or a `trainingJobName`.
+ **volumeEncryptionKMSKey**  (in the CLI: `--volume-encryption-kms-key`) –  a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume attached to the ML compute instances that run the training job. The default is None.

**Response**
+ **arn**   – a String, of type: `string` (a UTF-8 encoded string).

  The ARN of the model transform job.
+ **creationTimeInMillis**   – a Long, of type: `long` (a signed 64-bit integer).

  The creation time of the model transform job, in milliseconds.
+ **id**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique ID of the new model transform job.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## ListMLModelTransformJobs (action)
<a name="ListMLModelTransformJobs"></a>

         The AWS CLI name for this API is: `list-ml-model-transform-jobs`.

Returns a list of model transform job IDs. See [Use a trained model to generate new model artifacts](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:ListMLModelTransformJobs](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#listmlmodeltransformjobs) IAM action in that cluster.

**Request**
+ **maxItems**  (in the CLI: `--max-items`) –  a ListMLModelTransformJobsInputMaxItemsInteger, of type: `integer` (a signed 32-bit integer), not less than 1 or more than 1024 ?st?s.

  The maximum number of items to return (from 1 to 1024; the default is 10).
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **ids**   – a String, of type: `string` (a UTF-8 encoded string).

  A page from the list of model transform IDs.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## GetMLModelTransformJob (action)
<a name="GetMLModelTransformJob"></a>

         The AWS CLI name for this API is: `get-ml-model-transform-job`.

Gets information about a specified model transform job. See [Use a trained model to generate new model artifacts](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetMLModelTransformJobStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getmlmodeltransformjobstatus) IAM action in that cluster.

**Request**
+ **id**  (in the CLI: `--id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the model-transform job to be reetrieved.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **baseProcessingJob**   – A [MlResourceDefinition](data-api-dp-ml-data-processing.md#MlResourceDefinition) object.

  The base data processing job.
+ **id**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the model-transform job to be retrieved.
+ **models**   – An array of [MlConfigDefinition](data-api-dp-ml-data-processing.md#MlConfigDefinition) objects.

  A list of the configuration information for the models being used.
+ **remoteModelTransformJob**   – A [MlResourceDefinition](data-api-dp-ml-data-processing.md#MlResourceDefinition) object.

  The remote model transform job.
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The status of the model-transform job.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## CancelMLModelTransformJob (action)
<a name="CancelMLModelTransformJob"></a>

         The AWS CLI name for this API is: `cancel-ml-model-transform-job`.

Cancels a specified model transform job. See [Use a trained model to generate new model artifacts](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:CancelMLModelTransformJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelmlmodeltransformjob) IAM action in that cluster.

**Request**
+ **clean**  (in the CLI: `--clean`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If this flag is set to `TRUE`, all Neptune ML S3 artifacts should be deleted when the job is stopped. The default is `FALSE`.
+ **id**  (in the CLI: `--id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique ID of the model transform job to be canceled.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  the status of the cancelation.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## *Model transform structures:*
<a name="data-api-dp-ml-transform-model-transform-structures-spacer"></a>

## CustomModelTransformParameters (structure)
<a name="CustomModelTransformParameters"></a>

Contains custom model transform parameters. See [Use a trained model to generate new model artifacts](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).

**Fields**
+ **sourceS3DirectoryPath** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The path to the Amazon S3 location where the Python module implementing your model is located. This must point to a valid existing Amazon S3 location that contains, at a minimum, a training script, a transform script, and a `model-hpo-configuration.json` file.
+ **transformEntryPointScript** – This is a String, of type: `string` (a UTF-8 encoded string).

  The name of the entry point in your module of a script that should be run after the best model from the hyperparameter search has been identified, to compute the model artifacts necessary for model deployment. It should be able to run with no command-line arguments. The default is `transform.py`.

# Neptune ML inference endpoint API
<a name="data-api-dp-inference"></a>

**Inference endpoint actions:**
+ [CreateMLEndpoint (action)](#CreateMLEndpoint)
+ [ListMLEndpoints (action)](#ListMLEndpoints)
+ [GetMLEndpoint (action)](#GetMLEndpoint)
+ [DeleteMLEndpoint (action)](#DeleteMLEndpoint)

## CreateMLEndpoint (action)
<a name="CreateMLEndpoint"></a>

         The AWS CLI name for this API is: `create-ml-endpoint`.

Creates a new Neptune ML inference endpoint that lets you query one specific model that the model-training process constructed. See [Managing inference endpoints using the endpoints command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-endpoints.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:CreateMLEndpoint](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#createmlendpoint) IAM action in that cluster.

**Request**
+ **id**  (in the CLI: `--id`) –  a String, of type: `string` (a UTF-8 encoded string).

  A unique identifier for the new inference endpoint. The default is an autogenerated timestamped name.
+ **instanceCount**  (in the CLI: `--instance-count`) –  an Integer, of type: `integer` (a signed 32-bit integer).

  The minimum number of Amazon EC2 instances to deploy to an endpoint for prediction. The default is 1
+ **instanceType**  (in the CLI: `--instance-type`) –  a String, of type: `string` (a UTF-8 encoded string).

  The type of Neptune ML instance to use for online servicing. The default is `ml.m5.xlarge`. Choosing the ML instance for an inference endpoint depends on the task type, the graph size, and your budget.
+ **mlModelTrainingJobId**  (in the CLI: `--ml-model-training-job-id`) –  a String, of type: `string` (a UTF-8 encoded string).

  The job Id of the completed model-training job that has created the model that the inference endpoint will point to. You must supply either the `mlModelTrainingJobId` or the `mlModelTransformJobId`.
+ **mlModelTransformJobId**  (in the CLI: `--ml-model-transform-job-id`) –  a String, of type: `string` (a UTF-8 encoded string).

  The job Id of the completed model-transform job. You must supply either the `mlModelTrainingJobId` or the `mlModelTransformJobId`.
+ **modelName**  (in the CLI: `--model-name`) –  a String, of type: `string` (a UTF-8 encoded string).

  Model type for training. By default the Neptune ML model is automatically based on the `modelType` used in data processing, but you can specify a different model type here. The default is `rgcn` for heterogeneous graphs and `kge` for knowledge graphs. The only valid value for heterogeneous graphs is `rgcn`. Valid values for knowledge graphs are: `kge`, `transe`, `distmult`, and `rotate`.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role providing Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will be thrown.
+ **update**  (in the CLI: `--update`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If set to `true`, `update` indicates that this is an update request. The default is `false`. You must supply either the `mlModelTrainingJobId` or the `mlModelTransformJobId`.
+ **volumeEncryptionKMSKey**  (in the CLI: `--volume-encryption-kms-key`) –  a String, of type: `string` (a UTF-8 encoded string).

  The Amazon Key Management Service (Amazon KMS) key that SageMaker uses to encrypt data on the storage volume attached to the ML compute instances that run the training job. The default is None.

**Response**
+ **arn**   – a String, of type: `string` (a UTF-8 encoded string).

  The ARN for the new inference endpoint.
+ **creationTimeInMillis**   – a Long, of type: `long` (a signed 64-bit integer).

  The endpoint creation time, in milliseconds.
+ **id**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique ID of the new inference endpoint.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## ListMLEndpoints (action)
<a name="ListMLEndpoints"></a>

         The AWS CLI name for this API is: `list-ml-endpoints`.

Lists existing inference endpoints. See [Managing inference endpoints using the endpoints command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-endpoints.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:ListMLEndpoints](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#listmlendpoints) IAM action in that cluster.

**Request**
+ **maxItems**  (in the CLI: `--max-items`) –  a ListMLEndpointsInputMaxItemsInteger, of type: `integer` (a signed 32-bit integer), not less than 1 or more than 1024 ?st?s.

  The maximum number of items to return (from 1 to 1024; the default is 10.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **ids**   – a String, of type: `string` (a UTF-8 encoded string).

  A page from the list of inference endpoint IDs.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## GetMLEndpoint (action)
<a name="GetMLEndpoint"></a>

         The AWS CLI name for this API is: `get-ml-endpoint`.

Retrieves details about an inference endpoint. See [Managing inference endpoints using the endpoints command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-endpoints.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:GetMLEndpointStatus](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getmlendpointstatus) IAM action in that cluster.

**Request**
+ **id**  (in the CLI: `--id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the inference endpoint.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.

**Response**
+ **endpoint**   – A [MlResourceDefinition](data-api-dp-ml-data-processing.md#MlResourceDefinition) object.

  The endpoint definition.
+ **endpointConfig**   – A [MlConfigDefinition](data-api-dp-ml-data-processing.md#MlConfigDefinition) object.

  The endpoint configuration
+ **id**   – a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the inference endpoint.
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The status of the inference endpoint.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## DeleteMLEndpoint (action)
<a name="DeleteMLEndpoint"></a>

         The AWS CLI name for this API is: `delete-ml-endpoint`.

Cancels the creation of a Neptune ML inference endpoint. See [Managing inference endpoints using the endpoints command](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-endpoints.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:DeleteMLEndpoint](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletemlendpoint) IAM action in that cluster.

**Request**
+ **clean**  (in the CLI: `--clean`) –  a Boolean, of type: `boolean` (a Boolean (true or false) value).

  If this flag is set to `TRUE`, all Neptune ML S3 artifacts should be deleted when the job is stopped. The default is `FALSE`.
+ **id**  (in the CLI: `--id`) –  *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The unique identifier of the inference endpoint.
+ **neptuneIamRoleArn**  (in the CLI: `--neptune-iam-role-arn`) –  a String, of type: `string` (a UTF-8 encoded string).

  The ARN of an IAM role providing Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will be thrown.

**Response**
+ **status**   – a String, of type: `string` (a UTF-8 encoded string).

  The status of the cancellation.

**Errors**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [BadRequestException](data-api-dp-errors.md#BadRequestException)
+ [MLResourceNotFoundException](data-api-dp-errors.md#MLResourceNotFoundException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [MissingParameterException](data-api-dp-errors.md#MissingParameterException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

# Neptune dataplane API Exceptions
<a name="data-api-dp-errors"></a>

**Exceptions:**
+ [AccessDeniedException (structure)](#AccessDeniedException)
+ [BadRequestException (structure)](#BadRequestException)
+ [BulkLoadIdNotFoundException (structure)](#BulkLoadIdNotFoundException)
+ [CancelledByUserException (structure)](#CancelledByUserException)
+ [ClientTimeoutException (structure)](#ClientTimeoutException)
+ [ConcurrentModificationException (structure)](#ConcurrentModificationException)
+ [ConstraintViolationException (structure)](#ConstraintViolationException)
+ [ExpiredStreamException (structure)](#ExpiredStreamException)
+ [FailureByQueryException (structure)](#FailureByQueryException)
+ [IllegalArgumentException (structure)](#IllegalArgumentException)
+ [InternalFailureException (structure)](#InternalFailureException)
+ [InvalidArgumentException (structure)](#InvalidArgumentException)
+ [InvalidNumericDataException (structure)](#InvalidNumericDataException)
+ [InvalidParameterException (structure)](#InvalidParameterException)
+ [LoadUrlAccessDeniedException (structure)](#LoadUrlAccessDeniedException)
+ [MalformedQueryException (structure)](#MalformedQueryException)
+ [MemoryLimitExceededException (structure)](#MemoryLimitExceededException)
+ [MethodNotAllowedException (structure)](#MethodNotAllowedException)
+ [MissingParameterException (structure)](#MissingParameterException)
+ [MLResourceNotFoundException (structure)](#MLResourceNotFoundException)
+ [ParsingException (structure)](#ParsingException)
+ [PreconditionsFailedException (structure)](#PreconditionsFailedException)
+ [QueryLimitExceededException (structure)](#QueryLimitExceededException)
+ [QueryLimitException (structure)](#QueryLimitException)
+ [QueryTooLargeException (structure)](#QueryTooLargeException)
+ [ReadOnlyViolationException (structure)](#ReadOnlyViolationException)
+ [S3Exception (structure)](#S3Exception)
+ [ServerShutdownException (structure)](#ServerShutdownException)
+ [StatisticsNotAvailableException (structure)](#StatisticsNotAvailableException)
+ [StreamRecordsNotFoundException (structure)](#StreamRecordsNotFoundException)
+ [ThrottlingException (structure)](#ThrottlingException)
+ [TimeLimitExceededException (structure)](#TimeLimitExceededException)
+ [TooManyRequestsException (structure)](#TooManyRequestsException)
+ [UnsupportedOperationException (structure)](#UnsupportedOperationException)
+ [UnloadUrlAccessDeniedException (structure)](#UnloadUrlAccessDeniedException)

## AccessDeniedException (structure)
<a name="AccessDeniedException"></a>

Raised in case of an authentication or authorization failure.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## BadRequestException (structure)
<a name="BadRequestException"></a>

Raised when a request is submitted that cannot be processed.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the bad request.

## BulkLoadIdNotFoundException (structure)
<a name="BulkLoadIdNotFoundException"></a>

Raised when a specified bulk-load job ID cannot be found.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The bulk-load job ID that could not be found.

## CancelledByUserException (structure)
<a name="CancelledByUserException"></a>

Raised when a user cancelled a request.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## ClientTimeoutException (structure)
<a name="ClientTimeoutException"></a>

Raised when a request timed out in the client.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## ConcurrentModificationException (structure)
<a name="ConcurrentModificationException"></a>

Raised when a request attempts to modify data that is concurrently being modified by another process.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## ConstraintViolationException (structure)
<a name="ConstraintViolationException"></a>

Raised when a value in a request field did not satisfy required constraints.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## ExpiredStreamException (structure)
<a name="ExpiredStreamException"></a>

Raised when a request attempts to access an stream that has expired.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## FailureByQueryException (structure)
<a name="FailureByQueryException"></a>

Raised when a request fails.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## IllegalArgumentException (structure)
<a name="IllegalArgumentException"></a>

Raised when an argument in a request is not supported.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## InternalFailureException (structure)
<a name="InternalFailureException"></a>

Raised when the processing of the request failed unexpectedly.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## InvalidArgumentException (structure)
<a name="InvalidArgumentException"></a>

Raised when an argument in a request has an invalid value.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## InvalidNumericDataException (structure)
<a name="InvalidNumericDataException"></a>

Raised when invalid numerical data is encountered when servicing a request.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## InvalidParameterException (structure)
<a name="InvalidParameterException"></a>

Raised when a parameter value is not valid.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request that includes an invalid parameter.

## LoadUrlAccessDeniedException (structure)
<a name="LoadUrlAccessDeniedException"></a>

Raised when access is denied to a specified load URL.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## MalformedQueryException (structure)
<a name="MalformedQueryException"></a>

Raised when a query is submitted that is syntactically incorrect or does not pass additional validation.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the malformed query request.

## MemoryLimitExceededException (structure)
<a name="MemoryLimitExceededException"></a>

Raised when a request fails because of insufficient memory resources. The request can be retried.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request that failed.

## MethodNotAllowedException (structure)
<a name="MethodNotAllowedException"></a>

Raised when the HTTP method used by a request is not supported by the endpoint being used.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## MissingParameterException (structure)
<a name="MissingParameterException"></a>

Raised when a required parameter is missing.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in which the parameter is missing.

## MLResourceNotFoundException (structure)
<a name="MLResourceNotFoundException"></a>

Raised when a specified machine-learning resource could not be found.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## ParsingException (structure)
<a name="ParsingException"></a>

Raised when a parsing issue is encountered.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## PreconditionsFailedException (structure)
<a name="PreconditionsFailedException"></a>

Raised when a precondition for processing a request is not satisfied.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## QueryLimitExceededException (structure)
<a name="QueryLimitExceededException"></a>

Raised when the number of active queries exceeds what the server can process. The query in question can be retried when the system is less busy.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request which exceeded the limit.

## QueryLimitException (structure)
<a name="QueryLimitException"></a>

Raised when the size of a query exceeds the system limit.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request that exceeded the limit.

## QueryTooLargeException (structure)
<a name="QueryTooLargeException"></a>

Raised when the body of a query is too large.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request that is too large.

## ReadOnlyViolationException (structure)
<a name="ReadOnlyViolationException"></a>

Raised when a request attempts to write to a read-only resource.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in which the parameter is missing.

## S3Exception (structure)
<a name="S3Exception"></a>

Raised when there is a problem accessing Amazon S3.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## ServerShutdownException (structure)
<a name="ServerShutdownException"></a>

Raised when the server shuts down while processing a request.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## StatisticsNotAvailableException (structure)
<a name="StatisticsNotAvailableException"></a>

Raised when statistics needed to satisfy a request are not available.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## StreamRecordsNotFoundException (structure)
<a name="StreamRecordsNotFoundException"></a>

Raised when stream records requested by a query cannot be found.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## ThrottlingException (structure)
<a name="ThrottlingException"></a>

Raised when the rate of requests exceeds the maximum throughput. Requests can be retried after encountering this exception.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request that could not be processed for this reason.

## TimeLimitExceededException (structure)
<a name="TimeLimitExceededException"></a>

Raised when the an operation exceeds the time limit allowed for it.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request that could not be processed for this reason.

## TooManyRequestsException (structure)
<a name="TooManyRequestsException"></a>

Raised when the number of requests being processed exceeds the limit.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request that could not be processed for this reason.

## UnsupportedOperationException (structure)
<a name="UnsupportedOperationException"></a>

Raised when a request attempts to initiate an operation that is not supported.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.

## UnloadUrlAccessDeniedException (structure)
<a name="UnloadUrlAccessDeniedException"></a>

Raised when access is denied to a URL that is an unload target.

**Fields**
+ **code** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The HTTP status code returned with the exception.
+ **detailedMessage** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  A detailed message describing the problem.
+ **requestId** – This is *Required:* a String, of type: `string` (a UTF-8 encoded string).

  The ID of the request in question.