Amazon QLDB Session icon

Amazon QLDB Session

<p>The transactional data APIs for Amazon QLDB</p> <note> <p>Instead of interacting directly with this API, we recommend using the QLDB driver or the QLDB shell to execute data transactions on a le...

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2019-07-11",
    "x-release": "v4",
    "title": "Amazon QLDB Session",
    "description": "<p>The transactional data APIs for Amazon QLDB</p> <note> <p>Instead of interacting directly with this API, we recommend using the QLDB driver or the QLDB shell to execute data transactions on a ledger.</p> <ul> <li> <p>If you are working with an AWS SDK, use the QLDB driver. The driver provides a high-level abstraction layer above this <i>QLDB Session</i> data plane and manages <code>SendCommand</code> API calls for you. For information and a list of supported programming languages, see <a href=\"https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html\">Getting started with the driver</a> in the <i>Amazon QLDB Developer Guide</i>.</p> </li> <li> <p>If you are working with the AWS Command Line Interface (AWS CLI), use the QLDB shell. The shell is a command line interface that uses the QLDB driver to interact with a ledger. For information, see <a href=\"https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html\">Accessing Amazon QLDB using the QLDB shell</a>.</p> </li> </ul> </note>",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "qldb-session",
    "x-aws-signingName": "qldb",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/qldb-session-2019-07-11.normal.json",
        "converter": {
          "url": "https://github.com/mermade/aws2openapi",
          "version": "1.0.0"
        },
        "x-apisguru-driver": "external"
      }
    ],
    "x-apiClientRegistration": {
      "url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
    },
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-preferred": true
  },
  "externalDocs": {
    "description": "Amazon Web Services documentation",
    "url": "https://docs.aws.amazon.com/qldb/"
  },
  "servers": [
    {
      "url": "http://session.qldb.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The QLDB Session multi-region endpoint"
    },
    {
      "url": "https://session.qldb.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The QLDB Session multi-region endpoint"
    },
    {
      "url": "http://session.qldb.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The QLDB Session endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://session.qldb.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The QLDB Session endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "paths": {
    "/#X-Amz-Target=QLDBSession.SendCommand": {
      "post": {
        "operationId": "SendCommand",
        "description": "<p>Sends a command to an Amazon QLDB ledger.</p> <note> <p>Instead of interacting directly with this API, we recommend using the QLDB driver or the QLDB shell to execute data transactions on a ledger.</p> <ul> <li> <p>If you are working with an AWS SDK, use the QLDB driver. The driver provides a high-level abstraction layer above this <i>QLDB Session</i> data plane and manages <code>SendCommand</code> API calls for you. For information and a list of supported programming languages, see <a href=\"https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html\">Getting started with the driver</a> in the <i>Amazon QLDB Developer Guide</i>.</p> </li> <li> <p>If you are working with the AWS Command Line Interface (AWS CLI), use the QLDB shell. The shell is a command line interface that uses the QLDB driver to interact with a ledger. For information, see <a href=\"https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html\">Accessing Amazon QLDB using the QLDB shell</a>.</p> </li> </ul> </note>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SendCommandResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidSessionException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidSessionException"
                }
              }
            }
          },
          "482": {
            "description": "OccConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccConflictException"
                }
              }
            }
          },
          "483": {
            "description": "RateExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RateExceededException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          },
          "485": {
            "description": "CapacityExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CapacityExceededException"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendCommandRequest"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "X-Amz-Target",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "QLDBSession.SendCommand"
              ]
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "X-Amz-Content-Sha256": {
        "name": "X-Amz-Content-Sha256",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Date": {
        "name": "X-Amz-Date",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Algorithm": {
        "name": "X-Amz-Algorithm",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Credential": {
        "name": "X-Amz-Credential",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Security-Token": {
        "name": "X-Amz-Security-Token",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Signature": {
        "name": "X-Amz-Signature",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-SignedHeaders": {
        "name": "X-Amz-SignedHeaders",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      }
    },
    "securitySchemes": {
      "hmac": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Amazon Signature authorization v4",
        "x-amazon-apigateway-authtype": "awsSigv4"
      }
    },
    "schemas": {
      "SendCommandResult": {
        "type": "object",
        "properties": {
          "StartSession": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartSessionResult"
              },
              {
                "description": "Contains the details of the started session that includes a session token. This <code>SessionToken</code> is required for every subsequent command that is issued during the current session."
              }
            ]
          },
          "StartTransaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartTransactionResult"
              },
              {
                "description": "Contains the details of the started transaction."
              }
            ]
          },
          "EndSession": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndSessionResult"
              },
              {
                "description": "Contains the details of the ended session."
              }
            ]
          },
          "CommitTransaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitTransactionResult"
              },
              {
                "description": "Contains the details of the committed transaction."
              }
            ]
          },
          "AbortTransaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AbortTransactionResult"
              },
              {
                "description": "Contains the details of the aborted transaction."
              }
            ]
          },
          "ExecuteStatement": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExecuteStatementResult"
              },
              {
                "description": "Contains the details of the executed statement."
              }
            ]
          },
          "FetchPage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FetchPageResult"
              },
              {
                "description": "Contains the details of the fetched page."
              }
            ]
          }
        }
      },
      "SendCommandRequest": {
        "type": "object",
        "title": "SendCommandRequest",
        "properties": {
          "SessionToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionToken"
              },
              {
                "description": "<p>Specifies the session token for the current command. A session token is constant throughout the life of the session.</p> <p>To obtain a session token, run the <code>StartSession</code> command. This <code>SessionToken</code> is required for every subsequent command that is issued during the current session.</p>"
              }
            ]
          },
          "StartSession": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartSessionRequest"
              },
              {
                "description": "Command to start a new session. A session token is obtained as part of the response."
              }
            ]
          },
          "StartTransaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartTransactionRequest"
              },
              {
                "description": "Command to start a new transaction."
              }
            ]
          },
          "EndSession": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndSessionRequest"
              },
              {
                "description": "Command to end the current session."
              }
            ]
          },
          "CommitTransaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitTransactionRequest"
              },
              {
                "description": "Command to commit the specified transaction."
              }
            ]
          },
          "AbortTransaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AbortTransactionRequest"
              },
              {
                "description": "Command to abort the current transaction."
              }
            ]
          },
          "ExecuteStatement": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExecuteStatementRequest"
              },
              {
                "description": "Command to execute a statement in the specified transaction."
              }
            ]
          },
          "FetchPage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FetchPageRequest"
              },
              {
                "description": "Command to fetch a page."
              }
            ]
          }
        }
      },
      "BadRequestException": {},
      "InvalidSessionException": {},
      "OccConflictException": {},
      "RateExceededException": {},
      "LimitExceededException": {},
      "CapacityExceededException": {},
      "AbortTransactionRequest": {
        "type": "object",
        "properties": {},
        "description": "Contains the details of the transaction to abort."
      },
      "TimingInformation": {
        "type": "object",
        "properties": {
          "ProcessingTimeMilliseconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProcessingTimeMilliseconds"
              },
              {
                "description": "The amount of time that QLDB spent on processing the command, measured in milliseconds."
              }
            ]
          }
        },
        "description": "Contains server-side performance information for a command. Amazon QLDB captures timing information between the times when it receives the request and when it sends the corresponding response."
      },
      "AbortTransactionResult": {
        "type": "object",
        "properties": {
          "TimingInformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimingInformation"
              },
              {
                "description": "Contains server-side performance information for the command."
              }
            ]
          }
        },
        "description": "Contains the details of the aborted transaction."
      },
      "CommitDigest": {
        "type": "string"
      },
      "TransactionId": {
        "type": "string",
        "pattern": "^[A-Za-z-0-9]+$",
        "minLength": 22,
        "maxLength": 22
      },
      "CommitTransactionRequest": {
        "type": "object",
        "required": [
          "TransactionId",
          "CommitDigest"
        ],
        "properties": {
          "TransactionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransactionId"
              },
              {
                "description": "Specifies the transaction ID of the transaction to commit."
              }
            ]
          },
          "CommitDigest": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitDigest"
              },
              {
                "description": "<p>Specifies the commit digest for the transaction to commit. For every active transaction, the commit digest must be passed. QLDB validates <code>CommitDigest</code> and rejects the commit with an error if the digest computed on the client does not match the digest computed by QLDB.</p> <p>The purpose of the <code>CommitDigest</code> parameter is to ensure that QLDB commits a transaction if and only if the server has processed the exact set of statements sent by the client, in the same order that client sent them, and with no duplicates.</p>"
              }
            ]
          }
        },
        "description": "Contains the details of the transaction to commit."
      },
      "IOUsage": {
        "type": "object",
        "properties": {
          "ReadIOs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReadIOs"
              },
              {
                "description": "The number of read I/O requests that the command made."
              }
            ]
          },
          "WriteIOs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WriteIOs"
              },
              {
                "description": "The number of write I/O requests that the command made."
              }
            ]
          }
        },
        "description": "Contains I/O usage metrics for a command that was invoked."
      },
      "CommitTransactionResult": {
        "type": "object",
        "properties": {
          "TransactionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransactionId"
              },
              {
                "description": "The transaction ID of the committed transaction."
              }
            ]
          },
          "CommitDigest": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitDigest"
              },
              {
                "description": "The commit digest of the committed transaction."
              }
            ]
          },
          "TimingInformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimingInformation"
              },
              {
                "description": "Contains server-side performance information for the command."
              }
            ]
          },
          "ConsumedIOs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IOUsage"
              },
              {
                "description": "Contains metrics about the number of I/O requests that were consumed."
              }
            ]
          }
        },
        "description": "Contains the details of the committed transaction."
      },
      "EndSessionRequest": {
        "type": "object",
        "properties": {},
        "description": "Specifies a request to end the session."
      },
      "EndSessionResult": {
        "type": "object",
        "properties": {
          "TimingInformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimingInformation"
              },
              {
                "description": "Contains server-side performance information for the command."
              }
            ]
          }
        },
        "description": "Contains the details of the ended session."
      },
      "Statement": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100000
      },
      "StatementParameters": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ValueHolder"
        }
      },
      "ExecuteStatementRequest": {
        "type": "object",
        "required": [
          "TransactionId",
          "Statement"
        ],
        "properties": {
          "TransactionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransactionId"
              },
              {
                "description": "Specifies the transaction ID of the request."
              }
            ]
          },
          "Statement": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Statement"
              },
              {
                "description": "Specifies the statement of the request."
              }
            ]
          },
          "Parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatementParameters"
              },
              {
                "description": "Specifies the parameters for the parameterized statement in the request."
              }
            ]
          }
        },
        "description": "Specifies a request to execute a statement."
      },
      "Page": {
        "type": "object",
        "properties": {
          "Values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValueHolders"
              },
              {
                "description": "A structure that contains values in multiple encoding formats."
              }
            ]
          },
          "NextPageToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PageToken"
              },
              {
                "description": "The token of the next page."
              }
            ]
          }
        },
        "description": "Contains details of the fetched page."
      },
      "ExecuteStatementResult": {
        "type": "object",
        "properties": {
          "FirstPage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Page"
              },
              {
                "description": "Contains the details of the first fetched page."
              }
            ]
          },
          "TimingInformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimingInformation"
              },
              {
                "description": "Contains server-side performance information for the command."
              }
            ]
          },
          "ConsumedIOs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IOUsage"
              },
              {
                "description": "Contains metrics about the number of I/O requests that were consumed."
              }
            ]
          }
        },
        "description": "Contains the details of the executed statement."
      },
      "PageToken": {
        "type": "string",
        "pattern": "^[A-Za-z-0-9+/=]+$",
        "minLength": 4,
        "maxLength": 1024
      },
      "FetchPageRequest": {
        "type": "object",
        "required": [
          "TransactionId",
          "NextPageToken"
        ],
        "properties": {
          "TransactionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransactionId"
              },
              {
                "description": "Specifies the transaction ID of the page to be fetched."
              }
            ]
          },
          "NextPageToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PageToken"
              },
              {
                "description": "Specifies the next page token of the page to be fetched."
              }
            ]
          }
        },
        "description": "Specifies the details of the page to be fetched."
      },
      "FetchPageResult": {
        "type": "object",
        "properties": {
          "Page": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Page"
              },
              {
                "description": "Contains details of the fetched page."
              }
            ]
          },
          "TimingInformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimingInformation"
              },
              {
                "description": "Contains server-side performance information for the command."
              }
            ]
          },
          "ConsumedIOs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IOUsage"
              },
              {
                "description": "Contains metrics about the number of I/O requests that were consumed."
              }
            ]
          }
        },
        "description": "Contains the page that was fetched."
      },
      "ReadIOs": {
        "type": "integer"
      },
      "WriteIOs": {
        "type": "integer"
      },
      "IonBinary": {
        "type": "string",
        "minLength": 1,
        "maxLength": 131072
      },
      "IonText": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1048576
      },
      "LedgerName": {
        "type": "string",
        "pattern": "(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$",
        "minLength": 1,
        "maxLength": 32
      },
      "ValueHolders": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ValueHolder"
        }
      },
      "ProcessingTimeMilliseconds": {
        "type": "integer"
      },
      "SessionToken": {
        "type": "string",
        "pattern": "^[A-Za-z-0-9+/=]+$",
        "minLength": 4,
        "maxLength": 1024
      },
      "StartSessionRequest": {
        "type": "object",
        "required": [
          "LedgerName"
        ],
        "properties": {
          "LedgerName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LedgerName"
              },
              {
                "description": "The name of the ledger to start a new session against."
              }
            ]
          }
        },
        "description": "Specifies a request to start a new session."
      },
      "StartTransactionRequest": {
        "type": "object",
        "properties": {},
        "description": "Specifies a request to start a transaction."
      },
      "StartSessionResult": {
        "type": "object",
        "properties": {
          "SessionToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionToken"
              },
              {
                "description": "Session token of the started session. This <code>SessionToken</code> is required for every subsequent command that is issued during the current session."
              }
            ]
          },
          "TimingInformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimingInformation"
              },
              {
                "description": "Contains server-side performance information for the command."
              }
            ]
          }
        },
        "description": "Contains the details of the started session."
      },
      "StartTransactionResult": {
        "type": "object",
        "properties": {
          "TransactionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransactionId"
              },
              {
                "description": "The transaction ID of the started transaction."
              }
            ]
          },
          "TimingInformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimingInformation"
              },
              {
                "description": "Contains server-side performance information for the command."
              }
            ]
          }
        },
        "description": "Contains the details of the started transaction."
      },
      "ValueHolder": {
        "type": "object",
        "properties": {
          "IonBinary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IonBinary"
              },
              {
                "description": "An Amazon Ion binary value contained in a <code>ValueHolder</code> structure."
              }
            ]
          },
          "IonText": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IonText"
              },
              {
                "description": "An Amazon Ion plaintext value contained in a <code>ValueHolder</code> structure."
              }
            ]
          }
        },
        "description": "A structure that can contain a value in multiple encoding formats."
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}