{
  "version": "2.0",
  "service": "<p>This reference provides descriptions of the low-level AWS Artifact Service API.</p>",
  "operations": {
    "GetAccountSettings": "<p>Get the account settings for Artifact.</p>",
    "GetReport": "<p>Get the content for a single report.</p>",
    "GetReportMetadata": "<p>Get the metadata for a single report.</p>",
    "GetTermForReport": "<p>Get the Term content associated with a single report.</p>",
    "ListCustomerAgreements": "<p>List active customer-agreements applicable to calling identity.</p>",
    "ListReports": "<p>List available reports.</p>",
    "PutAccountSettings": "<p>Put the account settings for Artifact.</p>"
  },
  "shapes": {
    "AcceptanceType": {
      "base": null,
      "refs": {
        "ReportDetail$acceptanceType": "<p>Acceptance type for report.</p>",
        "ReportSummary$acceptanceType": "<p>Acceptance type for report.</p>"
      }
    },
    "AccessDeniedException": {
      "base": "<p>User does not have sufficient access to perform this action.</p>",
      "refs": {
      }
    },
    "AccountSettings": {
      "base": "<p>Account settings for the customer.</p>",
      "refs": {
        "GetAccountSettingsResponse$accountSettings": null,
        "PutAccountSettingsResponse$accountSettings": null
      }
    },
    "AgreementTerms": {
      "base": null,
      "refs": {
        "CustomerAgreementSummary$acceptanceTerms": "<p>Terms required to accept the agreement resource.</p>",
        "CustomerAgreementSummary$terminateTerms": "<p>Terms required to terminate the customer-agreement resource.</p>"
      }
    },
    "AgreementType": {
      "base": null,
      "refs": {
        "CustomerAgreementSummary$type": "<p>Type of the customer-agreement resource.</p>"
      }
    },
    "ConflictException": {
      "base": "<p>Request to create/modify content would result in a conflict.</p>",
      "refs": {
      }
    },
    "CustomerAgreementIdAttribute": {
      "base": null,
      "refs": {
        "CustomerAgreementSummary$id": "<p>Identifier of the customer-agreement resource.</p>"
      }
    },
    "CustomerAgreementList": {
      "base": null,
      "refs": {
        "ListCustomerAgreementsResponse$customerAgreements": "<p>List of customer-agreement resources.</p>"
      }
    },
    "CustomerAgreementState": {
      "base": null,
      "refs": {
        "CustomerAgreementSummary$state": "<p>State of the resource.</p>"
      }
    },
    "CustomerAgreementSummary": {
      "base": "<p>Summary for customer-agreement resource.</p>",
      "refs": {
        "CustomerAgreementList$member": null
      }
    },
    "GetAccountSettingsRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetAccountSettingsResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetReportMetadataRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetReportMetadataResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetReportRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetReportResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetReportResponseDocumentPresignedUrlString": {
      "base": null,
      "refs": {
        "GetReportResponse$documentPresignedUrl": "<p>Presigned S3 url to access the report content.</p>"
      }
    },
    "GetTermForReportRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetTermForReportResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetTermForReportResponseDocumentPresignedUrlString": {
      "base": null,
      "refs": {
        "GetTermForReportResponse$documentPresignedUrl": "<p>Presigned S3 url to access the term content.</p>"
      }
    },
    "Integer": {
      "base": null,
      "refs": {
        "InternalServerException$retryAfterSeconds": "<p>Number of seconds in which the caller can retry the request.</p>",
        "ThrottlingException$retryAfterSeconds": "<p>Number of seconds in which the caller can retry the request.</p>"
      }
    },
    "InternalServerException": {
      "base": "<p>An unknown server exception has occurred.</p>",
      "refs": {
      }
    },
    "ListCustomerAgreementsRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListCustomerAgreementsResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListReportsRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListReportsResponse": {
      "base": null,
      "refs": {
      }
    },
    "LongStringAttribute": {
      "base": null,
      "refs": {
        "AgreementTerms$member": null,
        "CustomerAgreementSummary$name": "<p>Name of the customer-agreement resource.</p>",
        "CustomerAgreementSummary$arn": "<p>ARN of the customer-agreement resource.</p>",
        "CustomerAgreementSummary$agreementArn": "<p>ARN of the agreement resource the customer-agreement resource represents.</p>",
        "CustomerAgreementSummary$organizationArn": "<p>ARN of the organization that owns the resource.</p>",
        "CustomerAgreementSummary$description": "<p>Description of the resource.</p>",
        "ReportDetail$description": "<p>Description for the report resource.</p>",
        "ReportDetail$arn": "<p>ARN for the report resource.</p>",
        "ReportDetail$termArn": "<p>Unique resource ARN for term resource.</p>",
        "ReportSummary$arn": "<p>ARN for the report resource.</p>",
        "ReportSummary$description": "<p>Description for the report resource.</p>"
      }
    },
    "MaxResultsAttribute": {
      "base": null,
      "refs": {
        "ListCustomerAgreementsRequest$maxResults": "<p>Maximum number of resources to return in the paginated response.</p>",
        "ListReportsRequest$maxResults": "<p>Maximum number of resources to return in the paginated response.</p>"
      }
    },
    "NextTokenAttribute": {
      "base": null,
      "refs": {
        "ListCustomerAgreementsRequest$nextToken": "<p>Pagination token to request the next page of resources.</p>",
        "ListCustomerAgreementsResponse$nextToken": "<p>Pagination token to request the next page of resources.</p>",
        "ListReportsRequest$nextToken": "<p>Pagination token to request the next page of resources.</p>",
        "ListReportsResponse$nextToken": "<p>Pagination token to request the next page of resources.</p>"
      }
    },
    "NotificationSubscriptionStatus": {
      "base": null,
      "refs": {
        "AccountSettings$notificationSubscriptionStatus": "<p>Notification subscription status of the customer.</p>",
        "PutAccountSettingsRequest$notificationSubscriptionStatus": "<p>Desired notification subscription status.</p>"
      }
    },
    "PublishedState": {
      "base": null,
      "refs": {
        "ReportDetail$state": "<p>Current state of the report resource</p>",
        "ReportSummary$state": "<p>Current state of the report resource.</p>"
      }
    },
    "PutAccountSettingsRequest": {
      "base": null,
      "refs": {
      }
    },
    "PutAccountSettingsResponse": {
      "base": null,
      "refs": {
      }
    },
    "ReportDetail": {
      "base": "<p>Full detail for report resource metadata.</p>",
      "refs": {
        "GetReportMetadataResponse$reportDetails": "<p>Report resource detail.</p>"
      }
    },
    "ReportId": {
      "base": null,
      "refs": {
        "GetReportMetadataRequest$reportId": "<p>Unique resource ID for the report resource.</p>",
        "GetReportRequest$reportId": "<p>Unique resource ID for the report resource.</p>",
        "GetTermForReportRequest$reportId": "<p>Unique resource ID for the report resource.</p>",
        "ReportDetail$id": "<p>Unique resource ID for the report resource.</p>",
        "ReportSummary$id": "<p>Unique resource ID for the report resource.</p>"
      }
    },
    "ReportSummary": {
      "base": "<p>Summary for report resource.</p>",
      "refs": {
        "ReportsList$member": null
      }
    },
    "ReportsList": {
      "base": null,
      "refs": {
        "ListReportsResponse$reports": "<p>List of report resources.</p>"
      }
    },
    "ResourceNotFoundException": {
      "base": "<p>Request references a resource which does not exist.</p>",
      "refs": {
      }
    },
    "SequenceNumberAttribute": {
      "base": null,
      "refs": {
        "ReportDetail$sequenceNumber": "<p>Sequence number to enforce optimistic locking.</p>"
      }
    },
    "ServiceQuotaExceededException": {
      "base": "<p>Request would cause a service quota to be exceeded.</p>",
      "refs": {
      }
    },
    "ShortStringAttribute": {
      "base": null,
      "refs": {
        "CustomerAgreementSummary$awsAccountId": "<p>AWS account Id that owns the resource.</p>",
        "GetReportRequest$termToken": "<p>Unique download token provided by GetTermForReport API.</p>",
        "ReportDetail$name": "<p>Name for the report resource.</p>",
        "ReportDetail$series": "<p>Series for the report resource.</p>",
        "ReportDetail$category": "<p>Category for the report resource.</p>",
        "ReportDetail$companyName": "<p>Associated company name for the report resource.</p>",
        "ReportDetail$productName": "<p>Associated product name for the report resource.</p>",
        "ReportSummary$name": "<p>Name for the report resource.</p>",
        "ReportSummary$series": "<p>Series for the report resource.</p>",
        "ReportSummary$category": "<p>Category for the report resource.</p>",
        "ReportSummary$companyName": "<p>Associated company name for the report resource.</p>",
        "ReportSummary$productName": "<p>Associated product name for the report resource.</p>"
      }
    },
    "StatusMessage": {
      "base": null,
      "refs": {
        "ReportDetail$statusMessage": "<p>The message associated with the current upload state.</p>",
        "ReportSummary$statusMessage": "<p>The message associated with the current upload state.</p>"
      }
    },
    "String": {
      "base": null,
      "refs": {
        "AccessDeniedException$message": null,
        "ConflictException$message": null,
        "ConflictException$resourceId": "<p>Identifier of the affected resource.</p>",
        "ConflictException$resourceType": "<p>Type of the affected resource.</p>",
        "GetTermForReportResponse$termToken": "<p>Unique token representing this request event.</p>",
        "InternalServerException$message": null,
        "ResourceNotFoundException$message": null,
        "ResourceNotFoundException$resourceId": "<p>Identifier of the affected resource.</p>",
        "ResourceNotFoundException$resourceType": "<p>Type of the affected resource.</p>",
        "ServiceQuotaExceededException$message": null,
        "ServiceQuotaExceededException$resourceId": "<p>Identifier of the affected resource.</p>",
        "ServiceQuotaExceededException$resourceType": "<p>Type of the affected resource.</p>",
        "ServiceQuotaExceededException$serviceCode": "<p>Code for the affected service.</p>",
        "ServiceQuotaExceededException$quotaCode": "<p>Code for the affected quota.</p>",
        "ThrottlingException$message": null,
        "ThrottlingException$serviceCode": "<p>Code for the affected service.</p>",
        "ThrottlingException$quotaCode": "<p>Code for the affected quota.</p>",
        "ValidationException$message": null,
        "ValidationExceptionField$name": "<p>Name of validation exception.</p>",
        "ValidationExceptionField$message": "<p>Message describing why the field failed validation.</p>"
      }
    },
    "ThrottlingException": {
      "base": "<p>Request was denied due to request throttling.</p>",
      "refs": {
      }
    },
    "TimestampAttribute": {
      "base": null,
      "refs": {
        "CustomerAgreementSummary$effectiveStart": "<p>Timestamp indicating when the agreement became effective.</p>",
        "CustomerAgreementSummary$effectiveEnd": "<p>Timestamp indicating when the agreement was terminated.</p>",
        "ReportDetail$periodStart": "<p>Timestamp indicating the report resource effective start.</p>",
        "ReportDetail$periodEnd": "<p>Timestamp indicating the report resource effective end.</p>",
        "ReportDetail$createdAt": "<p>Timestamp indicating when the report resource was created.</p>",
        "ReportDetail$lastModifiedAt": "<p>Timestamp indicating when the report resource was last modified.</p>",
        "ReportDetail$deletedAt": "<p>Timestamp indicating when the report resource was deleted.</p>",
        "ReportSummary$periodStart": "<p>Timestamp indicating the report resource effective start.</p>",
        "ReportSummary$periodEnd": "<p>Timestamp indicating the report resource effective end.</p>"
      }
    },
    "UploadState": {
      "base": null,
      "refs": {
        "ReportDetail$uploadState": "<p>The current state of the document upload.</p>",
        "ReportSummary$uploadState": "<p>The current state of the document upload.</p>"
      }
    },
    "ValidationException": {
      "base": "<p>Request fails to satisfy the constraints specified by an AWS service.</p>",
      "refs": {
      }
    },
    "ValidationExceptionField": {
      "base": "<p>Validation exception message and name.</p>",
      "refs": {
        "ValidationExceptionFieldList$member": null
      }
    },
    "ValidationExceptionFieldList": {
      "base": null,
      "refs": {
        "ValidationException$fieldList": "<p>The field that caused the error, if applicable.</p>"
      }
    },
    "ValidationExceptionReason": {
      "base": null,
      "refs": {
        "ValidationException$reason": "<p>Reason the request failed validation.</p>"
      }
    },
    "VersionAttribute": {
      "base": null,
      "refs": {
        "GetReportMetadataRequest$reportVersion": "<p>Version for the report resource.</p>",
        "GetReportRequest$reportVersion": "<p>Version for the report resource.</p>",
        "GetTermForReportRequest$reportVersion": "<p>Version for the report resource.</p>",
        "ReportDetail$version": "<p>Version for the report resource.</p>",
        "ReportSummary$version": "<p>Version for the report resource.</p>"
      }
    }
  }
}
