{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-billing-and-cost-management/json-schema/amazon-billing-and-cost-management-list-contractual-investment-attestations-response-schema.json",
  "title": "ListContractualInvestmentAttestationsResponse",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-billing-and-cost-management-contractual-investment-attestation-api-openapi.yml#/components/schemas/ListContractualInvestmentAttestationsResponse",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvestmentAttestation"
      },
      "description": "The list of investment attestations submitted under the contract."
    },
    "nextToken": {
      "type": "string",
      "description": "The pagination token to use on subsequent calls to retrieve the next set of results."
    }
  },
  "required": [
    "items"
  ],
  "$defs": {
    "Amount": {
      "type": "object",
      "properties": {
        "currencyCode": {
          "type": "string",
          "description": "The ISO 4217 currency code for the amount (for example, USD)."
        },
        "currencyAmount": {
          "type": "string",
          "description": "The amount as a decimal string (for example, \"743.21\"). Negative values represent credits that reduce a bill."
        }
      },
      "required": [
        "currencyCode",
        "currencyAmount"
      ]
    },
    "InvestmentAttestation": {
      "type": "object",
      "properties": {
        "attestationId": {
          "type": "string",
          "description": "The identifier of the attestation. This value is returned by CreateContractualInvestmentAttestation and is used to cancel the attestation with CancelContractualInvestmentAttestation. This value is 1–36 characters."
        },
        "investmentName": {
          "type": "string",
          "description": "The name of the investment summary that contains the attested outcome. This value is 1–400 characters."
        },
        "outcomeDescription": {
          "type": "string",
          "description": "The description of the attested outcome. This value is 1–2048 characters."
        },
        "investmentSummaryId": {
          "type": "string",
          "description": "The identifier of the investment summary that was attested, as returned by ListContractualInvestmentSummaries."
        },
        "investmentId": {
          "type": "string",
          "description": "The identifier of the investment that was attested, as returned by ListContractualInvestments."
        },
        "attestedAt": {
          "type": "string",
          "description": "The date on which the attestation was submitted."
        },
        "updatedAt": {
          "type": "string",
          "description": "The date on which the attestation was last updated."
        },
        "attestationStatus": {
          "type": "string",
          "enum": [
            "PENDING_REVIEW",
            "PENDING_C_LEVEL_APPROVAL",
            "PENDING_CANCELLATION",
            "REJECTED",
            "CANCELLED",
            "DISBURSED"
          ],
          "description": "The current status of the attestation. Valid values are PENDING_REVIEW, PENDING_C_LEVEL_APPROVAL, PENDING_CANCELLATION, REJECTED, CANCELLED, and DISBURSED. The values DISBURSED, REJECTED, and CANCELLED are terminal. The other values indicate the attestation is still in progress."
        },
        "investmentDisbursedAt": {
          "type": "string",
          "description": "The start date on which the investment is disbursed to the investment accounts. This is not the same as the time of disbursement, but reflects the date you submitted with the attestation."
        },
        "attestedValue": {
          "$ref": "#/$defs/Amount"
        },
        "investmentDistributions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/InvestmentDistribution"
          },
          "description": "The distribution of the attested investment across the eligible investment accounts. The list contains at most 200 distributions."
        },
        "rejectionReasons": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The reasons the attestation was rejected. This value is present only when attestationStatus is REJECTED. The list contains at most 30 reasons."
        },
        "isCancellable": {
          "type": "boolean",
          "description": "Indicates whether the attestation can be canceled with CancelContractualInvestmentAttestation."
        }
      },
      "required": [
        "attestationId",
        "investmentName",
        "outcomeDescription",
        "investmentSummaryId",
        "investmentId",
        "attestedAt",
        "updatedAt",
        "attestationStatus"
      ]
    },
    "InvestmentDistribution": {
      "type": "object",
      "properties": {
        "accountId": {
          "type": "string",
          "description": "The recipient Amazon Web Services account ID that receives this portion of the investment. This must be one of the eligible investment accounts on the contract."
        },
        "investmentAmount": {
          "$ref": "#/$defs/Amount"
        }
      },
      "required": [
        "accountId",
        "investmentAmount"
      ]
    }
  }
}