Amazon Neptune open Cypher API

Execute openCypher graph queries

GitHub OpenAPI

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

DELETE /opencypher/status/{queryId} Cancel a running openCypher query · Cancel Open Cypher Query #
Ask an LLM
“Can I kill an openCypher query that is taking too long?”
“What do I need to stop a stuck openCypher query?”
Tell an agent destructive · confirm first
Cancel openCypher query {query_id}.
Stop the runaway openCypher query {query_id}.
GET /opencypher/status/{queryId} Check the status of one openCypher query · Get Open Cypher Query Status #
Ask an LLM
“Is a specific openCypher query still running?”
“What state is the openCypher query with a given ID in?”
Tell an agent
Get the status of openCypher query {query_id}.
Check if openCypher query {query_id} is still executing.
POST /opencypher/explain Explain an openCypher query's plan · Execute Open Cypher Explain Query #
Ask an LLM
“Can I see the execution plan for an openCypher query without running it?”
“Which explain modes does Neptune offer for openCypher?”
Tell an agent
Explain the openCypher query {query}.
Show the {mode} explain plan for openCypher {query}.
POST /opencypher Run an openCypher query against Neptune · Execute Open Cypher Query #
Ask an LLM
“How do I run an openCypher query against my Neptune graph through the data API?”
“Can I pass parameters into an openCypher query instead of inlining values?”
Tell an agent
Run the openCypher query {query}.
Execute openCypher {query} with parameters {params}.
GET /opencypher/status List running openCypher queries · List Open Cypher Queries #
Ask an LLM
“Which openCypher queries are running or queued right now?”
“What openCypher query IDs are active on my cluster?”
Tell an agent
Show all running and waiting openCypher queries.
List active openCypher query IDs.

Documentation

📖
APIReference
https://docs.aws.amazon.com/neptune-analytics/latest/apiref/Welcome.html
📖
APIReference
https://docs.aws.amazon.com/neptune/latest/data-api/Welcome.html
📖
APIReference
https://docs.aws.amazon.com/neptune/latest/userguide/api.html
📖
APIReference
https://docs.aws.amazon.com/neptune/latest/userguide/load-api-reference.html
📖
APIReference
https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-reference.html
📖
APIReference
https://docs.aws.amazon.com/neptune/latest/userguide/streams-using-api-call.html
📖
Documentation
https://docs.aws.amazon.com/neptune-analytics/latest/userguide/what-is-neptune-analytics.html
📖
Documentation
https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin.html
📖
Documentation
https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-opencypher.html
📖
Documentation
https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-sparql.html
📖
Documentation
https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load.html
📖
Documentation
https://docs.aws.amazon.com/neptune/latest/userguide/data-api.html
📖
Documentation
https://docs.aws.amazon.com/neptune/latest/userguide/intro.html
📖
Documentation
https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning.html
📖
Documentation
https://docs.aws.amazon.com/neptune/latest/userguide/streams.html
📖
GettingStarted
https://docs.aws.amazon.com/neptune-analytics/latest/userguide/gettingStarted-accessing.html
📖
GettingStarted
https://docs.aws.amazon.com/neptune/latest/userguide/get-started.html
📖
GettingStarted
https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-overview.html

Specifications

Schemas & Data

Other Resources

