createCase method
Creates a case in the Amazon Web Services Support Center. This operation is similar to how you create a case in the Amazon Web Services Support Center Create Case page.
The Amazon Web Services Support API doesn't support requesting service limit increases. You can submit a service limit increase in the following ways:
- Submit a request from the Amazon Web Services Support Center Create Case page.
- Use the Service Quotas RequestServiceQuotaIncrease operation.
CreateCase request returns an Amazon Web
Services Support case number. You can use the DescribeCases
operation and specify the case number to get existing Amazon Web Services
Support cases. After you create a case, use the
AddCommunicationToCase operation to add additional communication or
attachments to an existing case.
The caseId is separate from the displayId that
appears in the Amazon Web
Services Support Center. Use the DescribeCases operation to get
the displayId.
- You must have a Business, Enterprise On-Ramp, or Enterprise Support plan to use the Amazon Web Services Support API.
-
If you call the Amazon Web Services Support API from an account that
doesn't have a Business, Enterprise On-Ramp, or Enterprise Support plan,
the
SubscriptionRequiredExceptionerror message appears. For information about changing your support plan, see Amazon Web Services Support.
May throw AttachmentSetExpired.
May throw AttachmentSetIdNotFound.
May throw CaseCreationLimitExceeded.
May throw InternalServerError.
Parameter communicationBody :
The communication body text that describes the issue. This text appears in
the Description field on the Amazon Web Services Support Center Create
Case page.
Parameter subject :
The title of the support case. The title appears in the Subject
field on the Amazon Web Services Support Center Create
Case page.
Parameter attachmentSetId :
The ID of a set of one or more attachments for the case. Create the set by
using the AddAttachmentsToSet operation.
Parameter categoryCode :
The category of problem for the support case. You also use the
DescribeServices operation to get the category code for a service.
Each Amazon Web Services service defines its own set of category codes.
Parameter ccEmailAddresses :
A list of email addresses that Amazon Web Services Support copies on case
correspondence. Amazon Web Services Support identifies the account that
creates the case when you specify your Amazon Web Services credentials in
an HTTP POST method or use the Amazon Web Services SDKs.
Parameter issueType :
The type of issue for the case. You can specify
customer-service or technical. If you don't
specify a value, the default is technical.
Parameter language :
The language in which Amazon Web Services Support handles the case. Amazon
Web Services Support currently supports Chinese (“zh”), English ("en"),
Japanese ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for
the language parameter if you want support in that language.
Parameter serviceCode :
The code for the Amazon Web Services service. You can use the
DescribeServices operation to get the possible
serviceCode values.
Parameter severityCode :
A value that indicates the urgency of the case. This value determines the
response time according to your service level agreement with Amazon Web
Services Support. You can use the DescribeSeverityLevels operation
to get the possible values for severityCode.
For more information, see SeverityLevel and Choosing a Severity in the Amazon Web Services Support User Guide.
Implementation
Future<CreateCaseResponse> createCase({
required String communicationBody,
required String subject,
String? attachmentSetId,
String? categoryCode,
List<String>? ccEmailAddresses,
String? issueType,
String? language,
String? serviceCode,
String? severityCode,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSSupport_20130415.CreateCase'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'communicationBody': communicationBody,
'subject': subject,
if (attachmentSetId != null) 'attachmentSetId': attachmentSetId,
if (categoryCode != null) 'categoryCode': categoryCode,
if (ccEmailAddresses != null) 'ccEmailAddresses': ccEmailAddresses,
if (issueType != null) 'issueType': issueType,
if (language != null) 'language': language,
if (serviceCode != null) 'serviceCode': serviceCode,
if (severityCode != null) 'severityCode': severityCode,
},
);
return CreateCaseResponse.fromJson(jsonResponse.body);
}