@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Support
@version 2013-04-15
@auth AWS SigV4
@endpoints 16
@toc root(16)

@endpoint POST /
@required {attachments: [Attachment]}
@optional {attachmentSetId: str}
@returns(200) {attachmentSetId: str?, expiryTime: str?}

@endpoint POST /
@required {communicationBody: str}
@optional {caseId: str, ccEmailAddresses: [str], attachmentSetId: str}
@returns(200) {result: bool?}

@endpoint POST /
@required {subject: str, communicationBody: str}
@optional {serviceCode: str, severityCode: str, categoryCode: str, ccEmailAddresses: [str], language: str, issueType: str, attachmentSetId: str}
@returns(200) {caseId: str?}

@endpoint POST /
@required {attachmentId: str}
@returns(200) {attachment: Attachment?{fileName: str?, data: bytes?}}

@endpoint POST /
@optional {caseIdList: [str], displayId: str, afterTime: str, beforeTime: str, includeResolvedCases: bool, nextToken: str, maxResults: int, language: str, includeCommunications: bool}
@returns(200) {cases: [CaseDetails]?, nextToken: str?}

@endpoint POST /
@required {caseId: str}
@optional {beforeTime: str, afterTime: str, nextToken: str, maxResults: int}
@returns(200) {communications: [Communication]?, nextToken: str?}

@endpoint POST /
@required {issueType: str, serviceCode: str, language: str, categoryCode: str}
@returns(200) {languageAvailability: str?, communicationTypes: [CommunicationTypeOptions]?}

@endpoint POST /
@optional {serviceCodeList: [str], language: str}
@returns(200) {services: [Service]?}

@endpoint POST /
@optional {language: str}
@returns(200) {severityLevels: [SeverityLevel]?}

@endpoint POST /
@required {issueType: str, serviceCode: str, categoryCode: str}
@returns(200) {supportedLanguages: [SupportedLanguage]?}

@endpoint POST /
@required {checkIds: [str]}
@returns(200) {statuses: [TrustedAdvisorCheckRefreshStatus]}

@endpoint POST /
@required {checkId: str}
@optional {language: str}
@returns(200) {result: TrustedAdvisorCheckResult?{checkId: str, timestamp: str, status: str, resourcesSummary: TrustedAdvisorResourcesSummary{resourcesProcessed: int(i64), resourcesFlagged: int(i64), resourcesIgnored: int(i64), resourcesSuppressed: int(i64)}, categorySpecificSummary: TrustedAdvisorCategorySpecificSummary{costOptimizing: TrustedAdvisorCostOptimizingSummary?{estimatedMonthlySavings: num(f64), estimatedPercentMonthlySavings: num(f64)}}, flaggedResources: [TrustedAdvisorResourceDetail]}}

@endpoint POST /
@required {checkIds: [str]}
@returns(200) {summaries: [TrustedAdvisorCheckSummary]}

@endpoint POST /
@required {language: str}
@returns(200) {checks: [TrustedAdvisorCheckDescription]}

@endpoint POST /
@required {checkId: str}
@returns(200) {status: TrustedAdvisorCheckRefreshStatus{checkId: str, status: str, millisUntilNextRefreshable: int(i64)}}

@endpoint POST /
@optional {caseId: str}
@returns(200) {initialCaseStatus: str?, finalCaseStatus: str?}

@end