🔗
Best Practices
https://docs.aws.amazon.com/neptune/latest/userguide/best-practices-gremlin.html
🔗
Best Practices
https://docs.aws.amazon.com/neptune/latest/userguide/best-practices-opencypher.html
🔗
Best Practices
https://docs.aws.amazon.com/neptune/latest/userguide/best-practices-sparql.html
🔗
CLI Reference
https://docs.aws.amazon.com/cli/latest/reference/neptunedata/
🔗
Data API Reference
https://docs.aws.amazon.com/neptune/latest/userguide/data-api-dp-loader.html
🔗
Data API Reference
https://docs.aws.amazon.com/neptune/latest/userguide/data-api-dp-streams.html
🔗
Data Formats
https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format.html
🔗
Go SDK
https://docs.aws.amazon.com/sdk-for-go/api/service/neptunedata/
🔗
Gremlin Reference
https://tinkerpop.apache.org/docs/current/reference/
🔗
JavaScript SDK
https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/neptunedata/
🔗
Loader Command
https://docs.aws.amazon.com/neptune/latest/userguide/load-api-reference-load.html
🔗
Model Training
https://docs.aws.amazon.com/neptune/latest/userguide/data-api-dp-ml-training.html
🔗
Pricing
https://aws.amazon.com/neptune/pricing/
🔗
REST Endpoint
https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-rest.html
🔗
REST Endpoint
https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-sparql-http-rest.html
🔗
Reference
https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-api-reference.html
🔗
Response Format
https://docs.aws.amazon.com/neptune/latest/userguide/streams-using-api-reponse.html
🔗
SDKs
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/neptune-graph.html
🔗
SDKs
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/neptune.html
🔗
SDKs
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/neptunedata.html
🔗
SPARQL Reference
https://www.w3.org/TR/sparql11-query/
🔗
openCypher Reference
https://opencypher.org/

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-neptune:amazon-neptune-open-cypher-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-neptune-open-cypher-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon Neptune Open Cypher API
  version: '2014-10-31'
  description: Generated from AWS's published Smithy model for Amazon Neptune. 5 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://neptune-db.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /opencypher/status/{queryId}:
    delete:
      operationId: CancelOpenCypherQuery
      summary: Cancel Open Cypher Query
      description: Cancels a specified openCypher query. See Neptune openCypher status endpoint 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 IAM action in that cluster.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelOpenCypherQueryOutput'
        '400':
          description: BadRequestException; ConstraintViolationException; IllegalArgumentException; InvalidArgumentException;
            InvalidNumericDataException; InvalidParameterException; MissingParameterException; ParsingException; PreconditionsFailedException;
            UnsupportedOperationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '408':
          description: ClientTimeoutException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTimeoutException'
        '500':
          description: ConcurrentModificationException; FailureByQueryException; TimeLimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '429':
          description: TooManyRequestsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelOpenCypherQueryInput'
      tags:
      - Open Cypher
    get:
      operationId: GetOpenCypherQueryStatus
      summary: Get Open Cypher Query Status
      description: 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 IAM action in that cluster. Note that the neptune-db:QueryLanguage:OpenCypher 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).
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOpenCypherQueryStatusOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NeptuneDbAccessDeniedException'
        '400':
          description: BadRequestException; ConstraintViolationException; IllegalArgumentException; InvalidArgumentException;
            InvalidNumericDataException; InvalidParameterException; MissingParameterException; ParsingException; PreconditionsFailedException;
            ReadOnlyViolationException; UnsupportedOperationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '408':
          description: ClientTimeoutException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTimeoutException'
        '500':
          description: ConcurrentModificationException; FailureByQueryException; TimeLimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '429':
          description: TooManyRequestsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetOpenCypherQueryStatusInput'
      tags:
      - Open Cypher
  /opencypher/explain:
    post:
      operationId: ExecuteOpenCypherExplainQuery
      summary: Execute Open Cypher Explain Query
      description: Executes an openCypher explain request. See The openCypher explain feature 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 IAM action in that cluster. Note that the neptune-db:QueryLanguage:OpenCypher
        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).
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteOpenCypherExplainQueryOutput'
        '400':
          description: BadRequestException; ConstraintViolationException; IllegalArgumentException; InvalidArgumentException;
            InvalidNumericDataException; InvalidParameterException; MalformedQueryException; MissingParameterException; ParsingException;
            PreconditionsFailedException; QueryLimitException; QueryTooLargeException; UnsupportedOperationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: CancelledByMaintenanceException; CancelledByUserException; ConcurrentModificationException; FailureByQueryException;
            MemoryLimitExceededException; QueryLimitExceededException; TimeLimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelledByMaintenanceException'
        '408':
          description: ClientTimeoutException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTimeoutException'
        '429':
          description: TooManyRequestsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteOpenCypherExplainQueryInput'
      tags:
      - Open Cypher
  /opencypher:
    post:
      operationId: ExecuteOpenCypherQuery
      summary: Execute Open Cypher Query
      description: 'Executes an openCypher query. See Accessing the Neptune Graph with openCypher 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 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 neptune-db:WriteDataViaQuery
        neptune-db:DeleteDataViaQuery Note also that the neptune-db:QueryLanguage:OpenCypher 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).'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteOpenCypherQueryOutput'
        '400':
          description: BadRequestException; ConstraintViolationException; IllegalArgumentException; InvalidArgumentException;
            InvalidNumericDataException; InvalidParameterException; MalformedQueryException; MissingParameterException; ParsingException;
            PreconditionsFailedException; QueryLimitException; QueryTooLargeException; UnsupportedOperationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: CancelledByMaintenanceException; CancelledByUserException; ConcurrentModificationException; FailureByQueryException;
            MemoryLimitExceededException; QueryLimitExceededException; TimeLimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelledByMaintenanceException'
        '408':
          description: ClientTimeoutException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTimeoutException'
        '429':
          description: TooManyRequestsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteOpenCypherQueryInput'
      tags:
      - Open Cypher
  /opencypher/status:
    get:
      operationId: ListOpenCypherQueries
      summary: List Open Cypher Queries
      description: Lists active openCypher queries. See Neptune openCypher status endpoint 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 IAM action in that cluster. Note that the neptune-db:QueryLanguage:OpenCypher
        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).
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOpenCypherQueriesOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NeptuneDbAccessDeniedException'
        '400':
          description: BadRequestException; ConstraintViolationException; IllegalArgumentException; InvalidArgumentException;
            InvalidNumericDataException; InvalidParameterException; MissingParameterException; ParsingException; PreconditionsFailedException;
            ReadOnlyViolationException; UnsupportedOperationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '408':
          description: ClientTimeoutException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientTimeoutException'
        '500':
          description: ConcurrentModificationException; FailureByQueryException; TimeLimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '429':
          description: TooManyRequestsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListOpenCypherQueriesInput'
      tags:
      - Open Cypher
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: neptune-db
  schemas:
    BadRequestException:
      type: object
      properties:
        detailedMessage:
          type: string
          description: A detailed message describing the problem.
        requestId:
          type: string
          description: The ID of the bad request.
        code:
          type: string
          description: The HTTP status code returned with the exception.
      required:
      - detailedMessage
      - requestId
      - code
    CancelOpenCypherQueryInput:
      type: object
      properties:
        queryId:
          type: string
          description: The unique ID of the openCypher query to cancel.
        silent:
          type: boolean
          description: If set to TRUE, causes the cancelation of the openCypher query to happen silently.
      required:
      - queryId
    CancelOpenCypherQueryOutput:
      type: object
      properties:
        status:
          type: string
          description: The cancellation status of the openCypher query.
        payload:
          type: boolean
          description: The cancelation payload for the openCypher query.
    CancelledByMaintenanceException:
      type: object
      properties:
        detailedMessage:
          type: string
          description: A detailed message describing the problem.
        requestId:
          type: string
          description: The ID of the request in question.
        code:
          type: string
          description: The HTTP status code returned with the exception.
      required:
      - detailedMessage
      - requestId
      - code
    ClientTimeoutException:
      type: object
      properties:
        detailedMessage:
          type: string
          description: A detailed message describing the problem.
        requestId:
          type: string
          description: The ID of the request in question.
        code:
          type: string
          description: The HTTP status code returned with the exception.
      required:
      - detailedMessage
      - requestId
      - code
    ConcurrentModificationException:
      type: object
      properties:
        detailedMessage:
          type: string
          description: A detailed message describing the problem.
        requestId:
          type: string
          description: The ID of the request in question.
        code:
          type: string
          description: The HTTP status code returned with the exception.
      required:
      - detailedMessage
      - requestId
      - code
    ExecuteOpenCypherExplainQueryInput:
      type: object
      properties:
        openCypherQuery:
          type: string
          description: The openCypher query string.
        parameters:
          type: string
          description: The openCypher query parameters.
        explainMode:
          type: string
          enum:
          - static
          - dynamic
          - details
          description: 'The openCypher explain mode. Can be one of: static, dynamic, or details.'
      required:
      - openCypherQuery
      - explainMode
    ExecuteOpenCypherExplainQueryOutput:
      type: object
      properties:
        results:
          type: string
          description: A text blob containing the openCypher explain results.
      required:
      - results
    ExecuteOpenCypherQueryInput:
      type: object
      properties:
        openCypherQuery:
          type: string
          description: The openCypher query string to be executed.
        parameters:
          type: string
          description: The openCypher query parameters for query execution. See Examples of openCypher parameterized queries
            for more information.
      required:
      - openCypherQuery
    ExecuteOpenCypherQueryOutput:
      type: object
      properties:
        results:
          type: object
          description: The openCypherquery results.
      required:
      - results
    GetOpenCypherQueryStatusInput:
      type: object
      properties:
        queryId:
          type: string
          description: The unique ID of the openCypher query for which to retrieve the query status.
      required:
      - queryId
    GetOpenCypherQueryStatusOutput:
      type: object
      properties:
        queryId:
          type: string
          description: The unique ID of the query for which status is being returned.
        queryString:
          type: string
          description: The openCypher query string.
        queryEvalStats:
          $ref: '#/components/schemas/QueryEvalStats'
    GremlinQueryStatus:
      type: object
      properties:
        queryId:
          type: string
          description: The ID of the Gremlin query.
        queryString:
          type: string
          description: The query string of the Gremlin query.
        queryEvalStats:
          $ref: '#/components/schemas/QueryEvalStats'
    ListOpenCypherQueriesInput:
      type: object
      properties:
        includeWaiting:
          type: boolean
          description: 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.
    ListOpenCypherQueriesOutput:
      type: object
      properties:
        acceptedQueryCount:
          type: integer
          description: The number of queries that have been accepted but not yet completed, including queries in the queue.
        runningQueryCount:
          type: integer
          description: The number of currently running openCypher queries.
        queries:
          type: array
          items:
            $ref: '#/components/schemas/GremlinQueryStatus'
          description: A list of current openCypher queries.
    NeptuneDbAccessDeniedException:
      type: object
      properties:
        detailedMessage:
          type: string
          description: A detailed message describing the problem.
        requestId:
          type: string
          description: The ID of the request in question.
        code:
          type: string
          description: The HTTP status code returned with the exception.
      required:
      - detailedMessage
      - requestId
      - code
    QueryEvalStats:
      type: object
      properties:
        waited:
          type: integer
          description: Indicates how long the query waited, in milliseconds.
        elapsed:
          type: integer
          description: The number of milliseconds the query has been running so far.
        cancelled:
          type: boolean
          description: Set to TRUE if the query was cancelled, or FALSE otherwise.
        subqueries:
          type: object
          description: The number of subqueries in this query.
    TooManyRequestsException:
      type: object
      properties:
        detailedMessage:
          type: string
          description: A detailed message describing the problem.
        requestId:
          type: string
          description: The ID of the request that could not be processed for this reason.
        code:
          type: string
          description: The HTTP status code returned with the exception.
      required:
      - detailedMessage
      - requestId
      - code
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/neptunedata/service/2023-08-01/neptunedata-2023-08-01.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)