{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "getTransaction",
  "description": "getTransaction response",
  "link": "gettransaction",
  "properties": {
    "type": {
      "$ref": "transactionType"
    },
    "specification": {
      "description": "A specification that would produce the same outcome as this transaction. *Exception:* For payment transactions, this omits the `destination.amount` field, to prevent misunderstanding. The structure of the specification depends on the value of the `type` field (see [Transaction Types](#transaction-types) for details). *Note:* This is **not** necessarily the same as the original specification."
    },
    "outcome": {
      "$ref": "outcome",
      "description": "The outcome of the transaction (what effects it had)."
    },
    "id": {
      "$ref": "transactionHash",
      "description": "A hash of the transaction that can be used to identify it."
    },
    "address": {
      "$ref": "address",
      "description": "The address of the account that initiated the transaction."
    },
    "sequence": {
      "$ref": "sequence",
      "description": "The account sequence number of the transaction for the account that initiated it."
    },
    "rawTransaction": {
      "description": "The raw transaction data as a JSON string. For advanced users only; exercise caution when interpreting this data.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "address",
    "sequence",
    "type",
    "specification",
    "outcome"
  ],
  "additionalProperties": false,
  "oneOf": [
    {
      "properties": {
        "type": {
          "enum": [
            "payment"
          ]
        },
        "specification": {
          "$ref": "getPayment"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "order"
          ]
        },
        "specification": {
          "$ref": "order"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "orderCancellation"
          ]
        },
        "specification": {
          "$ref": "orderCancellation"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "trustline"
          ]
        },
        "specification": {
          "$ref": "trustline"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "settings"
          ]
        },
        "specification": {
          "$ref": "getSettings"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "checkCreate"
          ]
        },
        "specification": {
          "$ref": "checkCreate"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "checkCancel"
          ]
        },
        "specification": {
          "$ref": "checkCancel"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "checkCash"
          ]
        },
        "specification": {
          "$ref": "checkCash"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "escrowCreation"
          ]
        },
        "specification": {
          "$ref": "escrowCreation"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "escrowCancellation"
          ]
        },
        "specification": {
          "$ref": "escrowCancellation"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "escrowExecution"
          ]
        },
        "specification": {
          "$ref": "escrowExecution"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "paymentChannelCreate"
          ]
        },
        "specification": {
          "$ref": "paymentChannelCreate"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "paymentChannelFund"
          ]
        },
        "specification": {
          "$ref": "paymentChannelFund"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "paymentChannelClaim"
          ]
        },
        "specification": {
          "$ref": "paymentChannelClaim"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "depositPreauth"
          ]
        },
        "specification": {
          "$ref": "depositPreauth"
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "accountDelete"
          ]
        },
        "specification": {
          "$ref": "accountDelete"
        }
      }
    }
  ]
}
