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
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": []
}
]
}